X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c009bf3e9fdbbbe794c0670ff1b1f9f296c91c02..8a16d7370e3cdc7d583a6f14ab11b3a1d27b73df:/include/wx/msw/window.h diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index b69eecbabc..d9a4f67610 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -83,8 +83,10 @@ public: virtual void Update(); virtual void Freeze(); virtual void Thaw(); + virtual bool IsFrozen() const { return m_frozenness > 0; } - 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 +111,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 @@ -206,6 +214,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() // @@ -332,11 +345,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); @@ -443,9 +461,6 @@ protected: virtual void DoCaptureMouse(); virtual void DoReleaseMouse(); - // has the window been frozen by Freeze()? - bool IsFrozen() const { return m_frozenness > 0; } - // this simply moves/resizes the given HWND which is supposed to be our // sibling (this is useful for controls which are composite at MSW level // and for which DoMoveWindow() is not enough) @@ -506,12 +521,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 @@ -539,7 +556,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