00001 /* 00002 * Moka : Un modeleur de 3-G-cartes. 00003 * Copyright (C) 2004, Moka Team, Université de Poitiers, Laboratoire SIC 00004 * http://www.sic.sp2mi.univ-poitiers.fr/ 00005 * Copyright (C) 2009, Guillaume Damiand, CNRS, LIRIS, 00006 * guillaume.damiand@liris.cnrs.fr, http://liris.cnrs.fr/ 00007 * 00008 * This file is part of Moka 00009 * 00010 * This program is free software: you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation, either version 3 of the License, or 00013 * (at your option) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU General Public License 00021 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00022 */ 00023 00024 #ifndef BOITE_POSITIONNEMENT_QT_HH 00025 #define BOITE_POSITIONNEMENT_QT_HH 00026 00027 //--------- Include autres classes developees -------- 00028 #include "controler-gmap.hh" 00029 #include "floatSpinBox.qt.hh" 00030 class Window ; 00031 class CreationObjet ; 00032 00033 //-------------------- Include QT -------------------- 00034 #include <QtGui/QPushButton> 00035 #include <QtGui/QLabel> 00036 #include <QtGui/QToolBar> 00037 #include <QtGui/QDialog> 00038 00039 /*****************************************************/ 00040 /* CLASSE BoitePositionnement */ 00041 /*****************************************************/ 00042 class BoitePositionnement : public QDialog 00043 { 00044 Q_OBJECT 00045 00046 public: 00053 BoitePositionnement(CreationObjet * lien , Window * parent , int objet) ; 00054 00058 ~BoitePositionnement() ; 00059 00060 //**************************************************** 00061 // Accesseurs * 00062 //**************************************************** 00063 virtual TCoordinate getScale() const; 00064 virtual CVertex getProportions() const; 00065 virtual CVertex getDimensions() const; 00066 virtual CVertex getCenter() const; 00067 virtual CVertex getRotations() const; 00068 virtual CVertex getFirstVertex() const; 00069 virtual CVertex getNormalVector() const; 00070 virtual void activateYProportions(bool b) ; 00071 virtual void activateZProportions(bool b) ; 00072 00073 virtual void setScale(TCoordinate); 00074 virtual void setProportions(const CVertex &); 00075 virtual void setDimensions(const CVertex &); 00076 virtual void setCenter(const CVertex &); 00077 virtual void setRotations(const CVertex &); 00078 virtual void setFirstVertex(const CVertex &); 00079 virtual void setNormalVector(const CVertex &); 00080 00081 virtual void update() ; 00082 00083 virtual void show() ; 00084 00085 private slots: 00086 00087 void callbackScale() ; 00088 void callbackProportions() ; 00089 void callbackDimensions() ; 00090 void callbackCenter() ; 00091 void callbackRotations() ; 00092 void callbackFirstVertex() ; 00093 void callbackNormalVector() ; 00094 00095 private: 00096 00097 // Les Saisies 00098 FloatSpinBox * FSaisieCentre [ 3 ] ; 00099 FloatSpinBox * FSaisieFacteur ; 00100 FloatSpinBox * FSaisieProportions [ 3 ] ; 00101 FloatSpinBox * FSaisieDimensions [ 3 ] ; 00102 FloatSpinBox * FSaisieRotations [ 3 ] ; 00103 FloatSpinBox * FSaisiePoleNord [ 3 ] ; 00104 FloatSpinBox * FSaisieEquateur [ 3 ] ; 00105 00106 // Les affichages 00107 QLabel * FAffCentre [ 3 ] ; 00108 QLabel * FAffProportions [ 3 ] ; 00109 QLabel * FAffDimensions [ 3 ] ; 00110 QLabel * FAffRotations [ 3 ] ; 00111 QLabel * FAffPoleNord [ 3 ] ; 00112 QLabel * FAffEquateur [ 3 ] ; 00113 00114 QLabel * FTitreCentre ; 00115 QLabel * FTitreFacteur ; 00116 QLabel * FTitreProportions ; 00117 QLabel * FTitreDimensions ; 00118 QLabel * FTitreRotations ; 00119 QLabel * FTitrePoleNord ; 00120 QLabel * FTitreEquateur ; 00121 00122 // Pointeur sur la toolbar a laquelle il est lie 00123 CreationObjet * FLien ; 00124 00125 // Booleen de modification 00126 bool FModifie ; 00127 00128 // Identifiant du type de l'objet a construire 00129 int FNumObject ; 00130 00131 // Bouton masquer 00132 QPushButton * FMasquer ; 00133 } ; 00134 00135 #endif