Clear code.
--HG-- branch : develop
This commit is contained in:
parent
3cd7a115c4
commit
73e9f2c667
|
@ -36,13 +36,6 @@
|
||||||
#include <QTableWidget>
|
#include <QTableWidget>
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief
|
|
||||||
*
|
|
||||||
* @param doc
|
|
||||||
* @param parent
|
|
||||||
*/
|
|
||||||
VWidgetGroups::VWidgetGroups(VAbstractPattern *doc, QWidget *parent)
|
VWidgetGroups::VWidgetGroups(VAbstractPattern *doc, QWidget *parent)
|
||||||
: QWidget(parent),
|
: QWidget(parent),
|
||||||
ui(new Ui::VWidgetGroups),
|
ui(new Ui::VWidgetGroups),
|
||||||
|
@ -50,6 +43,7 @@ VWidgetGroups::VWidgetGroups(VAbstractPattern *doc, QWidget *parent)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
SCASSERT(doc != nullptr)
|
||||||
FillTable(doc->GetGroups());
|
FillTable(doc->GetGroups());
|
||||||
|
|
||||||
ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
|
ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
|
@ -60,39 +54,21 @@ VWidgetGroups::VWidgetGroups(VAbstractPattern *doc, QWidget *parent)
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
|
||||||
* @brief
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
VWidgetGroups::~VWidgetGroups()
|
VWidgetGroups::~VWidgetGroups()
|
||||||
{
|
{
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief
|
|
||||||
*set visibility and icon value
|
|
||||||
* @param id
|
|
||||||
* @param visible
|
|
||||||
* @param item
|
|
||||||
* @param openEye
|
|
||||||
* @param closedEye
|
|
||||||
*/
|
|
||||||
void VWidgetGroups::SetIconValue(quint32 id, bool visible, QTableWidgetItem *item) const
|
void VWidgetGroups::SetIconValue(quint32 id, bool visible, QTableWidgetItem *item) const
|
||||||
{
|
{
|
||||||
|
SCASSERT(item != nullptr)
|
||||||
|
|
||||||
doc->SetGroupVisivility(id, visible);
|
doc->SetGroupVisivility(id, visible);
|
||||||
(visible) ? item->setIcon(QIcon( QStringLiteral("://icon/16x16/open_eye.png")))
|
(visible) ? item->setIcon(QIcon(QStringLiteral("://icon/16x16/open_eye.png")))
|
||||||
: item->setIcon(QIcon(QStringLiteral("://icon/16x16/closed_eye.png")));
|
: item->setIcon(QIcon(QStringLiteral("://icon/16x16/closed_eye.png")));
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
|
||||||
* @brief
|
|
||||||
*
|
|
||||||
* @param row
|
|
||||||
* @param column
|
|
||||||
*/
|
|
||||||
void VWidgetGroups::GroupVisibilityChanged(int row, int column)
|
void VWidgetGroups::GroupVisibilityChanged(int row, int column)
|
||||||
{
|
{
|
||||||
if (column != 0)
|
if (column != 0)
|
||||||
|
@ -106,12 +82,6 @@ void VWidgetGroups::GroupVisibilityChanged(int row, int column)
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
|
||||||
* @brief
|
|
||||||
*
|
|
||||||
* @param row
|
|
||||||
* @param column
|
|
||||||
*/
|
|
||||||
void VWidgetGroups::RenameGroup(int row, int column)
|
void VWidgetGroups::RenameGroup(int row, int column)
|
||||||
{
|
{
|
||||||
if (column != 1)
|
if (column != 1)
|
||||||
|
@ -126,11 +96,6 @@ void VWidgetGroups::RenameGroup(int row, int column)
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
|
||||||
* @brief
|
|
||||||
*
|
|
||||||
* @param pos
|
|
||||||
*/
|
|
||||||
void VWidgetGroups::CtxMenu(const QPoint &pos)
|
void VWidgetGroups::CtxMenu(const QPoint &pos)
|
||||||
{
|
{
|
||||||
QTableWidgetItem *item = ui->tableWidget->itemAt(pos);
|
QTableWidgetItem *item = ui->tableWidget->itemAt(pos);
|
||||||
|
@ -144,46 +109,27 @@ void VWidgetGroups::CtxMenu(const QPoint &pos)
|
||||||
const quint32 id = item->data(Qt::UserRole).toUInt();
|
const quint32 id = item->data(Qt::UserRole).toUInt();
|
||||||
|
|
||||||
QScopedPointer<QMenu> menu(new QMenu());
|
QScopedPointer<QMenu> menu(new QMenu());
|
||||||
|
QAction *triggerVisibilityMenu = doc->GetGroupVisivility(id) ?
|
||||||
|
menu->addAction(QIcon(QStringLiteral("://icon/16x16/closed_eye.png")), tr("Hide")) :
|
||||||
|
menu->addAction(QIcon(QStringLiteral("://icon/16x16/open_eye.png")), tr("Show"));
|
||||||
|
|
||||||
QAction *actionRename = menu->addAction(tr("Rename"));
|
QAction *actionRename = menu->addAction(tr("Rename"));
|
||||||
QAction *actionDelete = menu->addAction(tr("Delete"));
|
QAction *actionDelete = menu->addAction(QIcon::fromTheme(editDeleteIcon), tr("Delete"));
|
||||||
|
menu->addSeparator();
|
||||||
|
QAction *actionHideAll = menu->addAction(tr("Hide All"));
|
||||||
|
QAction *actionShowAll = menu->addAction(tr("Show All"));
|
||||||
|
|
||||||
menu->addSeparator();//add separator to context menu
|
QAction *selectedAction = menu->exec(ui->tableWidget->viewport()->mapToGlobal(pos));
|
||||||
|
|
||||||
QAction *actionHideAll = menu->addAction(tr("Hide All"));//add to context menu
|
if (selectedAction == triggerVisibilityMenu)
|
||||||
QAction *actionShowAll = menu->addAction(tr("Show All"));//add to context menu
|
|
||||||
|
|
||||||
menu->addSeparator();//add separator
|
|
||||||
|
|
||||||
/*
|
|
||||||
* add two options to the context menu. Hide if visible row and
|
|
||||||
* Show if hidden one.
|
|
||||||
*/
|
|
||||||
QAction *hiddenMenu = new QAction(this);
|
|
||||||
QAction *showMenu = new QAction(this);
|
|
||||||
if (doc->GetGroupVisivility(id))
|
|
||||||
{
|
{
|
||||||
hiddenMenu = menu->addAction(tr("Hide"));
|
SetIconValue(id, not doc->GetGroupVisivility(id), item);
|
||||||
showMenu = menu->addAction(tr("Show"));
|
|
||||||
showMenu->setDisabled(true);
|
|
||||||
}
|
}
|
||||||
else
|
else if (selectedAction == actionRename)
|
||||||
{
|
{
|
||||||
showMenu = menu->addAction(tr("Show"));
|
QScopedPointer<VContainer> fackeContainer(new VContainer(qApp->TrVars(), qApp->patternUnitP(),
|
||||||
hiddenMenu = menu->addAction(tr("Hide"));
|
VContainer::UniqueNamespace()));
|
||||||
hiddenMenu->setDisabled(true);
|
QScopedPointer<DialogGroup> dialog(new DialogGroup(fackeContainer.data(), NULL_ID, this));
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QAction *selectedAction = menu->exec(
|
|
||||||
ui->tableWidget->viewport()->mapToGlobal(pos));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (selectedAction == actionRename)
|
|
||||||
{
|
|
||||||
DialogGroup *dialog = new DialogGroup(new VContainer(qApp->TrVars(), qApp->patternUnitP(),
|
|
||||||
VContainer::UniqueNamespace()),
|
|
||||||
NULL_ID, this);
|
|
||||||
dialog->SetName(doc->GetGroupName(id));
|
dialog->SetName(doc->GetGroupName(id));
|
||||||
const int result = dialog->exec();
|
const int result = dialog->exec();
|
||||||
|
|
||||||
|
@ -193,7 +139,6 @@ void VWidgetGroups::CtxMenu(const QPoint &pos)
|
||||||
item = ui->tableWidget->item(row, 1);
|
item = ui->tableWidget->item(row, 1);
|
||||||
item->setText(dialog->GetName());
|
item->setText(dialog->GetName());
|
||||||
}
|
}
|
||||||
delete dialog;
|
|
||||||
}
|
}
|
||||||
else if (selectedAction == actionDelete)
|
else if (selectedAction == actionDelete)
|
||||||
{
|
{
|
||||||
|
@ -201,56 +146,39 @@ void VWidgetGroups::CtxMenu(const QPoint &pos)
|
||||||
connect(delGroup, &DelGroup::UpdateGroups, this, &VWidgetGroups::UpdateGroups);
|
connect(delGroup, &DelGroup::UpdateGroups, this, &VWidgetGroups::UpdateGroups);
|
||||||
qApp->getUndoStack()->push(delGroup);
|
qApp->getUndoStack()->push(delGroup);
|
||||||
}
|
}
|
||||||
//all groups in "group" make unvisible
|
|
||||||
else if (selectedAction == actionHideAll)
|
else if (selectedAction == actionHideAll)
|
||||||
{
|
{//all groups in "group" make unvisible
|
||||||
for (int r = 0; r < ui->tableWidget->rowCount(); ++r)
|
for (int r = 0; r < ui->tableWidget->rowCount(); ++r)
|
||||||
{
|
{
|
||||||
QTableWidgetItem *rowItem = ui->tableWidget->item(r, 0);
|
QTableWidgetItem *rowItem = ui->tableWidget->item(r, 0);
|
||||||
quint32 i = rowItem->data(Qt::UserRole).toUInt();
|
quint32 i = rowItem->data(Qt::UserRole).toUInt();
|
||||||
SetIconValue(i, false, rowItem);
|
if (doc->GetGroupVisivility(i))
|
||||||
|
{
|
||||||
|
SetIconValue(i, false, rowItem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//all groups in "group" make visible
|
|
||||||
else if (selectedAction == actionShowAll)
|
else if (selectedAction == actionShowAll)
|
||||||
{
|
{//all groups in "group" make visible
|
||||||
for (int r = 0; r < ui->tableWidget->rowCount(); ++r)
|
for (int r = 0; r < ui->tableWidget->rowCount(); ++r)
|
||||||
{
|
{
|
||||||
QTableWidgetItem *rowItem = ui->tableWidget->item(r, 0);
|
QTableWidgetItem *rowItem = ui->tableWidget->item(r, 0);
|
||||||
quint32 i = rowItem->data(Qt::UserRole).toUInt();
|
quint32 i = rowItem->data(Qt::UserRole).toUInt();
|
||||||
SetIconValue(i, true, rowItem);
|
if (not doc->GetGroupVisivility(i))
|
||||||
|
{
|
||||||
|
SetIconValue(i, true, rowItem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//implement of Hide and Show selected row
|
|
||||||
else if (selectedAction == hiddenMenu)
|
|
||||||
{
|
|
||||||
SetIconValue(id, false, item);
|
|
||||||
}
|
|
||||||
else if (selectedAction == showMenu)
|
|
||||||
{
|
|
||||||
SetIconValue(id, true, item);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
|
||||||
* @brief
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void VWidgetGroups::UpdateGroups()
|
void VWidgetGroups::UpdateGroups()
|
||||||
{
|
{
|
||||||
FillTable(doc->GetGroups());
|
FillTable(doc->GetGroups());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
|
||||||
* @brief
|
|
||||||
*
|
|
||||||
* @param QMap<quint32
|
|
||||||
* @param QPair<QString
|
|
||||||
* @param groups
|
|
||||||
*/
|
|
||||||
void VWidgetGroups::FillTable(const QMap<quint32, QPair<QString, bool> > &groups)
|
void VWidgetGroups::FillTable(const QMap<quint32, QPair<QString, bool> > &groups)
|
||||||
{
|
{
|
||||||
ui->tableWidget->blockSignals(true);
|
ui->tableWidget->blockSignals(true);
|
||||||
|
|
|
@ -30,11 +30,9 @@
|
||||||
#define VWIDGETGROUPS_H
|
#define VWIDGETGROUPS_H
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QTableWidgetItem>
|
|
||||||
#include "../ifc/xml/vabstractpattern.h"
|
|
||||||
|
|
||||||
class QTableWidgetItem;
|
class QTableWidgetItem;
|
||||||
void SetIconValue(quint32, bool visible, QTableWidgetItem *item);
|
class VAbstractPattern;
|
||||||
|
|
||||||
namespace Ui
|
namespace Ui
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user