X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7c23a0b01b3fb667ec41fc8271ce1ee5b5aa4e19..f5419957e5794f2d10f4e125f77b2c2e2cd222d6:/include/wx/stubs/window.h?ds=sidebyside diff --git a/include/wx/stubs/window.h b/include/wx/stubs/window.h index 28c3441317..b34c6be619 100644 --- a/include/wx/stubs/window.h +++ b/include/wx/stubs/window.h @@ -26,6 +26,7 @@ #include "wx/string.h" #include "wx/list.h" #include "wx/region.h" +#include "wx/accel.h" #define wxKEY_SHIFT 1 #define wxKEY_CTRL 2 @@ -52,7 +53,7 @@ class WXDLLEXPORT wxCursor; class WXDLLEXPORT wxColourMap; class WXDLLEXPORT wxFont; class WXDLLEXPORT wxMenu; -class WXDLLEXPORT wxRectangle; +class WXDLLEXPORT wxRect; class WXDLLEXPORT wxBitmap; class WXDLLEXPORT wxSizer; class WXDLLEXPORT wxList; @@ -66,11 +67,11 @@ class WXDLLEXPORT wxIcon; class WXDLLEXPORT wxDC; class WXDLLEXPORT wxValidator; -#if USE_DRAG_AND_DROP -class wxDropTarget; +#if wxUSE_DRAG_AND_DROP +class WXDLLEXPORT wxDropTarget; #endif -#if USE_WX_RESOURCES +#if wxUSE_WX_RESOURCES class WXDLLEXPORT wxResourceTable; class WXDLLEXPORT wxItemResource; #endif @@ -192,7 +193,7 @@ public: // Enable or disable the window virtual void Enable(bool enable); -#if USE_DRAG_AND_DROP +#if wxUSE_DRAG_AND_DROP // Associate a drop target with this window (if the window already had a drop // target, it's deleted!) and return the current drop target (may be NULL). void SetDropTarget(wxDropTarget *pDropTarget); @@ -227,7 +228,7 @@ public: virtual bool PopupMenu(wxMenu *menu, int x, int y); // Send the window a refresh event - virtual void Refresh(bool eraseBack = TRUE, const wxRectangle *rect = NULL); + virtual void Refresh(bool eraseBack = TRUE, const wxRect *rect = NULL); // New functions that will replace the above. virtual void SetScrollbar(int orient, int pos, int thumbVisible, @@ -238,7 +239,7 @@ public: virtual int GetScrollRange(int orient) const; virtual int GetScrollThumb(int orient) const; - virtual void ScrollWindow(int dx, int dy, const wxRectangle *rect = NULL); + virtual void ScrollWindow(int dx, int dy, const wxRect *rect = NULL); // Caret manipulation virtual void CreateCaret(int w, int h); @@ -255,6 +256,9 @@ public: inline int GetId() const; inline void SetId(int id); + virtual void SetAcceleratorTable(const wxAcceleratorTable& accel); + inline virtual wxAcceleratorTable& GetAcceleratorTable() const { return (wxAcceleratorTable&) m_acceleratorTable; } + // Make the window modal (all other windows unresponsive) virtual void MakeModal(bool modal); @@ -279,6 +283,9 @@ public: inline void SetWindowStyleFlag(long flag); inline long GetWindowStyleFlag() const; + // Handle a control command + virtual void OnCommand(wxWindow& win, wxCommandEvent& event); + // Set/get event handler inline void SetEventHandler(wxEvtHandler *handler); inline wxEvtHandler *GetEventHandler() const; @@ -320,17 +327,12 @@ public: virtual void OnDefaultAction(wxControl *initiatingItem); // Resource loading -#if USE_WX_RESOURCES +#if wxUSE_WX_RESOURCES virtual bool LoadFromResource(wxWindow *parent, const wxString& resourceName, const wxResourceTable *table = NULL); - virtual wxControl *CreateItem(const wxItemResource *childResource, const wxResourceTable *table = NULL); + virtual wxControl *CreateItem(const wxItemResource* childResource, const wxItemResource* parentResource, + const wxResourceTable *table = (const wxResourceTable *) NULL); #endif - // Native resource loading - virtual bool LoadNativeDialog(wxWindow* parent, wxWindowID& id); - virtual bool LoadNativeDialog(wxWindow* parent, const wxString& name); - virtual wxWindow* GetWindowChild1(wxWindowID& id); - virtual wxWindow* GetWindowChild(wxWindowID& id); - virtual void GetTextExtent(const wxString& string, int *x, int *y, int *descent = NULL, int *externalLeading = NULL, @@ -367,6 +369,9 @@ public: // Does this window want to accept keyboard focus? virtual bool AcceptsFocus() const; + virtual void PrepareDC( wxDC &dc ) {}; + + public: //////////////////////////////////////////////////////////////////////// //// IMPLEMENTATION @@ -382,11 +387,6 @@ public: // Executes the default message virtual long Default(); -/* TODO: implement your own data access - virtual WXHWND GetHWND() const ; - virtual void SetHWND(WXHWND hWnd); -*/ - /* TODO: you may need something like this // Determine whether 3D effects are wanted virtual WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D); @@ -397,6 +397,8 @@ public: // (but doesn't delete the child object) virtual void DestroyChildren(); // Removes and destroys all children + inline bool IsBeingDeleted() const { return FALSE; } // TODO: Should probably eliminate this + // Constraint implementation void UnsetConstraints(wxLayoutConstraints *c); inline wxList *GetConstraintsInvolvedIn() const ; @@ -426,11 +428,18 @@ public: virtual void GetClientSizeConstraint(int *w, int *h) const ; virtual void GetPositionConstraint(int *x, int *y) const ; + // Dialog units translations. Implemented in wincmn.cpp. + wxPoint ConvertPixelsToDialog(const wxPoint& pt) ; + wxPoint ConvertDialogToPixels(const wxPoint& pt) ; + inline wxSize ConvertPixelsToDialog(const wxSize& sz) + { wxPoint pt(ConvertPixelsToDialog(wxPoint(sz.x, sz.y))); return wxSize(pt.x, pt.y); } + inline wxSize ConvertDialogToPixels(const wxSize& sz) + { wxPoint pt(ConvertDialogToPixels(wxPoint(sz.x, sz.y))); return wxSize(pt.x, pt.y); } + wxObject *GetChild(int number) const ; - inline void SetShowing(bool show); - inline bool IsUserEnabled() const; - inline bool GetTransparentBackground() const ; + // Generates a new id for controls + static int NewControlId(); // Responds to colour changes: passes event on to children. void OnSysColourChanged(wxSysColourChangedEvent& event); @@ -455,8 +464,6 @@ protected: bool m_autoLayout; // Whether to call Layout() in OnSize wxWindow * m_windowParent; // Each window always knows its parent wxValidator * m_windowValidator; - bool m_inOnSize; // Protection against OnSize reentry - bool m_winEnabled; int m_minSizeX; int m_minSizeY; int m_maxSizeX; @@ -468,7 +475,6 @@ protected: bool m_caretEnabled; bool m_caretShown; wxFont m_windowFont; // Window's font - bool m_isShown; wxCursor m_windowCursor; // Window's cursor wxString m_windowName; // Window name @@ -476,31 +482,13 @@ protected: wxColour m_backgroundColour ; wxColour m_foregroundColour ; - bool m_backgroundTransparent; - - int m_xThumbSize; - int m_yThumbSize; - - float m_lastXPos; - float m_lastYPos; - int m_lastEvent; - - bool m_mouseInWindow; + wxAcceleratorTable m_acceleratorTable; -#if USE_DRAG_AND_DROP +#if wxUSE_DRAG_AND_DROP wxDropTarget *m_pDropTarget; // the current drop target or NULL #endif //USE_DRAG_AND_DROP public: -/* TODO: implementation of window handle, note of last message, etc. - WXHWND m_hWnd; // MS Windows window handle - WXUINT m_lastMsg; - WXWPARAM m_lastWParam; - WXLPARAM m_lastLParam; - WXHMENU m_hMenu; // Menu, if any - -*/ - wxRegion m_updateRegion; wxList * m_children; // Window's children int m_returnCode; @@ -516,15 +504,13 @@ inline int wxWindow::GetId() const { return m_windowId; } inline void wxWindow::SetId(int id) { m_windowId = id; } inline wxWindow *wxWindow::GetParent() const { return m_windowParent; } inline void wxWindow::SetParent(wxWindow *p) { m_windowParent = p; } -inline wxWindow *wxWindow::GetGrandParent() const { return (m_windowParent ? m_windowParent->m_windowParent : NULL); } +inline wxWindow *wxWindow::GetGrandParent() const { return (m_windowParent ? m_windowParent->m_windowParent : (wxWindow*) NULL); } inline wxList *wxWindow::GetChildren() const { return m_children; } inline wxFont *wxWindow::GetFont() const { return (wxFont *) & m_windowFont; } inline wxString wxWindow::GetName() const { return m_windowName; } inline void wxWindow::SetName(const wxString& name) { m_windowName = name; } inline long wxWindow::GetWindowStyleFlag() const { return m_windowStyle; } inline void wxWindow::SetWindowStyleFlag(long flag) { m_windowStyle = flag; } -inline void wxWindow::SetDoubleClick(bool flag) { m_doubleClickAllowed = flag; } -inline bool wxWindow::GetDoubleClick() const { return m_doubleClickAllowed; } inline void wxWindow::SetEventHandler(wxEvtHandler *handler) { m_windowEventHandler = handler; } inline wxEvtHandler *wxWindow::GetEventHandler() const { return m_windowEventHandler; } inline void wxWindow::SetAutoLayout(bool a) { m_autoLayout = a; } @@ -539,14 +525,11 @@ inline wxButton *wxWindow::GetDefaultItem() const { return m_defaultItem; } inline void wxWindow::SetDefaultItem(wxButton *but) { m_defaultItem = but; } inline bool wxWindow::IsRetained() const { return ((m_windowStyle & wxRETAINED) == wxRETAINED); } -inline void wxWindow::SetShowing(bool show) { m_isShown = show; } inline wxList *wxWindow::GetConstraintsInvolvedIn() const { return m_constraintsInvolvedIn; } inline wxSizer *wxWindow::GetSizer() const { return m_windowSizer; } inline wxWindow *wxWindow::GetSizerParent() const { return m_sizerParent; } inline void wxWindow::SetSizerParent(wxWindow *win) { m_sizerParent = win; } inline wxValidator *wxWindow::GetValidator() const { return m_windowValidator; } -inline bool wxWindow::IsUserEnabled() const { return m_winEnabled; } -inline bool wxWindow::GetTransparentBackground() const { return m_backgroundTransparent; } inline void wxWindow::SetReturnCode(int retCode) { m_returnCode = retCode; } inline int wxWindow::GetReturnCode() { return m_returnCode; }