diff --git a/modules/gui/pymod/export_data_viewer.cc b/modules/gui/pymod/export_data_viewer.cc index 6efdef65e1a980d4a77b4b79111a0e77bd38babf..dbaa30ace761f80c9284b634ddd2d6140f6dda97 100644 --- a/modules/gui/pymod/export_data_viewer.cc +++ b/modules/gui/pymod/export_data_viewer.cc @@ -42,24 +42,21 @@ void add_dock1(DataViewer* p, QWidget* w, const String& name) p->AddDockWidget(w,QString::fromStdString(name)); } -void add_dock2(DataViewer* p, QWidget* w, const QString& name) -{ - p->AddDockWidget(w,name); -} - -void add_dock3(DataViewer* p, QWidget* w, const String& name, bool s) +void add_dock2(DataViewer* p, QWidget* w, const String& name, bool s) { p->AddDockWidget(w,QString::fromStdString(name),s); } -void add_dock4(DataViewer* p, QWidget* w, const QString& name, bool s) + +void add_dock3(DataViewer* p, QWidget* w, const String& name, bool s, int area) { - p->AddDockWidget(w,name,s); + p->AddDockWidget(w,QString::fromStdString(name),s,area); } } // anon ns BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(o_AddOverlay, AddOverlay, 1, 2) +BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(o_AddDockWidget, AddDockWidget, 2, 4) void export_data_viewer() { @@ -75,8 +72,10 @@ void export_data_viewer() .def("SetSelection",&DataViewer::SetSelection) .def("UpdateView",&DataViewer::UpdateView) .def("Recenter",&DataViewer::Recenter) + .def("AddDockWidget",&DataViewer::AddDockWidget,o_AddDockWidget()) .def("AddDockWidget",add_dock1) .def("AddDockWidget",add_dock2) + .def("AddDockWidget",add_dock3) .def("SetSlab", &DataViewer::SetSlab) .def("GetSlab", &DataViewer::GetSlab) .add_property("slab", &DataViewer::GetSlab, &DataViewer::SetSlab) @@ -98,8 +97,6 @@ void export_data_viewer() .def("SetOffset", &DataViewer::SetOffset) .def("GetOffset", &DataViewer::GetOffset) .add_property("offset", &DataViewer::GetOffset, &DataViewer::SetOffset) - .def("AddDockWidget",add_dock3) - .def("AddDockWidget",add_dock4) .def("RemoveDockWidget",&DataViewer::RemoveDockWidget) .def("SetAntialiasing",&DataViewer::SetAntialiasing) .def("Show",&DataViewer::show) diff --git a/modules/gui/src/data_viewer/data_viewer.cc b/modules/gui/src/data_viewer/data_viewer.cc index 8db37d504cbb4556e365c6e3ffd293a6ad7a5b51..64896c8a76022a6098ffc66a18f8b00554b9cca3 100644 --- a/modules/gui/src/data_viewer/data_viewer.cc +++ b/modules/gui/src/data_viewer/data_viewer.cc @@ -278,9 +278,9 @@ void DataViewer::build(const Data& data) statusBar()->addWidget(zoomlabel_); statusBar()->addWidget(slablabel_); - AddDockWidget(ov_manager_gui_,"Overlays",true,0); + AddDockWidget(ov_manager_gui_,"Overlays",true,2); info_->SetImageInfo(data); - AddDockWidget(info_,"Info",true,0); + AddDockWidget(info_,"Info",true,2); AddDockWidget(argand_,"Argand",false,1); AddDockWidget(fft_,"FFT",false,1); diff --git a/modules/gui/src/data_viewer/info_panel.cc b/modules/gui/src/data_viewer/info_panel.cc index f90d45b17feb18b469fb205e4ad36f684f395932..a593884b16e90db34d864fa075c118adab3f22bf 100644 --- a/modules/gui/src/data_viewer/info_panel.cc +++ b/modules/gui/src/data_viewer/info_panel.cc @@ -64,9 +64,9 @@ InfoPanel::InfoPanel(QWidget* parent): QFont fnt=font(); fnt.setPointSize(font().pointSize()-1); setFont(fnt); - int maxw = QFontMetrics(fnt).width("(9999,9999,1) to (9999,9999,1)"); - setMaximumWidth(maxw); - setMinimumWidth(maxw); + //int maxw = QFontMetrics(fnt).width("(9999,9999,1) to (9999,9999,1)"); + //setMaximumWidth(maxw); + //setMinimumWidth(maxw); QFont fnt2(fnt); fnt2.setWeight(QFont::Bold); diff --git a/modules/gui/src/main_window.cc b/modules/gui/src/main_window.cc index f8f428c4350577a4873a2e021727bd2b203ffd92..098e7cfabab81a14ffe20a9c0963f4949d9f257d 100644 --- a/modules/gui/src/main_window.cc +++ b/modules/gui/src/main_window.cc @@ -39,11 +39,28 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags flags): void MainWindow::AddDockWidget(QWidget* w, const QString& name, bool shown, int area) { + Qt::DockWidgetArea dock_area; + switch(area){ + case 1: + dock_area=Qt::LeftDockWidgetArea; + break; + case 2: + dock_area=Qt::RightDockWidgetArea; + break; + case 4: + dock_area=Qt::TopDockWidgetArea; + break; + case 8: + dock_area=Qt::BottomDockWidgetArea; + break; + default: + dock_area=Qt::RightDockWidgetArea; + break; + } DockWidget* dock = new DockWidget(name, this); dock->adjustSize(); - dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); dock->setWidget(w); - addDockWidget(area==0 ? Qt::RightDockWidgetArea : Qt::LeftDockWidgetArea, dock); + addDockWidget(dock_area, dock); dock_widget_map_[w]=dock; connect(dock,SIGNAL(OnClose(QDockWidget*)),this,SLOT(OnDockClose(QDockWidget*))); if(!shown) dock->hide(); diff --git a/modules/gui/src/main_window.hh b/modules/gui/src/main_window.hh index 2b273f36dd5426f292d9c596537a6581e17916ae..61c6055d15225830ab30b1ba8ac476f43a6e6801 100644 --- a/modules/gui/src/main_window.hh +++ b/modules/gui/src/main_window.hh @@ -46,7 +46,7 @@ public: MainWindow(QWidget* parent=0, Qt::WindowFlags flags=0); //! add a custom docking widget - void AddDockWidget(QWidget* w, const QString& name, bool show=true, int area=0); + void AddDockWidget(QWidget* w, const QString& name, bool show=true, int area=2); //! remove a previously added custom docking widget void RemoveDockWidget(QWidget* w);