Describes system window. Could be used without form as well. In case of using window with a form, do not change events and try to avoid using any methods(they are for internal usage by form or if window is not associated with form) except probably for getters(but use form's methods instead). Release() should not delete self, it should destroy system window if exists. Delete window class instance should be handled by application object.
You can find more information in comments below.
class IWindow
{
public:
enum WINDOW_PROGRESS_TYPE // Destribe type of progress bar shown in task bar over the window
{
wptNone, // The progress bar is not visible
wptIndeterminate, // The progress bar shows indeterminate progress by running in marquee mode
wptNormal, // The normal state (green in the default theme)
wptPaused, // The paused state (yellow in the default theme)
wptError // The error state (red in the default theme)
};
public:
virtual bool isCreated() = 0; // Whether a real system window was created or not
virtual bool isVisible() = 0; // Whether window is visible
virtual bool isEnabled() = 0; // Whether window is enabled
virtual bool isAcceptDragAndDrop() = 0; // Whether window accepts drag and drop
virtual bool isAcceptDropFiles() = 0; // Whether window accepts files dropping
virtual String getCaption() = 0; // Return caption
virtual Rect getRect() = 0; // Return rectangle in screen coordinates
virtual Point getSize() = 0; // Return size
virtual Point getPosition() = 0; // Return position in screen coordinates
virtual int getLeft() = 0; // Return left position on screen
virtual int getTop() = 0; // Return top position on screen
virtual int getWidth() = 0; // Return width
virtual int getHeight() = 0; // Return height
virtual Rect getClientRect() = 0; // Return client area rectangle
virtual Point getClientSize() = 0; // Return client area size
virtual int getClientWidth() = 0; // Return client area width
virtual int getClientHeight() = 0; // Return client area height
virtual WINDOW_STATE getState() = 0; // Return state
virtual CREATE_PARAMS getCreateParams() = 0; // Return creation parameters
virtual IWindow *getParent() = 0; // Return parent window
// Since 7.0.0
virtual bool hasProgressBar() = 0; // Return whether task bar progress bar is available
virtual bool setVisible(const bool value) = 0; // Show/hide
virtual bool setEnabled(const bool value) = 0; // Enable/disable
virtual bool setAcceptDrawAndDrop(const bool value) = 0; // Set whether accepts drag and drop
virtual bool setAcceptDropFiles(const bool value) = 0; // Set whether accepts files dropping
virtual bool setCaption(const String &value) = 0; // Set caption
virtual bool setRect(const Rect &value) = 0; // Set rectangle in screen coordinates
virtual bool setSize(const Point &value) = 0; // Set size
virtual bool setPosition(const Point &value) = 0; // Set position on screen
virtual bool setLeft(const int value) = 0; // Set left position on screen
virtual bool setTop(const int value) = 0; // Set top position on screen
virtual bool setWidth(const int value) = 0; // Set width
virtual bool setHeight(const int value) = 0; // Set height
virtual bool setClientSize(const Point &value) = 0; // Set client area size
virtual bool setCursor(const CURSOR_TYPE value) = 0; // Set cursor
virtual bool setState(const WINDOW_STATE value) = 0; // Set state
virtual bool setCreateParams(const CREATE_PARAMS &value) = 0; // Set creation parameters. Has effect only before creation a real system window
virtual bool setParent(IWindow *value) = 0; // Set parent window. Has effect only before creation a real system window
virtual bool setModalResult(const MODAL_RESULT value) = 0; // Set modal result and close window. Only used when window was shown by ShowModal methods
virtual bool setWindowPosition(const WINDOW_POSITION value) = 0; // Set window position relative to screen or main window
// Since 7.0.0
virtual bool setProgressType(const WINDOW_PROGRESS_TYPE value) = 0; // Set task bar progress bar type if possible
virtual bool setProgressValue(const float value) = 0; // Set task bar progress bar value if possible. Should be in range 0..1
virtual bool Show() = 0; // Show
virtual MODAL_RESULT ShowModal() = 0; // Show as modal
virtual bool Hide() = 0; // Hide
virtual bool Create() = 0; // Create real window
virtual bool Create(IWindow *parent) = 0; // Create real window as child of specified one
virtual bool Create(const CREATE_PARAMS ¶ms) = 0; // Create real window with specified parameters
virtual bool Create(const CREATE_PARAMS ¶ms, IWindow *parent) = 0; // Create real window with specified parameters and parent window
virtual int CreateTimer(void(*callback)(void *param), void *param, const float interval) = 0; // Create timer. Interval is in seconds. Return unique identifier
virtual bool DeleteTimer(const int id) = 0; // Delete timer by identifier
virtual void DeleteTimers() = 0; // Delete all timers
virtual bool ResetTimer(const int id, const float interval) = 0; // Change timer interval and reset it
virtual bool CaptureMouse() = 0; // Capture mouse input
virtual void ReleaseMouseCapture() = 0; // Cancel capturing mouse input
virtual bool Maximize() = 0; // Maximize
virtual bool Minimize() = 0; // Minimize
virtual bool Restore() = 0; // Restore
virtual bool CopyStringToClipboard(const String &str) = 0; // Copy string to clipboard
virtual bool CopyStringFromClipboard() = 0; // Copy string from clipboard. If successful IWindowListener::OnPasteString() will be called immediately or later with the string to be inserted
virtual Rect ScreenToClient(const Rect &rect) = 0; // Convert from screen to client area coordinates
virtual Point ScreenToClient(const Point &pos) = 0; // Convert from screen to client area coordinates
virtual Rect ClientToScreen(const Rect &rect) = 0; // Convert from client area to screen coordinates
virtual Point ClientToScreen(const Point &pos) = 0; // Convert from client area to screen coordinates
virtual void Release() = 0; // Destroy instance. Usually you don't need to call this method
virtual IWindow *CreateInstance() = 0; // Create same class instance(without creating real window)
virtual IWindowService *QueryService() = 0; // Return service
// Since 3.0.0
virtual bool Close() = 0; // Close window(send close message)
// Since 7.0.0
virtual int GenerateID() = 0; // Generate new unique ID. Generation starts from 1 and increase value each call of this method. This ID is unique for given window only
};
Namespace: | nitisa |
Include: | Nitisa/Interfaces/IWindow.h |