update
This commit is contained in:
parent
cf9af911b8
commit
26821f9543
|
@ -33,7 +33,7 @@ void IntDelegate::updateEditorGeometry(QWidget* editor, const QStyleOptionViewIt
|
|||
}
|
||||
|
||||
#include "TranslateBasic.h"
|
||||
void SequenceView::currentRuleRefresh(const QModelIndex& idx)
|
||||
void SequenceRulesView::currentRuleRefresh(const QModelIndex& idx)
|
||||
{
|
||||
auto new_inst = _rule_sequence.at(idx.row());
|
||||
auto rule_insv = std::dynamic_pointer_cast<AbstractExtractor>(new_inst);
|
||||
|
@ -59,7 +59,7 @@ void SequenceView::currentRuleRefresh(const QModelIndex& idx)
|
|||
this->resizeColumnsToContents();
|
||||
}
|
||||
|
||||
void SequenceView::peersRuleChanged(const QModelIndex& idx)
|
||||
void SequenceRulesView::peersRuleChanged(const QModelIndex& idx)
|
||||
{
|
||||
auto rule_idx = idx.sibling(idx.row(), 3);
|
||||
auto rule_nm = base->extactors()[rule_idx.data(Qt::DisplayRole).toString()];
|
||||
|
@ -70,7 +70,7 @@ void SequenceView::peersRuleChanged(const QModelIndex& idx)
|
|||
}
|
||||
|
||||
#include <QItemSelectionModel>
|
||||
SequenceView::SequenceView(QWidget* p /*= nullptr*/)
|
||||
SequenceRulesView::SequenceRulesView(QWidget* p /*= nullptr*/)
|
||||
:QTableView(p),
|
||||
_sequence_model(new QStandardItemModel),
|
||||
base(std::make_shared<TranslateBasic>())
|
||||
|
@ -87,28 +87,29 @@ SequenceView::SequenceView(QWidget* p /*= nullptr*/)
|
|||
this->setItemDelegateForColumn(3, rule_delegate);
|
||||
|
||||
this->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(this, &QTableView::customContextMenuRequested, this, &SequenceView::customTranslateRuleEdit);
|
||||
connect(rule_delegate, &RuleSelectDelegate::dataChanged, this, &SequenceView::peersRuleChanged);
|
||||
connect(int_delegate, &IntDelegate::valueChanged, this, &SequenceView::currentRuleRefresh);
|
||||
connect(this, &QTableView::customContextMenuRequested, this, &SequenceRulesView::customTranslateRuleEdit);
|
||||
connect(rule_delegate, &RuleSelectDelegate::dataChanged, this, &SequenceRulesView::peersRuleChanged);
|
||||
connect(int_delegate, &IntDelegate::valueChanged, this, &SequenceRulesView::currentRuleRefresh);
|
||||
|
||||
auto select_model = this->selectionModel();
|
||||
connect(select_model, &QItemSelectionModel::currentRowChanged, [=](const QModelIndex& curr) {
|
||||
if (!curr.isValid())
|
||||
return;
|
||||
|
||||
emit this->currentRuleChanged(_rule_sequence[curr.row()]); });
|
||||
emit this->currentRuleChanged(_rule_sequence[curr.row()]);
|
||||
});
|
||||
}
|
||||
|
||||
#include <QMenu>
|
||||
void SequenceView::customTranslateRuleEdit(const QPoint& pos)
|
||||
void SequenceRulesView::customTranslateRuleEdit(const QPoint& pos)
|
||||
{
|
||||
QMenu immediate;
|
||||
immediate.addAction(u8"Add Unit", this, &SequenceView::addTranslateUnit);
|
||||
immediate.addAction(u8"Remove Unit", this, &SequenceView::removeTranslateUnit);
|
||||
immediate.addAction(u8"Add Unit", this, &SequenceRulesView::addTranslateUnit);
|
||||
immediate.addAction(u8"Remove Unit", this, &SequenceRulesView::removeTranslateUnit);
|
||||
immediate.exec(this->mapToGlobal(pos));
|
||||
}
|
||||
|
||||
void SequenceView::addTranslateUnit()
|
||||
void SequenceRulesView::addTranslateUnit()
|
||||
{
|
||||
auto row_cnt = this->_sequence_model->rowCount();
|
||||
|
||||
|
@ -134,7 +135,7 @@ void SequenceView::addTranslateUnit()
|
|||
this->resizeColumnsToContents();
|
||||
}
|
||||
|
||||
void SequenceView::removeTranslateUnit()
|
||||
void SequenceRulesView::removeTranslateUnit()
|
||||
{
|
||||
auto idx_curr = this->currentIndex();
|
||||
if (!idx_curr.isValid())
|
||||
|
|
|
@ -69,7 +69,7 @@ public:
|
|||
/// <summary>
|
||||
/// ÐòÁл¯¹æÔòÊÓͼ
|
||||
/// </summary>
|
||||
class SequenceView : public QTableView {
|
||||
class SequenceRulesView : public QTableView {
|
||||
Q_OBJECT
|
||||
private:
|
||||
QStandardItemModel* const _sequence_model;
|
||||
|
@ -84,7 +84,7 @@ public:
|
|||
void peersRuleChanged(const QModelIndex &idx_rule);
|
||||
|
||||
public:
|
||||
SequenceView(QWidget* p = nullptr);
|
||||
SequenceRulesView(QWidget* p = nullptr);
|
||||
|
||||
void customTranslateRuleEdit(const QPoint& pos);
|
||||
void addTranslateUnit();
|
||||
|
|
|
@ -10,7 +10,7 @@ int main(int argc, char *argv[])
|
|||
{
|
||||
QApplication app(argc, argv);
|
||||
|
||||
SequenceView v;
|
||||
SequenceRulesView v;
|
||||
v.show();
|
||||
|
||||
return app.exec();
|
||||
|
|
Loading…
Reference in New Issue