X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/86e30911918007925db05d4777d26704092d0af4..2b01fd49183b64be59c4e7ba9bdaee479ff29ed2:/include/wx/msw/window.h diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index 30d25ba4b7..01232d1ac9 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: wx/msw/window.h -// Purpose: wxWindow class +// Purpose: wxWindowMSW class // Author: Julian Smart // Modified by: Vadim Zeitlin on 13.05.99: complete refont of message handling, // elimination of Default(), ... @@ -13,21 +13,6 @@ #ifndef _WX_WINDOW_H_ #define _WX_WINDOW_H_ -// --------------------------------------------------------------------------- -// headers -// --------------------------------------------------------------------------- - -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "window.h" -#endif - -// [at least] some version of Windows send extra mouse move messages after -// a mouse click or a key press - to temporarily fix this problem, set the -// define below to 1 -// -// a better solution should be found later... -#define wxUSE_MOUSEEVENT_HACK 0 - // --------------------------------------------------------------------------- // constants // --------------------------------------------------------------------------- @@ -77,8 +62,8 @@ public: const wxString& name = wxPanelNameStr); // implement base class pure virtuals - virtual void SetTitle( const wxString& title); - virtual wxString GetTitle() const; + virtual void SetLabel(const wxString& label); + virtual wxString GetLabel() const; virtual void Raise(); virtual void Lower(); @@ -112,10 +97,6 @@ public: const wxFont *theFont = (const wxFont *) NULL) const; -#if wxUSE_MENUS_NATIVE - virtual bool DoPopupMenu( wxMenu *menu, int x, int y ); -#endif // wxUSE_MENUS_NATIVE - virtual void SetScrollbar( int orient, int pos, int thumbVisible, int range, bool refresh = true ); virtual void SetScrollPos( int orient, int pos, bool refresh = true ); @@ -156,6 +137,11 @@ public: virtual bool UnregisterHotKey(int hotkeyId); #endif // wxUSE_HOTKEY +#ifdef __POCKETPC__ + bool IsContextMenuEnabled() const { return m_contextMenuEnabled; } + void EnableContextMenu(bool enable = true) { m_contextMenuEnabled = enable; } +#endif + // window handle stuff // ------------------- @@ -166,6 +152,9 @@ public: void AssociateHandle(WXWidget handle); void DissociateHandle(); + // does this window have deferred position and/or size? + bool IsSizeDeferred() const; + // implementation from now on // ========================== @@ -282,9 +271,7 @@ public: WXWORD pos, WXHWND control); // child control notifications -#ifdef __WIN95__ virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result); -#endif // __WIN95__ // owner-drawn controls need to process these messages virtual bool MSWOnDrawItem(int id, WXDRAWITEMSTRUCT *item); @@ -317,6 +304,7 @@ public: bool HandleSysColorChange(); bool HandleDisplayChange(); bool HandleCaptureChanged(WXHWND gainedCapture); + virtual bool HandleSettingChange(WXWPARAM wParam, WXLPARAM lParam); bool HandleQueryEndSession(long logOff, bool *mayEnd); bool HandleEndSession(bool endSession, long logOff); @@ -417,6 +405,11 @@ public: virtual void OnInternalIdle(); protected: + +#if wxUSE_MENUS_NATIVE + virtual bool DoPopupMenu( wxMenu *menu, int x, int y ); +#endif // wxUSE_MENUS_NATIVE + // the window handle WXHWND m_hWnd; @@ -431,13 +424,6 @@ protected: int m_xThumbSize; int m_yThumbSize; -#if wxUSE_MOUSEEVENT_HACK - // the coordinates of the last mouse event and the type of it - long m_lastMouseX, - m_lastMouseY; - int m_lastMouseEvent; -#endif // wxUSE_MOUSEEVENT_HACK - // implement the base class pure virtuals virtual void DoClientToScreen( int *x, int *y ) const; virtual void DoScreenToClient( int *x, int *y ) const; @@ -488,6 +474,14 @@ protected: // the background, false otherwise (i.e. the system should erase it) bool DoEraseBackground(WXHDC hDC); + // generate WM_CHANGEUISTATE if it's needed for the OS we're running under + // + // action should be one of the UIS_XXX constants + // state should be one or more of the UISF_XXX constants + // if action == UIS_INITIALIZE then it doesn't seem to matter what we use + // for state as the system will decide for us what needs to be set + void MSWUpdateUIState(int action, int state = 0); + private: // common part of all ctors void Init(); @@ -496,10 +490,7 @@ private: bool HandleMove(int x, int y); bool HandleMoving(wxRect& rect); bool HandleJoystickEvent(WXUINT msg, int x, int y, WXUINT flags); - -#ifdef __WIN95__ bool HandleNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result); -#endif // __WIN95__ // list of disabled children before last call to our Disable() wxWindowList *m_childrenDisabled; @@ -516,6 +507,10 @@ private: wxPoint m_pendingPosition; wxSize m_pendingSize; +#ifdef __POCKETPC__ + bool m_contextMenuEnabled; +#endif + DECLARE_DYNAMIC_CLASS(wxWindowMSW) DECLARE_NO_COPY_CLASS(wxWindowMSW) DECLARE_EVENT_TABLE() @@ -568,5 +563,4 @@ WX_DECLARE_HASH(wxWindowMSW, wxWindowList, wxWinHashTable); extern wxWinHashTable *wxWinHandleHash; -#endif - // _WX_WINDOW_H_ +#endif // _WX_WINDOW_H_