QBinaryTranslate/TranslateUI/WrapConfigs.h

45 lines
1.2 KiB
C
Raw Normal View History

2025-08-10 09:02:18 +00:00
#pragma once
#include <QWidget>
#include <QStandardItemModel>
#include <QTableView>
#include <QStackedWidget>
#include <QStyledItemDelegate>
#include "TranslateBasic.h"
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0BCAD><EFBFBD><EFBFBD>
/// </summary>
class RuleSelectDelegate : public QStyledItemDelegate {
Q_OBJECT
private:
std::shared_ptr<TranslateBasic> _kernel;
public:
RuleSelectDelegate(std::shared_ptr<TranslateBasic> ins);
virtual QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
virtual void setEditorData(QWidget* editor, const QModelIndex& index) const override;
virtual void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const override;
virtual void updateEditorGeometry(QWidget* editor, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
};
class WrapConfigs : public QWidget {
private:
std::shared_ptr<TranslateBasic> _bind_base;
QTableView *const _alias_view;
QStandardItemModel *const _alias_model;
QStackedWidget *const _configurations;
public:
WrapConfigs(std::shared_ptr<TranslateBasic> _base, QWidget *p=nullptr);
void aliasReload();
void aliasAppend();
void aliasRemove();
void dataChanged(QStandardItem *cell);
};