IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SWT/JFace Java Discussion :

Changer de vue


Sujet :

SWT/JFace Java

  1. #21
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    si un composant apparait en dessous des boutons, c'est qu'il y a un problème de layout

    normalement ton layout globalement doit être

    [(composite de la vue, fourni en paramètre de createPartControl)
    [(Composite parent de tes pages, que tu appelles container dans createPartControl)
    ]
    [(composite de la button bar)]
    ]

    regarde ou est contruit ce tableau qui apparait, regarde dans quel parent il se construit, si c'est le bon, etc...

    s'il apparait en dessous de tes boutons, c'est qu'il est vraisemblablement créé avec comme parent le composite de la vue

    ta méthode showPage(IWizardPage page) ressemble bien à ça ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public void showPage(IWizardPage page) {
    		if (page != currentPage) {
    			IWizardPage old = currentPage;
    			currentPage = page;
    			layout.topControl =  currentPage.getControl();
     
    			if( old != null ) {
    				old.setVisible( false );
    			}
    			currentPage.setVisible( true );
    			root.layout();
    			update();
    		}
    	}
    toute création de composant d'une de tes pages doit être construit dans
    la méthode (ou une des méthodes appelées par ) : public void createControl(Composite parent) de ta classe qui hérite de WizardPage

    le parent de ces composants doit être l'argument de cette méthode, ou un composant de cette hiérarchie de composite
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  2. #22
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Oui showPage corrsepond.

    Après je viens de créer un nouveau composite autre que "container" pour ma barre de boutons. Maintenant mon wizard est découpé en 2 avec à gauche les composants du wizard et à droite les boutons. Comment faire pour que cette barre se trouve en bas ?

  3. #23
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    comme tu ne peux pas présupposer du layout de composite de ta vue, le mieux est de faire un composite intermédiare, de lui assigner un layout qui va faire que ses fils seront les uns en dessous des autres, par exemple avec un simple gridlayout à 1 colonne
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #24
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Qu'entends tu par présupposer ?

  5. #25
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    je veux dire que le layout est affecté par un composant d'eclipse et que tu ne peux pas savoir quel layout est affecté.

    enfin si tu peux le savoir avec ta version d'eclipse en remontant dans la méthode qui créé la partie graphique de la vue, en l'occurence tu pourrais voir qu'il s'agit d'un FillLayout (méthode createPartHelper() de ViewReference),

    mais tu ne peux savoir si ça ne sera pas changé un jour dans une future version d'eclipse. y'a peu de chances c'est sur, mais on ne sait jamais.

    tu pourrais imposer un layout à la place du FillLayout (comme un GridLayout), mais c'est pareil tu ne sais pas quels pourront être les effets de bord dans une future version d'eclipse. ce serait dommage d'avoir à tout reprendre dans 3 ans parce que tu veux migrer dans une nouvelle version d'eclipse.

    moi je suis cette règle en général : si je n'ai pas créé moi même un composite, je ne touche pas à son layout (encore moins à son layoutdata).

    je préfère créer un composite enfant, et lui afffecter le layout que je veux. ensuite je suis libre dans la hiérarchie.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #26
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Oui j'avais essayé de créer un gridlayout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    @Override
    	public void createPartControl(Composite parent) {
     
    		container = new Composite( parent, SWT.NONE );
    		GridLayout gdLayout = new GridLayout();
    		gdLayout.numColumns = 1;
    		container.setLayout(gdLayout);
    		layout = new StackLayout();
    		myWizard = new MyWizard(container){
    			@Override
    			public IWizardContainer getContainer() {
    				return Parametrages.this;
    			}
    		};
    		myWizard.addPages();
     
    		parent.addDisposeListener( new DisposeListener() {
     
    			public void widgetDisposed(DisposeEvent e) {
    				myWizard.dispose();
    			}
     
    		} );
     
     
           IWizardPage startingPage = myWizard.getStartingPage();
    		if (startingPage == null) {
    		} else {
    			startingPage.createControl(parent);
    			showPage(startingPage);
    		}
     
    		createButtonBar(container);
    	}
    Mais après j'ai un stacklayout que je n'arrive pas à mettre dans le grdilayout...

  7. #27
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    c'est pour ça que je te dis te faire un composite intermédiare (tu as besoin du stacklayout pour tes différentes pages de ton wizard)

    fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    @Override
    	public void createPartControl(Composite parent) {
     
                    viewcomposite = new Composite (parent, SWT.NONE);
                    viewcomposite.setLayout(new GridLayout());
    
    		container = new Composite( viewcomposite, SWT.NONE );
    		layout = new StackLayout();
    		container.setLayout(layout);
    		myWizard = new MyWizard(container){
    			@Override
    			public IWizardContainer getContainer() {
    				return Parametrages.this;
    			}
    		};
    		myWizard.addPages();
     
    		parent.addDisposeListener( new DisposeListener() {
     
    			public void widgetDisposed(DisposeEvent e) {
    				myWizard.dispose();
    			}
     
    		} );
     
     
           IWizardPage startingPage = myWizard.getStartingPage();
    		if (startingPage == null) {
    		} else {
    			startingPage.createControl(container);
    			showPage(startingPage);
    		}
     
    		createButtonBar(viewcomposite);
    	}
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #28
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    tu as du voir que je n'ai pas mis de GridData sur mes container et buttonBarComposite dans mon post précédent.

    c'est parce qu'ils seront générés par défaut lors du layout par GridLayout. mais tu peux mettre tes propres GridData si tu veux ajuster le layout (par exemple changer l'espacement, les marges, une hHint pour ta button bar, etc...)
    tu as peut être même intéret à le faire si tu veux que ta page s'étende au meximum dans la hauteur que lui laisse la buttonBar (avec grabExcessVerticalSpace)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #29
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Merci de ton aide

    Ca marche mais il y a juste un petit problème. Donc j'ai bien ma barre de boutons et donc mes composants du wizard. Par contre maintenant quand je clic sur un bouton de mon wizard au départ ça affichait un tableau et maintenant il ne s'affiche plus. Je pense que c'est un problème de composite, pourtant je suis entrain de regarder et je ne vois pas où le problème a lieu.

    Edit : C'est bon j'ai trouvé. Au lieu de faire container.layout() pour mettre à jour. Je dois désormais faire container.getParent().layout().

    Merci encore pour ton aide

    Résolu !

  10. #30
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Ah il y a juste un problème.

    Pour changer de page... En effet je pense qu'il y a un problème vu que j'ai le même container pour toutes les pages comment puis je faire pour passer à la page suivante ? J'utilise bien les méthodes getNextPage, ShowPage etc. Après des tests je passe bien à l'autre page mais les composants de la première page reste. Pourtant j'utilise bien setVisible() sur la page précédente. Je pense que c'est du au faite que j'ai le même container pour toutes les pages et donc les composant restent non ?

  11. #31
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    changer de pag'e signifie changer le topcontrol du stacklayout, dans la méthode showPage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public void showPage(IWizardPage page) {
    		if (page != currentPage) {
    			IWizardPage old = currentPage;
    			currentPage = page;
    			layout.topControl =  currentPage.getControl();
     
    			if( old != null ) {
    				old.setVisible( false );
    			}
    			currentPage.setVisible( true );
    			root.layout();
    			update();
    		}
    	}
    et tu dois avoir nextPressed et backPressed qui sont du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    protected void nextPressed() {
    			IWizardPage page = currentPage.getNextPage();
    			if (page == null) {
    				log.error( "next pressed, but there is no next page for " +currentPage );
    				// something must have happend getting the next page
    			} else {
    				// show the next page
    				showPage(page);
    				setDirty( true );
    			}
    	}
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #32
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    D'accord, mais d'où vient ton root ainsi que ton setDirty?

    Sinon c'est ce que j'avais fait mais sans succès...

  13. #33
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    oups, j'ai copié directement le code source de ma classe,

    dans ma classe root correspond à container dans ton code

    et tu peux enlever l'appel setDirty (ma classe est un éditeur, donc y'a un setDirty, mais ta classe est une vue, donc pas de notion de dirty)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #34
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Ok.

    J'ai un problème de NullPointerException à ce niveau là :

    currentPage.setVisible( true );


    En fait si je rajoute ça :

    currentPage.createControl(container);

    dans ShowPage je n'ai plus l'exception. Mais la page reste la même (cependant les boutons changent).

  15. #35
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    c'est donc que currentPage est null,

    il faut déjà regarder la stackTrace complète pour déterminer quel code met null dans cette variable

    parce que dans l'exemple de nextPressed que j'ai mis on voit que si page est null, on appelle pas showPage

    et commen à l'initialisation on doit avoir (voir un des post précédent)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    IWizardPage startingPage = myWizard.getStartingPage();
    		if (startingPage == null) {
    		} else {
    			startingPage.createControl(container);
    			showPage(startingPage);
    		}
    c'est pareil

    si les boutons next et back sont correctement gérer (à partir de canFlipToNextPage et getPreviousPage et getNextPage) on ne doit pas pouvoir cliquer dessus s'il il n'y a pas de page, et à part à la création de la vue, pour la première page, et les bouton next et back (donc les méthodes nextPressed et backPressed), aucune méthode n'est censé modifier cette variable. et comme on créé la vue forcément pour l'afficher, on n'est obliger d'initialiser cette variable

    dernière possibilité :
    n'est pas appelé dans la création de la vue, donc aucune page n'est créé, donc currentPage n'est pas initialisé
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  16. #36
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Bhe canFlipToNextPage et getPreviousPage() je ne les gère pas. Enfin je laisse IWizardPage "sen charger".

    Il faut que j'en fasse une implémentation particulière ?

  17. #37
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    j'ai juste repris updateButtons de WizardDialog pour implémenter updateButtons et IWizardContainer, et je l'ai adaptée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public void updateButtons() {
    		boolean canFlipToNextPage = false;
    		boolean canFinish = wizard.canFinish();
    		if (backButton != null) {
    			backButton.setEnabled(currentPage.getPreviousPage() != null);
    		}
    		if (nextButton != null) {
    			canFlipToNextPage = currentPage.canFlipToNextPage();
    			nextButton.setEnabled(canFlipToNextPage);
    		}
    		finishButton.setEnabled(canFinish);
    		// finish is default unless it is disabled and next is enabled
    		//Next can be the default button by forcing it to be default
    		if (canFlipToNextPage && (!canFinish || forceNextDefault )) {
    			getShell().setDefaultButton(nextButton);
    		} else {
    			getShell().setDefaultButton(finishButton);
    		}
    	}
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  18. #38
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    Ouai j'ai pareil.

    A part pour forceNextDefault. Il vient d'où ?

  19. #39
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    pareil, c'est parce que j'ai collé directement mon code et qu'il y un simple petit boolean qui permet de forcer le bouton next comment default button à l'ouverture.

    c'est une bidouille qui permet lorsqu'il y a plusieurs page dans mon éditeur (j'ai une classe abstraite donc plusieurs éditeurs peuvent l'utiliser et chacun peut avoir une ou plusieurs pages et son propre comportement), et que seule la première page contient des informations obligatoire, donc finish est enabled dès que l'utilisateur a tout saisie, de faire que next soit par défaut :

    si l'utilisateur utiliser que le clavier, lorsqu'il arrive dans le dernier champs, il passe à la suite et tape la touche entrée du clavier : le fait de forcer next comme défaut, fait qu'il passe à la page suivante, au lieu de fermer l'éditeur et de lancer le traitement.

    tu peux t'en passer bien sur
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  20. #40
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Points : 94
    Points
    94
    Par défaut
    D'accord. Sinon j'ai toujours le même problème. Ma page n'est pourtant pas nulle c'est ça qui est bizarre.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Changer la vue de source de données d'un cube
    Par phenomeno dans le forum SSAS
    Réponses: 1
    Dernier message: 30/10/2012, 15h40
  2. [RCP]Comment changer de vue avec mon plugin ?
    Par Cpt Anderson dans le forum Eclipse Platform
    Réponses: 14
    Dernier message: 15/12/2010, 12h43
  3. BIG HELP : changer de vue
    Par romeo9423 dans le forum MFC
    Réponses: 2
    Dernier message: 19/05/2007, 19h23
  4. changer de vue et de doc
    Par LesLemmings dans le forum MFC
    Réponses: 10
    Dernier message: 07/05/2007, 12h02
  5. SDI - changer de vue en cliquant sur un bouton
    Par Psykotik dans le forum MFC
    Réponses: 3
    Dernier message: 29/11/2005, 16h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo