From 2a7c9e8481739fd8248c2d4905a66e2a130f17d8 Mon Sep 17 00:00:00 2001 From: Krisjanis Rijnieks Date: Wed, 24 Aug 2016 22:22:55 +0300 Subject: [PATCH] Adjust surface selection commands to work well with the ScaleWidget --- example/bin/data/defaultSurfaces.xml | 70 ++++++++++++++-------------- src/Commands/SelNextSurfaceCmd.cpp | 4 ++ src/Commands/SelNextSurfaceCmd.h | 1 + src/Commands/SelPrevSurfaceCmd.cpp | 4 ++ src/Commands/SelPrevSurfaceCmd.h | 1 + src/Commands/SelSurfaceCmd.cpp | 4 ++ src/Commands/SelSurfaceCmd.h | 1 + 7 files changed, 50 insertions(+), 35 deletions(-) diff --git a/example/bin/data/defaultSurfaces.xml b/example/bin/data/defaultSurfaces.xml index 5cb11b0..6b2391a 100755 --- a/example/bin/data/defaultSurfaces.xml +++ b/example/bin/data/defaultSurfaces.xml @@ -1,17 +1,17 @@ - + - 97.709846497 - 339.636596680 + 144.596435547 + 350.618133545 - 306.630920410 - 105.926849365 + 334.612976074 + 138.055999756 - 41.000000000 - 74.000000000 + 93.018066406 + 109.018371582 @@ -33,23 +33,23 @@ Custom FBO Source - + - 306.630920410 - 105.926849365 + 370.015960693 + 71.820503235 - 368.000000000 - 177.000000000 + 426.714202881 + 137.484405518 - 344.000000000 - 299.000000000 + 404.540893555 + 250.199127197 - 97.709846497 - 339.636596680 + 176.995574951 + 287.742950439 @@ -78,43 +78,43 @@ 1 - + - 368.000000000 - 177.000000000 + 429.168884277 + 232.234344482 - 523.000000000 - 144.000000000 + 493.644958496 + 218.507308960 - 714.000000000 - 143.000000000 + 573.095703125 + 218.091369629 - 344.000000000 - 299.000000000 + 419.185028076 + 282.983367920 - 504.000000000 - 304.000000000 + 485.740966797 + 285.063232422 - 721.000000000 - 279.000000000 + 576.008056641 + 274.663574219 - 373.000000000 - 398.000000000 + 431.248046875 + 324.164886475 - 550.000000000 - 407.000000000 + 504.876403809 + 327.908752441 - 759.000000000 - 365.000000000 + 591.815185547 + 310.437927246 diff --git a/src/Commands/SelNextSurfaceCmd.cpp b/src/Commands/SelNextSurfaceCmd.cpp index bc18cb5..09198fc 100644 --- a/src/Commands/SelNextSurfaceCmd.cpp +++ b/src/Commands/SelNextSurfaceCmd.cpp @@ -10,11 +10,15 @@ SelNextSurfaceCmd::SelNextSurfaceCmd(SurfaceManager * surfaceManager){ void SelNextSurfaceCmd::exec(){ _prevSelectedSurface = _surfaceManager->getSelectedSurface(); _surfaceManager->selectNextSurface(); + Gui::instance()->getScaleWidget().setSurface(_surfaceManager->getSelectedSurface()); } void SelNextSurfaceCmd::undo(){ ofLogNotice("SelNextSurfaceCmd", "undo"); _surfaceManager->selectSurface(_prevSelectedSurface); + if(_prevSelectedSurface != 0){ + Gui::instance()->getScaleWidget().setSurface(_prevSelectedSurface); + } _prevSelectedSurface = 0; } diff --git a/src/Commands/SelNextSurfaceCmd.h b/src/Commands/SelNextSurfaceCmd.h index ca196e2..ddd0538 100644 --- a/src/Commands/SelNextSurfaceCmd.h +++ b/src/Commands/SelNextSurfaceCmd.h @@ -7,6 +7,7 @@ #include "BaseCmd.h" #include "BaseSurface.h" #include "SurfaceManager.h" +#include "Gui.h" namespace ofx { namespace piMapper { diff --git a/src/Commands/SelPrevSurfaceCmd.cpp b/src/Commands/SelPrevSurfaceCmd.cpp index da63b0d..24cd2b6 100644 --- a/src/Commands/SelPrevSurfaceCmd.cpp +++ b/src/Commands/SelPrevSurfaceCmd.cpp @@ -10,11 +10,15 @@ SelPrevSurfaceCmd::SelPrevSurfaceCmd(SurfaceManager * surfaceManager){ void SelPrevSurfaceCmd::exec(){ _prevSelectedSurface = _surfaceManager->getSelectedSurface(); _surfaceManager->selectPrevSurface(); + Gui::instance()->getScaleWidget().setSurface(_surfaceManager->getSelectedSurface()); } void SelPrevSurfaceCmd::undo(){ ofLogNotice("SelPrevSurfaceCmd", "undo"); _surfaceManager->selectSurface(_prevSelectedSurface); + if(_prevSelectedSurface != 0){ + Gui::instance()->getScaleWidget().setSurface(_prevSelectedSurface); + } _prevSelectedSurface = 0; } diff --git a/src/Commands/SelPrevSurfaceCmd.h b/src/Commands/SelPrevSurfaceCmd.h index c9ec97a..f3489ac 100644 --- a/src/Commands/SelPrevSurfaceCmd.h +++ b/src/Commands/SelPrevSurfaceCmd.h @@ -7,6 +7,7 @@ #include "BaseCmd.h" #include "BaseSurface.h" #include "SurfaceManager.h" +#include "Gui.h" namespace ofx { namespace piMapper { diff --git a/src/Commands/SelSurfaceCmd.cpp b/src/Commands/SelSurfaceCmd.cpp index 9c90de0..8235e65 100644 --- a/src/Commands/SelSurfaceCmd.cpp +++ b/src/Commands/SelSurfaceCmd.cpp @@ -11,11 +11,15 @@ SelSurfaceCmd::SelSurfaceCmd(SurfaceManager * surfaceManager, BaseSurface * surf void SelSurfaceCmd::exec(){ _prevSelectedSurface = _surfaceManager->getSelectedSurface(); _surfaceManager->selectSurface(_surfaceToSelect); + Gui::instance()->getScaleWidget().setSurface(_surfaceToSelect); } void SelSurfaceCmd::undo(){ ofLogNotice("SelSurfaceCmd", "undo"); _surfaceManager->selectSurface(_prevSelectedSurface); + if(_prevSelectedSurface != 0){ + Gui::instance()->getScaleWidget().setSurface(_prevSelectedSurface); + } _surfaceToSelect = 0; _prevSelectedSurface = 0; } diff --git a/src/Commands/SelSurfaceCmd.h b/src/Commands/SelSurfaceCmd.h index 356dc31..1ff2616 100644 --- a/src/Commands/SelSurfaceCmd.h +++ b/src/Commands/SelSurfaceCmd.h @@ -7,6 +7,7 @@ #include "BaseCmd.h" #include "BaseSurface.h" #include "SurfaceManager.h" +#include "Gui.h" namespace ofx { namespace piMapper {