12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #pragma once
- #include "Common.h"
- class WindowAppUiView;
- class SelectWidget;
- class VButton;
- class VLabel;
- class VLineEdit;
- class WindowRuntimeView : public QWidget
- {
- Q_OBJECT
- public:
- WindowRuntimeView(QWidget *parent);
- ~WindowRuntimeView();
- // 从设计页面中拷贝
- bool copyFrom(WindowAppUiView* pDesignView);
- protected:
- // 初始化Logo贴图
- void initLogoImage();
- // VButton的点击处理
- void onButtonClicked(VButton* pClickButton);
- // 绘制界面背景
- void paintEvent(QPaintEvent*) override;
- //========================================================
- // 复杂控件同步相关函数
- // 解析复杂控件传入的扩展属性(用于执行扩展属性中的数值链接同步)
- bool parseComplexPropertyEx(QWidget* pWidget, CONTROL_PROPERTY_EX* propertyEx);
- // 解析Datalink信息
- bool parseDatalink(DataLink& dataLink, VARIABLE*& pVar);
- // 自定义控件的槽函数
- protected slots:
- // 控件点击事件的总体调度
- void slotControlClickedDispatcher();
- //==========================================================
- // 用于控件同步的消息
- // 当Edit控件内容变更时
- void onVEditChanged(const QString& strText);
- // 当Value控件内容变更时
- void onValueControlChanged(const QString& strText);
- // ComboBox变更消息
- void onVComboChanged(const int nIndex);
- // ListBox变更消息
- void onVListChanged(const int nRow);
- // RadioBox变更消息
- void onVRadioChanged(bool checked);
- // CheckBox变更消息
- void onVCheckChanged(int state);
- // 执行控件的首次同步
- void doFirstSync(QWidget* pUiControl, VALUE_TYPE controlType, const VARIABLE* pVariable = nullptr);
- protected:
- // Logo 贴图
- QPixmap* m_pLogoImage;
- QList<SelectWidget*> m_pControls;
- };
|