PETOZAK | j´oubliais,voila le code pour afficher la fenetre:
Code :
- void CFenetreGL::ModifierProprietes(int id)
- {
- glui_subwin2 = GLUI_Master.create_glui("Modifier les proprietes de l´objet",0,100,250);
- //La couleur est concerne tous les types d'objets
- glui_subwin2->add_statictext( "Couleur de l´objet courant" );
- GLUI_Spinner * SpinRed=glui_subwin2->add_spinner( "Red",GLUI_SPINNER_INT,&SpinnerRed,51,CGlutMaster::CallBackCouleur);
- SpinRed->set_int_val((ObjSelectionne->GetColor()).GetRed());
- GLUI_Spinner * SpinGreen=glui_subwin2->add_spinner( "Green",GLUI_SPINNER_INT,&SpinnerGreen,52,CGlutMaster::CallBackCouleur );
- SpinGreen->set_int_val((ObjSelectionne->GetColor()).GetGreen());
- GLUI_Spinner * SpinBlue=glui_subwin2->add_spinner( "Blue",GLUI_SPINNER_INT,&SpinnerBlue,53,CGlutMaster::CallBackCouleur);
- SpinBlue->set_int_val((ObjSelectionne->GetColor()).GetBlue());
- SpinRed->set_int_limits(0,256,GLUI_LIMIT_WRAP);
- SpinBlue->set_int_limits(0,256,GLUI_LIMIT_WRAP);
- SpinGreen->set_speed(0.5);
- SpinGreen->set_int_limits(0,256,GLUI_LIMIT_WRAP);
- SpinRed->set_speed(0.5);
- SpinBlue->set_speed(0.5);
- if ((ObjSelectionne->GetType() != Type_Balle) && (ObjSelectionne->GetType() != Type_Fanion))
- {
- MessageBox( NULL, "Mefiez vous, si vous changez le facteur d`echelle,la detection pourrait ne plus marcher!", "Avertissement", MB_ICONEXCLAMATION|MB_OK|MB_TASKMODAL );
- glui_subwin2->add_column(true);
- glui_subwin2->add_statictext( "Taille de l´objet courant" );
- GLUI_Spinner * SpinSizeX=glui_subwin2->add_spinner( "Echelle en X",GLUI_SPINNER_FLOAT, &EchelleX,57,CGlutMaster::CallBackEchelle );
- SpinSizeX->set_float_val(ObjSelectionne->GetEchelleX());
- GLUI_Spinner * SpinSizeY=glui_subwin2->add_spinner( "Echelle en Y",GLUI_SPINNER_FLOAT, &EchelleY,58,CGlutMaster::CallBackEchelle );
- SpinSizeY->set_float_val(ObjSelectionne->GetEchelleY());
- GLUI_Spinner * SpinSizeZ=glui_subwin2->add_spinner( "Echelle en Z",GLUI_SPINNER_FLOAT, &EchelleZ,59,CGlutMaster::CallBackEchelle );
- SpinSizeZ->set_float_val(ObjSelectionne->GetEchelleZ());
- SpinSizeX->set_int_limits(0,11,GLUI_LIMIT_WRAP);
- SpinSizeY->set_int_limits(0,11,GLUI_LIMIT_WRAP);
- SpinSizeZ->set_int_limits(0,11,GLUI_LIMIT_WRAP);
- }
- //On ne peut pas deplacer un objet polygonal simplement avec son centre
- if ((ObjSelectionne->GetType() != Type_Balle) && (ObjSelectionne->GetType() != Type_Fanion))
- {
- glui_subwin2->add_column(true);
- glui_subwin2->add_statictext( "Position de l´objet" );
- GLUI_Spinner * Xpos=glui_subwin2->add_spinner( "Variation en X",GLUI_SPINNER_FLOAT,&SpinnerPosX,54,CGlutMaster::CallBackPosition);
- Xpos->set_float_val((ObjSelectionne->GetPosition()).GetX());
- GLUI_Spinner * Ypos=glui_subwin2->add_spinner( "Variation en Y",GLUI_SPINNER_FLOAT,&SpinnerPosY,55,CGlutMaster::CallBackPosition);
- Ypos->set_float_val((ObjSelectionne->GetPosition()).GetY());
- GLUI_Spinner * Zpos=glui_subwin2->add_spinner( "Variation en Z",GLUI_SPINNER_FLOAT,&SpinnerPosZ,56,CGlutMaster::CallBackPosition);
- Zpos->set_float_val((ObjSelectionne->GetPosition()).GetZ());
- Xpos->set_int_limits(-100,100,GLUI_LIMIT_WRAP);
- Ypos->set_int_limits(-100,100,GLUI_LIMIT_WRAP);
- Zpos->set_int_limits(-100,100,GLUI_LIMIT_WRAP);
- }
- else
- {
- glui_subwin2->add_column(true);
- glui_subwin2->add_statictext( "Position de l´objet" );
- GLUI_Spinner * Xpos=glui_subwin2->add_spinner( "X Position",GLUI_SPINNER_FLOAT,&SpinnerPosX,54,CGlutMaster::CallBackPosition);
- Xpos->set_float_val((ObjSelectionne->GetPosition()).GetX());
- GLUI_Spinner * Ypos=glui_subwin2->add_spinner( "Y Position",GLUI_SPINNER_FLOAT,&SpinnerPosY,55,CGlutMaster::CallBackPosition);
- Ypos->set_float_val((ObjSelectionne->GetPosition()).GetY());
- GLUI_Spinner * Zpos=glui_subwin2->add_spinner( "Z Position",GLUI_SPINNER_FLOAT,&SpinnerPosZ,56,CGlutMaster::CallBackPosition);
- Zpos->set_float_val((ObjSelectionne->GetPosition()).GetZ());
- }
- GLUI_Button *Element5= glui_subwin2->add_button(" Fermer" , 30,CGlutMaster::CallBackBoutton2/*NULL/*TraiteBoutton1()*/);
- glui_subwin2->set_main_gfx_window(GetNumeroFen());
- GLUI_Master.set_glutIdleFunc(NULL);
- glui_subwin2->show();
- }
|
|