X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a83e14751f3b4bb86da3ac2edea09c7f78f3ca3e..bc850f29e6513d10d7dba66996adaf66ba64ab77:/include/wx/window.h?ds=inline diff --git a/include/wx/window.h b/include/wx/window.h index 905327ad1a..6d6edb28f3 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -32,6 +32,11 @@ #include "wx/validate.h" // for wxDefaultValidator (always include it) +#if wxUSE_PALETTE + #include "wx/dcclient.h" + #include "wx/palette.h" +#endif // wxUSE_PALETTE + #if wxUSE_ACCEL #include "wx/accel.h" #endif // wxUSE_ACCEL @@ -403,6 +408,13 @@ public: void PushEventHandler( wxEvtHandler *handler ); wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE ); + // find the given handler in the event handler chain and remove (but + // not delete) it from the event handler chain, return TRUE if it was + // found and FALSE otherwise (this also results in an assert failure so + // this function should only be called when the handler is supposed to + // be there) + bool RemoveEventHandler(wxEvtHandler *handler); + // validators // ---------- @@ -754,6 +766,22 @@ public: // platform-specific APIs virtual WXWidget GetHandle() const = 0; +#if wxUSE_PALETTE + // Store the palette used by DCs in wxWindow so that the dcs can share + // a palette. And we can respond to palette messages. + wxPalette GetPalette() const { return m_palette; } + + // When palette is changed tell the DC to set the system palette to the + // new one. + void SetPalette(const wxPalette& pal); + + // return true if we have a specific palette + bool HasCustomPalette() const { return m_hasCustomPalette; } + + // return the first parent window with a custom palette or NULL + wxWindow *GetAncestorWithCustomPalette() const; +#endif // wxUSE_PALETTE + protected: // the window id - a number which uniquely identifies a window among // its siblings unless it is -1 @@ -837,7 +865,13 @@ protected: wxString m_windowName; bool m_themeEnabled; +#ifdef wxUSE_PALETTE + wxPalette m_palette; + bool m_hasCustomPalette; +#endif // wxUSE_PALETTE + protected: + // common part of all ctors: it is not virtual because it is called from // ctor void InitBase(); @@ -928,7 +962,13 @@ protected: // a toolbar that it manages itself). virtual void AdjustForParentClientOrigin(int& x, int& y, int sizeFlags); +#ifdef __WXPM__ + // extra OS/2 layout processing + virtual void OS2Layout(int width, int height) { }; +#endif + private: + // contains the last id generated by NewControlId static int ms_lastControlId; @@ -963,6 +1003,14 @@ private: #define sm_classwxWindowGTK sm_classwxWindow #endif // wxUniv #include "wx/gtk/window.h" +#elif defined(__WXX11__) + #ifdef __WXUNIVERSAL__ + #define wxWindowNative wxWindowX11 + #else // !wxUniv + #define wxWindowX11 wxWindow + #define sm_classwxWindowX11 sm_classwxWindow + #endif // wxUniv + #include "wx/x11/window.h" #elif defined(__WXMGL__) #ifdef __WXUNIVERSAL__ #define wxWindowNative wxWindowMGL