#pragma once #include "ui_WindowAppUiFrame.h" #include "WindowAppUiNavView.h" class WindowAppUiFrame : public QMainWindow { Q_OBJECT public: WindowAppUiFrame(const QString& strTitle, QWidget *parent = Q_NULLPTR); ~WindowAppUiFrame(); Ui::WindowAppUiFrame ui; // 获取本Frame下的View指针 WindowAppUiView* getUiView(); // 序列化支持 bool serialized(QDataStream& dataStream, bool in = true); // Tool Action 函数 private slots: //// LayoutToolbar - New //void onToolNew(); //// LayoutToolbar - MoveUp //void onToolMoveUp(); //// LayoutToolbar - MoveDown //void onToolMoveDown(); //// LayoutToolbar - Delete //void onToolDelete(); // 拆分条移动时(暂未使用) void slotSplitterMoved(int pos, int index); // 绘制界面 void paintEvent(QPaintEvent*) override; // 水平滚动条数值改变时 void horizontalValueChanged(int); // 垂直滚动条数值改变时 void verticalValueChanged(int); // 工具栏消息 private slots: // 排序最前 void onToolZorderTop(); // 排序最底 void onToolZorderBottom(); // 排序到前一个 void onToolZorderUp(); // 排序到后一个 void onToolZorderDown(); // Undo void onToolUndo(); // Redo void onToolRedo(); // UI界面设置 void onToolOption(); // Ui控件删除 void onToolDelete(); // UI界面发布至Runtime void onToolPublish(); protected: // UI元素初始化 void initUI(); // 初始化布局工具栏 void initLayoutToolbar(); //// 初始化控件工具栏 //void initControlToolbar(); //绘制水平刻度尺 void DrawHorizontalScale(QPainter* painter, QPen* pen); //绘制垂直刻度尺 void DrawVerticalScale(QPainter* painter, QPen* pen); // 刷新Undo/Redo按钮 void refreshUndoMenu(); protected: // 布局工具栏 QToolBar* m_layoutToolbar; // 垂直和水平滚动条的值 int m_nScrollValueH; int m_nScrollValueV; // 本UI界面的宽和高 int m_nUiViewHeight; int m_nUiViewWidth; protected: // Actions QAction* actionUndo; QAction* actionRedo; };