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

lifted some restrictions in dock window placement for data viewer

parent 3d31bcce
Branches
Tags
No related merge requests found
......@@ -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)
......
......@@ -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);
......
......@@ -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);
......
......@@ -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();
......
......@@ -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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment