1 #include "XGUI_ViewWindow.h"
8 #include <QResizeEvent>
9 #include <QApplication>
13 XGUI_ViewWindow::XGUI_ViewWindow()
15 setMouseTracking(true);
16 QVBoxLayout* aLay = new QVBoxLayout(this);
17 aLay->setContentsMargins(BORDER_SIZE,BORDER_SIZE,BORDER_SIZE,BORDER_SIZE);
18 myViewPort = new QLabel(this);
19 aLay->addWidget(myViewPort);
20 myViewPort->setFrameStyle(QFrame::Raised);
21 myViewPort->setCursor(Qt::ArrowCursor);
22 myViewPort->setFrameShape(QFrame::Panel);
23 myViewPort->setPixmap(QPixmap(":pictures/ViewPort.png"));
24 myViewPort->setScaledContents(true);
26 myPicture = new QLabel(this);
27 aLay->addWidget(myPicture);
30 QStringList aPictures;
31 aPictures<<":pictures/occ_view_camera_dump.png"<<":pictures/occ_view_style_switch.png";
32 aPictures<<":pictures/occ_view_triedre.png"<<":pictures/occ_view_fitall.png";
33 aPictures<<":pictures/occ_view_fitarea.png"<<":pictures/occ_view_zoom.png";
34 aPictures<<":pictures/occ_view_pan.png"<<":pictures/occ_view_glpan.png";
35 aPictures<<":pictures/occ_view_rotate.png"<<":pictures/occ_view_front.png";
36 aPictures<<":pictures/occ_view_back.png"<<":pictures/occ_view_left.png";
37 aPictures<<":pictures/occ_view_right.png"<<":pictures/occ_view_top.png";
38 aPictures<<":pictures/occ_view_bottom.png"<<":pictures/occ_view_clone.png";
41 aTitles << "Dump view" << "Mouse style switch" << "Show trihedron" << "Fit all";
42 aTitles << "Fit area" << "Zoom" << "Panning" << "Global panning" << "Rotate";
43 aTitles << "Front" << "Back" << "Left" << "Right" << "Top" << "Bottom" << "Clone view";
45 aViewBar = new QToolBar(this);
46 //aViewBar->move(BORDER_SIZE, BORDER_SIZE);
49 for (int i = 0; i < aTitles.length(); i++) {
50 aBtn = new QAction(QIcon(aPictures.at(i)), aTitles.at(i), aViewBar);
51 aViewBar->addAction(aBtn);
54 aWindowBar = new QToolBar(this);
55 //aWindowBar->move(615,0);
57 aBtn = new QAction(aWindowBar);
58 aBtn->setIcon(QIcon(":pictures/wnd_minimize.png"));
59 aWindowBar->addAction(aBtn);
60 connect(aBtn, SIGNAL(triggered()), SLOT(onMinimize()));
61 connect(aBtn, SIGNAL(triggered()), SLOT(showMinimized()));
63 aBtn = new QAction(aWindowBar);
64 aBtn->setIcon(QIcon(":pictures/wnd_maximize.png"));
65 aWindowBar->addAction(aBtn);
66 connect(aBtn, SIGNAL(triggered()), SLOT(showMaximized()));
68 aBtn = new QAction(aWindowBar);
69 aBtn->setIcon(QIcon(":pictures/wnd_close.png"));
70 aWindowBar->addAction(aBtn);
71 connect(aBtn, SIGNAL(triggered()), SLOT(onClose()));
78 XGUI_ViewWindow::~XGUI_ViewWindow()
83 void XGUI_ViewWindow::resizeEvent(QResizeEvent* theEvent)
85 QSize aSize = theEvent->size();
86 QSize aWndBarSize = aWindowBar->sizeHint();
87 QSize aViewBarSize = aViewBar->sizeHint();
89 aWindowBar->move(aSize.width() - aWndBarSize.width() - BORDER_SIZE, BORDER_SIZE);
90 aViewBar->setGeometry(BORDER_SIZE, BORDER_SIZE, aSize.width() - aWndBarSize.width(), aViewBarSize.height());
94 void XGUI_ViewWindow::changeEvent(QEvent* theEvent)
97 if (theEvent->type() == QEvent::WindowStateChange) {
99 parentWidget()->setGeometry(0, 0, 110, 80);
109 QWidget::changeEvent(theEvent);
112 void XGUI_ViewWindow::onClose()
115 parentWidget()->close();
119 void XGUI_ViewWindow::enterEvent(QEvent* theEvent)
126 void XGUI_ViewWindow::leaveEvent(QEvent* theEvent)
133 void XGUI_ViewWindow::onMinimize()
135 QPixmap aPMap = grab();
136 myPicture->setPixmap(aPMap.scaled(110, 80));