Statistiques
| Révision :

root / tmp / org.txm.analec.rcp / src / visuAnalec / PanneauCommandesRelations.java @ 3092

Historique | Voir | Annoter | Télécharger (29,8 ko)

1 481 mdecorde
/*
2 481 mdecorde
 * To change this template, choose Tools | Templates
3 481 mdecorde
 * and open the template in the editor.
4 481 mdecorde
 */
5 481 mdecorde
package visuAnalec;
6 481 mdecorde
7 481 mdecorde
import java.awt.*;
8 481 mdecorde
import java.awt.event.*;
9 481 mdecorde
import java.util.ArrayList;
10 481 mdecorde
import javax.swing.*;
11 481 mdecorde
import visuAnalec.Message.*;
12 481 mdecorde
import visuAnalec.PanneauEditeur.*;
13 481 mdecorde
import visuAnalec.elements.*;
14 481 mdecorde
import visuAnalec.texte.*;
15 481 mdecorde
import visuAnalec.texte.PanneauAffTexte.*;
16 481 mdecorde
import visuAnalec.texte.PanneauTexte.*;
17 481 mdecorde
import visuAnalec.util.*;
18 481 mdecorde
import visuAnalec.util.GMessages.*;
19 481 mdecorde
import visuAnalec.util.GVisu.*;
20 481 mdecorde
import visuAnalec.vue.*;
21 481 mdecorde
22 481 mdecorde
/**
23 481 mdecorde
 *
24 481 mdecorde
 * @author Bernard
25 481 mdecorde
 */
26 481 mdecorde
public class PanneauCommandesRelations extends PanneauCommandes implements ActionListener {
27 481 mdecorde
  private PanneauChamps panneauChamps;
28 481 mdecorde
  private TypeComboBox saisieTypeRelations;
29 481 mdecorde
  private ElementComboBox saisieRelation;
30 481 mdecorde
  private TypeComboBox saisieTypeElt1;
31 481 mdecorde
  private ElementComboBox saisieElt1;
32 481 mdecorde
  private TypeComboBox saisieTypeElt2;
33 481 mdecorde
  private ElementComboBox saisieElt2;
34 481 mdecorde
  private JButton creeRelation;
35 481 mdecorde
  private JButton supprimeRelation;
36 481 mdecorde
  private JButton creeUniteElt1;
37 481 mdecorde
  private JButton creeUniteElt2;
38 481 mdecorde
  private boolean uniteCreeElt1 = true; // pour la création d'unités en cours de route
39 481 mdecorde
  private int[] bornesSelectTexte;
40 481 mdecorde
  /*
41 481 mdecorde

42 481 mdecorde
   * CREATION PAR LE PANNEAU EDITEUR
43 481 mdecorde
   */
44 481 mdecorde
  PanneauCommandesRelations(Vue vue, PanneauAffTexte pTexte, PanneauChamps pChamps) {
45 481 mdecorde
    super(vue, pTexte);
46 481 mdecorde
    JToolBar barre1 = new JToolBar();
47 481 mdecorde
    barre1.setPreferredSize(new Dimension(0, 22));
48 481 mdecorde
    barre1.setAlignmentX(0.0f);
49 481 mdecorde
    //    barre1.setFloatable(false);
50 481 mdecorde
    add(barre1);
51 481 mdecorde
    JToolBar barre2 = new JToolBar();
52 481 mdecorde
//    barre2.setBackground(PanneauTexte.getCouleurFond2());
53 481 mdecorde
    barre2.setPreferredSize(new Dimension(0, 22));
54 481 mdecorde
    barre2.setAlignmentX(0.0f);
55 481 mdecorde
//     barre2.setFloatable(false);
56 481 mdecorde
    add(barre2);
57 481 mdecorde
    JToolBar barre3 = new JToolBar();
58 481 mdecorde
    barre3.setPreferredSize(new Dimension(0, 22));
59 481 mdecorde
    barre3.setAlignmentX(0.0f);
60 481 mdecorde
//    barre3.setBackground(PanneauTexte.getCouleurFond2());
61 481 mdecorde
//     barre3.setFloatable(false);
62 481 mdecorde
    add(barre3);
63 481 mdecorde
64 481 mdecorde
    panneauChamps = pChamps;
65 481 mdecorde
    saisieTypeRelations = new TypeComboBox(Relation.class);
66 481 mdecorde
    saisieTypeRelations.addActionListener(this);
67 481 mdecorde
    saisieRelation = new ElementComboBox();
68 481 mdecorde
    saisieRelation.addActionListener(this);
69 481 mdecorde
    saisieTypeElt1 = new TypeComboBox(Element.class);
70 481 mdecorde
    saisieTypeElt1.addActionListener(this);
71 481 mdecorde
    saisieElt1 = new ElementComboBox();
72 481 mdecorde
    saisieElt1.addActionListener(this);
73 481 mdecorde
    saisieTypeElt2 = new TypeComboBox(Element.class);
74 481 mdecorde
    saisieTypeElt2.addActionListener(this);
75 481 mdecorde
    saisieElt2 = new ElementComboBox();
76 481 mdecorde
    saisieElt2.addActionListener(this);
77 481 mdecorde
    creeRelation = new JButton(new GAction("Créer") {
78 481 mdecorde
      public void executer() {
79 481 mdecorde
        creerRelation();
80 481 mdecorde
      }
81 481 mdecorde
    });
82 481 mdecorde
    supprimeRelation = new JButton(new GAction("Supprimer") {
83 481 mdecorde
      public void executer() {
84 481 mdecorde
        supprimerRelation();
85 481 mdecorde
      }
86 481 mdecorde
    });
87 481 mdecorde
    creeUniteElt1 = new JButton(new GAction("Créer") {
88 481 mdecorde
      public void executer() {
89 481 mdecorde
        creerUniteElt1();
90 481 mdecorde
      }
91 481 mdecorde
    });
92 481 mdecorde
    creeUniteElt2 = new JButton(new GAction("Créer") {
93 481 mdecorde
      public void executer() {
94 481 mdecorde
        creerUniteElt2();
95 481 mdecorde
      }
96 481 mdecorde
    });
97 481 mdecorde
    barre1.addSeparator();
98 481 mdecorde
    barre1.add(new TitreBarre("  Relation :  ", PanneauTexte.getCouleurFond1()));
99 481 mdecorde
    barre1.addSeparator();
100 481 mdecorde
    barre1.add(saisieTypeRelations);
101 481 mdecorde
    barre1.add(saisieRelation);
102 481 mdecorde
    barre1.addSeparator();
103 481 mdecorde
    barre1.add(creeRelation);
104 481 mdecorde
    barre1.addSeparator();
105 481 mdecorde
    barre1.add(supprimeRelation);
106 481 mdecorde
    barre2.addSeparator();
107 481 mdecorde
    barre2.add(new TitreBarre("Elément 1 : ", PanneauTexte.getCouleurFond2()));
108 481 mdecorde
    barre2.addSeparator();
109 481 mdecorde
    barre2.add(saisieTypeElt1);
110 481 mdecorde
    barre2.add(saisieElt1);
111 481 mdecorde
    barre2.addSeparator();
112 481 mdecorde
    barre2.add(creeUniteElt1);
113 481 mdecorde
    barre3.addSeparator();
114 481 mdecorde
    barre3.add(new TitreBarre("Elément 2 : ", PanneauTexte.getCouleurFond3()));
115 481 mdecorde
    barre3.addSeparator();
116 481 mdecorde
    barre3.add(saisieTypeElt2);
117 481 mdecorde
    barre3.add(saisieElt2);
118 481 mdecorde
    barre3.addSeparator();
119 481 mdecorde
    barre3.add(creeUniteElt2);
120 481 mdecorde
  }
121 481 mdecorde
122 481 mdecorde
  /*
123 481 mdecorde
   * COMMANDES UTILISEES PAR LE PANNEAU EDITEUR
124 481 mdecorde
   */
125 481 mdecorde
  public void reinitialiser() {
126 481 mdecorde
    // typiquement, appelé par le panneau éditeur à la suite d'une modif de vue ou de structure
127 481 mdecorde
    saisieTypeRelations.removeActionListener(this);
128 481 mdecorde
    saisieTypeRelations.setModele(vue.getTypesRelationsAVoir());
129 481 mdecorde
    saisieTypeRelations.effSelection();
130 481 mdecorde
    saisieTypeRelations.addActionListener(this);
131 481 mdecorde
    saisieTypeElt1.removeActionListener(this);
132 481 mdecorde
    saisieTypeElt1.setModele(vue.getTypes(Unite.class), vue.getTypes(Relation.class), vue.getTypes(Schema.class));
133 481 mdecorde
    saisieTypeElt1.effSelection();
134 481 mdecorde
    saisieTypeElt1.addActionListener(this);
135 481 mdecorde
    saisieTypeElt2.removeActionListener(this);
136 481 mdecorde
    saisieTypeElt2.setModele(vue.getTypes(Unite.class), vue.getTypes(Relation.class), vue.getTypes(Schema.class));
137 481 mdecorde
    saisieTypeElt2.effSelection();
138 481 mdecorde
    saisieTypeElt2.addActionListener(this);
139 481 mdecorde
    initSaisieRelation();
140 481 mdecorde
    initSaisieElt1();
141 481 mdecorde
    initSaisieElt2();
142 481 mdecorde
    etatSelectRien();
143 481 mdecorde
    revalidate();
144 481 mdecorde
    repaint();
145 481 mdecorde
  }
146 481 mdecorde
  public void reafficher() {
147 481 mdecorde
    // potentiellement appelé par le panneau éditeur ?
148 481 mdecorde
    // appelé aussi par  traiterElementEvent
149 481 mdecorde
    if (saisieRelation.pasdeSelection()) {
150 481 mdecorde
      initSaisieRelation();
151 481 mdecorde
      if (saisieElt1.pasdeSelection()) {
152 481 mdecorde
        initSaisieElt1();
153 481 mdecorde
        if (saisieElt2.pasdeSelection()) {
154 481 mdecorde
          initSaisieElt2();
155 481 mdecorde
          etatSelectRien();
156 481 mdecorde
        } else {
157 481 mdecorde
          Element elt2Courant = saisieElt2.getSelection();
158 481 mdecorde
          initSaisieElt2(elt2Courant);
159 481 mdecorde
          etatSelectElt2(elt2Courant);
160 481 mdecorde
        }
161 481 mdecorde
      } else {
162 481 mdecorde
        Element elt1Courant = saisieElt1.getSelection();
163 481 mdecorde
        initSaisieElt1(elt1Courant);
164 481 mdecorde
        if (saisieElt2.pasdeSelection()) {
165 481 mdecorde
          initSaisieElt2();
166 481 mdecorde
          etatSelectElt1(elt1Courant);
167 481 mdecorde
168 481 mdecorde
        } else {
169 481 mdecorde
          Element elt2Courant = saisieElt2.getSelection();
170 481 mdecorde
          initSaisieElt2(elt2Courant);
171 481 mdecorde
          etatSelectElts(elt1Courant, elt2Courant);
172 481 mdecorde
        }
173 481 mdecorde
      }
174 481 mdecorde
    } else {
175 481 mdecorde
      Relation relCourant = (Relation) saisieRelation.getSelection();
176 481 mdecorde
      initSaisieRelation(relCourant);
177 481 mdecorde
      initSaisieElt1(relCourant.getElt1());
178 481 mdecorde
      initSaisieElt2(relCourant.getElt2());
179 481 mdecorde
      etatSelectRel(relCourant);
180 481 mdecorde
    }
181 481 mdecorde
  }
182 481 mdecorde
  public void elementSuivant(int sens) {
183 481 mdecorde
    if (sens>0) saisieRelation.gotoSuivant();
184 481 mdecorde
    else saisieRelation.gotoPrecedent();
185 481 mdecorde
  }
186 481 mdecorde
 public Element elementSelectionne() {
187 481 mdecorde
    if (saisieRelation.pasdeSelection()) return null;
188 481 mdecorde
    return saisieRelation.getSelection();
189 481 mdecorde
  }
190 481 mdecorde
  public void editerElement(Element elt) {
191 481 mdecorde
    // appelé par le panneauEditeur : elt est forcément une relation
192 481 mdecorde
    if (elt.getClass()!=Relation.class)
193 481 mdecorde
      throw new UnsupportedOperationException("Erreur : classe incorrecte");
194 481 mdecorde
    editerRelation((Relation) elt);
195 481 mdecorde
  }
196 481 mdecorde
  public void traiterElementEvent(ElementEvent evt) {
197 481 mdecorde
    switch (evt.getModif()) {
198 481 mdecorde
      case AJOUT_RELATION:
199 481 mdecorde
        Relation rel = (Relation) evt.getElement();
200 481 mdecorde
        editerRelation(rel);
201 481 mdecorde
        return;
202 481 mdecorde
      case SUP_RELATION:
203 481 mdecorde
        if (evt.getElement()==saisieRelation.getSelection()) {
204 481 mdecorde
          initSaisieRelation();
205 481 mdecorde
          initSaisieElt1();
206 481 mdecorde
          initSaisieElt2();
207 481 mdecorde
          etatSelectRien();
208 481 mdecorde
        } else {
209 481 mdecorde
          reafficher();
210 481 mdecorde
        }
211 481 mdecorde
        return;
212 481 mdecorde
      case AJOUT_UNITE:
213 481 mdecorde
        Unite unit = (Unite) evt.getElement();
214 481 mdecorde
        boolean chgEtat = false;
215 481 mdecorde
        if (!saisieTypeElt1.pasdeSelection()&&saisieTypeElt1.getClasseSelection()==Unite.class
216 481 mdecorde
                &&saisieTypeElt1.getTypeSelection().equals(unit.getType())) {
217 481 mdecorde
          initSaisieElt1(uniteCreeElt1 ? unit : null);
218 481 mdecorde
          chgEtat = true;
219 481 mdecorde
        }
220 481 mdecorde
        if (!saisieTypeElt2.pasdeSelection()&&saisieTypeElt2.getClasseSelection()==Unite.class
221 481 mdecorde
                &&saisieTypeElt2.getTypeSelection().equals(unit.getType())) {
222 481 mdecorde
          initSaisieElt2(uniteCreeElt1 ? null : unit);
223 481 mdecorde
          chgEtat = true;
224 481 mdecorde
        }
225 481 mdecorde
        if (chgEtat) {
226 481 mdecorde
          if (uniteCreeElt1) etatSelectElt1(unit);
227 481 mdecorde
          else etatSelectElt2(unit);
228 481 mdecorde
          uniteCreeElt1 = true;
229 481 mdecorde
        }
230 481 mdecorde
        return;
231 481 mdecorde
      case SUP_UNITE:
232 481 mdecorde
      case BORNES_UNITE:
233 481 mdecorde
      case AJOUT_SCHEMA:
234 481 mdecorde
      case MODIF_SCHEMA:
235 481 mdecorde
      case SUP_SCHEMA:
236 481 mdecorde
      case MODIF_VALEUR:
237 481 mdecorde
        reafficher();
238 481 mdecorde
        return;
239 481 mdecorde
      default:
240 481 mdecorde
        throw new UnsupportedOperationException("Cas "+evt.getModif()+" oublié dans un switch");
241 481 mdecorde
    }
242 481 mdecorde
  }
243 481 mdecorde
  public void editerRelation(Relation rel) {
244 481 mdecorde
    // appelé  par traiterElementEvent,
245 481 mdecorde
    // et aussi directement par le panneau éditeur quand il est sollicité par d'autres fenêtres
246 481 mdecorde
    if (!rel.getType().equals(saisieTypeRelations.getTypeSelection())) {
247 481 mdecorde
      saisieTypeRelations.removeActionListener(this);
248 481 mdecorde
      saisieTypeRelations.setSelection(rel.getType());
249 481 mdecorde
      saisieTypeRelations.addActionListener(this);
250 481 mdecorde
    }
251 481 mdecorde
    initSaisieRelation(rel);
252 481 mdecorde
    saisieRelation.setSelection(rel);
253 481 mdecorde
  }
254 481 mdecorde
  public ArrayList<ElementMarque> trouverElementsVises(Unite uniteVisee, TypeMarquage marqueUniteVisee,
255 481 mdecorde
          boolean avecId) {
256 481 mdecorde
    ArrayList<ElementMarque> eltsMarques = new ArrayList<ElementMarque>();
257 481 mdecorde
    ArrayList<Element> eltsVises;
258 481 mdecorde
    Element eltVise;
259 481 mdecorde
    switch (marqueUniteVisee) {
260 481 mdecorde
      case FOND1:
261 481 mdecorde
        eltsVises = Element.trouverElementsParUniteSousjacente(saisieRelation.getElements(), uniteVisee);
262 481 mdecorde
        for (Element elt : eltsVises)
263 481 mdecorde
          eltsMarques.add(new ElementMarque(
264 481 mdecorde
                  elt, marqueUniteVisee, avecId ? saisieRelation.getIdElement(elt) : null));
265 481 mdecorde
        return eltsMarques;
266 481 mdecorde
      case FOND2:
267 481 mdecorde
        eltsVises = Element.trouverElementsParUniteSousjacente(saisieElt1.getElements(), uniteVisee);
268 481 mdecorde
        for (Element elt : eltsVises)
269 481 mdecorde
          eltsMarques.add(new ElementMarque(
270 481 mdecorde
                  elt, marqueUniteVisee, avecId ? saisieElt1.getIdElement(elt) : null));
271 481 mdecorde
        return eltsMarques;
272 481 mdecorde
      case FOND3:
273 481 mdecorde
        eltsVises = Element.trouverElementsParUniteSousjacente(saisieElt2.getElements(), uniteVisee);
274 481 mdecorde
        for (Element elt : eltsVises)
275 481 mdecorde
          eltsMarques.add(new ElementMarque(
276 481 mdecorde
                  elt, marqueUniteVisee, avecId ? saisieElt2.getIdElement(elt) : null));
277 481 mdecorde
        return eltsMarques;
278 481 mdecorde
      case SELECT2:
279 481 mdecorde
      case SELECT1_2:
280 481 mdecorde
        eltVise = saisieElt1.getSelection();
281 481 mdecorde
        eltsMarques.add(new ElementMarque(
282 481 mdecorde
                eltVise, marqueUniteVisee, avecId ? saisieElt1.getIdElement(eltVise) : null));
283 481 mdecorde
        return eltsMarques;
284 481 mdecorde
      case SELECT3:
285 481 mdecorde
      case SELECT1_3:
286 481 mdecorde
        eltVise = saisieElt2.getSelection();
287 481 mdecorde
        eltsMarques.add(new ElementMarque(
288 481 mdecorde
                eltVise, marqueUniteVisee, avecId ? saisieElt2.getIdElement(eltVise) : null));
289 481 mdecorde
        return eltsMarques;
290 481 mdecorde
      default:
291 481 mdecorde
        throw new UnsupportedOperationException("Marquage non prévu : "+marqueUniteVisee);
292 481 mdecorde
293 481 mdecorde
    }
294 481 mdecorde
  }
295 481 mdecorde
296 481 mdecorde
  /*
297 481 mdecorde
   * ACTIONS DE L'UTILISATEUR : CHANGEMENTS D'ETAT
298 481 mdecorde
   */
299 481 mdecorde
  public void actionPerformed(ActionEvent evt) {
300 481 mdecorde
    try {
301 481 mdecorde
      if (evt.getSource()==saisieTypeRelations) {
302 481 mdecorde
        initSaisieRelation();
303 481 mdecorde
        if (saisieElt1.pasdeSelection()) {
304 481 mdecorde
          if (saisieElt2.pasdeSelection()) etatSelectRien();
305 481 mdecorde
          else etatSelectElt2(saisieElt2.getSelection());
306 481 mdecorde
        } else {
307 481 mdecorde
          if (saisieElt2.pasdeSelection())
308 481 mdecorde
            etatSelectElt1(saisieElt1.getSelection());
309 481 mdecorde
          else
310 481 mdecorde
            checkEtatSelectElts(saisieElt1.getSelection(), saisieElt2.getSelection());
311 481 mdecorde
        }
312 481 mdecorde
        return;
313 481 mdecorde
      }
314 481 mdecorde
      if (evt.getSource()==saisieTypeElt1) {
315 481 mdecorde
        forceEffSelectRel();
316 481 mdecorde
        initSaisieElt1();
317 481 mdecorde
        if (saisieElt2.pasdeSelection()) etatSelectRien();
318 481 mdecorde
        else etatSelectElt2(saisieElt2.getSelection());
319 481 mdecorde
        return;
320 481 mdecorde
      }
321 481 mdecorde
      if (evt.getSource()==saisieTypeElt2) {
322 481 mdecorde
        forceEffSelectRel();
323 481 mdecorde
        initSaisieElt2();
324 481 mdecorde
        if (saisieElt1.pasdeSelection()) etatSelectRien();
325 481 mdecorde
        else etatSelectElt1(saisieElt1.getSelection());
326 481 mdecorde
        return;
327 481 mdecorde
      }
328 481 mdecorde
      if (evt.getSource()==saisieRelation) {
329 481 mdecorde
        if (saisieRelation.pasdeSelection()) {
330 481 mdecorde
          if (saisieElt1.pasdeSelection()) {
331 481 mdecorde
            if (saisieElt2.pasdeSelection()) etatSelectRien();
332 481 mdecorde
            else etatSelectElt2(saisieElt2.getSelection());
333 481 mdecorde
          } else {
334 481 mdecorde
            if (saisieElt2.pasdeSelection())
335 481 mdecorde
              etatSelectElt1(saisieElt1.getSelection());
336 481 mdecorde
            else
337 481 mdecorde
              etatSelectElts(saisieElt1.getSelection(), saisieElt2.getSelection());
338 481 mdecorde
          }
339 481 mdecorde
        } else {
340 481 mdecorde
          forceEtatSelectRel((Relation) saisieRelation.getSelection());
341 481 mdecorde
        }
342 481 mdecorde
        return;
343 481 mdecorde
      }
344 481 mdecorde
      if (evt.getSource()==saisieElt1) {
345 481 mdecorde
        if (!saisieRelation.pasdeSelection()) {
346 481 mdecorde
          saisieRelation.removeActionListener(this);
347 481 mdecorde
          saisieRelation.effSelection();
348 481 mdecorde
          saisieRelation.addActionListener(this);
349 481 mdecorde
          saisieElt2.removeActionListener(this);
350 481 mdecorde
          saisieElt2.effSelection();
351 481 mdecorde
          saisieElt2.addActionListener(this);
352 481 mdecorde
        }
353 481 mdecorde
        if (saisieElt1.pasdeSelection()) {
354 481 mdecorde
          if (saisieElt2.pasdeSelection()) etatSelectRien();
355 481 mdecorde
          else etatSelectElt2(saisieElt2.getSelection());
356 481 mdecorde
        } else {
357 481 mdecorde
          if (saisieElt2.pasdeSelection())
358 481 mdecorde
            etatSelectElt1(saisieElt1.getSelection());
359 481 mdecorde
          else
360 481 mdecorde
            checkEtatSelectElts(saisieElt1.getSelection(), saisieElt2.getSelection());
361 481 mdecorde
        }
362 481 mdecorde
        return;
363 481 mdecorde
      }
364 481 mdecorde
      if (evt.getSource()==saisieElt2) {
365 481 mdecorde
        if (!saisieRelation.pasdeSelection()) {
366 481 mdecorde
          saisieRelation.removeActionListener(this);
367 481 mdecorde
          saisieRelation.effSelection();
368 481 mdecorde
          saisieRelation.addActionListener(this);
369 481 mdecorde
          saisieElt1.removeActionListener(this);
370 481 mdecorde
          saisieElt1.effSelection();
371 481 mdecorde
          saisieElt1.addActionListener(this);
372 481 mdecorde
        }
373 481 mdecorde
        if (saisieElt2.pasdeSelection()) {
374 481 mdecorde
          if (saisieElt1.pasdeSelection()) etatSelectRien();
375 481 mdecorde
          else etatSelectElt1(saisieElt1.getSelection());
376 481 mdecorde
        } else {
377 481 mdecorde
          if (saisieElt1.pasdeSelection())
378 481 mdecorde
            etatSelectElt2(saisieElt2.getSelection());
379 481 mdecorde
          else
380 481 mdecorde
            checkEtatSelectElts(saisieElt1.getSelection(), saisieElt2.getSelection());
381 481 mdecorde
        }
382 481 mdecorde
        return;
383 481 mdecorde
      }
384 481 mdecorde
      throw new UnsupportedOperationException("Evénement non prévu : "+evt.paramString());
385 481 mdecorde
    } catch (Throwable ex) {
386 481 mdecorde
      GMessages.erreurFatale(ex);
387 481 mdecorde
    }
388 481 mdecorde
  }
389 481 mdecorde
  @Override
390 481 mdecorde
  public void traiterSourisEvent(SourisEvent evt) {
391 481 mdecorde
    switch (evt.getTypeEvent()) {
392 481 mdecorde
      case SELECT_RIEN:
393 481 mdecorde
        saisieElt1.removeActionListener(this);
394 481 mdecorde
        saisieElt1.effSelection();
395 481 mdecorde
        saisieElt1.addActionListener(this);
396 481 mdecorde
        saisieElt2.removeActionListener(this);
397 481 mdecorde
        saisieElt2.effSelection();
398 481 mdecorde
        saisieElt2.addActionListener(this);
399 481 mdecorde
        saisieRelation.removeActionListener(this);
400 481 mdecorde
        saisieRelation.effSelection();
401 481 mdecorde
        saisieRelation.addActionListener(this);
402 481 mdecorde
        etatSelectRien();
403 481 mdecorde
        return;
404 481 mdecorde
      case SELECT_ELEMENT:
405 481 mdecorde
        switch (evt.getMarquageElementVise()) {
406 481 mdecorde
          case FOND1:
407 481 mdecorde
            saisieRelation.setSelection(evt.getElementVise());
408 481 mdecorde
            return;
409 481 mdecorde
          case FOND2:
410 481 mdecorde
            saisieElt1.setSelection(evt.getElementVise());
411 481 mdecorde
            return;
412 481 mdecorde
          case FOND3:
413 481 mdecorde
            saisieElt2.setSelection(evt.getElementVise());
414 481 mdecorde
            return;
415 481 mdecorde
          case SELECT2:
416 481 mdecorde
          case SELECT1_2:
417 481 mdecorde
            forceEffSelectElt2();
418 481 mdecorde
            return;
419 481 mdecorde
          case SELECT3:
420 481 mdecorde
          case SELECT1_3:
421 481 mdecorde
            forceEffSelectElt1();
422 481 mdecorde
            return;
423 481 mdecorde
        }
424 481 mdecorde
        return;
425 481 mdecorde
      case SELECT_TEXTE:
426 481 mdecorde
        if (!saisieElt1.pasdeSelection()&&!saisieElt2.pasdeSelection()) {
427 481 mdecorde
          saisieElt1.removeActionListener(this);
428 481 mdecorde
          saisieElt1.effSelection();
429 481 mdecorde
          saisieElt1.addActionListener(this);
430 481 mdecorde
          saisieElt2.removeActionListener(this);
431 481 mdecorde
          saisieElt2.effSelection();
432 481 mdecorde
          saisieElt2.addActionListener(this);
433 481 mdecorde
          saisieRelation.removeActionListener(this);
434 481 mdecorde
          saisieRelation.effSelection();
435 481 mdecorde
          saisieRelation.addActionListener(this);
436 481 mdecorde
        }
437 481 mdecorde
        bornesSelectTexte = evt.getBornesSelectionTexte();
438 481 mdecorde
        etatSelectTexte();
439 481 mdecorde
        return;
440 481 mdecorde
    }
441 481 mdecorde
    throw new UnsupportedOperationException("Evénement non prévu : "+evt.getTypeEvent());
442 481 mdecorde
  }
443 481 mdecorde
  /*
444 481 mdecorde
   * ACTIONS DE L'UTILISATEUR : BOUTONS
445 481 mdecorde
   */
446 481 mdecorde
  private void creerRelation() {
447 481 mdecorde
    vue.getCorpus().addRelationSaisie((String) saisieTypeRelations.getTypeSelection(),
448 481 mdecorde
            saisieElt1.getSelection(), saisieElt2.getSelection());
449 481 mdecorde
  }
450 481 mdecorde
  private void supprimerRelation() {
451 481 mdecorde
    if (!GMessages.confirmationAction("Supprimer la relation sélectionnée ?"))
452 481 mdecorde
      return;
453 481 mdecorde
    vue.getCorpus().supRelation((Relation) saisieRelation.getSelection());
454 481 mdecorde
  }
455 481 mdecorde
  private void creerUniteElt1() {
456 481 mdecorde
    if (vue.getCorpus().checkPresenceUnite(saisieTypeElt1.getTypeSelection(), bornesSelectTexte[0], bornesSelectTexte[1])
457 481 mdecorde
            &&!GMessages.confirmationAction("Dupliquer cette unité  ?")) return;
458 481 mdecorde
    uniteCreeElt1 = true;
459 481 mdecorde
    vue.getCorpus().addUniteSaisie(saisieTypeElt1.getTypeSelection(), bornesSelectTexte[0], bornesSelectTexte[1]);
460 481 mdecorde
  }
461 481 mdecorde
  private void creerUniteElt2() {
462 481 mdecorde
    if (vue.getCorpus().checkPresenceUnite(saisieTypeElt2.getTypeSelection(), bornesSelectTexte[0], bornesSelectTexte[1])
463 481 mdecorde
            &&!GMessages.confirmationAction("Dupliquer cette unité  ?")) return;
464 481 mdecorde
    uniteCreeElt1 = false;
465 481 mdecorde
    vue.getCorpus().addUniteSaisie(saisieTypeElt2.getTypeSelection(), bornesSelectTexte[0], bornesSelectTexte[1]);
466 481 mdecorde
  }
467 481 mdecorde
468 481 mdecorde
  /*
469 481 mdecorde
   * GESTION INTERNE
470 481 mdecorde
   */
471 481 mdecorde
  private void etatSelectRien() {   // rien n'est sélectionné
472 481 mdecorde
    if (saisieTypeRelations.pasdeSelection()) {
473 481 mdecorde
      if (saisieTypeElt1.pasdeSelection()) {
474 481 mdecorde
        if (saisieTypeElt2.pasdeSelection()) panneauTexte.pasDeMarquage();
475 481 mdecorde
        else
476 481 mdecorde
          panneauTexte.saisir(null,
477 481 mdecorde
                  Element.getUnitesSousjacentes(saisieElt2.getElements()), TypeMarquage.FOND3);
478 481 mdecorde
      } else {
479 481 mdecorde
        if (saisieTypeElt2.pasdeSelection())
480 481 mdecorde
          panneauTexte.saisir(null,
481 481 mdecorde
                  Element.getUnitesSousjacentes(saisieElt1.getElements()), TypeMarquage.FOND2);
482 481 mdecorde
        else
483 481 mdecorde
          panneauTexte.saisir(null,
484 481 mdecorde
                  Element.getUnitesSousjacentes(saisieElt1.getElements()), TypeMarquage.FOND2,
485 481 mdecorde
                  Element.getUnitesSousjacentes(saisieElt2.getElements()), TypeMarquage.FOND3);
486 481 mdecorde
      }
487 481 mdecorde
    } else {
488 481 mdecorde
      if (saisieTypeElt1.pasdeSelection()) {
489 481 mdecorde
        if (saisieTypeElt2.pasdeSelection())
490 481 mdecorde
          panneauTexte.saisir(null,
491 481 mdecorde
                  Element.getUnitesSousjacentes(saisieRelation.getElements()), TypeMarquage.FOND1);
492 481 mdecorde
        else
493 481 mdecorde
          panneauTexte.saisir(null,
494 481 mdecorde
                  Element.getUnitesSousjacentes(filtreElt2((Relation[]) saisieRelation.getElements())), TypeMarquage.FOND1,
495 481 mdecorde
                  Element.getUnitesSousjacentes(saisieElt2.getElements()), TypeMarquage.FOND3);
496 481 mdecorde
      } else {
497 481 mdecorde
        if (saisieTypeElt2.pasdeSelection())
498 481 mdecorde
          panneauTexte.saisir(null,
499 481 mdecorde
                  Element.getUnitesSousjacentes(filtreElt1((Relation[]) saisieRelation.getElements())), TypeMarquage.FOND1,
500 481 mdecorde
                  Element.getUnitesSousjacentes(saisieElt1.getElements()), TypeMarquage.FOND2);
501 481 mdecorde
        else
502 481 mdecorde
          panneauTexte.saisir(null,
503 481 mdecorde
                  Element.getUnitesSousjacentes(filtreElts((Relation[]) saisieRelation.getElements())), TypeMarquage.FOND1,
504 481 mdecorde
                  Element.getUnitesSousjacentes(saisieElt1.getElements()), TypeMarquage.FOND2,
505 481 mdecorde
                  Element.getUnitesSousjacentes(saisieElt2.getElements()), TypeMarquage.FOND3);
506 481 mdecorde
      }
507 481 mdecorde
    }
508 481 mdecorde
    panneauChamps.effacer();
509 481 mdecorde
    creeRelation.setEnabled(false);
510 481 mdecorde
    supprimeRelation.setEnabled(false);
511 481 mdecorde
    creeUniteElt1.setEnabled(false);
512 481 mdecorde
    creeUniteElt2.setEnabled(false);
513 481 mdecorde
  }
514 481 mdecorde
  private void etatSelectTexte() {   // du texte est sélectionné
515 481 mdecorde
    if (saisieElt1.pasdeSelection()) {
516 481 mdecorde
      if (saisieElt2.pasdeSelection()) panneauTexte.pasDeMarquage();
517 481 mdecorde
      else
518 481 mdecorde
        panneauTexte.saisir(null,
519 481 mdecorde
                saisieElt2.getSelection().getUnitesSousjacentes(), TypeMarquage.SELECT3);
520 481 mdecorde
    } else {
521 481 mdecorde
      if (saisieElt2.pasdeSelection())
522 481 mdecorde
        panneauTexte.saisir(null,
523 481 mdecorde
                saisieElt1.getSelection().getUnitesSousjacentes(), TypeMarquage.SELECT2);
524 481 mdecorde
      else // au moins un des 2 elt n'est pas sélectionné
525 481 mdecorde
        throw new UnsupportedOperationException("Cas non prévu");
526 481 mdecorde
    }
527 481 mdecorde
    panneauChamps.effacer();
528 481 mdecorde
    creeRelation.setEnabled(false);
529 481 mdecorde
    supprimeRelation.setEnabled(false);
530 481 mdecorde
    if (!saisieTypeElt1.pasdeSelection()&&saisieTypeElt1.getClasseSelection()==Unite.class
531 481 mdecorde
            &&saisieElt1.pasdeSelection())
532 481 mdecorde
      creeUniteElt1.setEnabled(true);
533 481 mdecorde
    if (!saisieTypeElt2.pasdeSelection()&&saisieTypeElt2.getClasseSelection()==Unite.class
534 481 mdecorde
            &&saisieElt2.pasdeSelection())
535 481 mdecorde
      creeUniteElt2.setEnabled(true);
536 481 mdecorde
  }
537 481 mdecorde
  private void etatSelectElt1(Element elt1) { // seul Elt1 a été choisi
538 481 mdecorde
    if (saisieTypeElt2.pasdeSelection()) {
539 481 mdecorde
      if (saisieTypeRelations.pasdeSelection())
540 481 mdecorde
        panneauTexte.saisir(elt1.getUnite0(), elt1.getUnitesSousjacentes(), TypeMarquage.SELECT2);
541 481 mdecorde
      else
542 481 mdecorde
        panneauTexte.saisir(elt1.getUnite0(), elt1.getUnitesSousjacentes(), TypeMarquage.SELECT2,
543 481 mdecorde
                Element.getUnitesSousjacentes(filtreElt1((Relation[]) saisieRelation.getElements(), elt1)),
544 481 mdecorde
                TypeMarquage.FOND1);
545 481 mdecorde
    } else {
546 481 mdecorde
      if (saisieTypeRelations.pasdeSelection())
547 481 mdecorde
        panneauTexte.saisir(elt1.getUnite0(), elt1.getUnitesSousjacentes(), TypeMarquage.SELECT2,
548 481 mdecorde
                Element.getUnitesSousjacentes(saisieElt2.getElements()), TypeMarquage.FOND3);
549 481 mdecorde
      else
550 481 mdecorde
        panneauTexte.saisir(elt1.getUnite0(), elt1.getUnitesSousjacentes(), TypeMarquage.SELECT2,
551 481 mdecorde
                Element.getUnitesSousjacentes(filtreElt1(filtreElt2((Relation[]) saisieRelation.getElements()), elt1)),
552 481 mdecorde
                TypeMarquage.FOND1,
553 481 mdecorde
                Element.getUnitesSousjacentes(saisieElt2.getElements()), TypeMarquage.FOND3);
554 481 mdecorde
    }
555 481 mdecorde
    panneauChamps.afficher(elt1);
556 481 mdecorde
    creeRelation.setEnabled(false);
557 481 mdecorde
    supprimeRelation.setEnabled(false);
558 481 mdecorde
    creeUniteElt1.setEnabled(false);
559 481 mdecorde
    creeUniteElt2.setEnabled(false);
560 481 mdecorde
  }
561 481 mdecorde
  private void etatSelectElt2(Element elt2) {  // seul Elt2 a été choisi
562 481 mdecorde
    if (saisieTypeElt1.pasdeSelection()) {
563 481 mdecorde
      if (saisieTypeRelations.pasdeSelection())
564 481 mdecorde
        panneauTexte.saisir(elt2.getUnite0(), elt2.getUnitesSousjacentes(), TypeMarquage.SELECT3);
565 481 mdecorde
      else
566 481 mdecorde
        panneauTexte.saisir(elt2.getUnite0(), elt2.getUnitesSousjacentes(), TypeMarquage.SELECT3,
567 481 mdecorde
                Element.getUnitesSousjacentes(filtreElt2((Relation[]) saisieRelation.getElements(), elt2)),
568 481 mdecorde
                TypeMarquage.FOND1);
569 481 mdecorde
    } else {
570 481 mdecorde
      if (saisieTypeRelations.pasdeSelection())
571 481 mdecorde
        panneauTexte.saisir(elt2.getUnite0(), elt2.getUnitesSousjacentes(), TypeMarquage.SELECT3,
572 481 mdecorde
                Element.getUnitesSousjacentes(saisieElt1.getElements()), TypeMarquage.FOND2);
573 481 mdecorde
      else
574 481 mdecorde
        panneauTexte.saisir(elt2.getUnite0(), elt2.getUnitesSousjacentes(), TypeMarquage.SELECT3,
575 481 mdecorde
                Element.getUnitesSousjacentes(filtreElt2(filtreElt1((Relation[]) saisieRelation.getElements()), elt2)),
576 481 mdecorde
                TypeMarquage.FOND1,
577 481 mdecorde
                Element.getUnitesSousjacentes(saisieElt1.getElements()), TypeMarquage.FOND2);
578 481 mdecorde
    }
579 481 mdecorde
    panneauChamps.afficher(elt2);
580 481 mdecorde
    creeRelation.setEnabled(false);
581 481 mdecorde
    supprimeRelation.setEnabled(false);
582 481 mdecorde
    creeUniteElt1.setEnabled(false);
583 481 mdecorde
    creeUniteElt2.setEnabled(false);
584 481 mdecorde
  }
585 481 mdecorde
  private void etatSelectElts(Element elt1, Element elt2) { // Elt1 et Elt2 ont été choisis et ils ne forment pas encore de relation
586 481 mdecorde
    panneauTexte.saisir(elt1.getUnite0(), elt1.getUnitesSousjacentes(), TypeMarquage.SELECT2,
587 481 mdecorde
            elt2.getUnitesSousjacentes(), TypeMarquage.SELECT3);
588 481 mdecorde
    panneauChamps.effacer();
589 481 mdecorde
    if (!saisieTypeRelations.pasdeSelection()) {
590 481 mdecorde
      creeRelation.setEnabled(true);
591 481 mdecorde
//      Boutons.setDefaut(creeRelation, true);
592 481 mdecorde
    }
593 481 mdecorde
    supprimeRelation.setEnabled(false);
594 481 mdecorde
    creeUniteElt1.setEnabled(false);
595 481 mdecorde
    creeUniteElt2.setEnabled(false);
596 481 mdecorde
  }
597 481 mdecorde
  private void etatSelectRel(Relation rel) {  // une relation est sélectionnée
598 481 mdecorde
    panneauTexte.saisir(rel.getElt1().getUnite0(),
599 481 mdecorde
            rel.getElt1().getUnitesSousjacentes(), TypeMarquage.SELECT1_2,
600 481 mdecorde
            rel.getElt2().getUnitesSousjacentes(), TypeMarquage.SELECT1_3);
601 481 mdecorde
//            Element.getUnitesSousjacentes(saisieElt1.getElements()), TypeMarquage.FOND2,
602 481 mdecorde
//            Element.getUnitesSousjacentes(saisieElt2.getElements()), TypeMarquage.FOND3);
603 481 mdecorde
    panneauChamps.afficher(rel);
604 481 mdecorde
    creeRelation.setEnabled(false);
605 481 mdecorde
    supprimeRelation.setEnabled(true);
606 481 mdecorde
    creeUniteElt1.setEnabled(false);
607 481 mdecorde
    creeUniteElt2.setEnabled(false);
608 481 mdecorde
  }
609 481 mdecorde
  private Relation[] filtreElt1(Relation[] relations) {
610 481 mdecorde
    Class classe = saisieTypeElt1.getClasseSelection();
611 481 mdecorde
    String type = saisieTypeElt1.getTypeSelection();
612 481 mdecorde
    ArrayList<Integer> indsAOter = new ArrayList<Integer>();
613 481 mdecorde
    for (int i = 0; i<relations.length; i++) {
614 481 mdecorde
      Element elt1 = relations[i].getElt1();
615 481 mdecorde
      if (elt1.getClass()!=classe||!elt1.getType().equals(type))
616 481 mdecorde
        indsAOter.add(i);
617 481 mdecorde
    }
618 481 mdecorde
    return Tableaux.oterRelations(relations, indsAOter);
619 481 mdecorde
  }
620 481 mdecorde
  private Relation[] filtreElt1(Relation[] relations, Element elt1) {
621 481 mdecorde
    ArrayList<Relation> rels = new ArrayList<Relation>();
622 481 mdecorde
    for (Relation rel : relations) if (elt1==rel.getElt1()) rels.add(rel);
623 481 mdecorde
    return rels.toArray(new Relation[0]);
624 481 mdecorde
  }
625 481 mdecorde
  private Relation[] filtreElt2(Relation[] relations) {
626 481 mdecorde
    Class classe = saisieTypeElt2.getClasseSelection();
627 481 mdecorde
    String type = saisieTypeElt2.getTypeSelection();
628 481 mdecorde
    ArrayList<Integer> indsAOter = new ArrayList<Integer>();
629 481 mdecorde
    for (int i = 0; i<relations.length; i++) {
630 481 mdecorde
      Element elt2 = relations[i].getElt2();
631 481 mdecorde
      if (elt2.getClass()!=classe||!elt2.getType().equals(type))
632 481 mdecorde
        indsAOter.add(i);
633 481 mdecorde
    }
634 481 mdecorde
    return Tableaux.oterRelations(relations, indsAOter);
635 481 mdecorde
  }
636 481 mdecorde
  private Relation[] filtreElt2(Relation[] relations, Element elt2) {
637 481 mdecorde
    ArrayList<Relation> rels = new ArrayList<Relation>();
638 481 mdecorde
    for (Relation rel : relations) if (elt2==rel.getElt2()) rels.add(rel);
639 481 mdecorde
    return rels.toArray(new Relation[0]);
640 481 mdecorde
  }
641 481 mdecorde
  private Relation[] filtreElts(Relation[] relations) {
642 481 mdecorde
    Class classe1 = saisieTypeElt1.getClasseSelection();
643 481 mdecorde
    String type1 = saisieTypeElt1.getTypeSelection();
644 481 mdecorde
    Class classe2 = saisieTypeElt2.getClasseSelection();
645 481 mdecorde
    String type2 = saisieTypeElt2.getTypeSelection();
646 481 mdecorde
    ArrayList<Integer> indsAOter = new ArrayList<Integer>();
647 481 mdecorde
    for (int i = 0; i<relations.length; i++) {
648 481 mdecorde
      Element elt1 = relations[i].getElt1();
649 481 mdecorde
      Element elt2 = relations[i].getElt2();
650 481 mdecorde
      if (elt1.getClass()!=classe1||!elt1.getType().equals(type1)
651 481 mdecorde
              ||elt2.getClass()!=classe2||!elt2.getType().equals(type2))
652 481 mdecorde
        indsAOter.add(i);
653 481 mdecorde
    }
654 481 mdecorde
    return Tableaux.oterRelations(relations, indsAOter);
655 481 mdecorde
  }
656 481 mdecorde
  private void checkEtatSelectElts(Element elt1, Element elt2) {
657 481 mdecorde
    if (!saisieTypeRelations.pasdeSelection())
658 481 mdecorde
      for (Relation rel : (Relation[]) saisieRelation.getElements()) {
659 481 mdecorde
        if (rel.getElt1()==elt1&&rel.getElt2()==elt2) {
660 481 mdecorde
          saisieRelation.setSelection(rel);
661 481 mdecorde
          return;
662 481 mdecorde
        }
663 481 mdecorde
      }
664 481 mdecorde
    etatSelectElts(elt1, elt2);
665 481 mdecorde
  }
666 481 mdecorde
  private void forceEtatSelectRel(Relation rel) {
667 481 mdecorde
    if (saisieTypeElt1.pasdeSelection()||saisieTypeElt1.getClasseSelection()!=rel.getElt1().getClass()
668 481 mdecorde
            ||!saisieTypeElt1.getTypeSelection().equals(rel.getElt1().getType())) {
669 481 mdecorde
      saisieTypeElt1.removeActionListener(this);
670 481 mdecorde
      saisieTypeElt1.setSelection(rel.getElt1().getClass(), rel.getElt1().getType());
671 481 mdecorde
      saisieTypeElt1.addActionListener(this);
672 481 mdecorde
    }
673 481 mdecorde
    initSaisieElt1(rel.getElt1());
674 481 mdecorde
    if (saisieTypeElt2.pasdeSelection()||saisieTypeElt2.getClasseSelection()!=rel.getElt2().getClass()
675 481 mdecorde
            ||!saisieTypeElt2.getTypeSelection().equals(rel.getElt2().getType())) {
676 481 mdecorde
      saisieTypeElt2.removeActionListener(this);
677 481 mdecorde
      saisieTypeElt2.setSelection(rel.getElt2().getClass(), rel.getElt2().getType());
678 481 mdecorde
      saisieTypeElt2.addActionListener(this);
679 481 mdecorde
    }
680 481 mdecorde
    initSaisieElt2(rel.getElt2());
681 481 mdecorde
    etatSelectRel(rel);
682 481 mdecorde
  }
683 481 mdecorde
  private void forceEffSelectElt1() {
684 481 mdecorde
    if (saisieElt1.pasdeSelection()) return;
685 481 mdecorde
    if (!saisieRelation.pasdeSelection()) {
686 481 mdecorde
      saisieRelation.removeActionListener(this);
687 481 mdecorde
      saisieRelation.effSelection();
688 481 mdecorde
      saisieRelation.addActionListener(this);
689 481 mdecorde
    }
690 481 mdecorde
    saisieElt1.effSelection();
691 481 mdecorde
  }
692 481 mdecorde
  private void forceEffSelectElt2() {
693 481 mdecorde
    if (saisieElt2.pasdeSelection()) return;
694 481 mdecorde
    if (!saisieRelation.pasdeSelection()) {
695 481 mdecorde
      saisieRelation.removeActionListener(this);
696 481 mdecorde
      saisieRelation.effSelection();
697 481 mdecorde
      saisieRelation.addActionListener(this);
698 481 mdecorde
    }
699 481 mdecorde
    saisieElt2.effSelection();
700 481 mdecorde
  }
701 481 mdecorde
  private void forceEffSelectRel() {
702 481 mdecorde
    if (saisieRelation.pasdeSelection()) return;
703 481 mdecorde
    saisieRelation.removeActionListener(this);
704 481 mdecorde
    saisieRelation.effSelection();
705 481 mdecorde
    saisieRelation.addActionListener(this);
706 481 mdecorde
  }
707 481 mdecorde
  private void initSaisieRelation(Relation rel) {
708 481 mdecorde
    saisieRelation.removeActionListener(this);
709 481 mdecorde
    if (saisieTypeRelations.pasdeSelection()) saisieRelation.setModeleVide();
710 481 mdecorde
    else {
711 481 mdecorde
      String type0 = saisieTypeRelations.getTypeSelection();
712 481 mdecorde
      Relation[] relations = vue.getRelationsAVoir(type0);
713 481 mdecorde
      saisieRelation.setModele(relations, vue.getIdRelations(type0, relations));
714 481 mdecorde
    }
715 481 mdecorde
    if (rel==null) saisieRelation.effSelection();
716 481 mdecorde
    else saisieRelation.setSelection(rel);
717 481 mdecorde
    saisieRelation.addActionListener(this);
718 481 mdecorde
    saisieRelation.revalidate();
719 481 mdecorde
  }
720 481 mdecorde
  private void initSaisieRelation() {
721 481 mdecorde
    initSaisieRelation(null);
722 481 mdecorde
  }
723 481 mdecorde
  private void initSaisieElt1(Element elt1) {
724 481 mdecorde
    saisieElt1.removeActionListener(this);
725 481 mdecorde
    if (saisieTypeElt1.pasdeSelection()) saisieElt1.setModeleVide();
726 481 mdecorde
    else {
727 481 mdecorde
      Class<? extends Element> classe = saisieTypeElt1.getClasseSelection();
728 481 mdecorde
      String type = saisieTypeElt1.getTypeSelection();
729 481 mdecorde
      saisieElt1.setModele(vue.getElements(classe, type), vue.getIdElements(classe, type));
730 481 mdecorde
    }
731 481 mdecorde
    if (elt1==null) saisieElt1.effSelection();
732 481 mdecorde
    else saisieElt1.setSelection(elt1);
733 481 mdecorde
    saisieElt1.addActionListener(this);
734 481 mdecorde
    saisieElt1.revalidate();
735 481 mdecorde
  }
736 481 mdecorde
  private void initSaisieElt1() {
737 481 mdecorde
    initSaisieElt1(null);
738 481 mdecorde
  }
739 481 mdecorde
  private void initSaisieElt2(Element elt2) {
740 481 mdecorde
    saisieElt2.removeActionListener(this);
741 481 mdecorde
    if (saisieTypeElt2.pasdeSelection()) saisieElt2.setModeleVide();
742 481 mdecorde
    else {
743 481 mdecorde
      Class<? extends Element> classe = saisieTypeElt2.getClasseSelection();
744 481 mdecorde
      String type = saisieTypeElt2.getTypeSelection();
745 481 mdecorde
      saisieElt2.setModele(vue.getElements(classe, type), vue.getIdElements(classe, type));
746 481 mdecorde
    }
747 481 mdecorde
748 481 mdecorde
    if (elt2==null) saisieElt2.effSelection();
749 481 mdecorde
    else saisieElt2.setSelection(elt2);
750 481 mdecorde
    saisieElt2.addActionListener(this);
751 481 mdecorde
    saisieElt2.revalidate();
752 481 mdecorde
  }
753 481 mdecorde
  private void initSaisieElt2() {
754 481 mdecorde
    initSaisieElt2(null);
755 481 mdecorde
  }
756 481 mdecorde
}