|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre habitué
![]() Inscription : juillet 2004 Messages : 534 ![]() |
Bonjour,
Je suis en train de réaliser un agenda. J'ai une cellule (composite) contenant une ou plusieurs tâches (Canvas). Ma Tâche (Canvas) ne prend pas la totalité de la taille de la cellule (composite) Code :
Code :
|
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() Marc Développeur Java Inscription : mai 2007 Messages : 1 564 ![]() |
Salut,
Je te conseillerai plutôt de mettre la taille que tu souhaites obtenir sur la donnée de layout de ton composant plutôt que sur le composant lui-même. C'est cette donnée qui prendra le pas sur les informations de tailles. Donc, si tu as un GridData, tu fais un petit: Code :
Gueritarish
__________________
Pas de questions technique par MP, les forums sont là pour ça. Le 5 et 6 juin à Toulouse, la première EclipseCon France ! |
||
|
|
00
|
|
|
#3 | ||
|
Membre habitué
![]() Inscription : juillet 2004 Messages : 534 ![]() |
Salut Gueritarish,
Malgré le griData, j'ai toujours ce dysfonctionnement. Mon composant ne prend pas toutes la place de son conteneur Code :
|
||
|
|
00
|
|
|
#4 |
![]() ![]() Marc Développeur Java Inscription : mai 2007 Messages : 1 564 ![]() |
Salut,
Si tu veux qu'il occupe toute la place du composant, as-tu pensé à créer un gridData qui s'agrandit : new GridData(SWT.FILL, SWT.FILL, true, true);? J'imagine que oui, mais bon, ça vaut toujours le coup de demander Voilà, à+ Gueritarish
__________________
Pas de questions technique par MP, les forums sont là pour ça. Le 5 et 6 juin à Toulouse, la première EclipseCon France ! |
|
|
00
|
|
|
#5 | ||
|
Membre habitué
![]() Inscription : juillet 2004 Messages : 534 ![]() |
Salut Gueritarish,
J'y est pensé sauf que cela ne change bizarrement rien Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Ingénieur en apprentissage Inscription : août 2012 Messages : 12 ![]() |
Bonjour,
Un ptit conseil, quand j'ai un problème d'IHM je fais appel à WindowBuilder pro qui est un plug-in Eclipse qui génère le code de l'IHM que tu construis en drag'n drop. C'est très pratique pour voir ce que tu fais de mal. Voici le lien pour la liste des download sites : http://www.eclipse.org/windowbuilder/download.php PS : Code :
GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true); Code :
|
||
|
|
00
|
|
|
#7 | ||
|
Membre habitué
![]() Inscription : juillet 2004 Messages : 534 ![]() |
Bonsoir,
Merci pour ton conseil pour WindowBuilder, mais je suis assez partisan de coder mon IHM à la main. Surtout que je ne sais pas si WindowBuilder gère les souscomposants multiples Mon Canvas PlanningTask est une tâche contenue dans une case de planning (Composite parent) etc.... Et je souhaites comprendre sur cet exemple simple où se trouve mon erreur afin de progresser. Je suis bien au fait que le code ci-dessous est inutile... mais étant bloqué je teste toutes les solutions Code :
|
||
|
|
00
|
|
|
#8 |
![]() ![]() Marc Développeur Java Inscription : mai 2007 Messages : 1 564 ![]() |
Salut,
Si tu peux, essaie de poster une version executable de ton code. Histoire qu'on puisse y jeter un oeil... Si tu peux pas, bon courage ![]() Voilà, à+ Gueritarish
__________________
Pas de questions technique par MP, les forums sont là pour ça. Le 5 et 6 juin à Toulouse, la première EclipseCon France ! |
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Inscription : juillet 2004 Messages : 534 ![]() |
Je peux le faire
Ci-joint une mini application RCP avec mon planning. POur voir le résultat, il faut double cliquer dans une case du planning http://dl.free.fr/hMknQkvgj La classe où se trouve le dysfonctionnement est org.planning.ui.domain.PlanningTask Cordialement |
|
|
00
|
|
|
#10 | ||
![]() ![]() Marc Développeur Java Inscription : mai 2007 Messages : 1 564 ![]() |
Salut,
Alors je suis loin d'avoir regardé tout ton code (même si c'est une version light?) ![]() Cependant, j'ai trouvé la source de ton problème. Dans ta méthode addTask() dans la classe PlanningCell, tu fais un task.pack();. Mauvaise idée. Tu supprimes ce pack() et tout rentre dans l'ordre. Au passage, passe plutôt SWT.NONE que SWT.NULL (même si au final, ça revient à passer 0, la sémantique n'est pas tout à fait la même). Petite correction aussi, dans la classe PlanningTask, dans ta méthode paintTask() le rectangle est un peu "grand", essaie plutôt: Code :
Gueritarish
__________________
Pas de questions technique par MP, les forums sont là pour ça. Le 5 et 6 juin à Toulouse, la première EclipseCon France ! |
||
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : juillet 2004 Messages : 534 ![]() |
Parfait Merci beaucoup ! Ca marche
Pour ma culture, Pourquoi faire un pack() est une mauvaise ? Cordialement |
|
|
00
|
|
|
#12 |
![]() ![]() Marc Développeur Java Inscription : mai 2007 Messages : 1 564 ![]() |
En fait, faire un pack() en soit, n'est pas une mauvaise idée. C'est juste que, dans ton cas, j'ai trouvé ça un peu hasardeux.
En fait, cette méthode va appliquer la taille préféré au composant. Dans le cas d'un Composite, elle va retailler les enfants de celui-ci à leur taille préféré. Quand elle n'est pas renseigné, pour un bouton par exemple, la taille va être celle du texte qu'il contient. Voilà, à+ Gueritarish
__________________
Pas de questions technique par MP, les forums sont là pour ça. Le 5 et 6 juin à Toulouse, la première EclipseCon France ! |
|
|
00
|
|
|
#13 |
|
Membre habitué
![]() Inscription : juillet 2004 Messages : 534 ![]() |
Ok merci pour les explications
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com