Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre habitué Avatar de kkt8
    Profil pro Christelle
    Inscrit en
    janvier 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Nom : Christelle
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2005
    Messages : 346
    Points : 127
    Points
    127

    Par défaut Problème de conception Composite dans un View

    Bonjour,

    J'ai un soucis ihm, mais je pense que cela vient plus de la conception du truc.
    J'ai un ViewPart dans laquelle j'ai 2 boutons check et un Composite en dessous contenant un TabFolder.
    Ce composite est défini dans une autre classe.
    Par défaut c'est la classeCompo1 qui est appelée et le bouton 1 qui est sélectionné.

    Si l'utilisateur sélectionne le bouton 2 le Composite classeCompo1 doit disparaitre et c'est un nouveau Composite qui doit être construit via la classeCompo2 et inversement si le bouton 1 est sélectionné.

    J'ai 2 problèmes:
    - le cas par défaut j'affiche bien mon Composite classeCompo1 mais le super de ma classeCompo1 qui étends Composite, crée un petit carré au dessus du TabFolder :
    Code :
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    public void createPartControl(Composite parent) {
     
    FormToolkit toolkit = new FormToolkit(parent.getDisplay());
    	form = toolkit.createScrolledForm(parent);
    	GridData gdform = new GridData();
    	gdform.horizontalAlignment = SWT.TOP;
    	gdform.verticalAlignment = SWT.RIGHT;
    	form.getBody().setLayoutData(gdform);
     
    Composite Compo1 = toolkit.createComposite(form.getBody(), SWT.BORDER);
    	GridLayout gl = new GridLayout();
    	gl.numColumns = 32;
    	gl.marginBottom = 0;
    	gl.marginTop = 0;
     
    button1 = toolkit.createButton(Compo1, Messages.getString("Pouet1"), SWT.RADIO);
    	gd = new GridData();
    	button1.setSelection(true);
    	button1.setLayoutData(gd);
    	button1.addSelectionListener(new SelectionListener() {
    		@Override
    		public void widgetSelected(SelectionEvent e) {
    			if (button1.getSelection()){
    }
    		}
     
    		@Override
    		public void widgetDefaultSelected(SelectionEvent e) {	
    		}
    });
     
    Button2 = toolkit.createButton(Compo1, Messages.getString("Pouet2"), SWT.RADIO);
    	gd = new GridData();
    	button2.setSelection(true);
    	button2.setLayoutData(gd);
    	button2.addSelectionListener(new SelectionListener() {
    		@Override
    		public void widgetSelected(SelectionEvent e) {
    			if (button2.getSelection()){
    }
    		}
     
    		@Override
    		public void widgetDefaultSelected(SelectionEvent e) {	
    		}
    });
     
    classeCompo1 Compo1 = new classeCompo1(form.getBody());
     
    }
     
    public class classeCompo1 extends Composite {
    public classeCompo1 (Composite parent) {
    		//
    		super(parent, SWT.BORDER);		
    		TabFolder tabfolder = new TabFolder(parent, SWT.NONE);
    ….
    }
    - et comment je fais sur changement de sélection pour mettre à jour mon Composite qui doit afficher soit classCompo1 soit classCompo2 ?
    je suis face à une page blanche et je n'ai aucune idée de comment m'y prendre ???

    HELP !

    J'espère que c'est assez clair mon histoire
    Merci !

    Chris

  2. #2
    Modérateur
    Avatar de Gueritarish
    Homme Profil pro Marc
    Développeur Java
    Inscrit en
    mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Nom : Homme Marc
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : mai 2007
    Messages : 1 800
    Points : 3 778
    Points
    3 778

    Par défaut

    Salut,

    Pour ton problème de changement de Composite, tu as un layout qui s'occupe de ça facilement, c'est le StackLayout. En gros, tu ajoutes des éléments dans un Composite et tu sélectionnes le Control que tu veux afficher grâce à un attribut du layout: topControl. Tu as un snippet là-dessus.
    Pour ton second problème, une image serait la bien venue... Parce que là, je vois pas trop

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Membre habitué Avatar de kkt8
    Profil pro Christelle
    Inscrit en
    janvier 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Nom : Christelle
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2005
    Messages : 346
    Points : 127
    Points
    127

    Par défaut

    Salut !

    Le 1er problème a été résolu, en fait je construisais mes éléments dans le constructeur au lieu de la fonction createPartControl et tout de suite ça va mieux !

    Pour le 2d, je progresse mais c'est pas gagné, tous les controles ne se mettent pas à jour facilement ... je vais regarder du coté du StackLayout, merci !

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •