| #pragma once |
| |
| #ifndef TW_POPUP_INCLUDED |
| #define TW_POPUP_INCLUDED |
| |
| #include "tw/tw.h" |
| |
| class DVAPI TPopup : public TWidget { |
| protected: |
| bool m_isOpen; |
| bool m_isMenu; |
| bool m_hasCaption; |
| bool m_isResizable; |
| bool m_isTopMost; |
| virtual void create(); |
| std::wstring m_caption; |
| |
| public: |
| TPopup(TWidget *parent, std::string name, bool hasCaption = true, |
| bool isResizable = true, bool isTopMost = false); |
| ~TPopup(); |
| |
| virtual void openPopup(); |
| virtual void openPopup(const TPoint &pos); |
| virtual void openPopup(const TDimension &size); |
| virtual void closePopup(); |
| |
| virtual void setGeometry(const TRect &rect); |
| |
| bool onNcPaint(bool is_active, const TDimension &window_size, |
| const TRect &caption_rect); |
| |
| |
| virtual bool onClose() { return true; } |
| virtual void onOpen() {} |
| |
| bool isOpen() { return m_isOpen; }; |
| |
| bool isMenu() const { return m_isMenu; } |
| |
| bool hasCaption() const { return m_hasCaption; } |
| |
| bool isResizable() const { return m_isResizable; } |
| bool isTopMost() const { return m_isTopMost; } |
| |
| void setCaption(const std::string &name); |
| void setCaption(const std::wstring &name); |
| |
| std::wstring getCaption() const { return m_caption; }; |
| |
| virtual TDimension getPreferredSize() const; |
| virtual TDimension getMinimumSize() const { return TDimension(1, 1); }; |
| virtual TDimension getMaximumSize() const { |
| return TDimension(32768, 32768); |
| }; |
| }; |
| |
| class DVAPI TModalPopup : public TPopup { |
| private: |
| bool m_shellWasDisabled; |
| bool m_doQuit; |
| |
| protected: |
| virtual void create(); |
| |
| public: |
| TModalPopup(TWidget *parent, std::string name, bool hasCaption = true, |
| bool isResizable = true, bool isTopMost = true); |
| ~TModalPopup(); |
| |
| |
| virtual void openPopup(); |
| virtual void openPopup(const TDimension &size); |
| virtual void openPopup(const TPoint &pos); |
| virtual void closePopup(); |
| |
| static int getTitlebarHeight(); |
| }; |
| |
| #endif |