8 #include <QEnableSharedFromThis> 19 class ProjectInfoDialog;
22 class ProjectGui :
public QObject,
public QEnableSharedFromThis<ProjectGui>
30 bool isLoaded()
const;
31 bool isFastLoaded()
const;
32 QSharedPointer<AbstractProject> project()
const;
35 bool save(
bool autosave =
false);
38 int tabWidgetIndex()
const;
39 void setTabWidgetIndex(
int tabWidgetIndex);
40 QString projectGuiLabel()
const;
41 QString projectName()
const;
42 void setLoaded(
bool isLoaded);
43 QString lastError()
const;
44 int autosaveTimerInterval()
const;
45 void setAutosaveTimerInterval(
int value);
46 void showProjectContextMenue(
const QPoint& globalPosition)
const;
47 void setDialogPositionOffset(
const QPoint &dialogPoistion);
50 QTimer* _autosaveTimer =
nullptr;
51 int _autosaveTimerInterval;
53 void showProjectChangedByExternalDialog();
56 QSharedPointer<AbstractProject> _project;
57 QMenu* _contextMenu =
nullptr;
59 bool _isLoaded =
false;
60 int _tabWidgetIndex = -1;
61 QString _projectGuiLabel;
64 bool _domChanged =
false;
66 QPoint _dialogPositionOffset;
67 QPointer<QDialog> _projectInfoDialog;
70 void projectGuiLabelChanged(QSharedPointer<ProjectGui> projectGui);
71 void projectLoaded(QSharedPointer<ProjectGui> projectGui);
72 void projectUnloaded(QSharedPointer<ProjectGui> projectGui);
76 void onLoadAllTrigger();
77 void onUnloadTrigger();
78 void onUnloadAllTrigger();
80 void onSaveAllTrigger();
81 void onRemoveTrigger();
82 void onDeleteTrigger();
83 void onFastLoad(
bool state);
84 void showProjectInfo();
86 void onUnloadAllExceptThisTrigger();
87 void onUnloadAllExceptVisibleTrigger();
90 void onAutosaveTimeout();
91 void onMainWindowActivationChanged();
92 bool reloadDomDocument();
93 void onItemViewSceneChanged();
94 void onExternDomChanged();
95 void onStateChanged();
96 void onSearchProject();
98 #endif // PROJECT_GUI_H Definition: item_origin_visualizer.h:10
Definition: item_view.h:12
Definition: project_changed_extern_dialog.h:21
Definition: abstract_workspace_gui.h:18
Definition: abstract_project.h:16
Definition: project_gui.h:22