00001 #ifndef GUIAPPLICATION_H 00002 #define GUIAPPLICATION_H 00003 00004 #include "GUIFrameListener.h" 00005 #include "MyApplication.h" 00006 00007 #include "CEGUICommonFileDialog.h" 00008 #include "Joints.h" 00009 00011 class GUIApplication : public MyApplication 00012 { 00013 00014 private: 00015 00016 CEGUI::OgreCEGUIRenderer* mGUIRenderer; 00017 CEGUI::System* mGUISystem; 00018 CEGUI::Window* mEditorGuiSheet; 00019 00020 Skeleton* mSkeleton; 00021 Joints joints; 00022 00023 public: 00024 00025 GUIApplication(void); 00026 00027 ~GUIApplication(void); 00028 00029 protected: 00031 bool jointSliderDisable; 00032 00034 void createScene(void); 00035 00037 void createSceneWithArgument(void); 00038 00039 void createFrameListener(void); 00040 00041 void createFrameListenerWithArgument(char *); 00042 00043 void setupEventHandlers(void); 00044 00046 bool handleQuit(const CEGUI::EventArgs& e); 00047 00049 bool handleLoad(const CEGUI::EventArgs& e); 00050 00052 bool handleSave(const CEGUI::EventArgs& e); 00053 00055 bool handleFileDialogOutput(const CEGUI::EventArgs& e); 00056 00058 bool handleAxisSelection(const CEGUI::EventArgs& e); 00059 00061 bool handlePlay(const CEGUI::EventArgs& e); 00062 00064 bool handleAddAnimationElement(const CEGUI::EventArgs& e); 00065 00066 bool handleUndo(const CEGUI::EventArgs& e); 00067 00069 bool handleSlider(const CEGUI::EventArgs& e); 00070 00071 bool handleSlider2(const CEGUI::EventArgs& e); 00072 00074 bool handleJointSlider(const CEGUI::EventArgs& e); 00075 00076 bool handleJointSelection(const CEGUI::EventArgs& e); 00077 00078 00079 bool handleDummy(const CEGUI::EventArgs& e); 00080 00081 00083 bool handleAnimElementSelection(const CEGUI::EventArgs& e); 00084 00085 00087 bool handleRemove(const CEGUI::EventArgs& e); 00088 00089 00091 void loadAnimation(char* aFileName); 00092 00094 void loadModel(void); 00095 00097 void resetAngleBoxes(); 00098 00100 void loadLimitsToJointSlider(char* jointName, char* axisName); 00101 00103 bool handleEdit(const CEGUI::EventArgs& e); 00104 00106 bool handleExport(const CEGUI::EventArgs& e); 00107 00108 }; 00109 00110 #endif