]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/window.h
file which undefs symbols ocnflicting with windows.h
[wxWidgets.git] / include / wx / window.h
index b84b81fb4987feac9429890d7ec14051031e9e0a..8aa851a82a674abfbb9f5c0afd9f606b8905106a 100644 (file)
@@ -156,6 +156,7 @@ public:
 
         // label is just the same as the title (but for, e.g., buttons it
         // makes more sense to speak about labels)
+    void SetLabel(const wxString& label) { SetTitle(label); }
     wxString GetLabel() const { return GetTitle(); }
 
         // the window name is used for ressource setting in X, it is not the
@@ -170,7 +171,13 @@ public:
 
         // generate a control id for the controls which were not given one by
         // user
-    static int NewControlId() { return ++ms_lastControlId; }
+    static int NewControlId() { return --ms_lastControlId; }
+        // get the id of the control following the one with the given
+        // (autogenerated) id
+    static int NextControlId(int id) { return id - 1; }
+        // get the id of the control preceding the one with the given
+        // (autogenerated) id
+    static int PrevControlId(int id) { return id + 1; }
 
     // moving/resizing
     // ---------------
@@ -482,8 +489,25 @@ public:
                                const = 0;
 
         // translate to/from screen/client coordinates (pointers may be NULL)
-    virtual void ClientToScreen( int *x, int *y ) const = 0;
-    virtual void ScreenToClient( int *x, int *y ) const = 0;
+    void ClientToScreen( int *x, int *y ) const
+        { DoClientToScreen(x, y); }
+    void ScreenToClient( int *x, int *y ) const
+        { DoScreenToClient(x, y); }
+    wxPoint ClientToScreen(const wxPoint& pt) const
+    {
+        int x = pt.x, y = pt.y;
+        DoClientToScreen(&x, &y);
+
+        return wxPoint(x, y);
+    }
+
+    wxPoint ScreenToClient(const wxPoint& pt) const
+    {
+        int x = pt.x, y = pt.y;
+        DoScreenToClient(&x, &y);
+
+        return wxPoint(x, y);
+    }
 
     // misc
     // ----
@@ -605,7 +629,7 @@ public:
     virtual WXWidget GetHandle() const = 0;
 
 protected:
-    // the window id - a number which uniquely identifies a window among 
+    // the window id - a number which uniquely identifies a window among
     // its siblings unless it is -1
     wxWindowID           m_windowId;
 
@@ -700,6 +724,10 @@ protected:
     //     overloaded Something()s in terms of DoSomething() which will be the
     //     only one to be virtual.
 
+    // coordinates translation
+    virtual void DoClientToScreen( int *x, int *y ) const = 0;
+    virtual void DoScreenToClient( int *x, int *y ) const = 0;
+
     // retrieve the position/size of the window
     virtual void DoGetPosition( int *x, int *y ) const = 0;
     virtual void DoGetSize( int *width, int *height ) const = 0;
@@ -723,10 +751,7 @@ private:
     // contains the last id generated by NewControlId
     static int ms_lastControlId;
 
-    // no copy ctor/assignment operator
-    wxWindowBase(const wxWindowBase&);
-    wxWindowBase& operator=(const wxWindowBase&);
-
+    DECLARE_NO_COPY_CLASS(wxWindowBase);
     DECLARE_EVENT_TABLE()
 };
 
@@ -760,8 +785,8 @@ inline wxWindow *wxWindowBase::GetGrandParent() const
 // global function
 // ----------------------------------------------------------------------------
 
-extern wxWindow* WXDLLEXPORT wxGetActiveWindow();
-inline int WXDLLEXPORT NewControlId() { return wxWindowBase::NewControlId(); }
+WXDLLEXPORT extern wxWindow* wxGetActiveWindow();
+inline WXDLLEXPORT int NewControlId() { return wxWindowBase::NewControlId(); }
 
 #endif
     // _WX_WINDOW_H_BASE_