PureBasic

Forums PureBasic
Nous sommes le Mar 25/Juin/2019 12:50

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 25 messages ]  Aller à la page Précédente  1, 2
Auteur Message
 Sujet du message: Re: DragNDrop sur TreeGadget
MessagePosté: Jeu 22/Sep/2016 8:12 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8674
J'ai testé ce dernier code sous window. pb5.50
Lorsqu'on drag/drop un sous item sur un autre, il se duplique en sous-sous item plutôt que de remonter dans le classement.
Lorsqu'on clic sur un item, il se duplique en sous item du même item

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.4x / 5.6x
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
RESIZER GOLD : Mon logiciel de redimensionnement par lot 100% PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: DragNDrop sur TreeGadget
MessagePosté: Jeu 22/Sep/2016 8:54 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 04/Juin/2004 14:27
Messages: 296
Localisation: Frontignan
Merci ollivier,

Mais je trouve le code trop complexe, apparemment du simule un TreeGadget avec un canvas.

Je l'ai essayé, je n'arrive pas a déplacé les items, j'ai un avertissement du compilo a la ligne 356 :

Attente du démarrage du programme...
Type d'exécutable: Linux - x64 (64bit, Unicode, Thread)
Exécutable démarré.
[AVERTISSEMENT] Ligne: 356
[AVERTISSEMENT] Gtk (CRITICAL): gtk_window_set_accept_focus: assertion 'GTK_IS_WINDOW (window)' failed


Je préfère resté avec mon TreeGadget, je déplacerai les items avec le curseur ! C'est une petite
application pour gérer mes contacts, quelque chose de léger et rapide.

Merci pour tous les efforts que tu a fait ! :wink:

A+


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: DragNDrop sur TreeGadget
MessagePosté: Jeu 22/Sep/2016 9:11 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3441
Code:
Lorsqu'on drag/drop un sous item sur un autre, il se duplique en sous-sous item plutôt
que de remonter dans le classement.
J'ai tronqué la partie "insertion" : ce n'est jamais bon de partager sa gamelle de 'Stack overflow' en pleine semaine!

_________________
Juste la 4G pour Smartphone


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: DragNDrop sur TreeGadget
MessagePosté: Jeu 22/Sep/2016 11:34 
En ligne
Avatar de l’utilisateur

Inscription: Dim 08/Déc/2013 23:19
Messages: 597
Localisation: Hérault
@Ulix: Hey! j'habite aussi sur Montpel ! :D

_________________
Mon site dédié à ma passion pour la programmation :
http://majikeyric.free.fr


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: DragNDrop sur TreeGadget
MessagePosté: Jeu 22/Sep/2016 11:38 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3441
Ulix a écrit:
Merci ollivier,
Mais je trouve le code trop complexe
Moi, je te remercie d'avoir employé le mot "trop complexe" plutôt que "gros bordel" !

Je ne devrais pas faire d'ordi normalement, mais j'ai la fâcheuse manie d'être, à chaque logement pris, le voisin de cas sociaux incapables d'être discrets la nuit quand ils boivent (les derniers temps, le week-end commençait le jeudi soir, mais là, comme à chaque fois, il y a des sessions "everytime, it's the week-end!" où c'est toutes les nuits, et là je subis ça). Résultat: impossible de pioncer, donc je t'ai fait un "plan B" vaseux à défaut de pouvoir dormir. Et je suis claqué.

J'en referai un autre prochainement. Ce sera peut-être aussi un bordel, mais différent... A force, tu vas y trouver des trucs bien!

PS: Tu peux zoomer aussi avec Shift+RouletteSouris
Tu peux drag un item (c'est à la façon "copie de dossier de fichier", car il existe plusieurs types de drag'n'drop) et "wheeler" la roulette en même temps, pendant que tu maintiens le bouton de la souris.

Si la roulette ne t'intéresse pas, tu peux drag un item et, en maintenant le bouton de la souris appuyé, déplacer la souris dans la partie haute (défilement vers le haut) ou dans la partie basse (défilement vers le bas) pour faire défiler durant le drag'n'drop.

Ce n'est pas non plus pour "rien" que c'est "complexe"...

_________________
Juste la 4G pour Smartphone


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: DragNDrop sur TreeGadget
MessagePosté: Jeu 22/Sep/2016 18:11 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 04/Juin/2004 14:27
Messages: 296
Localisation: Frontignan
@majikeyric

Cherche la ville du muscat, je suis là !


@Ollivier

Je me serais pas permis de dire que ton code est un "gros bordel", cela ne m'es même pas venu a l'esprit !
Non, tout travail mérite le respect (dans ton cas, bien plus vu t'a situation, des voisins comme ça en sans passerait bien !).
Donc, je ne peux que de souhaité bon courage pour endurer cette situation.

Pour le code, je comprend que cela puisse être complexe, je problème viens de moi (je m'y perd, donc je reste
volontairement très basique).

Pour en revenir a mes besoin, c'est juste une petite application, ça dois resté très simple, en natif.
D'où mon étonnement au sujet du DragNDrop qui me gérer pas le scrolling ??? :twisted: :twisted: :twisted:
D'où ma réflexion sur Fred et son équipe qui devraient sérieusement comblés toutes ces lagunes.
Quitte a fournir des commandes supplémentaire qui ne soit pas en natif (Api win et gtk).
Parce que se genre de lagunes, laisse pensée que PB est limité ! Bien que ce ne soit pas le cas,
je le redis le problème viens de moi, je ne sais pas utilisé les Apis. :oops:
(J'espère que Fred ne le prendra pas mal ! :mrgreen: )
Mais d'un autre côté je codé en Gwbasic sous Dos, en QuickBasic, QBasic.. etc toujours des langages simples.
C'est donc avec plaisir que je code en PB (mais hélas il manque des choses...) et j’espère que Fred va y faire quelque chose. :P

En tous cas merci pour ton aide !
A +


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: DragNDrop sur TreeGadget
MessagePosté: Jeu 22/Sep/2016 19:25 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3441
Je comprends ton idée. Seulement, ton idée, admettons qu'elle ait 1% de chance d'être intégrée actuellement.

Mesa, que j'ai oublié de remercier, a posté un code : les chances d'intégration passent à 30%.

Si l'on perd un peu de temps à faire fonctionner les fonctions APIs Linux concernées, les chances passeront à 60%.

Un mail à Fred au bon moment, avec 2 systèmes Windows et Linux postés (sachant que Mesa a posté la partie Windows), c'est, à moins que Fred ait une accidentelle torsion des grelots, 100% que ton idée soit intégrée.

Je dis bien 100% sans déconner, je défie quiconque de me démontrer le contraire : il est gagnant, et les utilisateurs aussi, et il le sait.

En gros, je trouve que ta plainte ne sert pas à grand chose. C'est un temps perdu, là où peut-être (sûrement même) on aurait pu déjà avancer.

Je comprends GwBasic, QBasic, etc... Par contre, 1ère grosse différence: les concepteurs n'ajoutaient pas, au fur et à mesure des années, des fonctions qu'un utilisateur venait renseigner.

J'insiste vraiment pour que tu serves de cobaye avec Linux: il suffit de savoir quelle durée maximum tu peux allouer pour ça. Même une à deux heures, au cours des deux prochaines semaines, je pense que ça sera suffisant.

Ma 1ère question était très simple, et tu as voulu bien faire en y répondant en même temps que tu as fourni d'autres informations, sans te rendre compte que l'exécution de la recherche des autres infos, annule la validité de réponse à la question simple.

Ma question c'était juste ce code d'une seule ligne : "Debug SizeOf(gtk...)".

C'est long à t'expliquer, mais cette question me permet de savoir comment fonctionne PureBasic sous Linux: a-t-il des structures déjà prêtes? Cela entrainera d'autres questions différentes selon ta réponse.

Enfin, je terminerai par ceci: bien que tu ne sois familier qu'avec un ensemble restreint de fonctions internes à PureBasic, j'ai la certitude qu'en recherchant à faire fonctionner telle ou telle fonction API Linux, ça t'ouvrira des portes à long termes sur tes besoins à venir.

Tu pourras très bien avoir une nouvelle idée bien plus tard, et c'est la méthodologie de cette conversation qui t'offrira les moyens de creuser telle ou telle autre fonction API seul.

Une fonction, se caractérise par des arguments : les variables entre parenthèses après le nom de la fonction. Quand les entrées et les sorties sont hétéroclytes, il est d'usage d'architecturer ces infos en structures. Et une structure, c'est "simple" : ce sont des noms de champs avec, pour chacun un type, tout cela dans un ordre précis. C'est simple dans le sens où l'on n'exécute pas quelque chose : soit on définit une structure, soit elle est déjà définie. C'est là, ma 1ère question (le simple Debug SizeOf() ) : je souhaite savoir si PureBasic a déjà la structure, ou bien s'il faut la définir impérativement.

Une fois que l'on a pu répondre aux questions à propos des structures nécessaires, dans ce cas seulement, on peut commencer des tests d'exécution de fonction. Car je dois avouer que tes essais sont différents des exemples d'autres linuxiens. Je pense qu'au final, on se rendra compte que ça se sera joué à peu de réussir parfaitement à faire fonctionner une fonction API!

En espérant ton écoute!

_________________
Juste la 4G pour Smartphone


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: DragNDrop sur TreeGadget
MessagePosté: Jeu 22/Sep/2016 19:49 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 04/Juin/2004 14:27
Messages: 296
Localisation: Frontignan
Citation:

Ma question c'était juste ce code d'une seule ligne : "Debug SizeOf(gtk...)".



Sans ImportC, sans déclaration structure GtkAdjustement, sans Global *Adj.GtkAdjustement = AllocateMemory(SizeOf(GtkAdjustement) )

une erreur se produit : [COMPILER] Ligne 204: A declared variable or structure is expected for SizeOf().

A +


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: DragNDrop sur TreeGadget
MessagePosté: Ven 23/Sep/2016 11:48 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3441
Merci pour ta réponse très bien renseignée. 1ère conclusion : pas de structure prédéfinie "à vide".

On va s'intéresser à "Import". Je regarderai ce soir une des fonctions les plus simples qu'il y ait dans gtk, juste pour que s'exécute cette simple fonction.

(nota qu'on s'en fout pour l'instant mais qui sera importante après : la structure que j'ai fournie plus haut est fausse, tous les ".I" seront à remplacer par ".D". Cf nombre à virgule flottante 64bits).

_________________
Juste la 4G pour Smartphone


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: DragNDrop sur TreeGadget
MessagePosté: Ven 23/Sep/2016 19:55 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3441
Bon, donc on est dans le noir nocturne de l'ignorance... On a tenté de craquer une allumette avec un SizeOf() : pas de succès, les structures ne sont pas prédéfinies.

Alors j'ai trouvé une fonction gdk assez simple :
https://developer.gnome.org/gdk3/stable/gdk3-Windows.html#gdk-window-is-visible
En l'occurence, gdk_window_is_visible().

Ici, pas de structure. Comme ça, on "recule" ce problème-là pour l'instant...

La fonction est simple, pourquoi? Parce que :

1 seule entrée : WindowID(UneFenetrePureBasic)
1 seule sortie : un booléen, c'est-à-dire un nombre qui est soit nul, soit non nul.

Ta mission, si tu l'acceptes, est la suivante :
1) Créer une fenêtre
2) Exécuter la fonction Resultat = gdt_machin()
3) Afficher la valeur de Resultat

Si tu réussis à afficher autre chose que 0, on peut estimer que la mission est réussie.

Si tu as des questions, n'hésite pas, même les questions les plus insignifiantes seront acceptées.

Evidemment, tu as le droit de tricher, plaggier, te faire aider, etc... Sauf m'écrire un truc comme ça :

<<
J'ai réussi!
Code:
Debug 1

>>

Les difficultés que je vois :
- Mettre ou non "gtk2" dans l'option de sous-système du compilateur (parce qu'on sait pas)
- Mettre ou non un nom de fichier après "ImportC" (parce qu'on sait vraiment pas)
- Mettre ou non un quad en entrée (parce que l'on n'est pas au courant)
- Mettre ou non un quad en sortie (parce que l'on ignore si c'est 32 bits, 64 bits ou automatique)

4 critères de deux combinaisons chacune, ça te fait 2 * 2 * 2 * 2 tests d'exécution de prog, soit 16 tests, ce qui est déjà bien lourd... donc bon courage. J'attends ton retour.

_________________
Juste la 4G pour Smartphone


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 25 messages ]  Aller à la page Précédente  1, 2

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye