新增根据帧数控制可见性
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -10,6 +10,7 @@
|
||||
#include <QTimer>
|
||||
|
||||
#include <QToolButton>
|
||||
#include <QSet>
|
||||
|
||||
class ToolOptionPopup;
|
||||
|
||||
@@ -34,7 +35,14 @@ class TimelineWidget;
|
||||
namespace gui {
|
||||
class BackgroundPropertySection;
|
||||
class EntityPropertySection;
|
||||
class ToolPropertySection;
|
||||
class EntityIntroPopup;
|
||||
class ResourceLibraryDock;
|
||||
}
|
||||
namespace core::library {
|
||||
class ResourceLibraryProvider;
|
||||
class FakeResourceLibraryProvider;
|
||||
class OnlineResourceLibraryProvider;
|
||||
}
|
||||
|
||||
class MainWindow : public QMainWindow {
|
||||
@@ -80,8 +88,10 @@ private:
|
||||
void createEditMenu(); // 编辑菜单
|
||||
void createHelpMenu(); // 帮助菜单
|
||||
void createViewMenu(); // 视图菜单
|
||||
void createWindowMenu(); // 窗口菜单(资源库等)
|
||||
void createProjectTreeDock();
|
||||
void createTimelineDock();
|
||||
void createResourceLibraryDock();
|
||||
void refreshProjectTree();
|
||||
void updateUiEnabledState(); // 更新“可用性/勾选/默认显隐”,不要做业务逻辑
|
||||
void applyUiMode(UiMode mode); // 统一控制 welcome/editor 两态的显隐策略
|
||||
@@ -99,6 +109,7 @@ private:
|
||||
void refreshPreviewPage();
|
||||
void refreshEditorPage();
|
||||
void applyTimelineFromProject();
|
||||
void updateTimelineTracks();
|
||||
void refreshDopeSheet();
|
||||
void setPreviewRequested(bool preview);
|
||||
void syncPreviewPlaybackBar();
|
||||
@@ -115,6 +126,7 @@ private:
|
||||
QStackedWidget* m_propertyStack = nullptr;
|
||||
gui::BackgroundPropertySection* m_bgPropertySection = nullptr;
|
||||
gui::EntityPropertySection* m_entityPropertySection = nullptr;
|
||||
gui::ToolPropertySection* m_toolPropertySection = nullptr;
|
||||
QToolButton* m_btnCreateEntity = nullptr;
|
||||
ToolOptionPopup* m_createEntityPopup = nullptr;
|
||||
QToolButton* m_btnToggleDepthOverlay = nullptr;
|
||||
@@ -125,6 +137,7 @@ private:
|
||||
QDockWidget* m_dockProjectTree = nullptr;
|
||||
QDockWidget* m_dockProperties = nullptr;
|
||||
QDockWidget* m_dockTimeline = nullptr;
|
||||
QDockWidget* m_dockResourceLibrary = nullptr;
|
||||
QTreeWidgetItem* m_itemBackground = nullptr;
|
||||
|
||||
QAction* m_actionUndo = nullptr;
|
||||
@@ -134,6 +147,7 @@ private:
|
||||
QAction* m_actionToggleProjectTree = nullptr;
|
||||
QAction* m_actionToggleProperties = nullptr;
|
||||
QAction* m_actionToggleTimeline = nullptr;
|
||||
QAction* m_actionToggleResourceLibrary = nullptr;
|
||||
QAction* m_actionEnterPreview = nullptr;
|
||||
QAction* m_actionBackToEditor = nullptr;
|
||||
QAction* m_actionCanvasWorldAxes = nullptr;
|
||||
@@ -152,13 +166,18 @@ private:
|
||||
QPointF m_lastWorldPos;
|
||||
int m_lastWorldZ = -1;
|
||||
bool m_hasSelectedEntity = false;
|
||||
bool m_hasSelectedTool = false;
|
||||
bool m_syncingTreeSelection = false;
|
||||
int m_selectedEntityDepth = 0;
|
||||
QPointF m_selectedEntityOrigin;
|
||||
QString m_selectedEntityId;
|
||||
QString m_selectedToolId;
|
||||
QString m_selectedEntityDisplayNameCache;
|
||||
QString m_bgAbsCache;
|
||||
QString m_bgSizeTextCache;
|
||||
// 项目树“眼睛”:仅用于画布临时隐藏(不持久化、不进时间轴)
|
||||
QSet<QString> m_tempHiddenEntityIds;
|
||||
QSet<QString> m_tempHiddenToolIds;
|
||||
void updateStatusBarText();
|
||||
void syncCreateEntityToolButtonTooltip();
|
||||
void refreshPropertyPanel();
|
||||
@@ -174,7 +193,7 @@ private:
|
||||
QTimer* m_playTimer = nullptr;
|
||||
TimelineWidget* m_timeline = nullptr;
|
||||
QToolButton* m_btnPlay = nullptr;
|
||||
QLabel* m_frameLabel = nullptr;
|
||||
QComboBox* m_schemeSelector = nullptr;
|
||||
// 时间轴区间选择(用于逐帧贴图动画)
|
||||
int m_timelineRangeStart = -1;
|
||||
int m_timelineRangeEnd = -1;
|
||||
@@ -187,4 +206,7 @@ private:
|
||||
QFrame* m_previewPlaybackBar = nullptr;
|
||||
QToolButton* m_previewBtnPlay = nullptr;
|
||||
QToolButton* m_previewBtnPause = nullptr;
|
||||
|
||||
gui::ResourceLibraryDock* m_resourceLibraryDockWidget = nullptr;
|
||||
core::library::ResourceLibraryProvider* m_resourceLibraryProvider = nullptr;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user