1#ifndef DAAPPCONTROLLER_H
2#define DAAPPCONTROLLER_H
7#include <QScopedPointer>
8#include "DADataManageWidget.h"
9#include "DAWorkFlowGraphicsScene.h"
10#include "DAFigureElementSelection.h"
12#include "numpy/DAPyDType.h"
32class DAProjectInterface;
34class DAAppDockingArea;
37class DAAppDataManager;
38class DASettingContainerWidget;
39class DADataOperateOfDataFrameWidget;
40class DAWorkFlowOperateWidget;
41class DADataOperateWidget;
42class DAAppChartOperateWidget;
43class DADataManageWidget;
46class DADataOperatePageWidget;
47class DAAppSettingDialog;
49class DAWorkFlowEditWidget;
62 LastFocusedNoneOptWidget = 0x00,
101 bool isShowMessage = true);
133 bool importData(const QString& filePath, const QVariantMap& args, QString* err =
nullptr);
154 void onProjectDirtyStateChanged(
bool isdirty);
158 void onActionAppendProjectTriggered();
161 void onActionSettingTriggered();
163 void onActionPluginManagerTriggered(
bool on);
165 void onActionAboutTriggered();
170 void onActionAddDataTriggered();
172 void onActionRemoveDataTriggered();
177 void onActionAddFigureTriggered();
179 void onActionFigureResizeChartTriggered(
bool on);
181 void onActionFigureNewXYAxisTriggered();
183 void onActionChartAddCurveTriggered();
185 void onActionChartAddScatterTriggered();
187 void onActionChartAddBarTriggered();
189 void onActionactionChartAddErrorBarTriggered();
191 void onActionChartAddBoxPlotTriggered();
193 void onActionChartAddCloudMapTriggered();
198 void onActionChartEnableGridTriggered(
bool on);
200 void onActionChartEnableGridXTriggered(
bool on);
202 void onActionChartEnableGridYTriggered(
bool on);
204 void onActionChartEnableGridXMinEnableTriggered(
bool on);
206 void onActionChartEnableGridYMinTriggered(
bool on);
208 void onActionChartEnableZoomTriggered(
bool on);
210 void onActionChartZoomInTriggered();
212 void onActionChartZoomOutTriggered();
214 void onActionChartZoomAllTriggered();
216 void onActionChartEnablePanTriggered(
bool on);
218 void onActionChartEnablePickerCrossTriggered(
bool on);
220 void onActionChartEnablePickerYTriggered(
bool on);
222 void onActionGroupChartPickerTextRegionTriggered(QAction* act);
224 void onActionChartEnablePickerXYTriggered(
bool on);
226 void onActionChartLinkAllPickerEnabledTriggered(
bool on);
228 void onActionChartYPickerShowXValueEnabledTriggered(
bool on);
230 void onActionChartEnableLegendTriggered(
bool on);
232 void onActionGroupFigureThemeTriggered(QAction* act);
234 void onActionCopyFigureToClipboardTriggered();
239 void onActionRemoveRowTriggered();
241 void onActionRemoveColumnTriggered();
243 void onActionRemoveCellTriggered();
245 void onActionInsertRowTriggered();
247 void onActionInsertRowAboveTriggered();
249 void onActionInsertColumnRightTriggered();
251 void onActionInsertColumnLeftTriggered();
253 void onActionRenameColumnsTriggered();
256 void onComboxColumnTypesCurrentDTypeChanged(
const DA::DAPyDType& dt);
257 void onDataOperateDataFrameWidgetSelectTypeChanged(
const QList< int >& column,
DA::DAPyDType dt);
260 void onActionCastToNumTriggered();
262 void onActionCastToStringTriggered();
264 void onActionCastToDatetimeTriggered();
266 void onActionChangeToIndexTriggered();
272 void onActionShowWorkFlowAreaTriggered();
273 void onActionShowWorkFlowManagerAreaTriggered();
275 void onActionShowChartAreaTriggered();
276 void onActionShowChartManagerAreaTriggered();
278 void onActionShowDataAreaTriggered();
279 void onActionShowDataManagerAreaTriggered();
281 void onActionShowMessageLogViewTriggered();
283 void onActionSettingWidgetTriggered();
285 void onActionWorkflowViewMarkerTriggered(
bool on);
287 void onActionShowRightSideBarTriggered(
bool on);
289 void onActionShowLeftSideBarTriggered(
bool on);
294 void onActionNewWorkflowTriggered();
297 void onActionStartDrawRectTriggered(
bool on);
299 void onActionStartDrawTextTriggered(
bool on);
301 void onActionWorkflowLinkEnableTriggered(
bool on);
304 void onEditFontChanged(
const QFont& f);
305 void onEditFontColorChanged(
const QColor& c);
307 void onEditBrushChanged(
const QBrush& b);
308 void onEditPenChanged(
const QPen& p);
311 void onCurrentWorkflowFontChanged(
const QFont& f);
312 void onCurrentWorkflowFontColorChanged(
const QColor& c);
314 void onCurrentWorkflowShapeBackgroundBrushChanged(
const QBrush& b);
315 void onCurrentWorkflowShapeBorderPenChanged(
const QPen& p);
317 void onActionAddBackgroundPixmapTriggered();
319 void onActionLockBackgroundPixmapTriggered(
bool on);
321 void onActionEnableItemMoveWithBackgroundTriggered(
bool on);
323 void onActionWorkflowEnableItemLinkageMoveTriggered(
bool on);
325 void onActionItemGroupingTriggered();
327 void onActionItemUngroupTriggered();
331 void onActionExportWorkflowScenePNGTriggered();
333 void onActionWorkflowViewReadOnlyTriggered(
bool on);
336 void onActionRunCurrentWorkflowTriggered();
338 void onActionTerminateCurrentWorkflowTriggered();
343 void onActionGroupRibbonThemeTriggered(QAction* a);
348 void onWorkflowSceneSelectionItemChanged(QGraphicsItem* lastSelectItem);
351 void onWorkflowSceneitemsAdded(
DA::DAGraphicsScene* sc,
const QList< QGraphicsItem* >& its);
352 void onWorkflowSceneitemsRemoved(
DA::DAGraphicsScene* sc,
const QList< QGraphicsItem* >& its);
368 void onProjectSaved(
const QString& path);
369 void onProjectLoaded(
const QString& path);
380 void onFocusedDockWidgetChanged(ads::CDockWidget* old, ads::CDockWidget* now);
399 void onRecentFileSelected(
const QString& filePath);
406 void initConnection();
415 DAProjectInterface* mProject {
nullptr };
416 DAAppRibbonArea* mRibbon {
nullptr };
417 DAAppDockingArea* mDock {
nullptr };
418 DAAppCommand* mCommand {
nullptr };
419 DAAppActions* mActions {
nullptr };
420 DAAppDataManager* mDatas {
nullptr };
422 QStringList mFileReadFilters;
424 LastFocusedOpertateWidgets mLastFocusedOpertateWidget;
426 DAAppSettingDialog* mSettingDialog {
nullptr };
427 DAAppConfig* mConfig;
Definition AppMainWindow.h:28
这是一个scene的动作,DAGraphicsScene支持持有一个动作,这个动作可以捕获scene的所有界面事件
Definition DAAbstractGraphicsSceneAction.h:22
action管理
Definition DAAppActions.h:13
App的命令管理
Definition DAAppCommand.h:17
此类为本程序的设置类
Definition DAAppConfig.h:27
控制层负责逻辑的对接
Definition DAAppController.h:54
void open()
打开文件
Definition DAAppController.cpp:897
LastFocusedOpertateWidget
针对Operate窗口的最后焦点枚举,用于识别最后用户所在的操作窗口
Definition DAAppController.h:61
@ LastFocusedOnDataOpt
最后焦点在数据操作窗口
Definition DAAppController.h:64
@ LastFocusedOnChartOpt
最后焦点在绘图操作窗口
Definition DAAppController.h:65
@ LastFocusedOnWorkflowOpt
最后焦点在工作流操作窗口
Definition DAAppController.h:63
void initialize()
控制层初始化
Definition DAAppController.cpp:196
DAAppController & setAppDockingArea(DAAppDockingArea *dock)
设置dock
Definition DAAppController.cpp:144
DADataOperateWidget * getDataOperateWidget() const
获取数据操作窗口
Definition DAAppController.cpp:561
DADataManageWidget * getDataManageWidget() const
获取数据管理窗口
Definition DAAppController.cpp:579
bool isDirty() const
工程是否为脏
Definition DAAppController.cpp:420
void updateWindowTitle()
更新窗口标题
Definition DAAppController.cpp:447
static QString makeWindowTitle()
生成窗口标题
Definition DAAppController.cpp:461
AppMainWindow * app() const
获取app
Definition DAAppController.cpp:188
DAWorkFlowOperateWidget * getWorkFlowOperateWidget() const
获取工作流操作窗口
Definition DAAppController.cpp:552
DAAppController & setAppMainWindow(AppMainWindow *mainWindow)
设置AppMainWindow
Definition DAAppController.cpp:111
DAAppController & setAppCore(DAAppCore *core)
设置core
Definition DAAppController.cpp:122
bool openProjectFile(const QString &projectFilePath)
打开工程文件
Definition DAAppController.cpp:925
DAFigureWidget * getCurrentFigure()
获取当前的绘图
Definition DAAppController.cpp:587
DAAppController & setAppCommand(DAAppCommand *cmd)
设置AppCommand
Definition DAAppController.cpp:156
DAAppChartOperateWidget * getChartOperateWidget() const
获取绘图操作窗口
Definition DAAppController.cpp:570
QList< DAChartWidget * > getAllCharts() const
获取当前的所有图表
Definition DAAppController.cpp:610
QList< DAChartWidget * > needOperateCharts() const
获取需要操作的绘图
Definition DAAppController.cpp:640
DADataOperateOfDataFrameWidget * getCurrentDataFrameOperateWidget(bool checkDataOperateAreaFocused=true, bool isShowMessage=true)
获取当前dataframeOperateWidget,如果没有返回nullptr
Definition DAAppController.cpp:530
bool isLastFocusedOnChartOptWidget() const
判断当前是否是在绘图操作模式,就算绘图操作不在焦点,但绘图操作在前端,此函数也返回true
Definition DAAppController.cpp:669
DAAppController & setAppRibbonArea(DAAppRibbonArea *ribbon)
设置ribbon
Definition DAAppController.cpp:133
DAAppController & setAppDataManager(DAAppDataManager *d)
设置AppDataManager
Definition DAAppController.cpp:178
bool applyToCharts(const FpChartWidgetApply &fp)
给当前绘图应用方法
Definition DAAppController.cpp:625
void saveAs()
另存为
Definition DAAppController.cpp:493
DASettingContainerWidget * getSettingContainerWidget() const
获取设置窗口
Definition DAAppController.cpp:660
DAChartWidget * getCurrentChart() const
获取当前的图表
Definition DAAppController.cpp:601
bool importData(const QString &filePath, const QVariantMap &args, QString *err=nullptr)
导入数据
Definition DAAppController.cpp:434
void setDirty(bool on=true)
设置工程为脏
Definition DAAppController.cpp:409
std::function< bool(DAChartWidget *) > FpChartWidgetApply
批量应用绘图的函数指针
Definition DAAppController.h:74
bool isLastFocusedOnWorkflowOptWidget() const
判断当前是否是在工作流操作模式,就算工作流操作不在焦点,但工作流操作在前端,此函数也返回true
Definition DAAppController.cpp:678
bool isApplyToAllCharts() const
是否应用到所有绘图
Definition DAAppController.cpp:479
bool isLastFocusedOnDataOptWidget() const
判断当前是否是在数据操作模式,就算数据操作不在焦点,但工作流操作在前端,此函数也返回true
Definition DAAppController.cpp:687
DAAppController & setAppActions(DAAppActions *act)
设置AppActions
Definition DAAppController.cpp:167
DA的核心接口,作为单例存在
Definition DAAppCore.h:16
DA的变量管理类,da的变量统一由此类管理
Definition DAAppDataManager.h:19
负责docking窗口区域的管理,APP分两大区域-RibbonArea和DockArea DockArea包含所有的窗口
Definition DAAppDockingArea.h:43
App的Ribbon区域接口,负责ribbon层的管理和调度
Definition DAAppRibbonArea.h:118
数据操作的基类窗口,所有数据操作页面继承此窗口方便管理
Definition DADataOperatePageWidget.h:12
这是带着undostack的GraphicsScene 此QGraphicsScene支持:
Definition DAGraphicsScene.h:30
负责总体工程的接口
Definition DAProjectInterface.h:21
对numpy.dtype的封装
Definition DAPyDType.h:37
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44