00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "creation-pyramide.qt.hh"
00025 #include "window.qt.hh"
00026 #include "HtmlEntities.hh"
00027 #include "SpaceWidget.qt.hh"
00028
00029 #include <QtGui/QLabel>
00030
00031
00032
00033
00034 CreationPyramide :: CreationPyramide(Window * parent ,
00035 GMap3d :: CControlerGMap * controler)
00036 :
00037 CreationObjet(parent , HTML::decode("Création cylindre") ,
00038 controler)
00039 {
00040 FAffSub = new QLabel(" Subdivisions : " , this) ;
00041 FAffPar = new QLabel(*HTML::decode("Parallèles : ") , this) ;
00042
00043 FSaisiePar = new QSpinBox(this) ;
00044 FSaisiePar -> setMinimum(1);
00045 FSaisiePar -> setMaximum(1000);
00046 FSaisiePar -> setAccelerated(true);
00047
00048 FAffMer = new QLabel(*HTML::decode("Méridiens : ") , this) ;
00049
00050 FSaisieMer = new QSpinBox(this) ;
00051 FSaisieMer -> setMinimum(3);
00052 FSaisieMer -> setMaximum(1000);
00053 FSaisieMer -> setAccelerated(true);
00054
00055 FAffFaces =
00056 new QLabel(*HTML::decode("Faces créées : ") , this) ;
00057 FBase = new QCheckBox("Base" , this) ;
00058
00059 addWidget(FAffSub);
00060 addWidget(FAffPar);
00061 addWidget(FSaisiePar);
00062 addWidget(new SpaceWidget(SPACE_PIX_SIZE, 1));
00063 addWidget(FAffMer);
00064 addWidget(FSaisieMer);
00065 addWidget(new SpaceWidget(SPACE_PIX_SIZE, 1));
00066 addWidget(FAffFaces);
00067 addWidget(FBase);
00068 addWidget(new SpaceWidget(SPACE_PIX_SIZE, 1));
00069
00070
00071 FChoix = new BoutonsCreation(this) ;
00072
00073
00074 FPosit = new BoitePositionnement(this , parent , OBJECT_PYRAMID) ;
00075
00076 update() ;
00077
00078 QObject::connect(FSaisiePar , SIGNAL(valueChanged(int)) , this,
00079 SLOT(callbackParallels())) ;
00080 QObject::connect(FSaisieMer , SIGNAL(valueChanged(int)) , this,
00081 SLOT(callbackMeridians())) ;
00082 QObject::connect(FBase , SIGNAL(stateChanged(int)) , this ,
00083 SLOT(callbackCheckedButton())) ;
00084 }
00085
00086 CreationPyramide :: ~CreationPyramide()
00087 {
00088 }
00089
00090 void CreationPyramide :: update()
00091 {
00092 CreationObjet :: update() ;
00093
00094 FSaisieMer ->setValue(FControler->getParameterCreation()
00095 ->getPyramidNbMeridians());
00096 FSaisiePar->setValue(FControler->getParameterCreation()
00097 ->getPyramidNbParallels());
00098 FBase -> setChecked(FControler->getParameterCreation()->getPyramidClosed());
00099 }
00100
00101
00102
00103 int CreationPyramide::getMeridians() const
00104 {
00105 return FSaisieMer -> value();
00106 }
00107
00108 int CreationPyramide::getParallels() const
00109 {
00110 return FSaisiePar -> value();
00111 }
00112
00113 bool CreationPyramide::getCreatedBase() const
00114 {
00115 return FBase -> isChecked();
00116 }
00117
00118
00119
00120 void CreationPyramide::setMeridians(int m)
00121 {
00122 FSaisieMer -> setValue(m) ;
00123 FControler -> getParameterCreation() -> setPyramidNbMeridians(m) ;
00124 repaint() ;
00125 }
00126
00127 void CreationPyramide::setParallels(int p)
00128 {
00129 FSaisiePar -> setValue(p) ;
00130 FControler -> getParameterCreation() -> setPyramidNbParallels(p) ;
00131 repaint() ;
00132 }
00133
00134 void CreationPyramide::setCreatedBase(bool b)
00135 {
00136 FBase-> setChecked(b) ;
00137 FControler -> getParameterCreation() -> setPyramidClosed(b) ;
00138 repaint() ;
00139 }
00140
00141
00142 void CreationPyramide :: callbackMeridians()
00143 {
00144 setMeridians(getMeridians()) ;
00145 }
00146
00147 void CreationPyramide::callbackParallels()
00148 {
00149 setParallels(getParallels()) ;
00150 }
00151
00152 void CreationPyramide::callbackCheckedButton()
00153 {
00154 setCreatedBase(getCreatedBase()) ;
00155 }