X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7d4f65e3939402a406be6669d2a71a3d7773c9a2..84d1cd430f9f4cba81737a45cd40fdb7cbac4f7d:/include/wx/msw/window.h?ds=sidebyside diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index 01232d1ac9..a081beb211 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -84,7 +84,8 @@ public: virtual void Freeze(); virtual void Thaw(); - virtual void SetWindowStyleFlag( long style ); + virtual void SetWindowStyleFlag(long style); + virtual void SetExtraStyle(long exStyle); virtual bool SetCursor( const wxCursor &cursor ); virtual bool SetFont( const wxFont &font ); @@ -109,6 +110,12 @@ public: virtual bool ScrollLines(int lines); virtual bool ScrollPages(int pages); + virtual void SetLayoutDirection(wxLayoutDirection dir); + virtual wxLayoutDirection GetLayoutDirection() const; + virtual wxCoord AdjustForLayoutDirection(wxCoord x, + wxCoord width, + wxCoord widthTotal) const; + #if wxUSE_DRAG_AND_DROP virtual void SetDropTarget( wxDropTarget *dropTarget ); #endif // wxUSE_DRAG_AND_DROP @@ -187,6 +194,11 @@ public: // MSW only: true if this control is part of the main control virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return false; }; +#if wxUSE_TOOLTIPS + // MSW only: true if this window or any of its children have a tooltip + virtual bool HasToolTips() const { return GetToolTip() != NULL; } +#endif // wxUSE_TOOLTIPS + // translate wxWidgets style flags for this control into the Windows style // and optional extended style for the corresponding native control // @@ -201,6 +213,11 @@ public: WXDWORD MSWGetCreateWindowFlags(WXDWORD *exflags = NULL) const { return MSWGetStyle(GetWindowStyle(), exflags); } + // update the real underlying window style flags to correspond to the + // current wxWindow object style (safe to call even if window isn't fully + // created yet) + void MSWUpdateStyle(long flagsOld, long exflagsOld); + // translate wxWidgets coords into Windows ones suitable to be passed to // ::CreateWindow() // @@ -327,11 +344,16 @@ public: #ifdef __WIN32__ int HandleMenuChar(int chAccel, WXLPARAM lParam); #endif + // Create and process a clipboard event specified by type. + bool HandleClipboardEvent( WXUINT nMsg ); bool HandleQueryDragIcon(WXHICON *hIcon); bool HandleSetCursor(WXHWND hWnd, short nHitTest, int mouseMsg); + bool HandlePower(WXWPARAM wParam, WXLPARAM lParam, bool *vetoed); + + // Window procedure virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam); @@ -501,12 +523,14 @@ private: // current defer window position operation handle (may be NULL) WXHANDLE m_hDWP; +protected: // When deferred positioning is done these hold the pending changes, and // are used for the default values if another size/pos changes is done on // this window before the group of deferred changes is completed. wxPoint m_pendingPosition; wxSize m_pendingSize; +private: #ifdef __POCKETPC__ bool m_contextMenuEnabled; #endif @@ -534,7 +558,7 @@ inline void wxWindowMSW::SetTransparent(bool WXUNUSED(t)) { } // kbd code translation WXDLLEXPORT int wxCharCodeMSWToWX(int keySym, WXLPARAM lParam = 0); -WXDLLEXPORT WXWORD wxCharCodeWXToMSW(int id, bool *IsVirtual); +WXDLLEXPORT WXWORD wxCharCodeWXToMSW(int id, bool *IsVirtual = NULL); // window creation helper class: before creating a new HWND, instantiate an // object of this class on stack - this allows to process the messages sent to