[brlcad-commits] SF.net SVN: brlcad: [31682] rt^3/trunk/src/g3d
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <ma...@us...> - 2008-07-01 15:00:15
|
Revision: 31682 http://brlcad.svn.sourceforge.net/brlcad/?rev=31682&view=rev Author: mafm Date: 2008-07-01 08:00:24 -0700 (Tue, 01 Jul 2008) Log Message: ----------- Make some general enhancements: making public-accesable attributes read-only (const), decoupling a bit more functionality of the console from the widgets implementing it, etc. Modified Paths: -------------- rt^3/trunk/src/g3d/GuiCommandOverlay.cxx rt^3/trunk/src/g3d/GuiCommandOverlay.h rt^3/trunk/src/g3d/GuiConsole.cxx rt^3/trunk/src/g3d/GuiConsole.h rt^3/trunk/src/g3d/History.h rt^3/trunk/src/g3d/Logger.h rt^3/trunk/src/g3d/Observer.h Modified: rt^3/trunk/src/g3d/GuiCommandOverlay.cxx =================================================================== --- rt^3/trunk/src/g3d/GuiCommandOverlay.cxx 2008-07-01 14:33:43 UTC (rev 31681) +++ rt^3/trunk/src/g3d/GuiCommandOverlay.cxx 2008-07-01 15:00:24 UTC (rev 31682) @@ -108,7 +108,7 @@ // empty break; case HistoryObserverEvent::INDEX_CHANGED: - _prompt->setText(e->_content); + setPromptContent(e->_content); break; default: throw "Action not understood by Observer"; @@ -124,6 +124,16 @@ } } +const std::string& GuiCommandOverlay::getPromptContent() const +{ + return _prompt->getText(); +} + +void GuiCommandOverlay::setPromptContent(const std::string& content) +{ + _prompt->setText(content); +} + void GuiCommandOverlay::callbackPromptKeyPressed(RBGui::GuiElement& /* vElement */, const Mocha::ValueList& vData) { /// \note mafm: should be synchronized with CommandOverlay, to avoid @@ -134,10 +144,10 @@ switch (key) { case OIS::KC_RETURN: // return key -- insert in history - cmd = _prompt->getText(); + cmd = getPromptContent(); if (cmd.length() > 0) { History::instance().insert(cmd.c_str()); - _prompt->setText(""); + setPromptContent(""); CommandOutput output; CommandInterpreter::instance().execute(cmd, output); } else { @@ -153,7 +163,7 @@ } else if (key == OIS::KC_DOWN) { cmd = History::instance().getNext(); } - _prompt->setText(cmd); + setPromptContent(cmd); break; default: // nothing Modified: rt^3/trunk/src/g3d/GuiCommandOverlay.h =================================================================== --- rt^3/trunk/src/g3d/GuiCommandOverlay.h 2008-07-01 14:33:43 UTC (rev 31681) +++ rt^3/trunk/src/g3d/GuiCommandOverlay.h 2008-07-01 15:00:24 UTC (rev 31682) @@ -71,6 +71,12 @@ /** Prompt to enter commands */ RBGui::TextEntryWidget* _prompt; + + /** Get content of the prompt */ + const std::string& getPromptContent() const; + /** Set content of the prompt */ + void setPromptContent(const std::string& content); + /** Callback for "KeyPressed" in prompt */ void callbackPromptKeyPressed(RBGui::GuiElement& vElement, const Mocha::ValueList& vData); /** Callback for "FocusRecieved" [sic] in prompt */ Modified: rt^3/trunk/src/g3d/GuiConsole.cxx =================================================================== --- rt^3/trunk/src/g3d/GuiConsole.cxx 2008-07-01 14:33:43 UTC (rev 31681) +++ rt^3/trunk/src/g3d/GuiConsole.cxx 2008-07-01 15:00:24 UTC (rev 31682) @@ -118,11 +118,11 @@ if (e) { switch (e->_actionId) { case HistoryObserverEvent::ADDED_ENTRY: - _panel->setText(_panel->getText() + "\n" + e->_content); - _prompt->setText(""); + addTextToPanel(e->_content); + setPromptContent(""); break; case HistoryObserverEvent::INDEX_CHANGED: - _prompt->setText(e->_content); + setPromptContent(e->_content); break; default: throw "Action not understood by Observer"; @@ -137,7 +137,7 @@ if (e) { switch (e->_actionId) { case LoggerObserverEvent::ADDED_ENTRY: - _panel->setText(_panel->getText() + "\n" + e->_content); + addTextToPanel(e->_content); break; default: throw "Action not understood by Observer"; @@ -153,6 +153,21 @@ } } +void GuiConsole::addTextToPanel(const std::string& content) +{ + _panel->setText(_panel->getText() + "\n" + content); +} + +const std::string& GuiConsole::getPromptContent() const +{ + return _prompt->getText(); +} + +void GuiConsole::setPromptContent(const std::string& content) +{ + _prompt->setText(content); +} + void GuiConsole::callbackPromptKeyPressed(RBGui::GuiElement& /* vElement */, const Mocha::ValueList& vData) { /// \note mafm: should be synchronized with CommandOverlay, to avoid @@ -163,13 +178,13 @@ switch (key) { case OIS::KC_RETURN: // return key -- insert in history - cmd = _prompt->getText(); + cmd = getPromptContent(); if (cmd.length() > 0) { + setPromptContent(""); History::instance().insert(cmd.c_str()); - _prompt->setText(""); CommandOutput output; CommandInterpreter::instance().execute(cmd, output); - _panel->setText(_panel->getText() + "\n" + output.getOutput()); + addTextToPanel(output.getOutput()); } else { // return pressed, but empty command } @@ -182,7 +197,7 @@ } else if (key == OIS::KC_DOWN) { cmd = History::instance().getNext(); } - _prompt->setText(cmd); + setPromptContent(cmd); break; default: // nothing Modified: rt^3/trunk/src/g3d/GuiConsole.h =================================================================== --- rt^3/trunk/src/g3d/GuiConsole.h 2008-07-01 14:33:43 UTC (rev 31681) +++ rt^3/trunk/src/g3d/GuiConsole.h 2008-07-01 15:00:24 UTC (rev 31682) @@ -78,6 +78,14 @@ * entered, etc) */ RBGui::TextWidget* _panel; + + /** Add text to console panel */ + void addTextToPanel(const std::string& content); + /** Get content of the prompt */ + const std::string& getPromptContent() const; + /** Set content of the prompt */ + void setPromptContent(const std::string& content); + /** Callback for "KeyPressed" in prompt */ void callbackPromptKeyPressed(RBGui::GuiElement& vElement, const Mocha::ValueList& vData); /** Callback for "FocusRecieved" [sic] in prompt */ Modified: rt^3/trunk/src/g3d/History.h =================================================================== --- rt^3/trunk/src/g3d/History.h 2008-07-01 14:33:43 UTC (rev 31681) +++ rt^3/trunk/src/g3d/History.h 2008-07-01 15:00:24 UTC (rev 31682) @@ -48,9 +48,9 @@ enum ActionId { ADDED_ENTRY = 1, INDEX_CHANGED }; /** Action Identifier */ - ActionId _actionId; + const ActionId _actionId; /** Content of the event */ - std::string _content; + const std::string _content; /** Default constructor */ Modified: rt^3/trunk/src/g3d/Logger.h =================================================================== --- rt^3/trunk/src/g3d/Logger.h 2008-07-01 14:33:43 UTC (rev 31681) +++ rt^3/trunk/src/g3d/Logger.h 2008-07-01 15:00:24 UTC (rev 31682) @@ -73,9 +73,9 @@ enum ActionId { ADDED_ENTRY = 1 }; /** Action Identifier */ - ActionId _actionId; + const ActionId _actionId; /** Content of the event */ - std::string _content; + const std::string _content; /** Default constructor */ Modified: rt^3/trunk/src/g3d/Observer.h =================================================================== --- rt^3/trunk/src/g3d/Observer.h 2008-07-01 14:33:43 UTC (rev 31681) +++ rt^3/trunk/src/g3d/Observer.h 2008-07-01 15:00:24 UTC (rev 31682) @@ -55,7 +55,8 @@ /** Virtual destructor * - * \note Virtual methods causes RTTI/dynamic_cast to be enabled */ + * \note Virtual methods cause RTTI/dynamic_cast to be enabled/work + * for this class */ virtual ~ObserverEvent() { } }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |