Added actions to demo applications to create floating, docked and auto hide image viewers
This commit is contained in:
@@ -575,6 +575,22 @@ void MainWindowPrivate::createActions()
|
||||
_this->connect(a, SIGNAL(triggered()), SLOT(createTable()));
|
||||
ui.menuTests->addAction(a);
|
||||
|
||||
a = ui.toolBar->addAction("Create Image Viewer");
|
||||
auto ToolButton = qobject_cast<QToolButton*>(ui.toolBar->widgetForAction(a));
|
||||
ToolButton->setPopupMode(QToolButton::InstantPopup);
|
||||
a->setToolTip("Creates floating, docked or pinned image viewer");
|
||||
a->setIcon(svgIcon(":/adsdemo/images/panorama.svg"));
|
||||
ui.menuTests->addAction(a);
|
||||
auto Menu = new QMenu();
|
||||
ToolButton->setMenu(Menu);
|
||||
a = Menu->addAction("Floating Image Viewer");
|
||||
_this->connect(a, SIGNAL(triggered()), SLOT(createImageViewer()));
|
||||
a = Menu->addAction("Docked Image Viewer");
|
||||
_this->connect(a, SIGNAL(triggered()), SLOT(createImageViewer()));
|
||||
a = Menu->addAction("Pinned Image Viewer");
|
||||
_this->connect(a, SIGNAL(triggered()), SLOT(createImageViewer()));
|
||||
|
||||
|
||||
ui.menuTests->addSeparator();
|
||||
a = ui.menuTests->addAction("Show Status Dialog");
|
||||
_this->connect(a, SIGNAL(triggered()), SLOT(showStatusDialog()));
|
||||
@@ -587,6 +603,7 @@ void MainWindowPrivate::createActions()
|
||||
a->setToolTip("Applies a Visual Studio light style (visual_studio_light.css)." );
|
||||
a->setIcon(svgIcon(":/adsdemo/images/color_lens.svg"));
|
||||
QObject::connect(a, &QAction::triggered, _this, &CMainWindow::applyVsStyle);
|
||||
ui.menuTests->addAction(a);
|
||||
}
|
||||
|
||||
|
||||
@@ -902,3 +919,34 @@ void CMainWindow::applyVsStyle()
|
||||
d->DockManager->setStyleSheet(Stylesheet);
|
||||
}
|
||||
|
||||
|
||||
//============================================================================
|
||||
void CMainWindow::createImageViewer()
|
||||
{
|
||||
QAction* a = qobject_cast<QAction*>(sender());
|
||||
qDebug() << "createImageViewer " << a->text();
|
||||
|
||||
auto DockWidget = d->createImageViewer();
|
||||
DockWidget->setFeature(ads::CDockWidget::DockWidgetDeleteOnClose, true);
|
||||
DockWidget->setFeature(ads::CDockWidget::DockWidgetForceCloseWithArea, true);
|
||||
DockWidget->setFeature(ads::CDockWidget::CustomCloseHandling, true);
|
||||
DockWidget->resize(QSize(640, 480));
|
||||
connect(DockWidget, &ads::CDockWidget::closeRequested, [this](){
|
||||
qDebug() << "ImageViewer close requested";
|
||||
});
|
||||
|
||||
if (a->text().startsWith("Floating"))
|
||||
{
|
||||
auto FloatingWidget = d->DockManager->addDockWidgetFloating(DockWidget);
|
||||
FloatingWidget->move(QPoint(20, 20));
|
||||
}
|
||||
else if (a->text().startsWith("Docked"))
|
||||
{
|
||||
d->DockManager->addDockWidget(ads::RightDockWidgetArea, DockWidget);
|
||||
}
|
||||
else if (a->text().startsWith("Pinned"))
|
||||
{
|
||||
d->DockManager->addAutoHideDockWidget(ads::SideBarLeft, DockWidget);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user