- Timestamp:
- May 30, 2006, 6:25:19 PM (18 years ago)
- Location:
- branches/gui/src
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/gui/src/lib/gui/gl_gui/glgui_button.cc
r7919 r7985 67 67 } 68 68 69 70 71 void GLGuiButton::clicking(const Vector2D& pos) 72 { 73 emit(clicked()); 74 } 75 void GLGuiButton::releasing(const Vector2D& pos) 76 { 77 emit(released()); 78 } 79 69 80 /** 70 81 * @brief draws the GLGuiButton -
branches/gui/src/lib/gui/gl_gui/glgui_button.h
r7925 r7985 32 32 { 33 33 34 public:35 GLGuiButton(const std::string& label);36 virtual ~GLGuiButton();34 public: 35 GLGuiButton(const std::string& label); 36 virtual ~GLGuiButton(); 37 37 38 const std::string& getLabel() const { return this->label.getText(); };39 void setLabel(const std::string& label);38 const std::string& getLabel() const { return this->label.getText(); }; 39 void setLabel(const std::string& label); 40 40 41 virtual void draw() const; 41 virtual void draw() const; 42 43 DeclareSignal0(released); 44 DeclareSignal0(clicked); 45 46 protected: 47 virtual void clicking(const Vector2D& pos); 48 virtual void releasing(const Vector2D& pos); 42 49 43 50 private: … … 46 53 47 54 48 protected:55 protected: 49 56 50 Text label;57 Text label; 51 58 52 private:53 ButtonState state;59 private: 60 ButtonState state; 54 61 }; 55 62 } -
branches/gui/src/lib/gui/gl_gui/glgui_checkbutton.cc
r7936 r7985 68 68 69 69 70 void GLGuiCheckButton::releas ed(const Vector2D& pos)70 void GLGuiCheckButton::releasing(const Vector2D& pos) 71 71 { 72 72 printf("%s released\n", this->getLabel().c_str()); 73 GLGui Widget::released(pos);73 GLGuiButton::releasing(pos); 74 74 this->toggleActiveState(); 75 75 } -
branches/gui/src/lib/gui/gl_gui/glgui_checkbutton.h
r7929 r7985 26 26 virtual ~GLGuiCheckButton(); 27 27 28 virtual void released(const Vector2D& pos);29 28 30 29 bool isActive() { return this->bActive; }; … … 37 36 protected: 38 37 virtual void resize(); 38 virtual void releasing(const Vector2D& pos); 39 39 40 40 private: -
branches/gui/src/lib/gui/gl_gui/glgui_cursor.cc
r7980 r7985 91 91 movement = Vector2D(); 92 92 } 93 this->setAbsCoor 2D(newPos);93 this->setAbsCoorSoft2D(newPos, 10); 94 94 } 95 95 -
branches/gui/src/lib/gui/gl_gui/glgui_pushbutton.cc
r7929 r7985 74 74 } 75 75 76 void GLGuiPushButton::click ed(const Vector2D& pos)76 void GLGuiPushButton::clicking(const Vector2D& pos) 77 77 { 78 78 printf("%s clicked\n", this->getLabel().c_str()); 79 GLGui Widget::clicked(pos);79 GLGuiButton::clicking(pos); 80 80 } 81 81 82 82 83 void GLGuiPushButton::releas ed(const Vector2D& pos)83 void GLGuiPushButton::releasing(const Vector2D& pos) 84 84 { 85 85 printf("%s released\n", this->getLabel().c_str()); 86 GLGui Widget::released(pos);86 GLGuiButton::releasing(pos); 87 87 } 88 88 -
branches/gui/src/lib/gui/gl_gui/glgui_pushbutton.h
r7929 r7985 27 27 28 28 29 virtual void receivedFocus();30 virtual void removedFocus();31 virtual void clicked(const Vector2D& pos);32 virtual void released(const Vector2D& pos);33 29 34 30 … … 37 33 protected: 38 34 virtual void resize(); 35 virtual void clicking(const Vector2D& pos); 36 virtual void releasing(const Vector2D& pos); 37 virtual void receivedFocus(); 38 virtual void removedFocus(); 39 39 40 40 41 -
branches/gui/src/lib/gui/gl_gui/glgui_slider.cc
r7972 r7985 164 164 * @param pos the position the Click occured (from the topleft corner out) 165 165 */ 166 void GLGuiSlider::click ed(const Vector2D& pos)167 { 168 GLGuiWidget::click ed(pos);166 void GLGuiSlider::clicking(const Vector2D& pos) 167 { 168 GLGuiWidget::clicking(pos); 169 169 170 170 float sliderPosition = this->sliderPosition(); … … 178 178 } 179 179 180 void GLGuiSlider::releas ed(const Vector2D& pos)181 { 182 GLGuiWidget::releas ed(pos);180 void GLGuiSlider::releasing(const Vector2D& pos) 181 { 182 GLGuiWidget::releasing(pos); 183 183 this->grabbed = false; 184 184 } -
branches/gui/src/lib/gui/gl_gui/glgui_slider.h
r7972 r7985 51 51 virtual void draw() const; 52 52 53 DeclareSignal (valueChanged, (float));53 DeclareSignal1(valueChanged, float); 54 54 55 55 protected: 56 56 virtual void resize(); 57 57 58 virtual void click ed(const Vector2D& pos);59 virtual void releas ed(const Vector2D& pos);58 virtual void clicking(const Vector2D& pos); 59 virtual void releasing(const Vector2D& pos); 60 60 virtual void removedFocus(); 61 61 -
branches/gui/src/lib/gui/gl_gui/glgui_widget.cc
r7972 r7985 126 126 this->_pushed = true; 127 127 128 this->click ed(pos);128 this->clicking(pos); 129 129 } 130 130 … … 135 135 this->widgetSignals[Signal_release]("none"); 136 136 137 this->releas ed(pos);137 this->releasing(pos); 138 138 this->_pushed = false; 139 139 } … … 141 141 142 142 143 void GLGuiWidget::click ed(const Vector2D& pos)143 void GLGuiWidget::clicking(const Vector2D& pos) 144 144 { 145 145 this->frontMaterial().setDiffuse(0, 0, 1); … … 147 147 } 148 148 149 void GLGuiWidget::releas ed(const Vector2D& pos)149 void GLGuiWidget::releasing(const Vector2D& pos) 150 150 { 151 151 this->frontMaterial().setDiffuse(0,1,0); -
branches/gui/src/lib/gui/gl_gui/glgui_widget.h
r7972 r7985 127 127 128 128 // if something was clickt on the GUI-widget. 129 virtual void click ed(const Vector2D& pos);130 virtual void releas ed(const Vector2D& pos);129 virtual void clicking(const Vector2D& pos); 130 virtual void releasing(const Vector2D& pos); 131 131 virtual void receivedFocus(); 132 132 virtual void removedFocus(); -
branches/gui/src/lib/gui/gl_gui/signal_connector.cc
r7855 r7985 51 51 } 52 52 53 void SignalConnector::operator()(const std::string& parameters) const 53 54 void SignalConnector::operator()() const 55 { 56 if (this->isValid()) 57 (*this->exec)(this->object, 0, NULL); 58 } 59 60 void SignalConnector::operator()(const MultiType& value0) const 54 61 { 55 62 if (exec != NULL && object != NULL) 56 (*this->exec)(this->object, parameters);63 (*this->exec)(this->object, 1, &value0); 57 64 } 58 65 -
branches/gui/src/lib/gui/gl_gui/signal_connector.h
r7980 r7985 11 11 namespace OrxGui 12 12 { 13 14 //////////////// TO BE IGNORED BY YOU ///// 15 #define DeclareSignalBegin(SignalName) \ 16 public: \ 17 void signal_ ## connect ## SignalName(const SignalConnector& connector) { \ 18 SignalName ## connected.push_back(connector); \ 19 }\ 20 Signal& getSignalVector_##SignalName () { return this->SignalName ## connected; }; \ 21 private: 22 23 #define DeclareSignalEnd(SignalName) \ 24 Signal SignalName ## connected 25 ///////////////////////////////////////////// 26 27 13 28 /** 14 29 * @brief declares a new Signal. 15 30 * @param SignalName the Name of the Signal. 16 * @param params the Parameters to be taken17 31 */ 18 #define DeclareSignal(SignalName, params) \ 19 public: \ 20 void signal_ ## connect ## SignalName(const SignalConnector& connector) { \ 21 SignalName ## connected.push_back(connector); \ 32 #define DeclareSignal0(SignalName) \ 33 DeclareSignalBegin(SignalName) \ 34 void SignalName () { \ 35 for (unsigned int i = 0; i < SignalName ## connected .size(); i++) \ 36 SignalName ## connected[i] (); \ 22 37 }\ 23 Signal& getSignalVector_##SignalName () { return this->SignalName ## connected; }; \ 24 private: \ 25 void SignalName params { \ 38 DeclareSignalEnd(SignalName) 39 40 41 /** 42 * @brief declares a new Signal. 43 * @param SignalName the Name of the Signal. 44 */ 45 #define DeclareSignal1(SignalName, param0) \ 46 DeclareSignalBegin(SignalName) \ 47 void SignalName (param0 val0) { \ 26 48 for (unsigned int i = 0; i < SignalName ## connected .size(); i++) \ 27 SignalName ## connected[i] ("TEST"); \ 28 }\ 29 Signal SignalName ## connected 49 SignalName ## connected[i] (val0); \ 50 }\ 51 DeclareSignalEnd(SignalName) 52 30 53 31 54 /** … … 60 83 SignalConnector& operator=(const SignalConnector& signalConnector); 61 84 62 void operator()( const std::string& parameters) const;63 void execute(const std::string& parameters) const { (*this)(parameters); };85 void operator()() const; 86 void operator()(const MultiType& value0) const; 64 87 88 bool isValid() const { return (this->object && this->exec); }; 65 89 bool isClean() const { return (this->object == NULL || this->exec == NULL); } 66 90 -
branches/gui/src/lib/util/executor/executor.h
r7725 r7985 38 38 class Executor : public BaseObject 39 39 { 40 public:41 virtual ~Executor();40 public: 41 virtual ~Executor(); 42 42 43 virtual Executor* clone () const = 0;43 virtual Executor* clone () const = 0; 44 44 45 // SETTING up the EXECUTOR46 Executor* defaultValues(const MultiType& value0 = MT_NULL, const MultiType& value1 = MT_NULL,47 const MultiType& value2 = MT_NULL, const MultiType& value3 = MT_NULL,48 const MultiType& value4 = MT_NULL);49 /** @param i the i'th defaultValue, @returns reference to the MultiType */50 inline MultiType& getDefaultValue(unsigned int i) { return defaultValue[i]; };45 // SETTING up the EXECUTOR 46 Executor* defaultValues(const MultiType& value0 = MT_NULL, const MultiType& value1 = MT_NULL, 47 const MultiType& value2 = MT_NULL, const MultiType& value3 = MT_NULL, 48 const MultiType& value4 = MT_NULL); 49 /** @param i the i'th defaultValue, @returns reference to the MultiType */ 50 inline MultiType& getDefaultValue(unsigned int i) { return defaultValue[i]; }; 51 51 52 // EXECUTE 53 /** executes a Command @param object the object to apply this to @param parameters the parameters the command takes */ 54 virtual void operator()(BaseObject* object, const SubString& sub = SubString()) const = 0; 55 /** executes a Command @param object the object to apply this to @param parameters the parameters the command takes @brief here for your convenience*/ 56 void execute (BaseObject* object, const std::string& parameters = "") const { (*this)(object, parameters); }; 52 // EXECUTE 53 virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const = 0; 57 54 58 // RETRIEVE INFORMATION 59 /** @returns the Type of this Function (either static or objective) */ 60 inline long getType() const { return this->functorType; }; 61 /** @returns the Count of Parameters this Executor takes */ 62 inline unsigned int getParamCount() const { return this->paramCount; }; 55 /** executes a Command @param object the object to apply this to @param parameters the parameters the command takes */ 56 virtual void operator()(BaseObject* object, const SubString& sub = SubString()) const = 0; 57 /** executes a Command @param object the object to apply this to @param parameters the parameters the command takes @brief here for your convenience*/ 58 void execute (BaseObject* object, const std::string& parameters = "") const { (*this)(object, parameters); }; 63 59 64 static void debug();65 60 66 protected: 67 Executor(const MultiType& param0 = MT_NULL, const MultiType& param1 = MT_NULL, 68 const MultiType& param2 = MT_NULL, const MultiType& param3 = MT_NULL, 69 const MultiType& param4 = MT_NULL); 61 // RETRIEVE INFORMATION 62 /** @returns the Type of this Function (either static or objective) */ 63 inline long getType() const { return this->functorType; }; 64 /** @returns the Count of Parameters this Executor takes */ 65 inline unsigned int getParamCount() const { return this->paramCount; }; 70 66 71 void cloning(Executor* executor) const;67 static void debug(); 72 68 73 protected: 74 short functorType; //!< The type of Function we've got (either static or objective). 75 unsigned int paramCount; //!< the count of parameters. 76 MultiType defaultValue[5]; //!< Default Values. 69 protected: 70 Executor(const MultiType& param0 = MT_NULL, const MultiType& param1 = MT_NULL, 71 const MultiType& param2 = MT_NULL, const MultiType& param3 = MT_NULL, 72 const MultiType& param4 = MT_NULL); 73 74 void cloning(Executor* executor) const; 75 76 protected: 77 short functorType; //!< The type of Function we've got (either static or objective). 78 unsigned int paramCount; //!< the count of parameters. 79 MultiType defaultValue[5]; //!< Default Values. 77 80 }; 78 81 -
branches/gui/src/lib/util/executor/executor_functional.cc
r7728 r7985 34 34 template<> const std::string& fromString<const std::string&>(const std::string& input, const std::string& defaultValue) { return ExecutorFunctional_returningString_from = isString(input, defaultValue); }; 35 35 36 37 template<> bool fromMulti<bool>(const MultiType& multi) { return multi.getBool(); }; 38 template<> int fromMulti<int>(const MultiType& multi) { return multi.getInt(); } 39 template<> unsigned int fromMulti<unsigned int>(const MultiType& multi) { return multi.getInt(); }; 40 template<> float fromMulti<float>(const MultiType& multi) { return multi.getFloat(); }; 41 template<> char fromMulti<char>(const MultiType& multi) { return multi.getChar(); }; 42 template<> const std::string& fromMulti<const std::string&>(const MultiType& multi) { return multi.getString(); }; 43 44 36 45 template<> bool getDefault<bool>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getBool(); }; 37 46 template<> int getDefault<int>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getInt(); }; … … 40 49 template<> char getDefault<char>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getChar(); }; 41 50 template<> const std::string& getDefault<const std::string&>(const MultiType* const defaultValues, unsigned int i) { return ExecutorFunctional_returningString_default = defaultValues[i].getString(); }; 51 52 42 53 43 54 -
branches/gui/src/lib/util/executor/executor_functional.h
r7725 r7985 33 33 template<> MT_Type ExecutorParamType<const std::string&>(); 34 34 35 template<typename type> type fromString(const std::string& input, type defaultValue) { return defaultValue; };35 template<typename type> type fromString(const std::string& input, type defaultValue) { return defaultValue; }; 36 36 template<> bool fromString<bool>(const std::string& input, bool defaultValue); 37 37 template<> int fromString<int>(const std::string& input, int defaultValue); … … 40 40 template<> char fromString<char>(const std::string& input, char defaultValue); 41 41 template<> const std::string& fromString<const std::string&>(const std::string& input, const std::string& defaultValue); 42 43 template<typename type> type fromMulti(const MultiType& multi) { /* return defaultValue; */ }; 44 template<> bool fromMulti<bool>(const MultiType& multi); 45 template<> int fromMulti<int>(const MultiType& multi); 46 template<> unsigned int fromMulti<unsigned int>(const MultiType& multi); 47 template<> float fromMulti<float>(const MultiType& multi); 48 template<> char fromMulti<char>(const MultiType& multi); 49 template<> const std::string& fromMulti<const std::string&>(const MultiType& multi); 50 42 51 43 52 template<typename type> type getDefault(const MultiType* const defaultValues, unsigned int i) { return (type)0; }; … … 81 90 #endif /* EXECUTOR_FUNCTIONAL_USE_STATIC */ 82 91 92 /////////// 93 //// 0 //// 94 /////////// 83 95 //! @brief ExecutorClass, that can execute Functions without any parameters. 84 96 template<class T> class __EXECUTOR_FUNCTIONAL_NAME(0) : public Executor … … 110 122 }; 111 123 124 virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const 125 { 126 (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(); 127 } 128 112 129 /** 113 130 * @brief copies the Executor … … 120 137 }; 121 138 139 140 141 /////////// 142 //// 1 //// 143 /////////// 122 144 //! @brief ExecutorClass, that can execute Functions with one parameter. 123 145 template<class T, typename type0> class __EXECUTOR_FUNCTIONAL_NAME(1) : public Executor … … 138 160 this->functionPointer = functionPointer; 139 161 }; 162 163 virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const 164 { 165 switch(count) 166 { 167 case 0: 168 return (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(fromMulti<type0>(this->defaultValue[0])); 169 default: 170 return (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(fromMulti<type0>(values[0])); 171 } 172 } 173 140 174 141 175 /** … … 166 200 }; 167 201 202 /////////// 203 //// 2 //// 204 /////////// 168 205 //! @brief ExecutorClass, that can execute Functions with two parameters. 169 206 template<class T, typename type0, typename type1> class __EXECUTOR_FUNCTIONAL_NAME(2) : public Executor … … 197 234 }; 198 235 236 virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const 237 { 238 } 239 199 240 /** 200 241 * @brief copies the Executor … … 208 249 209 250 251 /////////// 252 //// 3 //// 253 /////////// 210 254 //! @brief ExecutorClass, that can execute Functions with three parameters. 211 255 template<class T, typename type0, typename type1, typename type2> class __EXECUTOR_FUNCTIONAL_NAME(3) : public Executor … … 240 284 }; 241 285 286 virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const 287 { 288 } 289 242 290 /** 243 291 * @brief copies the Executor … … 252 300 253 301 302 /////////// 303 //// 4 //// 304 /////////// 254 305 //! @brief ExecutorClass, that can execute Functions with four parameters. 255 306 template<class T, typename type0, typename type1, typename type2, typename type3> class __EXECUTOR_FUNCTIONAL_NAME(4) : public Executor … … 285 336 }; 286 337 338 virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const 339 { 340 } 341 287 342 /** 288 343 * @brief copies the Executor … … 295 350 }; 296 351 352 353 354 /////////// 355 //// 5 //// 356 /////////// 297 357 //! @brief ExecutorClass, that can execute Functions with five parameters. 298 358 template<class T, typename type0, typename type1, typename type2, typename type3, typename type4> class __EXECUTOR_FUNCTIONAL_NAME(5) : public Executor … … 329 389 }; 330 390 391 virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const 392 { 393 } 394 331 395 /** 332 396 * @brief copies the Executor -
branches/gui/src/lib/util/executor/executor_specials.h
r7711 r7985 67 67 } 68 68 69 virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const 70 { 71 72 } 73 69 74 private: 70 75 /** -
branches/gui/src/story_entities/simple_game_menu.cc
r7980 r7985 67 67 ///(this is as modular as it is possible). 68 68 OrxGui::GLGuiPushButton* pb = new OrxGui::GLGuiPushButton("PUSH ME"); 69 pb->connectSignal(OrxGui::Signal_release, this, createExecutor<SimpleGameMenu>(&SimpleGameMenu::enterGui)); 69 //pb->connectSignal(OrxGui::Signal_release, this, createExecutor<SimpleGameMenu>(&SimpleGameMenu::enterGui)); 70 pb->connect(SIGNAL(pb, released), this, SLOT(SimpleGameMenu, enterGui)); 70 71 pb->show(); 71 72 pb->setAbsCoor2D(50, 50); -
branches/gui/src/story_entities/simple_game_menu.h
r7972 r7985 69 69 void quitMenu(); 70 70 71 void TEST( float val) { printf("TEST %f\n", val); }71 void TEST(int val) { printf("TEST %d\n", val); } 72 72 73 73 protected:
Note: See TracChangeset
for help on using the changeset viewer.