|
52 | 52 | #include <QInputDialog>
|
53 | 53 | #include <QRubberBand>
|
54 | 54 | #include <QPlainTextEdit>
|
| 55 | +#include <QTableWidget> |
55 | 56 |
|
56 | 57 | #include <QMap>
|
57 | 58 | #include <QElapsedTimer>
|
@@ -159,6 +160,45 @@ static ads::CDockWidget* createFileSystemTreeDockWidget(QMenu* ViewMenu)
|
159 | 160 | return DockWidget;
|
160 | 161 | }
|
161 | 162 |
|
| 163 | +//============================================================================ |
| 164 | +static ads::CDockWidget* createEditorWidget(QMenu* ViewMenu) |
| 165 | +{ |
| 166 | + static int EditorCount = 0; |
| 167 | + QPlainTextEdit* w = new QPlainTextEdit(); |
| 168 | + w->setPlaceholderText("This is an editor. If you close the editor, it will be " |
| 169 | + "deleted. Enter your text here."); |
| 170 | + w->setStyleSheet("border: none"); |
| 171 | + ads::CDockWidget* DockWidget = new ads::CDockWidget(QString("Editor %1").arg(EditorCount++)); |
| 172 | + DockWidget->setWidget(w); |
| 173 | + DockWidget->setIcon(svgIcon(":/adsdemo/images/edit.svg")); |
| 174 | + ViewMenu->addAction(DockWidget->toggleViewAction()); |
| 175 | + return DockWidget; |
| 176 | +} |
| 177 | + |
| 178 | +//============================================================================ |
| 179 | +static ads::CDockWidget* createTableWidget(QMenu* ViewMenu) |
| 180 | +{ |
| 181 | + static int TableCount = 0; |
| 182 | + QTableWidget* w = new QTableWidget(); |
| 183 | + ads::CDockWidget* DockWidget = new ads::CDockWidget(QString("Table %1").arg(TableCount++)); |
| 184 | + static int colCount = 5; |
| 185 | + static int rowCount = 30; |
| 186 | + w->setColumnCount(colCount); |
| 187 | + w->setRowCount(rowCount); |
| 188 | + for (int col = 0; col < colCount; ++col) |
| 189 | + { |
| 190 | + w->setHorizontalHeaderItem(col, new QTableWidgetItem(QString("Col %1").arg(col+1))); |
| 191 | + for (int row = 0; row < rowCount; ++row) |
| 192 | + { |
| 193 | + w->setItem(row, col, new QTableWidgetItem(QString("T %1-%2").arg(row + 1).arg(col+1))); |
| 194 | + } |
| 195 | + } |
| 196 | + DockWidget->setWidget(w); |
| 197 | + DockWidget->setIcon(svgIcon(":/adsdemo/images/grid_on.svg")); |
| 198 | + ViewMenu->addAction(DockWidget->toggleViewAction()); |
| 199 | + return DockWidget; |
| 200 | +} |
| 201 | + |
162 | 202 |
|
163 | 203 | //============================================================================
|
164 | 204 | /**
|
@@ -277,6 +317,11 @@ void MainWindowPrivate::createActions()
|
277 | 317 | a->setToolTip("Creates floating dynamic dockable editor windows that are deleted on close");
|
278 | 318 | a->setIcon(svgIcon(":/adsdemo/images/note_add.svg"));
|
279 | 319 | _this->connect(a, SIGNAL(triggered()), SLOT(createEditor()));
|
| 320 | + |
| 321 | + a = ui.toolBar->addAction("Create Table"); |
| 322 | + a->setToolTip("Creates floating dynamic dockable table with millions of entries"); |
| 323 | + a->setIcon(svgIcon(":/adsdemo/images/grid_on.svg")); |
| 324 | + _this->connect(a, SIGNAL(triggered()), SLOT(createTable())); |
280 | 325 | }
|
281 | 326 |
|
282 | 327 |
|
@@ -426,19 +471,19 @@ void CMainWindow::onViewToggled(bool Open)
|
426 | 471 | //============================================================================
|
427 | 472 | void CMainWindow::createEditor()
|
428 | 473 | {
|
429 |
| - static int EditorCount = 0; |
430 |
| - QPlainTextEdit* w = new QPlainTextEdit(); |
431 |
| - w->setPlaceholderText("This is an editor. If you close the editor, it will be " |
432 |
| - "deleted. Enter your text here."); |
433 |
| - w->setStyleSheet("border: none"); |
434 |
| - ads::CDockWidget* DockWidget = new ads::CDockWidget(QString("Editor %1").arg(EditorCount++)); |
435 |
| - DockWidget->setWidget(w); |
436 |
| - DockWidget->setToggleViewActionMode(ads::CDockWidget::ActionModeShow); |
437 |
| - DockWidget->setIcon(svgIcon(":/adsdemo/images/edit.svg")); |
| 474 | + auto DockWidget = createEditorWidget(d->ui.menuView); |
438 | 475 | DockWidget->setFeature(ads::CDockWidget::DockWidgetDeleteOnClose, true);
|
439 |
| - d->ui.menuView->addAction(DockWidget->toggleViewAction()); |
440 |
| - |
441 | 476 | auto FloatingWidget = d->DockManager->addDockWidgetFloating(DockWidget);
|
442 | 477 | FloatingWidget->move(QPoint(20, 20));
|
443 | 478 | }
|
444 | 479 |
|
| 480 | + |
| 481 | +//============================================================================ |
| 482 | +void CMainWindow::createTable() |
| 483 | +{ |
| 484 | + auto DockWidget = createTableWidget(d->ui.menuView); |
| 485 | + DockWidget->setFeature(ads::CDockWidget::DockWidgetDeleteOnClose, true); |
| 486 | + auto FloatingWidget = d->DockManager->addDockWidgetFloating(DockWidget); |
| 487 | + FloatingWidget->move(QPoint(40, 40)); |
| 488 | +} |
| 489 | + |
0 commit comments