Changeset 8051 for code/branches/tutorial/src/libraries/core/GUIManager.cc
- Timestamp:
- Mar 9, 2011, 11:27:05 AM (13 years ago)
- Location:
- code/branches/tutorial
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/tutorial
- Property svn:mergeinfo changed
/code/branches/usability merged: 8018-8041
- Property svn:mergeinfo changed
-
code/branches/tutorial/src/libraries/core/GUIManager.cc
r7994 r8051 103 103 /*static*/ const std::string GUIManager::defaultScheme_ = "TaharezGreen"; 104 104 105 static const std::string __CC_navigateGUI_name = "navigateGUI"; 106 105 107 SetConsoleCommand("showGUI", &GUIManager::showGUI).defaultValue(1, false).defaultValue(2, false); 106 108 SetConsoleCommand("hideGUI", &GUIManager::hideGUI); 109 SetConsoleCommand("toggleGUI", &GUIManager::toggleGUI).defaultValue(1, false).defaultValue(2, false); 110 SetConsoleCommand(__CC_navigateGUI_name, &GUIManager::navigateGUI).deactivate(); 111 112 //! Strings that specify modes for the GUI navigation. 113 /*static*/ const std::string GUIManager::NAVIGATE_UP = "up"; 114 /*static*/ const std::string GUIManager::NAVIGATE_DOWN = "down"; 115 /*static*/ const std::string GUIManager::NAVIGATE_LEFT = "left"; 116 /*static*/ const std::string GUIManager::NAVIGATE_RIGHT = "right"; 117 /*static*/ const std::string GUIManager::NAVIGATE_ENTER = "enter"; 107 118 108 119 /** … … 282 293 { 283 294 GUIManager::getInstance().executeCode("hideMenuSheet(\"" + name + "\")"); 295 } 296 297 /** 298 @brief 299 Toggles specified GUI. 300 If the GUI with the input name is already shown and on the top, it is hidden, else it is shown. 301 */ 302 /*static*/ void GUIManager::toggleGUI(const std::string& name, bool bHidePrevious, bool bNoInput) 303 { 304 GUIManager::getInstance().executeCode("getGUIFirstActive(\"" + name + "\", " + multi_cast<std::string>(bHidePrevious) + ", " + multi_cast<std::string>(bNoInput) + ")"); 305 } 306 307 /** 308 @brief 309 Helper method to toggle a specified GUI. 310 Is called by lua. 311 */ 312 void GUIManager::toggleGUIHelper(const std::string& name, bool bHidePrevious, bool bNoInput, bool show) 313 { 314 if(show) 315 GUIManager::showGUI(name, bHidePrevious, bNoInput); 316 else 317 GUIManager::hideGUI(name); 284 318 } 285 319 … … 340 374 this->rootWindow_->setProperty("Alpha", "1.0"); 341 375 this->rootWindow_->setProperty("Image", image); 376 } 377 378 /** 379 @brief 380 Method to navigate the GUI, by specifying the mode of navigation. 381 @param mode 382 The mode of navigation, at this point can be either 'up', 'down', 'left', 'right' or 'enter'. 383 */ 384 /*static*/ void GUIManager::navigateGUI(const std::string& mode) 385 { 386 if(mode == NAVIGATE_UP) 387 GUIManager::getInstance().executeCode("navigateGUI(\"" + NAVIGATE_UP + "\")"); 388 else if(mode == NAVIGATE_DOWN) 389 GUIManager::getInstance().executeCode("navigateGUI(\"" + NAVIGATE_DOWN + "\")"); 390 else if(mode == NAVIGATE_LEFT) 391 GUIManager::getInstance().executeCode("navigateGUI(\"" + NAVIGATE_LEFT + "\")"); 392 else if(mode == NAVIGATE_RIGHT) 393 GUIManager::getInstance().executeCode("navigateGUI(\"" + NAVIGATE_RIGHT + "\")"); 394 else if(mode == NAVIGATE_ENTER) 395 GUIManager::getInstance().executeCode("navigateGUI(\"" + NAVIGATE_ENTER + "\")"); 396 } 397 398 /** 399 @brief 400 Is called by lua to change whether there are any GUIs active at the moment. 401 @param active 402 Whether GUIs are active. 403 */ 404 void GUIManager::guisActiveChanged(bool active) 405 { 406 if(this->GUIsActive_ == active) 407 return; 408 this->GUIsActive_ = active; 409 if(this->GUIsActive_) 410 ModifyConsoleCommand(__CC_navigateGUI_name).activate(); 411 else 412 ModifyConsoleCommand(__CC_navigateGUI_name).deactivate(); 342 413 } 343 414
Note: See TracChangeset
for help on using the changeset viewer.