Browse Source

Simplify SetApplicationStateCmd, remove SurfaceManagerGui parts

master
Krisjanis Rijnieks 9 years ago
parent
commit
43e62ae9a9
  1. 12
      src/Application/Application.cpp
  2. 3
      src/Application/States/PresentationState.cpp
  3. 31
      src/Commands/SetApplicationStateCmd.cpp
  4. 13
      src/Commands/SetApplicationStateCmd.h

12
src/Application/Application.cpp

@ -98,29 +98,25 @@ void Application::onKeyPressed(ofKeyEventArgs & args){
case '1': case '1':
_cmdManager.exec( _cmdManager.exec(
new ofx::piMapper::SetApplicationStateCmd( new ofx::piMapper::SetApplicationStateCmd(
this, PresentationState::instance(), this, PresentationState::instance()));
&_gui, GuiMode::NONE));
break; break;
case '2': case '2':
_cmdManager.exec( _cmdManager.exec(
new ofx::piMapper::SetApplicationStateCmd( new ofx::piMapper::SetApplicationStateCmd(
this, TextureMappingState::instance(), this, TextureMappingState::instance()));
&_gui, GuiMode::TEXTURE_MAPPING));
break; break;
case '3': case '3':
_cmdManager.exec( _cmdManager.exec(
new ofx::piMapper::SetApplicationStateCmd( new ofx::piMapper::SetApplicationStateCmd(
this, ProjectionMappingState::instance(), this, ProjectionMappingState::instance()));
&_gui, GuiMode::PROJECTION_MAPPING));
break; break;
case '4': case '4':
_cmdManager.exec( _cmdManager.exec(
new ofx::piMapper::SetApplicationStateCmd( new ofx::piMapper::SetApplicationStateCmd(
this, SourceSelectionState::instance(), this, SourceSelectionState::instance()));
&_gui, GuiMode::SOURCE_SELECTION));
break; break;
case 'f': case 'f':

3
src/Application/States/PresentationState.cpp

@ -22,8 +22,7 @@ void PresentationState::draw(Application * app){
void PresentationState::onMousePressed(Application * app, ofMouseEventArgs & args){ void PresentationState::onMousePressed(Application * app, ofMouseEventArgs & args){
app->getCmdManager()->exec( app->getCmdManager()->exec(
new ofx::piMapper::SetApplicationStateCmd( new ofx::piMapper::SetApplicationStateCmd(
app, ProjectionMappingState::instance(), app, ProjectionMappingState::instance()));
app->getGui(), GuiMode::PROJECTION_MAPPING));
} }
} // namespace piMapper } // namespace piMapper

31
src/Commands/SetApplicationStateCmd.cpp

@ -4,18 +4,11 @@ namespace ofx {
namespace piMapper { namespace piMapper {
SetApplicationStateCmd::SetApplicationStateCmd(Application * app, SetApplicationStateCmd::SetApplicationStateCmd(Application * app,
ApplicationBaseState * st, ApplicationBaseState * st){
SurfaceManagerGui * gui,
int mode){
_application = app; _application = app;
_prevApplicationState = 0; _prevApplicationState = 0;
_applicationState = st; _applicationState = st;
// TODO: To be removed
_gui = gui;
_prevGuiMode = -1;
_mode = mode;
} }
void SetApplicationStateCmd::exec(){ void SetApplicationStateCmd::exec(){
@ -26,19 +19,27 @@ void SetApplicationStateCmd::exec(){
Gui::instance()->getTextureEditorWidget().setSurface( Gui::instance()->getTextureEditorWidget().setSurface(
_application->getSurfaceManager()->getSelectedSurface()); _application->getSurfaceManager()->getSelectedSurface());
// TODO: To be removed. if(_applicationState != PresentationState::instance()){
_prevGuiMode = _gui->getMode(); ofShowCursor();
_gui->setMode(_mode); }else{
ofHideCursor();
}
} }
void SetApplicationStateCmd::undo(){ void SetApplicationStateCmd::undo(){
ofLogNotice("SetApplicationStateCmd", "undo"); ofLogNotice("SetApplicationStateCmd", "undo");
_application->setState(_prevApplicationState); _application->setState(_prevApplicationState);
_application->getState()->setTranslation(_translation); _application->getState()->setTranslation(_translation);
// TODO: To be removed. Gui::instance()->getTextureEditorWidget().setSurface(
_gui->setMode(_prevGuiMode); _application->getSurfaceManager()->getSelectedSurface());
if(_prevApplicationState != PresentationState::instance()){
ofShowCursor();
}else{
ofHideCursor();
}
} }
} // namespace piMapper } // namespace piMapper

13
src/Commands/SetApplicationStateCmd.h

@ -2,8 +2,6 @@
#include "BaseCmd.h" #include "BaseCmd.h"
#include "Application.h" #include "Application.h"
#include "SurfaceManagerGui.h"
#include "Gui.h"
namespace ofx { namespace ofx {
namespace piMapper { namespace piMapper {
@ -15,9 +13,7 @@ class SetApplicationStateCmd : public BaseUndoCmd {
public: public:
SetApplicationStateCmd(Application * app, SetApplicationStateCmd(Application * app,
ApplicationBaseState * st, ApplicationBaseState * st);
SurfaceManagerGui * gui,
int mode);
void exec(); void exec();
void undo(); void undo();
@ -26,14 +22,9 @@ class SetApplicationStateCmd : public BaseUndoCmd {
Application * _application; Application * _application;
ApplicationBaseState * _prevApplicationState; ApplicationBaseState * _prevApplicationState;
ApplicationBaseState * _applicationState; ApplicationBaseState * _applicationState;
ofPoint _translation; ofPoint _translation;
// TODO: Remove these after porting to app state system is done
SurfaceManagerGui * _gui;
int _prevGuiMode;
int _mode;
}; };
} // namespace piMapper } // namespace piMapper

Loading…
Cancel
Save