void MainWindow::closeEvent(QCloseEvent *event)
{
- for (int i=0; i<tabWidget->count(); i++)
- tabWidget->removeTab(i);
-
event->accept();
}
aboutAct = new QAction(tr("&About"), this);
aboutAct->setStatusTip(tr("Show information about the application"));
connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));
+
+ connect(closeToolButton, SIGNAL(clicked()), this, SLOT(closeCurrentTab()));
}
void MainWindow::createMenus()
void MainWindow::createTabs()
{
tabWidget = new QTabWidget;
+ closeToolButton = new QToolButton();
+
+ closeToolButton->setIcon(QIcon(":/images/close.png"));
+ closeToolButton->setIconSize(QSize(14, 14));
+ closeToolButton->setShortcut(tr("Ctrl+W"));
+ closeToolButton->setToolTip(tr("Close tab (Ctrl+W)"));
+ tabWidget->setCornerWidget(closeToolButton);
// addMclTab();
// addLaserNavTab();
// addRobomonTuningTab();
addRobomonExplorerTab();
}
+
+void MainWindow::closeCurrentTab()
+{
+ int index = tabWidget->currentIndex();
+ if (index < 0)
+ return;
+ QWidget* tabPage = tabWidget->widget(index);
+ tabPage->close();
+ tabWidget->removeTab(index);
+ delete tabPage;
+}
class QAction;
class QMenu;
class QTabWidget;
+class QToolButton;
class MainWindow : public QMainWindow
{
void addRobomonTuningTab();
void addMclTab();
void addLaserNavTab();
+ void closeCurrentTab();
private:
void createTabs();
void writeSettings();
QTabWidget *tabWidget;
+ QToolButton *closeToolButton;
/* menus and tool bars */
QMenu *fileMenu;
#include <QtGui>
#include <QKeyEvent>
+#include <QCloseEvent>
#include <QEvent>
#include <QGLWidget>
grabKeyboard();
else if (event->type() == QEvent::FocusOut)
releaseKeyboard();
- else if (event->type() == QEvent::Close)
- closeEvent((QCloseEvent *)event);
else {
event->ignore();
return false;
event->accept();
}
-void SimMcl::closeEvent(QCloseEvent *event)
-{
- printf("tady koncim\n");
- generic_roboorte_destroy(&orte_generic);
- eb2008_roboorte_destroy(&orte_eb2008);
-}
-
/**********************************************************************
* ORTE
**********************************************************************/
bool event(QEvent *event);
void keyPressEvent(QKeyEvent *event);
void keyReleaseEvent(QKeyEvent *event);
- void closeEvent(QCloseEvent *event);
signals:
void laserDataReceivedSignal();