Skip to content

Commit eda6104

Browse files
Added actions to demo applications to create floating, docked and auto hide image viewers
1 parent 44a5873 commit eda6104

14 files changed

+354
-169
lines changed

demo/MainWindow.cpp

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,22 @@ void MainWindowPrivate::createActions()
575575
_this->connect(a, SIGNAL(triggered()), SLOT(createTable()));
576576
ui.menuTests->addAction(a);
577577

578+
a = ui.toolBar->addAction("Create Image Viewer");
579+
auto ToolButton = qobject_cast<QToolButton*>(ui.toolBar->widgetForAction(a));
580+
ToolButton->setPopupMode(QToolButton::InstantPopup);
581+
a->setToolTip("Creates floating, docked or pinned image viewer");
582+
a->setIcon(svgIcon(":/adsdemo/images/panorama.svg"));
583+
ui.menuTests->addAction(a);
584+
auto Menu = new QMenu();
585+
ToolButton->setMenu(Menu);
586+
a = Menu->addAction("Floating Image Viewer");
587+
_this->connect(a, SIGNAL(triggered()), SLOT(createImageViewer()));
588+
a = Menu->addAction("Docked Image Viewer");
589+
_this->connect(a, SIGNAL(triggered()), SLOT(createImageViewer()));
590+
a = Menu->addAction("Pinned Image Viewer");
591+
_this->connect(a, SIGNAL(triggered()), SLOT(createImageViewer()));
592+
593+
578594
ui.menuTests->addSeparator();
579595
a = ui.menuTests->addAction("Show Status Dialog");
580596
_this->connect(a, SIGNAL(triggered()), SLOT(showStatusDialog()));
@@ -587,6 +603,7 @@ void MainWindowPrivate::createActions()
587603
a->setToolTip("Applies a Visual Studio light style (visual_studio_light.css)." );
588604
a->setIcon(svgIcon(":/adsdemo/images/color_lens.svg"));
589605
QObject::connect(a, &QAction::triggered, _this, &CMainWindow::applyVsStyle);
606+
ui.menuTests->addAction(a);
590607
}
591608

592609

@@ -902,3 +919,34 @@ void CMainWindow::applyVsStyle()
902919
d->DockManager->setStyleSheet(Stylesheet);
903920
}
904921

922+
923+
//============================================================================
924+
void CMainWindow::createImageViewer()
925+
{
926+
QAction* a = qobject_cast<QAction*>(sender());
927+
qDebug() << "createImageViewer " << a->text();
928+
929+
auto DockWidget = d->createImageViewer();
930+
DockWidget->setFeature(ads::CDockWidget::DockWidgetDeleteOnClose, true);
931+
DockWidget->setFeature(ads::CDockWidget::DockWidgetForceCloseWithArea, true);
932+
DockWidget->setFeature(ads::CDockWidget::CustomCloseHandling, true);
933+
DockWidget->resize(QSize(640, 480));
934+
connect(DockWidget, &ads::CDockWidget::closeRequested, [this](){
935+
qDebug() << "ImageViewer close requested";
936+
});
937+
938+
if (a->text().startsWith("Floating"))
939+
{
940+
auto FloatingWidget = d->DockManager->addDockWidgetFloating(DockWidget);
941+
FloatingWidget->move(QPoint(20, 20));
942+
}
943+
else if (a->text().startsWith("Docked"))
944+
{
945+
d->DockManager->addDockWidget(ads::RightDockWidgetArea, DockWidget);
946+
}
947+
else if (a->text().startsWith("Pinned"))
948+
{
949+
d->DockManager->addAutoHideDockWidget(ads::SideBarLeft, DockWidget);
950+
}
951+
}
952+

demo/MainWindow.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ private slots:
6666
void showStatusDialog();
6767
void toggleDockWidgetWindowTitle();
6868
void applyVsStyle();
69+
void createImageViewer();
6970
};
7071

7172
#endif // MAINWINDOW_H

demo/RenderWidget.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,6 @@
1919
CRenderWidget::CRenderWidget(QWidget* Parent) :
2020
QWidget(Parent), m_ScaleFactor(1)
2121
{
22-
//
23-
// OpaquePaintEvent indicates that we do not need an auto-filled
24-
// background. It is used for widgets filling the whole paint area
25-
// with its own opaque colors and need to draw its contents quickly.
26-
// This applies for a capture widget.
27-
//
2822
this->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
2923
this->setCursor(Qt::OpenHandCursor);
3024
}

demo/demo.qrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,12 @@
2626
<file>images/zoom_in.svg</file>
2727
<file>images/zoom_out.svg</file>
2828
<file>images/zoom_out_map.svg</file>
29+
<file>images/ads_tile_blue.svg</file>
30+
<file>images/ads_tile_blue_light.svg</file>
31+
<file>images/ads_tile_green.svg</file>
32+
<file>images/ads_tile_orange.svg</file>
33+
<file>images/photo.svg</file>
34+
<file>images/crop_original.svg</file>
35+
<file>images/panorama.svg</file>
2936
</qresource>
3037
</RCC>

demo/images/ads_icon.svg

Lines changed: 10 additions & 76 deletions
Loading

demo/images/ads_icon2.svg

Lines changed: 13 additions & 0 deletions
Loading

demo/images/ads_logo.svg

Lines changed: 11 additions & 87 deletions
Loading

0 commit comments

Comments
 (0)