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-sphere.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
00035
00036
00037 CreationSphere :: CreationSphere(Window * parent ,
00038 GMap3d :: CControlerGMap * controler) :
00039 CreationObjet(parent , HTML::decode("Création sphère") ,
00040 controler)
00041 {
00042
00043 FAffCar = new QLabel(*new QString(" Subdivisions : ") , this) ;
00044 FAffPar = new QLabel(*HTML::decode("Parallèles : ") , this) ;
00045
00046 FSaisiePar = new QSpinBox(this) ;
00047 FSaisiePar -> setMinimum(1);
00048 FSaisiePar -> setMaximum(1000);
00049 FSaisiePar -> setAccelerated(true);
00050
00051 FAffMer = new QLabel("Meridiens : " , this) ;
00052
00053 FSaisieMer = new QSpinBox(this) ;
00054 FSaisieMer -> setMinimum(3);
00055 FSaisieMer -> setMaximum(1000);
00056 FSaisieMer -> setAccelerated(true);
00057
00058 addWidget(FAffCar);
00059 addWidget(FAffPar);
00060 addWidget(FSaisiePar);
00061 addWidget(new SpaceWidget(SPACE_PIX_SIZE, 1));
00062 addWidget(FAffMer);
00063 addWidget(FSaisieMer);
00064 addWidget(new SpaceWidget(SPACE_PIX_SIZE, 1));
00065
00066
00067 FChoix = new BoutonsCreation(this) ;
00068
00069
00070 FPosit = new BoitePositionnement(this , parent , OBJECT_SPHERE) ;
00071
00072 update() ;
00073
00074
00075 QObject::connect(FSaisiePar , SIGNAL(valueChanged(int)) , this,
00076 SLOT(callbackParallels())) ;
00077 QObject::connect(FSaisieMer , SIGNAL(valueChanged(int)) , this,
00078 SLOT(callbackMeridians())) ;
00079 }
00080
00081
00082
00083 CreationSphere :: ~CreationSphere() { }
00084
00085
00086
00087 void CreationSphere :: update()
00088 {
00089 CreationObjet :: update() ;
00090
00091 FSaisieMer -> setValue(FControler -> getParameterCreation()
00092 -> getSphereNbMeridians()) ;
00093 FSaisiePar -> setValue(FControler -> getParameterCreation()
00094 -> getSphereNbParallels()) ;
00095 }
00096
00097
00098
00099 void CreationSphere :: callbackMeridians()
00100 {
00101 setMeridians(FSaisieMer -> value()) ;
00102 }
00103
00104 void CreationSphere :: callbackParallels()
00105 {
00106 setParallels(FSaisiePar -> value()) ;
00107 }
00108
00109
00110
00111 void CreationSphere :: setMeridians(int nb)
00112 {
00113 FControler -> getParameterCreation() -> setSphereNbMeridians(nb) ;
00114 update() ;
00115 repaint() ;
00116 }
00117
00118 void CreationSphere :: setParallels(int nb)
00119 {
00120 FControler -> getParameterCreation() -> setSphereNbParallels(nb) ;
00121 update() ;
00122 repaint() ;
00123 }