X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/34138703c3997ce676a1e713d9ff9eb020640da7..f9c165b1d621341bce1edd840ac71590c5d37f62:/include/wx/stubs/window.h diff --git a/include/wx/stubs/window.h b/include/wx/stubs/window.h index 541dd58040..b94c1afe41 100644 --- a/include/wx/stubs/window.h +++ b/include/wx/stubs/window.h @@ -26,6 +26,8 @@ #include "wx/string.h" #include "wx/list.h" #include "wx/region.h" +#include "wx/accel.h" +#include "wx/intl.h" #define wxKEY_SHIFT 1 #define wxKEY_CTRL 2 @@ -52,7 +54,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 +68,11 @@ class WXDLLEXPORT wxIcon; class WXDLLEXPORT wxDC; class WXDLLEXPORT wxValidator; -#if USE_DRAG_AND_DROP +#if wxUSE_DRAG_AND_DROP class WXDLLEXPORT wxDropTarget; #endif -#if USE_WX_RESOURCES +#if wxUSE_WX_RESOURCES class WXDLLEXPORT wxResourceTable; class WXDLLEXPORT wxItemResource; #endif @@ -80,6 +82,33 @@ WXDLLEXPORT_DATA(extern const char*) wxPanelNameStr; WXDLLEXPORT_DATA(extern const wxSize) wxDefaultSize; WXDLLEXPORT_DATA(extern const wxPoint) wxDefaultPosition; +//----------------------------------------------------------------------------- +// wxClientData +//----------------------------------------------------------------------------- + +class wxClientData +{ +public: + wxClientData() { } + virtual ~wxClientData() { } +}; + +//----------------------------------------------------------------------------- +// wxStringClientData +//----------------------------------------------------------------------------- + +class wxStringClientData: public wxClientData +{ +public: + wxStringClientData() { } + wxStringClientData( wxString &data ) { m_data = data; } + void SetData( wxString &data ) { m_data = data; } + wxString GetData() const { return m_data; } + +private: + wxString m_data; +}; + class WXDLLEXPORT wxWindow: public wxEvtHandler { DECLARE_ABSTRACT_CLASS(wxWindow) @@ -192,7 +221,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); @@ -202,6 +231,18 @@ public: // Accept files for dragging virtual void DragAcceptFiles(bool accept); + // tooltips + // create a tooltip with this text + void SetToolTip(const wxString& tip); + + // TODO +#if 0 + // pointer may be NULL to remove the tooltip + void SetToolTip(wxToolTip *tooltip); + // get the current tooltip (may return NULL if none) + wxToolTip* GetToolTip() const { return m_tooltip; } +#endif + // Update region access virtual wxRegion GetUpdateRegion() const; virtual bool IsExposed(int x, int y, int w, int h) const; @@ -227,7 +268,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 +279,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 +296,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); @@ -265,11 +309,11 @@ public: inline wxWindow *GetParent() const; inline void SetParent(wxWindow *p) ; inline wxWindow *GetGrandParent() const; - inline wxList *GetChildren() const; + inline wxList& GetChildren() const; // Set/get the window's font virtual void SetFont(const wxFont& f); - inline virtual wxFont *GetFont() const; + inline virtual wxFont& GetFont() const; // Set/get the window's validator void SetValidator(const wxValidator& validator); @@ -279,6 +323,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; @@ -311,15 +358,6 @@ public: inline virtual void SetForegroundColour(const wxColour& col); inline virtual wxColour GetForegroundColour() const; - // Set/get window default background colour (for children to inherit). - // NOTE: these may be removed in later revisions. - inline virtual void SetDefaultBackgroundColour(const wxColour& col); - inline virtual wxColour GetDefaultBackgroundColour(void) const; - - // Set/get window default foreground colour (for children to inherit) - inline virtual void SetDefaultForegroundColour(const wxColour& col); - inline virtual wxColour GetDefaultForegroundColour(void) const; - // Get the default button, if there is one inline virtual wxButton *GetDefaultItem() const; inline virtual void SetDefaultItem(wxButton *but); @@ -329,17 +367,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, @@ -370,12 +403,17 @@ public: void OnEraseBackground(wxEraseEvent& event); void OnChar(wxKeyEvent& event); + void OnKeyDown(wxKeyEvent& event); + void OnKeyUp(wxKeyEvent& event); void OnPaint(wxPaintEvent& event); void OnIdle(wxIdleEvent& event); // Does this window want to accept keyboard focus? virtual bool AcceptsFocus() const; + virtual void PrepareDC( wxDC &dc ) {}; + + public: //////////////////////////////////////////////////////////////////////// //// IMPLEMENTATION @@ -432,6 +470,14 @@ 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 ; // Generates a new id for controls @@ -478,10 +524,9 @@ protected: wxColour m_backgroundColour ; wxColour m_foregroundColour ; - wxColour m_defaultBackgroundColour; - wxColour m_defaultForegroundColour; + 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 @@ -501,9 +546,9 @@ 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 wxList *wxWindow::GetChildren() const { return m_children; } -inline wxFont *wxWindow::GetFont() const { return (wxFont *) & m_windowFont; } +inline wxWindow *wxWindow::GetGrandParent() const { return (m_windowParent ? m_windowParent->m_windowParent : (wxWindow*) NULL); } +inline wxList& wxWindow::GetChildren() const { return (wxList&) * 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; } @@ -517,10 +562,6 @@ inline void wxWindow::SetBackgroundColour(const wxColour& col) { m_backgroundCol inline wxColour wxWindow::GetBackgroundColour() const { return m_backgroundColour; }; inline void wxWindow::SetForegroundColour(const wxColour& col) { m_foregroundColour = col; }; inline wxColour wxWindow::GetForegroundColour() const { return m_foregroundColour; }; -inline void wxWindow::SetDefaultForegroundColour(const wxColour& col) { m_defaultForegroundColour = col; }; -inline wxColour wxWindow::GetDefaultForegroundColour(void) const { return m_defaultForegroundColour; }; -inline void wxWindow::SetDefaultBackgroundColour(const wxColour& col) { m_defaultBackgroundColour = col; }; -inline wxColour wxWindow::GetDefaultBackgroundColour(void) const { return m_defaultBackgroundColour; }; inline wxButton *wxWindow::GetDefaultItem() const { return m_defaultItem; } inline void wxWindow::SetDefaultItem(wxButton *but) { m_defaultItem = but; }