Ce sujet est résolu.
12 | |||
Auteur | Messages | ||
---|---|---|---|
linuxos | #16 Posté le 28/3/2024 à 00:39:05 | ||
Un peu de sel, de poivre et la crevette sera... | Spheris, Je vais essayer de faire cours pour te répondre. 1- Solution par copie brute Copier la Classe Graph2D.class dans le nouveau projet + Projet/control/graph2d.png Ainsi, tu verras apparaitre dans la liste des Widgets graphique l'icône de Graph2d. 2 - Solution du Package Configurer le Projet Graph2d en tant que 'Composant' dans le panneau de Propriété -> Type: Composant Créer le package DEB/RPM et l'installer comme n'importe quel package Il est imperatif d'avoir une version de Gambas installé par packages pour cette solution, car lors de l'installation du nouveau Package Graph2D, il faudra resoudre les dépendances a Gambas intégrées dans le package. Donc cette solution ne fonctionnera pas si Gambas a été compilé et installé à partir des sources. Une fois le package Graph2D installé, le nouveau composant apparaitra normalement a la fin de la liste de composants dans l'IDE 3 - Solution manuelle (pas jolie) mais qui fonctionne Si l'on part de fait que le package Graph2D, créer en tant que Composant, a été effectué comme décrit a la Solution 2, il est possible d'extraire les fichiers contenus dans le package afin de le copier manuellement dans votre distribution. Ce n'est pas jolie, car il faut extraire et copier les fichiers dans /usr/share/gambas3 de ta distribution, en 'root', car pas de droit d'écriture pour un utilisateur normal. Ex: dans mon cas j'ai créé le package 'gambas3-oliviercruilles-graph2d-0.1.1-1.fdr.noarch.rpm" Je me sers de 'mc' (MidnightCommander - Gestionnaire de ficher en console) pour ouvrir simplement le package, car MidnightCommander reconnait automatiquement un package et le décompacte à la volée. Il suffit d'ouvrir, dans le package le fichier 'CONTENS.cpio', et de copier les fichiers qu'il contient sur ta machine, dans les memes répertoires que ceux utilisés dans le package. Au final, cette opération aura le même résultat, manuellement, que lors de l'installation du package, mais sans les dépendances aux packages Gambas. J'ai ouvert un bugtracker pour avoir la possiblilité de créer les dis fichiers par l'IDE et de les placer dans le HOMEDIR de l'utilisation, ce qui semble correcte mais Benoit n'a toujours pas répondu a ce sujet. Voila, j'espere ne pas avaoir été confus. Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||
spheris | #17 Posté le 29/3/2024 à 10:18:16 | ||
Merci pour ces infos. La solution 1 me parait la plus simple et la plus viable à utiliser. ;-) | |||
jeanyvon | #18 Posté le 2/4/2024 à 19:11:33 | ||
Gambas? Ma! Et gusto | bonsoir! voilà deux jours que je m'amuse avec Graph2D et je n'arrive pas à trouver le code pour effacer le graphique déjà tracé. Le composant se contente de serrer les barres des graphiques et c'est tout! Vieillir? On peut retarder mais pas y échapper! | ||
linuxos | #19 Posté le 3/4/2024 à 01:27:15 | ||
Un peu de sel, de poivre et la crevette sera... | jeanyvon, C'est ici: $drw.Refresh() => pour forcer de redessiner l'interieur du DrawingArea En fait, comme c'est un objet DrawingArea, le fait de forcer de redessiner, cela efface et ça redessine tout, tout seul. Ainsi, pas besoin non plus de détecter si quelque chose change au niveau des dimensions de DrawingArea ou bien si quelque chose se trouve au-dessus de lui, l'objet se rafraichira tout seul. Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||
jeanyvon | #20 Posté le 3/4/2024 à 08:49:32 | ||
Gambas? Ma! Et gusto | Merci Olivier! ça marche pour les graph camembert mais pas pour les graph colonne dans le code du composant chaque changement de dimension est précédé d'un $drw.refresh. c'est très bien fait. Mais pour les graph colonnes ça bug! Vieillir? On peut retarder mais pas y échapper! | ||
linuxos | #21 Posté le 3/4/2024 à 13:13:00 | ||
Un peu de sel, de poivre et la crevette sera... | jeanyvon, Pas de soucis de mon coté. Peux-tu m'envoyer une petite capture d'écran pour que je vois ce qui bug ? Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||
jeanyvon | #22 Posté le 3/4/2024 à 18:55:34 | ||
Gambas? Ma! Et gusto | vos désirs sont des ordres! le 1° bloc de graphe est celui du démarrage si tu veux je te donne le code. Vieillir? On peut retarder mais pas y échapper! | ||
linuxos | #23 Posté le 4/4/2024 à 20:47:13 | ||
Un peu de sel, de poivre et la crevette sera... | jeanyvon, Oui si possible donne moi le code que je regarde ça. Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||
jeanyvon | #24 Posté le 5/4/2024 à 13:25:17 | ||
Gambas? Ma! Et gusto | salut ça c'est mon code celui de la class n'a pas changé.
Vieillir? On peut retarder mais pas y échapper! | ||
linuxos | #25 Posté le 5/4/2024 à 15:05:28 | ||
Un peu de sel, de poivre et la crevette sera... | jeanyvon, Le code qui m'intéresse est surtout la fonction traceLegende(), drw_Draw() C'est la que les légendes sont dessinées. Il se peut que, de ce que je vois dans ton code, le codage du texte qui vient de SQlite ne soit pas le même que celui utilisé pour dessiner du texte dans le DrawingArea, ce qui peut créer ce décalage. Peux-tu essayer de remplir les Legendes manuellement pour vérifier ma théorie stp ? Genre: $ListLegende[0] = "Economie...14520 Euros" $ListLegende[1] = "Depenses...1205 Euros" ... etc Puis la meme chose mais en utilisant le symbole Euros a la place du mot "Euros" Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||
jeanyvon | #26 Posté le 5/4/2024 à 19:01:16 | ||
Gambas? Ma! Et gusto | bonsoir Olivier! Alors, revenir à des données fixes ne me plaisait pas. J'ai choisi une autre solution. j'ouvre le projet par un message.question et j'utilise ce choix pour l'affichage. Comme je n’interviens pas durant le run, tous ce passe bien plus de doublon. En tous cas je te remercie du temps que tu as passé sur mon projet. Vieillir? On peut retarder mais pas y échapper! | ||
linuxos | #27 Posté le 5/4/2024 à 19:44:02 | ||
Un peu de sel, de poivre et la crevette sera... | jeanyvon, le test avec des données fixes n'est que pour identifier le problème. Apparemment, c'est bien les données fournies par SQLite qui posent un problème, si je comprends bien. Il est possible de corriger cela simplement, je pense. Peux-tu essayer de remplacer 'Paint.Text...' par 'Paint.DrawRichText' dans la fonction 'traceLegende', peut-etre cela arrangera les choses. A tester du moins. Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||
jeanyvon | #28 Posté le 6/4/2024 à 09:34:15 | ||
Gambas? Ma! Et gusto | bonjour Olivier! gambas ne veux pas de Paint.drawrichtext : Pending path je vais laisser comme ça. Je vais l'intégrer dans mon soft en mettant les options dans le menu de lancement. Vieillir? On peut retarder mais pas y échapper! | ||
linuxos | #29 Posté le 6/4/2024 à 17:17:23 | ||
Un peu de sel, de poivre et la crevette sera... | jeanyvon, Opus pardon, essaye plutot ça: Paint.Richtext(Legende) Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||
jeanyvon | #30 Posté le 7/4/2024 à 09:33:45 | ||
Gambas? Ma! Et gusto | merci olivier ! Mais ça ne fonctionne toujours pas : Il y a toujours double affichage. Ce ne sont pas les légendes qui ne marchent pas mais l'effacement du graph précédent. Je vais donc poursuivre dans la voie de la fermeture de la forme contenant les graphs pour qu'elle soit ré-initialisée. Avec le composant gb.chart, je faisait ce changement sans problème. Dommage, c'est un bon soft. Vieillir? On peut retarder mais pas y échapper! | ||
12 |