6#include <QtCore/QtGlobal>
7#if QT_VERSION >= 0x050000
8#include <QtWidgets/QSystemTrayIcon>
10#include <QtGui/QSystemTrayIcon>
60 I_ASSIGN(m_mainGuiCompPtr,
"MainGui",
"Gui object shown as main window",
false,
"MainGui");
61 I_ASSIGN(m_allowApplicationCloseCompPtr,
"AllowClose",
"Controls closing of the application",
false,
"AllowClose");
62 I_ASSIGN_TO(m_allowApplicationCloseModelCompPtr, m_allowApplicationCloseCompPtr,
false);
63 I_ASSIGN(m_trayIconCommandsCompPtr,
"TrayIconsCommands",
"Provider of tray icons commands. The commands are shown in the menu of the system tray",
false,
"TrayIconsCommands");
64 I_ASSIGN(m_frameSpaceSizeAttrPtr,
"FrameSpaceSize",
"Number of pixels will be added on the all window sides",
false, 9);
65 I_ASSIGN(m_uiStartModeAttrPtr,
"UiStartMode",
"UI mode by application start up.\n0 - normal\n1 - full screen\n2 - minimized\n3 - maximized",
false, 0);
66 I_ASSIGN(m_useMenuIconsOnMacAttrPtr,
"UseMenuIconsOnMac",
"If enabled, the menu icons will be used in the application's menu bar on Mac OS",
true,
false);
67 I_ASSIGN(m_useTrayIconAttrPtr,
"UseTrayIcon",
"If enabled, the tray icon for the application will be used",
true,
false);
68 I_ASSIGN(m_trayIconToolTip,
"TrayIconToolTip",
"This property holds the tooltip for the system tray entry \n Note: On some systems, the tooltip's length is limited. The tooltip will be truncated if necessary.",
false,
"");
69 I_ASSIGN(m_useFullScreenBorderOnWindowsAttrPtr,
"UseFullScreenBorderOnWindows",
"If enabled, 1-pixel border will be created by Windows in full screen mode",
true,
false);
79 virtual int Execute(
int argc,
char** argv)
override;
93 template <
class InterfaceType>
106 int messageCategory = -1,
116 void UpdateMainWidgetDecorations();
118 void ShowFullScreen();
122 void OnEventLoopStarted();
130 I_REF(
imod::IModel, m_allowApplicationCloseModelCompPtr);
132 I_ATTR(
int, m_frameSpaceSizeAttrPtr);
133 I_ATTR(
int, m_uiStartModeAttrPtr);
134 I_ATTR(
bool, m_useMenuIconsOnMacAttrPtr);
135 I_ATTR(
bool, m_useTrayIconAttrPtr);
142 I_ATTR(
bool, m_useFullScreenBorderOnWindowsAttrPtr);
Interface for the main entry point of a component-based application.
Interface for a provider of the heriarchical commands.
Common interface for a message container consuming information objects (messages).
Common interface for model objects, that supports Model/Observer design pattern.
Basic implementation for a single model observer with binding to concrete data object interface.
Interface for objects which can be enabled/disabled.
Standard component for a Qt based GUI application.
virtual bool IsMessageSupported(int messageCategory=-1, int messageId=-1, const istd::IInformationProvider *messagePtr=NULL) const override
Check if a message is supported by this consumer.
virtual void AddMessage(const MessagePtr &messagePtr) override
Adds a message to this consumer.
TrayMessages(CGuiApplicationComp &parent)
Standard component for a Qt based GUI application.
TrayMessages m_trayMessages
virtual void OnUpdate(const istd::IChangeable::ChangeSet &changeSet) override
Called on update of observed model.
virtual bool InitializeApplication(int argc, char **argv) override
Initialize the application object.
virtual const iqtgui::IGuiObject * GetApplicationGui() const override
Get the main UI object of the application.
QRect m_lastWidgetGeometry
imod::TSingleModelObserverBase< iprm::IEnableableParam > BaseClass2
istd::TDelPtr< QSystemTrayIcon > m_trayIconPtr
virtual bool eventFilter(QObject *obj, QEvent *ev) override
virtual void OnComponentDestroyed() override
Qt::WindowFlags m_defaultWidgetFlags
virtual QString GetHelpText() const override
Get information about the possible command line arguments of this application.
CApplicationCompBase BaseClass
static InterfaceType * ExtractTrayMessages(CGuiApplicationComp &component)
I_TEXTATTR(m_trayIconToolTip)
virtual int Execute(int argc, char **argv) override
Start execution loop of the application.
istd::TDelPtr< QWidget > m_mainWidgetPtr
void OnEventLoopStartedSignal()
Interface for Qt based application with GUI.
Common interface for GUI objects used in ACF component context.
Set of change flags (its IDs).
Pointer wrapper providing automatic deleting pointed object during destruction.
Shared ownership smart pointer for interface types.
Standard GUI specific interfaces and components based on Qt.