]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/window.h
added wxEncodingToCodepage() and implemented it properly (using in32 API instead...
[wxWidgets.git] / include / wx / window.h
index 2e940e1ddd7863392a6130f1b9130a5cec2fcab2..3abbf6a33029957f7dd474462f591e2543db901f 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        window.h
+// Name:        wx/window.h
 // Purpose:     wxWindowBase class - the interface of wxWindow
 // Author:      Vadim Zeitlin
 // Modified by:
@@ -49,7 +49,6 @@
 // ----------------------------------------------------------------------------
 
 class WXDLLEXPORT wxCaret;
-class WXDLLEXPORT wxClientData;
 class WXDLLEXPORT wxControl;
 class WXDLLEXPORT wxCursor;
 class WXDLLEXPORT wxDC;
@@ -74,39 +73,6 @@ WX_DECLARE_LIST_3(wxWindow, wxWindowBase, wxWindowList, wxWindowListNode, class
 
 WXDLLEXPORT_DATA(extern wxWindowList) wxTopLevelWindows;
 
-// ----------------------------------------------------------------------------
-// helper classes used by [SG]etClientObject/Data
-//
-// TODO move into a separate header?
-// ----------------------------------------------------------------------------
-
-// what kind of client data do we have?
-enum wxClientDataType
-{
-    wxClientData_None,    // we don't know yet because we don't have it at all
-    wxClientData_Object,  // our client data is typed and we own it
-    wxClientData_Void     // client data is untyped and we don't own it
-};
-
-class wxClientData
-{
-public:
-    wxClientData() { }
-    virtual ~wxClientData() { }
-};
-
-class wxStringClientData : public wxClientData
-{
-public:
-    wxStringClientData() { }
-    wxStringClientData( const wxString &data ) : m_data(data) { }
-    void SetData( const wxString &data ) { m_data = data; }
-    const wxString& GetData() const { return m_data; }
-
-private:
-    wxString  m_data;
-};
-
 // ----------------------------------------------------------------------------
 // wxWindowBase is the base class for all GUI controls/widgets, this is the public
 // interface of this class.
@@ -447,18 +413,6 @@ public:
     virtual wxValidator *GetValidator() { return m_windowValidator; }
 #endif // wxUSE_VALIDATORS
 
-    // client data
-    // -----------
-
-        // each window may have associated client data: either a pointer to
-        // wxClientData object in which case it is managed by the window (i.e.
-        // it will delete the data when it's destroyed) or an untyped pointer
-        // which won't be deleted by the window - but not both of them
-    void SetClientObject( wxClientData *data ) { DoSetClientObject(data); }
-    wxClientData *GetClientObject() const { return DoGetClientObject(); }
-
-    void SetClientData( void *data ) { DoSetClientData(data); }
-    void *GetClientData() const { return DoGetClientData(); }
 
     // dialog oriented functions
     // -------------------------
@@ -842,17 +796,6 @@ protected:
     wxAcceleratorTable   m_acceleratorTable;
 #endif // wxUSE_ACCEL
 
-    // user data associated with the window: either an object which will be
-    // deleted by the window when it's deleted or some raw pointer which we do
-    // nothing with - only one type of data can be used with the given window
-    // (i.e. you cannot set the void data and then associate the window with
-    // wxClientData or vice versa)
-    union
-    {
-        wxClientData *m_clientObject;
-        void         *m_clientData;
-    };
-
     // the tooltip for this window (may be NULL)
 #if wxUSE_TOOLTIPS
     wxToolTip           *m_tooltip;
@@ -880,6 +823,11 @@ protected:
     bool                 m_isEnabled:1;
     bool                 m_isBeingDeleted:1;
 
+    // was the window colours/font explicitly changed by user?
+    bool                 m_hasBgCol:1;
+    bool                 m_hasFgCol:1;
+    bool                 m_hasFont:1;
+
     // window attributes
     long                 m_windowStyle,
                          m_exStyle;
@@ -969,15 +917,9 @@ protected:
     virtual bool DoPopupMenu( wxMenu *menu, int x, int y ) = 0;
 #endif // wxUSE_MENUS
 
-    // client data accessors
-    virtual void DoSetClientObject( wxClientData *data );
-    virtual wxClientData *DoGetClientObject() const;
-
-    virtual void DoSetClientData( void *data );
-    virtual void *DoGetClientData() const;
-
-    // what kind of data do we have?
-    wxClientDataType m_clientDataType;
+    // Makes an adjustment to the window position (for example, a frame that has
+    // a toolbar that it manages itself).
+    virtual void AdjustForParentClientOrigin(int& x, int& y, int sizeFlags);
 
 private:
     // contains the last id generated by NewControlId