Spreadsheet: add menu action 'Configuration table...'

To make it easy for user to create dynamically switchable configuration
tables using spreadsheet.
This commit is contained in:
Zheng, Lei
2019-12-28 09:21:32 +08:00
committed by Chris Hennes
parent 830bd52af0
commit 7ebb142b2c
6 changed files with 527 additions and 0 deletions

View File

@@ -48,6 +48,7 @@
#include "LineEdit.h"
#include "PropertiesDialog.h"
#include "DlgBindSheet.h"
#include "DlgSheetConf.h"
using namespace SpreadsheetGui;
using namespace Spreadsheet;
@@ -183,6 +184,10 @@ SheetTableView::SheetTableView(QWidget *parent)
connect(actionBind, SIGNAL(triggered()), this, SLOT(onBind()));
contextMenu->addAction(actionBind);
QAction *actionConf = new QAction(tr("Configuration table..."),this);
connect(actionConf, SIGNAL(triggered()), this, SLOT(onConfSetup()));
contextMenu->addAction(actionConf);
horizontalHeader()->addAction(actionBind);
verticalHeader()->addAction(actionBind);
@@ -222,6 +227,14 @@ void SheetTableView::onBind() {
}
}
void SheetTableView::onConfSetup() {
auto ranges = selectedRanges();
if(ranges.empty())
return;
DlgSheetConf dlg(sheet,ranges.back(),this);
dlg.exec();
}
void SheetTableView::cellProperties()
{
std::unique_ptr<PropertiesDialog> dialog(new PropertiesDialog(sheet, selectedRanges(), this));