Moka Ihm Qt
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
window.qt.hh
Go to the documentation of this file.
1 /*
2  * Moka : Un modeleur de 3-G-cartes.
3  * Copyright (C) 2004, Moka Team, Université de Poitiers, Laboratoire SIC
4  * http://www.sic.sp2mi.univ-poitiers.fr/
5  * Copyright (C) 2009, Guillaume Damiand, CNRS, LIRIS,
6  * guillaume.damiand@liris.cnrs.fr, http://liris.cnrs.fr/
7  *
8  * This file is part of Moka
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef WINDOW_QT_HH
25 #define WINDOW_QT_HH
26 
27 //------------- Include controler ----------------
28 #include "controler-gmap.hh"
29 #include "controler.hh"
30 using namespace GMap3d ;
31 
32 // Bidouille car ce salete de moc de Qt ne prend pas en compte
33 // les directives de precompilations
34 #ifndef MODULE_SPAMOD
35 namespace GMap3d
36 {
37  typedef int TSpamodViewMode;
38 }
39 #endif
40 //------ Include autres classes developees -------
41 
42 #include "creation-brin.qt.hh"
43 #include "creation-polygone.qt.hh"
44 #include "creation-maillage.qt.hh"
45 #include "creation-sphere.qt.hh"
46 #include "creation-cylindre.qt.hh"
47 #include "creation-pyramide.qt.hh"
48 #include "creation-tore.qt.hh"
49 
51 
52 #include "dialog-do.qt.hh"
53 #include "dialog-moveto.qt.hh"
54 #include "dialog-homothetie.qt.hh"
55 #include "dialog-translation.qt.hh"
56 #include "dialog-rotation.qt.hh"
57 
58 #include "gl-window.qt.hh"
59 #include "select-bar.qt.hh"
60 #include "options-frame.qt.hh"
61 #include "menu-bar.qt.hh"
62 #include "options-carac.qt.hh"
65 #include "options-couleurs.qt.hh"
66 
67 //----------------- Include std ------------------
68 using namespace std ;
69 #include <iostream>
70 #include <cstdlib>
71 
72 //------------------ Include QT -------------------
73 #include <QtCore/QDir>
74 #include <QtGui/QKeyEvent>
75 class QFileDialog;
76 
77 #define SPACE_PIX_SIZE 15
78 
79 class Window : public QMainWindow
80 {
81  Q_OBJECT
82 
83 public:
84 
88  Window ( ) ;
89 
93  virtual ~Window ( ) ;
94 
99  virtual GMap3d :: CControlerGMap * getControler ( ) const ;
100 
104  virtual void repaint ( ) ;
105 
109  virtual void closeEvent ( QCloseEvent * event );
110 
115  virtual CreationObjet * getCreationActive ( ) const ;
116 
121  virtual dialogOperations * getOperationActive ( ) const ;
122 
127  virtual OptionCouleurs * getCouleurActive ( ) const;
128 
133  virtual OptionsCarac * getOptionsCaracActive ( ) const ;
134 
139  virtual OptionsSurfacicHomology * getOptionsSurfacicHomologyActive() const ;
140 
145  virtual OptionsVolumicHomology * getOptionsVolumicHomologyActive() const ;
146 
151  virtual TViewId getCurrentViewId ( ) const ;
152 
157  virtual void setDoubleCliquee ( GLWindow * vue ) ;
158 
162  virtual void updateStatusBar ( ) ;
163 
170  std::string getOpenFileName ( const QString & caption = QString(),
171  const QStringList & filters =
172  QStringList("Tous les fichiers (*)"),
173  int * ind_filter = NULL );
174 
181  std::string getSaveFileName ( const QString & caption = QString(),
182  const QStringList & filters =
183  QStringList("Tous les fichiers (*)"),
184  int * ind_filter = NULL);
185 
186  const QColor LINK_COLOR;
187 
188 private :
189 
190  void resetActiveOperations();
191 
192 public slots:
193 
197  void windowActivated( QWidget * w );
198 
199  void callbackKeyUp();
200  void callbackKeyDown();
201  void callbackKeyLeft();
202  void callbackKeyRight();
203 
204  void callbackKeyCtrlUp();
205  void callbackKeyCtrlDown();
206  void callbackKeyCtrlLeft();
207  void callbackKeyCtrlRight();
208 
209  void callbackKeyShiftUp();
210  void callbackKeyShiftDown();
211  void callbackKeyShiftLeft();
212  void callbackKeyShiftRight();
213 
214  void callbackVueCompacte();
215  void callbackVueSemiEclatee();
216  void callbackVueMoka();
217  void callbackVueTopoFil();
218 
219  // Slots Menu Fichier
220  //*******************
221  void callbackLoad ( ) ;
222  void callbackAdd ( ) ;
223  void callbackSave ( ) ;
224  void callbackImport ( ) ;
225  void callbackExport ( ) ;
226  void callbackQuit ( ) ;
227 
228  void callbackFindMotif();
229  void callbackCountMotifs();
230 
231  void callbackNettoyage ();
232 
233  void filterSelected ( const QString & selected );
234 
235  // Slots Menu Edition
236  //*******************
237  void callbackUndo ( ) ;
238  void callbackRedo ( ) ;
239  void callbackEmptyUndoRedo ( ) ;
240  void callbackConfigUndoRedo ( ) ;
241 
242  // Slots Menu Options
243  //*******************
244 
245  void help ( ) ;
246  // void grid ( ) ;
247  void view ( ) ;
248  void plating ( ) ;
249  void pondDef ( ) ;
250  void extrusion ( ) ;
251  void interpol ( ) ;
252  void affich ( ) ;
253 
254  void caracTopo ( ) ;
255  void callback2Manifold ( ) ;
256  void couleurs ( ) ;
257  void affichDivers ( );
258 
259  void callbackToggleSews();
260  void callbackToggleNormal();
261  void callbackToggleVertices();
262  void callbackToggleFaces();
263  void callbackTournerButton();
264  void callbackToggleGrille();
265 
266  // A deplacer dans Operation
267  void chanf ( ) ;
268 
269  // Slots Menu Creer
270  //*****************
271  void callbackPolyline ( ) ;
272  void callbackPolygon ( ) ;
273  void callbackMeshCreation ( ) ;
274  void callbackSphere ( ) ;
275  void callbackCylinder ( ) ;
276  void callbackPyramide ( ) ;
277  void callbackTorus ( ) ;
278  void callbackRandomizeDarts();
279 
280  // Slots Menu Operations
281  //**********************
282  // -- translation/rotation/homothetie
283  void callbackTranslateWindow ( ) ;
284  void callbackRotateWindow ( ) ;
285  void callbackScaleWindow ( ) ;
286  void callbackMovetoWindow ( ) ;
287 
288  // -- coudre
289  void callbackIntuitiveTopoSew ( ) ;
290  void callbackIntuitiveGeoSew ( ) ;
291 
292  void callbackTopoSew0 ( ) ;
293 
294  void callbackTopoSew1 ( ) ;
295  void callbackGeoSew1 ( ) ;
296 
297  void callbackTopoSew2 ( ) ;
298  void callbackGeoSew2 ( ) ;
299 
300  void callbackTopoSew3 ( ) ;
301  void callbackGeoSew3 ( ) ;
302 
303  void callbackTopoSew1borders ( ) ;
304  void callbackGeoSew1borders ( ) ;
305 
306  void callbackTopoSew2borders ( ) ;
307  void callbackGeoSew2borders ( ) ;
308 
309  void callbackInvertLastOperation ( ) ;
310  void callbackInvertLastOperationGeometry ( ) ;
311 
312  // -- decoudre
313  void callbackIntuitiveUnsew ( ) ;
314  void callbackUnsew0 ( ) ;
315  void callbackUnsew1 ( ) ;
316  void callbackUnsew2 ( ) ;
317  void callbackUnsew3 ( ) ;
318 
319  // -- placage
320  void callbackIntuitivePlate ( ) ;
321  void callbackPlate0 ( ) ;
322  void callbackPlate1 ( ) ;
323  void callbackPlate2 ( ) ;
324 
325  void callbackPlate1borders ( ) ;
326  void callbackPlate2borders ( ) ;
327 
328  // -- Fusionner
329  void callbackIntuitiveMerge ( ) ;
330  void callbackMergeEdges ( ) ;
331  void callbackMergeFaces ( ) ;
332  void callbackMergeVolumes ( ) ;
333 
334  void callbackMergeColinearEdges ( ) ;
335  void callbackMergeCoplanarFaces ( ) ;
336 
337  void callbackMergeFacesWithoutDisconnection ( ) ;
338  void callbackRemoveMarkedFacesButKeepBalls ( ) ;
339  void callbackShiftAllEdgesIncidentToVertex ( ) ;
340  void callbackRemoveDanglingEdges();
341  void callbackSimplify2DObject();
342  void callbackSimplify3DObject();
343 
344  // -- Contracter
345  void callbackIntuitiveContract ( ) ;
346 
347  void callbackContractEdges ( ) ;
348  void callbackContractFaces ( ) ;
349  void callbackContractVolumes ( ) ;
350 
351  void callbackDelNullEdges ( ) ;
352  void callbackDelFlatFaces ( ) ;
353  void callbackDelFlatVolumes ( ) ;
354 
355  // -- Inserer
356  void callbackInsertVertex ( ) ;
357  void callbackInsertEdge ( ) ;
358  void callbackInsertFace ( ) ;
359 
360  // -- Fermer
361  void callbackIntuitiveStopUp ( ) ;
362  void callbackStopUp0 ( ) ;
363  void callbackStopUp1 ( ) ;
364  void callbackStopUp2 ( ) ;
365  void callbackStopUp3 ( ) ;
366 
367  // -- Trianguler
368  void callbackContextTriangulate ( ) ;
369  void callbackTriangulateEdges ( ) ;
370  void callbackTriangulateFaces ( ) ;
371  void callbackTriangulateVolumes ( );
372  void callbackSwapEdge ( );
373  void callbackTriangulateGeoFaces( );
374 
375  // -- Quadranguler
376  void callbackQuadrangulateFaces ( ) ;
377  void callbackBasicQuadrangulateFaces ( ) ;
378 
379  // -- Calculer Dual
380  void callbackDual2d ( ) ;
381  void callbackDual3d ( ) ;
382 
383  // -- Extruder
384  // Selon normale
385  void callbackIntuitiveExtrudeByNormal ( ) ;
386  void callbackExtrude0ByNormal ( ) ;
387  void callbackExtrude1ByNormal ( ) ;
388  void callbackExtrude2ByNormal ( ) ;
389 
390  // Selon chemin
391  void callbackExtrude1ByPath ( ) ;
392  void callbackExtrude2ByPath ( ) ;
393 
394  // Selon axe
395  void callbackExtrude1ByRevolution ( ) ;
396  void callbackExtrude2ByRevolution ( ) ;
397 
399  void callbackThicken ( ) ;
400 
401  // -- Interpoler
402  void callbackMeshEdge ( ) ;
403  void callbackMeshSquare01 ( ) ;
404  void callbackMeshSquare02 ( ) ;
405  void callbackMeshSquare12 ( ) ;
406 
407  void callbackMeshCube01 ( ) ;
408  void callbackMeshCube02 ( ) ;
409  void callbackMeshCube03 ( ) ;
410  void callbackMeshCube12 ( ) ;
411  void callbackMeshCube13 ( ) ;
412  void callbackMeshCube23 ( ) ;
413 
414  // -- Lisser
415  void callbackSmooth1 ( ) ;
416  void callbackSmooth2 ( ) ;
417  void callbackSmooth3 ( ) ;
418 
419  // -- Arrondir
420  void callbackRoundVertices ( ) ;
421  void callbackRoundVerticesDig ( ) ;
422  void callbackRoundEdges2d ( ) ;
423  void callbackRoundEdges2dDig ();
424  void callbackRoundEdges3d ( ) ;
425  void callbackRoundEdges3dDig ( ) ;
426  void callbackRoundEdges2dWithSetback ();
427  void callbackRoundEdges2dDigWithSetback ();
428  void callbackRoundEdges3dWithSetback ( ) ;
429  void callbackRoundEdges3dDigWithSetback ( ) ;
430 
431  // -- Triangulation
432  void callbackTriangulateTopoFaces ();
433  void callbackMarkNonUniformFaces ();
434  void callbackOptimizeSelectedEdges ();
435  void callbackDelaunayTriangulation ();
436  void callbackOptimizedDelaunayTriangulation ();
437  //void callbackCreateBSplineSurface ();
438  //void callbackgetSurfaceIntersection ();
439 
440  // -- Co-raffiner
441  void callbackCorefine2dSegmentsSweeping ( ) ;
442  void callbackCorefine2dSegmentsPropagation ( ) ;
443  void callbackBooleanOperations2d ( ) ;
444  void callbackCorefine3dMeshes ( ) ;
445  void callbackCorefine3dFaces ( ) ;
446  void callbackCorefineMarked3dFaces ( ) ;
447  void callbackCorefineMarked3dMeshesWith ( ) ;
448  void callbackBooleanOperations3d ( ) ;
449  //void callbackCorefineTest ( ) ;
450 
451  // -- Homology
452  void callbackComputeSurfacicHomology();
453  void callbackComputeVolumicHomology();
454 
455 
456  // Slots Menu Geologie
457  //********************
458  void callbackUncertainZone ();
459  void callbackCreateNearestIntersections ();
460  void callbackExtendSelectedBorders ();
461  void callbackExtendSelectedBordersToSurface ();
462  void callbackSmoothSelection ();
463  void callbackRelaxSelection ();
464  void callbackSimplifyMesh ();
465  void callbackCenterSelection ();
466  void callbackPlateVerticesOnFaces ();
467  void callbackPlateVerticesOnEdges ();
468  void callbackPlateVerticesOnVertices ();
469  void callbackSelectMacroVertices ();
470  void callbackSelectAllMacroEdges ();
471  void callbackSelectMacroEdges ();
472  void callbackSelectMacroFaces ();
473  void callbackSelectBordersBetweenSelectedDarts ();
474  void callbackImportGr2d ();
475  void callbackImportGr2dOk (); //-
476  void callbackImportXyz ();
477  void callbackImportXyzOk (); //-
478  void callbackImportTs ();
479  void callbackImportTsOk (); //-
480  void callbackImportCloud ();
481  void callbackImportCloudOk (); //-
482 
483  void callbackHolesRefinement ();
484  void callbackTriangulateHoles ();
485  void callbackFillHolesOnMeshes ();
486  void callbackFailleDetection ();
487  void callbackExtractDetectedFailles ();
488  void callbackExtensionFailleSurface ();
489  //void callbackGetIntersectionSurface ();
490  //void callbackCollapseEdge ();
491  //void callbackRemoveVertex ();
492  void callbackMeshSimplification ();
493  void callbackImportVrml ();
494  void callbackExportTs ();
495 
496  // Slots Menu Materialiser
497  //************************
498  void callbackMaterializeBarycenter ();
499  void callbackMaterializeAxe ();
500  void callbackMaterializePlane ();
501  void callbackMaterializeNormalVector ();
502  void callbackMaterializeOrthoPlane ();
503  void callbackMaterializeReferential ();
504 
505  // Slots Menu Selection
506  //*********************
507  void callbackReinitSelection ( ) ;
508  void callbackNegateSelection ( ) ;
509  void callbackSwapSelections ( ) ;
510 
511  // Copie / Destruction
512  void callbackDuplicateSelection ( ) ;
513  void callbackDeleteSelection ( ) ;
514 
515  // Etendre d'1 pas
516  void callbackGoForward1 ( ) ;
517  void callbackGoBackward1 ( ) ;
518  void callbackGoLeft1 ( ) ;
519  void callbackGoRight1 ( ) ;
520 
521  // Etendre Repetitivement
522  void callbackGoForward1Rep ( ) ;
523  void callbackGoBackward1Rep ( ) ;
524  void callbackGoLeft1Rep ( ) ;
525  void callbackGoRight1Rep ( ) ;
526 
527  // Reduire d'1 pas
528  void callbackGoForward0 ( ) ;
529  void callbackGoBackward0 ( ) ;
530  void callbackGoLeft0 ( ) ;
531  void callbackGoRight0 ( ) ;
532 
533  // Reduire repetitivement
534  void callbackGoForward0Rep ( ) ;
535  void callbackGoBackward0Rep ( ) ;
536  void callbackGoLeft0Rep ( ) ;
537  void callbackGoRight0Rep ( ) ;
538 
539  // Marquages divers
540  void callbackMarkInterior2 ( ) ;
541  void callbackMarkInterior3 ( ) ;
542 
543  void callbackIntuitiveSelectBorders ( ) ;
544  void callbackSelect0borders ( ) ;
545  void callbackSelect1borders ( ) ;
546  void callbackSelect2borders ( ) ;
547  void callbackSelect3borders ( ) ;
548  void callbackSelectNonPlanarFaces ( ) ;
549  void callbackSelectIncidents ( ) ;
550 
551  // Avancer
552  void callbackGoAlpha0 ( ) ; //Par Alpha0
553  void callbackGoAlpha1 ( ) ;
554  void callbackGoAlpha2 ( ) ;
555  void callbackGoAlpha3 ( ) ;
556 
557  // Slots Menu Vues
558  //****************
559  void tile ( ) ;
560  void cascade ( ) ;
561 
562  void addView3D ( ) ;
563  void addViewXY ( ) ;
564  void addViewYZ ( ) ;
565  void addViewZX ( ) ;
566  void addViewMulti ( ) ;
567 
568  void basculeView3D ( ) ;
569  void basculeViewXY ( ) ;
570  void basculeViewYZ ( ) ;
571  void basculeViewZX ( ) ;
572  void basculeViewMulti ( ) ;
573 
574  void deleteView ( ) ;
575 
576  void mireOrigine ( ) ;
577  void mireFace ( ) ;
578  void mireSommet ( ) ;
579  void mireVolume ( ) ;
580  void mireCompConnexe ( ) ;
581  void mireBrinsMarques ( ) ;
582  void mireBrins ( ) ;
583 
584  void callbackBackToBurstView ();
585  void callbackTopologicalView ();
586  void callbackEuclidianView ();
587  void callbackAnalyticView ();
588  void callbackVoxelView ();
589  void callbackK2View ();
590 
591  bool callbackSpamodViews(GMap3d::TSpamodViewMode);
592 
593  void callbackSpamodSwitchToNextView ();
594 
595  void OperationUngroupAllGeneral ( ) ;
596  void OperationUngroupAllPrecompiles ( ) ;
597  void OperationUngroupAllEyePos ( ) ;
598  void OperationUngroupAllAimedPos ( ) ;
599  void OperationUngroupAllDrawing ( ) ;
600  void OperationUngroupGeneral ( ) ;
601  void OperationUngroupPrecompiles ( ) ;
602  void OperationUngroupEyePos ( ) ;
603  void OperationUngroupAimedPos ( ) ;
604  void OperationUngroupDrawing ( ) ;
605 
606  void OperationGroupAllGeneral ( ) ;
607  void OperationGroupAllPrecomp ( ) ;
608  void OperationGroupAllEyePos ( ) ;
609  void OperationGroupAllAimedPos ( ) ;
610  void OperationGroupAllDrawing ( ) ;
611  void OperationGroupGeneral ( ) ;
612  void OperationGroupPrecomp ( ) ;
613  void OperationGroupEyePos ( ) ;
614  void OperationGroupAimedPos ( ) ;
615  void OperationGroupDrawing ( ) ;
616 
617  // Cache toutes les fenetres ouvertes
618  void callbackHideAllWindow ( ) ;
619 
620  // Methode qui bascule l'affichage vers une vue de typa souhaite
621  void bascule ( TView type ) ;
622 
623  // Methode qui construit les boites a outils
624  void creationBoitesOutils ( ) ;
625 
626  // Methodes utilises pour interpoler
627  void callbackMeshSquare (int i , int j) ;
628  void callbackMeshCube (int i , int j) ;
629 
630  // Methodes utilisees pour Arrondir
631  void roundVertices(bool ADig);
632  void roundEdges ( bool A3D, bool ADig, bool ASetback);
633 
634  /***************************************************************************/
635 public:
636  // Parametres d'affichage
637  bool getVerticesDisplay() const;
638  void setVerticesDisplay(bool b);
639 
640  bool getNormalDisplay() const;
641  void setNormalDisplay(bool b);
642 
643  bool getFacesDisplay() const;
644  void setFacesDisplay(bool b);
645 
646  bool getFacesCoulAlea () const;
647  void setFacesCoulAlea ();
648 
649  bool getVolumesCoulAlea () const;
650  void setVolumesCoulAlea ();
651 
652  bool getCoulFacesGlobale () const;
653  void setCoulFacesGlobale ();
654 
655  bool getCoulTopologie () const;
656  void setCoulTopologie ();
657 
658  bool getCoulGeometry () const;
659  void setCoulGeometry ();
660 
661  bool getSewsDisplay() const;
662  void setSewsDisplay(bool b);
663 
664  bool getGridDisplay() const;
665  void setGridDisplay(bool b);
666 
667  bool getAxisDisplay() const;
668  void setAxisDisplay(bool b);
669 
670  // Pour spamod, affichage ou non des brins
671  void toggleDarts(bool b);
672 
673  // Methodes pour recuperer les parametres associes a la vue courante
674  CParameterAimedPosition* getParameterAimedPosition() const;
675  CParameterDrawing* getParameterDrawing() const;
676  CParameterEyePosition* getParameterEyePosition() const;
677  CParameterAimedPoint* getParameterAimedPoint() const;
678  CParameterAxis* getParameterAxis() const;
679  CParameterGrid* getParameterGrid() const;
680 
681  GMap3d::CParameterDart* getParameterDart() const;
682  GMap3d::CParameterFace* getParameterFace() const;
683  GMap3d::CParameterPreview* getParameterPreview() const;
684  GMap3d::CParameterNormalVector* getParameterNormalVector() const;
685  GMap3d::CParameterObjectTransformation* getParameterObjectTransformation()
686  const;
687  GMap3d::CParameterSew* getParameterSew() const;
688 
689  GMap3d::CParameterVertex* getParameterVertex() const;
690 
691 #ifdef MODULE_SPAMOD
692  GMap3d::CParameterSpamod* getParameterSpamod () const;
693 #endif // MODULE_SPAMOD
694 
695  //************************************************************************/
696 private:
697  // Pointeur sur le controleur
698  GMap3d :: CControlerGMap * FControler ;
699 
700  // Pointeur sur un workspace
701  QWorkspace * FWorkspace ;
702 
703  // Pointeur sur la fenetre de construction active
704  CreationObjet * FCreationActive ;
705 
706  // Pointeurs sur chacunes des toolbars de construction.
707  CreationObjet * FCreationBrin ;
708  CreationObjet * FCreationCylindre ;
709  CreationObjet * FCreationMaillage ;
710  CreationObjet * FCreationPolygone ;
711  CreationObjet * FCreationPyramide ;
712  CreationObjet * FCreationSphere ;
713  CreationObjet * FCreationTore ;
714 
715  // Pointeurs sur chacunes des toolbars d'operation.
716  dialogOperations * FDialogRotation ;
717  dialogOperations * FDialogHomothetie ;
718  dialogOperations * FDialogTranslation ;
719  dialogOperations * FDialogMoveto ;
720 
721 #ifdef MODULE_GEOLOGY
722  // Pointeur sur la fenetre de construction active
723  DialogMesh * FMeshActive ;
724 #endif // MODULE_GEOLOGY
725 
726  // Pointeur sur l'operation active
727  // Operations : Rotation, translation, homothetie, moveto
728  dialogOperations * FOperationActive ;
729 
730  // Pointeur sur l'ensemble des actions
731  OptionsFrame * FOptionsFrame ;
732 
733  // Pointeur sur la boite de dialogue chanfreinage
734  OperationChanfreinage * FOperationChanfreinage ;
735 
736  // Pointeur sur la boite de dialogue des caracteristiques topologiques
737  OptionsCarac * FOptionsCarac ;
738 
739  // Pointeur sur la boite de dialogue de calcul de l'homology surfacique
740  OptionsSurfacicHomology * FOptionsSurfacicHomology ;
741 
742  // Pointeur sur la boite de dialogue de calcul de l'homology volumique
743  OptionsVolumicHomology * FOptionsVolumicHomology ;
744 
745  // Pointeur sur la boite de dialogue de configuration des Undo/Redo
746  DialogDo * FDialogDo ;
747 
748  // Vue mere
749  GLWindow * FVueMere ;
750 
751  // Derniere vue double cliquee
752  GLWindow * FDoubleCliquee ;
753 
754  // Barre de selection
755  SelectBar * FSelection ;
756 
757  // Boite des couleurs
758  OptionCouleurs * FCouleurs ;
759  bool color_active;
760 
761  Window * FParent;
762 
763  MenuBar * main_menu;
764 
765  // Les Toolbars.
766  QToolBar * fichier;
767  QToolBar * edition;
768  QToolBar * creation;
769  QToolBar * operations;
770  QToolBar * vues;
771  QToolBar * selection;
772 
773  // Les actions dynamiques.
774  QAction * charger_act;
775  QAction * sauver_act;
776  QAction * importer_act;
777  QAction * exporter_act;
778 
779  // Le repertoire courant.
780  QDir current_dir;
781 
782  // La boite de dialogue de sélection de fichier en cours.
783  QFileDialog* FileDialog;
784 };
785 
786 #endif
787