3#include <Foundation/Communication/Event.h>
4#include <Foundation/Strings/String.h>
5#include <Foundation/Types/Status.h>
6#include <GuiFoundation/GuiFoundationDLL.h>
7#include <GuiFoundation/UIServices/UIServices.moc.h>
8#include <ToolsFoundation/Document/DocumentManager.h>
47 virtual plString GetWindowIcon()
const;
48 virtual plString GetDisplayName()
const {
return GetUniqueName(); }
49 virtual plString GetDisplayNameShort()
const;
51 const char* GetUniqueName()
const {
return m_sUniqueName; }
56 plDocument* GetDocument()
const {
return m_pDocument; }
60 bool CanCloseWindow();
61 void CloseDocumentWindow();
63 void ScheduleRestoreWindowLayout();
65 bool IsVisibleInContainer()
const {
return m_bIsVisibleInContainer; }
66 void SetTargetFramerate(plInt16 iTargetFPS);
70 virtual void RequestWindowTabContextMenu(
const QPoint& globalPos);
84 virtual void CreateImageCapture(
const char* szOutputPath);
90 virtual void showEvent(QShowEvent* event)
override;
91 virtual void hideEvent(QHideEvent* event)
override;
92 virtual bool event(QEvent* event)
override;
93 virtual bool eventFilter(QObject* obj, QEvent* e)
override;
95 void FinishWindowCreation();
98 void SlotRestoreLayout();
100 void SlotQueuedDelete();
101 void OnPermanentGlobalStatusClicked(
bool);
102 void OnStatusBarMessageChanged(
const QString& sNewText);
105 void SaveWindowLayout();
106 void RestoreWindowLayout();
107 void DisableWindowLayoutSaving();
109 void ShutdownDocumentWindow();
114 void SetVisibleInContainer(
bool bVisible);
116 bool m_bIsVisibleInContainer =
false;
117 bool m_bRedrawIsTriggered =
false;
118 bool m_bIsDrawingATM =
false;
119 bool m_bTriggerRedrawQueued =
false;
120 bool m_bAllowSaveWindowLayout =
true;
121 plInt16 m_iTargetFramerate = 0;
124 QLabel* m_pPermanentDocumentStatusText =
nullptr;
125 QToolButton* m_pPermanentGlobalStatusButton =
nullptr;
134 virtual void InternalDeleteThis() {
delete this; }
135 virtual bool InternalCanCloseWindow();
136 virtual void InternalCloseDocumentWindow();
137 virtual void InternalVisibleInContainerChanged(
bool bVisible) {}
138 virtual void InternalRedraw() {}
Definition DynamicArray.h:81
Container window that hosts documents and applications panels.
Definition ContainerWindow.moc.h:28
Base class for all document windows. Handles the most basic document window management.
Definition DocumentWindow.moc.h:34
virtual const char * GetWindowLayoutGroupName() const =0
The 'GroupName' is used for serializing window layouts. It should be unique among different window ty...
static bool s_bAllowRestoreWindowLayout
In 'safe' mode we want to prevent the documents from using the stored window layout state.
Definition DocumentWindow.moc.h:87
Definition Declarations.h:54
Definition DocumentManager.h:65
Definition DocumentWindow.moc.h:19
Type
Definition DocumentWindow.moc.h:21
@ WindowClosed
Sent AFTER the window has been deleted. The pointer is given, but not valid anymore!
Definition DocumentWindow.moc.h:23
@ BeforeRedraw
Sent shortly before the content of the window is being redrawn.
Definition DocumentWindow.moc.h:25
@ WindowClosing
Sent shortly before the window is being deleted.
Definition DocumentWindow.moc.h:22
@ WindowDecorationChanged
Window title or icon has changed.
Definition DocumentWindow.moc.h:24
Definition UIServices.moc.h:23
Definition UIServices.moc.h:49
An plResult with an additional message for the reason of failure.
Definition Status.h:12
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12
PL_ALWAYS_INLINE static constexpr plTime MakeFromSeconds(double fSeconds)
Creates an instance of plTime that was initialized from seconds.
Definition Time.h:30