Skip to content
Snippets Groups Projects
Commit a56a90cc authored by Andreas Schenk's avatar Andreas Schenk
Browse files

Revert "new sip exports for dataviewer" and updated

data viewer proxy to reflect changes in data viewer

This reverts commit b6300f3a.
This fixes BZDNG-431
parent e6d45e38
No related branches found
No related tags found
No related merge requests found
...@@ -30,8 +30,10 @@ ...@@ -30,8 +30,10 @@
namespace ost { namespace img { namespace gui { namespace ost { namespace img { namespace gui {
DataViewerProxy::DataViewerProxy(DataViewer* v): DataViewerProxy::DataViewerProxy(DataViewer* v):
ost::gui::SipHandler<ost::img::gui::DataViewer>(v) ost::gui::SipHandler<ost::img::gui::DataViewer>(v),
{} DataObserver(v->GetData())
{
}
NormalizerPtr DataViewerProxy::GetNormalizer() const NormalizerPtr DataViewerProxy::GetNormalizer() const
...@@ -58,6 +60,81 @@ Extent DataViewerProxy::GetSelection() const ...@@ -58,6 +60,81 @@ Extent DataViewerProxy::GetSelection() const
{ {
return Me()->GetSelection(); return Me()->GetSelection();
} }
void DataViewerProxy::SetSelection(const Extent& selection)
{
Me()->SetSelection(selection);
}
void DataViewerProxy::SetSlab(int slab)
{
Me()->SetSlab(slab);
}
int DataViewerProxy::GetSlab() const
{
return Me()->GetSlab();
}
void DataViewerProxy::SetZoomScale(Real zoomscale)
{
Me()->SetZoomScale(zoomscale);
}
Real DataViewerProxy::GetZoomScale() const
{
return Me()->GetZoomScale();
}
void DataViewerProxy::SetViewerMin(Real min)
{
Me()->SetViewerMin(min);
}
Real DataViewerProxy::GetViewerMin() const
{
return Me()->GetViewerMin();
}
void DataViewerProxy::SetViewerMax(Real max)
{
Me()->SetViewerMax(max);
}
Real DataViewerProxy::GetViewerMax() const
{
return Me()->GetViewerMax();
}
void DataViewerProxy::SetGamma(Real gamma)
{
Me()->SetGamma(gamma);
}
Real DataViewerProxy::GetGamma() const
{
return Me()->GetGamma();
}
void DataViewerProxy::SetInvert(bool invert)
{
Me()->SetInvert(invert);
}
bool DataViewerProxy::GetInvert() const
{
return Me()->GetInvert();
}
void DataViewerProxy::SetOffset(const geom::Vec2& offset)
{
Me()->SetOffset(offset);
}
geom::Vec2 DataViewerProxy::GetOffset() const
{
return Me()->GetOffset();
}
void DataViewerProxy::SetData(const Data& d) void DataViewerProxy::SetData(const Data& d)
{ {
...@@ -85,9 +162,9 @@ OverlayManagerPtr DataViewerProxy::GetOverlayManager() const ...@@ -85,9 +162,9 @@ OverlayManagerPtr DataViewerProxy::GetOverlayManager() const
} }
void DataViewerProxy::AddDockWidget(QWidget* w, const QString& name, bool shown) void DataViewerProxy::AddDockWidget(QWidget* w, const QString& name, bool shown, int area)
{ {
Me()->AddDockWidget(w,name, shown); Me()->AddDockWidget(w,name, shown,area);
} }
void DataViewerProxy::RemoveDockWidget(QWidget* w) void DataViewerProxy::RemoveDockWidget(QWidget* w)
...@@ -110,6 +187,22 @@ void DataViewerProxy::Hide() ...@@ -110,6 +187,22 @@ void DataViewerProxy::Hide()
Me()->hide(); Me()->hide();
} }
void DataViewerProxy::ObserverUpdate()
{
}
void DataViewerProxy::ObserverUpdate(const Extent& e)
{
}
void DataViewerProxy::ObserverUpdate(const Point& p)
{
}
void DataViewerProxy::ObserverRelease()
{
Release(Me());
}
object DataViewerProxy::GetQObject(){
return ost::gui::get_py_qobject<DataViewer>(Me());
}
}}} //ns }}} //ns
...@@ -48,7 +48,7 @@ namespace ost { namespace img { namespace gui { ...@@ -48,7 +48,7 @@ namespace ost { namespace img { namespace gui {
// fw decl // fw decl
class DataViewer; class DataViewer;
class TEMPLATE_EXPORT DataViewerProxy : public ost::gui::SipHandler<DataViewer>{ class TEMPLATE_EXPORT DataViewerProxy : public ost::gui::SipHandler<DataViewer>, public DataObserver {
public: public:
DataViewerProxy(DataViewer* v); DataViewerProxy(DataViewer* v);
...@@ -63,11 +63,27 @@ public: ...@@ -63,11 +63,27 @@ public:
void UpdateView(); void UpdateView();
Extent GetSelection() const; Extent GetSelection() const;
void SetSelection(const Extent& selection);
void SetSlab(int slab);
int GetSlab() const;
void SetZoomScale(Real zoomscale);
Real GetZoomScale() const;
void SetViewerMin(Real min);
Real GetViewerMin() const;
void SetViewerMax(Real max);
Real GetViewerMax() const;
void SetGamma(Real gamma);
Real GetGamma() const;
void SetInvert(bool invert);
bool GetInvert() const;
void SetOffset(const geom::Vec2& offset);
geom::Vec2 GetOffset() const;
int AddOverlay(const OverlayPtr& ov, bool make_active=true); int AddOverlay(const OverlayPtr& ov, bool make_active=true);
OverlayManagerPtr GetOverlayManager() const; OverlayManagerPtr GetOverlayManager() const;
void ClearOverlays(); void ClearOverlays();
void AddDockWidget(QWidget* w, const QString& name, bool shown=true); void AddDockWidget(QWidget* w, const QString& name, bool shown=true, int area=2);
void RemoveDockWidget(QWidget* w); void RemoveDockWidget(QWidget* w);
void SetAntialiasing(bool f); void SetAntialiasing(bool f);
...@@ -80,6 +96,14 @@ public: ...@@ -80,6 +96,14 @@ public:
void Hide(); void Hide();
//////////////////////
// observer interface
virtual void ObserverUpdate();
virtual void ObserverUpdate(const Extent& e);
virtual void ObserverUpdate(const Point& p);
virtual void ObserverRelease();
object GetQObject();
}; };
typedef boost::shared_ptr<DataViewerProxy> DataViewerProxyPtr; typedef boost::shared_ptr<DataViewerProxy> DataViewerProxyPtr;
......
...@@ -25,30 +25,28 @@ ...@@ -25,30 +25,28 @@
#include <boost/python.hpp> #include <boost/python.hpp>
#include <ost/base.hh> #include <ost/base.hh>
#include <ost/gui/data_viewer/data_viewer.hh> #include <ost/gui/data_viewer/data_viewer.hh>
#include "data_viewer_proxy.hh"
#include <ost/gui/data_viewer/overlay_manager.hh> #include <ost/gui/data_viewer/overlay_manager.hh>
#include "sip_handler.hh"
using namespace boost::python; using namespace boost::python;
using namespace ost::img; using namespace ost::img;
using namespace ost; using namespace ost;
using namespace ost::img::gui;
using namespace ost::gui; using namespace ost::gui;
using namespace ost::img::gui;
namespace { namespace {
void add_dock1(DataViewer* p, QWidget* w, const String& name) void add_dock1(DataViewerProxy* p, QWidget* w, const String& name)
{ {
p->AddDockWidget(w,QString::fromStdString(name)); p->AddDockWidget(w,QString::fromStdString(name));
} }
void add_dock2(DataViewer* p, QWidget* w, const String& name, bool s) void add_dock2(DataViewerProxy* p, QWidget* w, const String& name, bool s)
{ {
p->AddDockWidget(w,QString::fromStdString(name),s); p->AddDockWidget(w,QString::fromStdString(name),s);
} }
void add_dock3(DataViewerProxy* p, QWidget* w, const String& name, bool s, int area)
void add_dock3(DataViewer* p, QWidget* w, const String& name, bool s, int area)
{ {
p->AddDockWidget(w,QString::fromStdString(name),s,area); p->AddDockWidget(w,QString::fromStdString(name),s,area);
} }
...@@ -60,53 +58,54 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(o_AddDockWidget, AddDockWidget, 2, 4) ...@@ -60,53 +58,54 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(o_AddDockWidget, AddDockWidget, 2, 4)
void export_data_viewer() void export_data_viewer()
{ {
class_<DataViewer, boost::noncopyable >("DataViewer",no_init) class_<DataViewerProxy, DataViewerProxyPtr, bases<ost::gui::SipHandlerBase> >("DataViewer",no_init)
.def("SetData",&DataViewer::SetData) .def("SetData",&DataViewerProxy::SetData)
.def("SetName",&DataViewer::SetName) .def("SetName",&DataViewerProxy::SetName)
.def("GetOverlayManager",&DataViewer::GetOverlayManager) .def("GetOverlayManager",&DataViewerProxy::GetOverlayManager)
.def("GetNormalizer",&DataViewer::GetNormalizer,return_value_policy<return_by_value>()) .def("GetNormalizer",&DataViewerProxy::GetNormalizer,return_value_policy<return_by_value>())
.def("Renormalize",&DataViewer::Renormalize) .def("Renormalize",&DataViewerProxy::Renormalize)
.def("AddOverlay",&DataViewer::AddOverlay,o_AddOverlay()) .def("AddOverlay",&DataViewerProxy::AddOverlay,o_AddOverlay())
.def("ClearOverlays",&DataViewer::ClearOverlays) .def("ClearOverlays",&DataViewerProxy::ClearOverlays)
.def("GetSelection",&DataViewer::GetSelection) .def("GetSelection",&DataViewerProxy::GetSelection)
.def("SetSelection",&DataViewer::SetSelection) .def("SetSelection",&DataViewerProxy::SetSelection)
.def("UpdateView",&DataViewer::UpdateView) .def("UpdateView",&DataViewerProxy::UpdateView)
.def("Recenter",&DataViewer::Recenter) .def("Recenter",&DataViewerProxy::Recenter)
.def("AddDockWidget",&DataViewer::AddDockWidget,o_AddDockWidget()) .def("AddDockWidget",&DataViewerProxy::AddDockWidget,o_AddDockWidget())
.def("AddDockWidget",add_dock1) .def("AddDockWidget",add_dock1)
.def("AddDockWidget",add_dock2) .def("AddDockWidget",add_dock2)
.def("AddDockWidget",add_dock3) .def("AddDockWidget",add_dock3)
.def("SetSlab", &DataViewer::SetSlab) .def("RemoveDockWidget",&DataViewerProxy::RemoveDockWidget)
.def("GetSlab", &DataViewer::GetSlab) .def("SetAntialiasing",&DataViewerProxy::SetAntialiasing)
.add_property("slab", &DataViewer::GetSlab, &DataViewer::SetSlab) .def("Show",&DataViewerProxy::Show)
.def("SetZoomScale", &DataViewer::SetZoomScale) .def("Hide", &DataViewerProxy::Hide)
.def("GetZoomScale", &DataViewer::GetZoomScale) .def("SetSlab", &DataViewerProxy::SetSlab)
.add_property("zoomscale", &DataViewer::GetZoomScale, &DataViewer::SetZoomScale) .def("GetSlab", &DataViewerProxy::GetSlab)
.def("SetViewerMin", &DataViewer::SetViewerMin) .add_property("slab", &DataViewerProxy::GetSlab, &DataViewerProxy::SetSlab)
.def("GetViewerMin", &DataViewer::GetViewerMin) .def("SetZoomScale", &DataViewerProxy::SetZoomScale)
.add_property("viewer_min", &DataViewer::GetViewerMin, &DataViewer::SetViewerMin) .def("GetZoomScale", &DataViewerProxy::GetZoomScale)
.def("SetViewerMax", &DataViewer::SetViewerMax) .add_property("zoomscale", &DataViewerProxy::GetZoomScale, &DataViewerProxy::SetZoomScale)
.def("GetViewerMax", &DataViewer::GetViewerMax) .def("SetViewerMin", &DataViewerProxy::SetViewerMin)
.add_property("viewer_max", &DataViewer::GetViewerMax, &DataViewer::SetViewerMax) .def("GetViewerMin", &DataViewerProxy::GetViewerMin)
.def("SetGamma", &DataViewer::SetGamma) .add_property("viewer_min", &DataViewerProxy::GetViewerMin, &DataViewerProxy::SetViewerMin)
.def("GetGamma", &DataViewer::GetGamma) .def("SetViewerMax", &DataViewerProxy::SetViewerMax)
.add_property("gamma", &DataViewer::GetGamma, &DataViewer::SetGamma) .def("GetViewerMax", &DataViewerProxy::GetViewerMax)
.def("SetInvert", &DataViewer::SetInvert) .add_property("viewer_max", &DataViewerProxy::GetViewerMax, &DataViewerProxy::SetViewerMax)
.def("GetInvert", &DataViewer::GetInvert) .def("SetGamma", &DataViewerProxy::SetGamma)
.add_property("invert", &DataViewer::GetInvert, &DataViewer::SetInvert) .def("GetGamma", &DataViewerProxy::GetGamma)
.def("SetOffset", &DataViewer::SetOffset) .add_property("gamma", &DataViewerProxy::GetGamma, &DataViewerProxy::SetGamma)
.def("GetOffset", &DataViewer::GetOffset) .def("SetInvert", &DataViewerProxy::SetInvert)
.add_property("offset", &DataViewer::GetOffset, &DataViewer::SetOffset) .def("GetInvert", &DataViewerProxy::GetInvert)
.def("RemoveDockWidget",&DataViewer::RemoveDockWidget) .add_property("invert", &DataViewerProxy::GetInvert, &DataViewerProxy::SetInvert)
.def("SetAntialiasing",&DataViewer::SetAntialiasing) .def("SetOffset", &DataViewerProxy::SetOffset)
.def("Show",&DataViewer::show) .def("GetOffset", &DataViewerProxy::GetOffset)
.def("Hide", &DataViewer::hide) .add_property("offset", &DataViewerProxy::GetOffset, &DataViewerProxy::SetOffset)
.def("GetQObject",&get_py_qobject<DataViewer>) .def("GetQObject",&DataViewerProxy::GetQObject)
.add_property("qobject", &get_py_qobject<DataViewer>) .add_property("qobject",&DataViewerProxy::GetQObject)
/*
.def("SetAutoNormalize",&DataViewer::SetAutoNormalize) /*
.def("ShowClickedPosition",&DataViewer::ShowClickedPosition,o_ShowClickedPosition()) .def("SetAutoNormalize",&DataViewerProxy::SetAutoNormalize)
.def("GetClickedPosition",&DataViewer::GetClickedPosition) .def("ShowClickedPosition",&DataViewerProxy::ShowClickedPosition,o_ShowClickedPosition())
*/ .def("GetClickedPosition",&DataViewerProxy::GetClickedPosition)
*/
; ;
} }
...@@ -36,9 +36,7 @@ using namespace boost::python; ...@@ -36,9 +36,7 @@ using namespace boost::python;
#include "sip_handler.hh" #include "sip_handler.hh"
#if OST_IMG_ENABLED #if OST_IMG_ENABLED
#include <ost/gui/data_viewer/data_viewer.hh> #include "data_viewer_proxy.hh"
#include <ost/img/data.hh>
#include <ost/gui/data_viewer/data_viewer.hh>
using namespace ost::img::gui; using namespace ost::img::gui;
#endif #endif
...@@ -48,15 +46,13 @@ using namespace ost::gui; ...@@ -48,15 +46,13 @@ using namespace ost::gui;
namespace { namespace {
#if OST_IMG_ENABLED #if OST_IMG_ENABLED
DataViewer* app_create_data_viewer1(GostyApp* app, DataViewerProxyPtr app_create_data_viewer1(GostyApp* app, const ost::img::Data& d, const QString& name)
const ost::img::Data& d,
const QString& name)
{ {
return app->CreateDataViewer(d,name); return DataViewerProxyPtr(new DataViewerProxy(app->CreateDataViewer(d,name)));
} }
DataViewer* app_create_data_viewer2(GostyApp* app, const ost::img::Data& d) DataViewerProxyPtr app_create_data_viewer2(GostyApp* app, const ost::img::Data& d)
{ {
return app->CreateDataViewer(d); return DataViewerProxyPtr(new DataViewerProxy(app->CreateDataViewer(d)));
} }
#endif #endif
...@@ -117,8 +113,8 @@ void export_Gosty() ...@@ -117,8 +113,8 @@ void export_Gosty()
.add_property("message_widget", make_function(&GostyApp::GetMessageWidget, .add_property("message_widget", make_function(&GostyApp::GetMessageWidget,
return_value_policy<reference_existing_object>())) return_value_policy<reference_existing_object>()))
#if OST_IMG_ENABLED #if OST_IMG_ENABLED
.def("CreateDataViewer", &app_create_data_viewer1,return_value_policy<reference_existing_object>()) .def("CreateDataViewer", &app_create_data_viewer1)
.def("CreateDataViewer", &app_create_data_viewer2,return_value_policy<reference_existing_object>()) .def("CreateDataViewer", &app_create_data_viewer2)
#endif #endif
.def("ProcessEvents", &GostyApp::ProcessEvents) .def("ProcessEvents", &GostyApp::ProcessEvents)
.add_property("perspective", .add_property("perspective",
......
...@@ -87,6 +87,10 @@ void DataViewer::SetData(const Data& d) ...@@ -87,6 +87,10 @@ void DataViewer::SetData(const Data& d)
info_->SetImageInfo(d); info_->SetImageInfo(d);
} }
const Data& DataViewer::GetData() const{
return panel_->GetObservedData();
}
NormalizerPtr DataViewer::GetNormalizer() const NormalizerPtr DataViewer::GetNormalizer() const
{ {
assert(panel_); assert(panel_);
......
...@@ -69,6 +69,9 @@ public: ...@@ -69,6 +69,9 @@ public:
//! set new image or function to display //! set new image or function to display
void SetData(const Data& data); void SetData(const Data& data);
//! get the current displayed image
const Data& GetData() const;
//! retrieve used normalizer //! retrieve used normalizer
NormalizerPtr GetNormalizer() const; NormalizerPtr GetNormalizer() const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment