Skip to content

Commit c279d8d

Browse files
committed
Hook up module slot to dialog state update
1 parent 38d5485 commit c279d8d

File tree

3 files changed

+25
-3
lines changed

3 files changed

+25
-3
lines changed

src/Interface/Modules/Render/ViewScene.cc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -768,7 +768,6 @@ Screenshot::Screenshot(QGLWidget *glwidget, QObject *parent)
768768
QDir dir(filePath);
769769
if (!dir.exists())
770770
{
771-
//qDebug() << "creating file directory" << filePath;
772771
dir.mkpath(filePath);
773772
}
774773
}
@@ -799,4 +798,9 @@ void ViewSceneDialog::saveNewGeometryChanged(int state)
799798
void ViewSceneDialog::sendGeometryFeedbackToState(int x, int y)
800799
{
801800
qDebug() << "in VSD slot: " << x << y;
802-
}
801+
using namespace SCIRun::Core::Algorithms;
802+
Variable::List coords;
803+
coords.push_back(makeVariable("x", x));
804+
coords.push_back(makeVariable("y", y));
805+
state_->setValue(Parameters::GeometryFeedbackInfo, coords);
806+
}

src/Modules/Render/ViewScene.cc

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,13 @@ ModuleLookupInfo ViewScene::staticInfo_("ViewScene", "Render", "SCIRun");
4949
Mutex ViewScene::mutex_("ViewScene");
5050

5151
ALGORITHM_PARAMETER_DEF(Render, GeomData);
52+
ALGORITHM_PARAMETER_DEF(Render, GeometryFeedbackInfo);
5253

5354
ViewScene::ViewScene() : ModuleWithAsyncDynamicPorts(staticInfo_)
5455
{
5556
INITIALIZE_PORT(GeneralGeom);
57+
58+
get_state()->connect_state_changed([this]() { processViewSceneObjectFeedback(); });
5659
}
5760

5861
void ViewScene::setStateDefaults()
@@ -125,4 +128,16 @@ void ViewScene::asyncExecute(const PortId& pid, DatatypeHandle data)
125128
get_state()->fireTransientStateChangeSignal();
126129
}
127130

128-
SCIRun::Core::Algorithms::AlgorithmParameterName ViewScene::BackgroundColor("BackgroundColor");
131+
void ViewScene::processViewSceneObjectFeedback()
132+
{
133+
std::cout << "slot for state change in VS module" << std::endl;
134+
auto state = get_state();
135+
auto newInfo = state->getValue(Parameters::GeometryFeedbackInfo).toVector();
136+
if (feedbackInfo_ != newInfo)
137+
{
138+
std::cout << "new feedback info: " << newInfo << std::endl;
139+
feedbackInfo_ = newInfo;
140+
}
141+
}
142+
143+
SCIRun::Core::Algorithms::AlgorithmParameterName ViewScene::BackgroundColor("BackgroundColor");

src/Modules/Render/ViewScene.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ namespace SCIRun
4545
namespace Render
4646
{
4747
ALGORITHM_PARAMETER_DECL(GeomData);
48+
ALGORITHM_PARAMETER_DECL(GeometryFeedbackInfo);
4849
}
4950
}
5051
}
@@ -82,8 +83,10 @@ namespace Render {
8283
protected:
8384
virtual void portRemovedSlotImpl(const Dataflow::Networks::PortId& pid) override;
8485
private:
86+
void processViewSceneObjectFeedback();
8587
void updateTransientList();
8688
ActiveGeometryMap activeGeoms_;
89+
Core::Algorithms::VariableList feedbackInfo_;
8790
};
8891
}}}
8992

0 commit comments

Comments
 (0)