git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23900 
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
     wxID_HELP_PROCEDURES,
     wxID_HELP_CONTEXT,
     wxID_CLOSE_ALL,
     wxID_HELP_PROCEDURES,
     wxID_HELP_CONTEXT,
     wxID_CLOSE_ALL,
     wxMENU_TEAROFF,
     wxMB_DOCKABLE,
     wxNO_FULL_REPAINT_ON_RESIZE,
     wxMENU_TEAROFF,
     wxMB_DOCKABLE,
     wxNO_FULL_REPAINT_ON_RESIZE,
+    wxFULL_REPAINT_ON_RESIZE,
 
         # KeyboardInterrupt???)  but will later segfault on exit.  By
         # setting the default handler then the app will exit, as
         # expected (depending on platform.)
         # KeyboardInterrupt???)  but will later segfault on exit.  By
         # setting the default handler then the app will exit, as
         # expected (depending on platform.)
-        import signal
-        signal.signal(signal.SIGINT, signal.SIG_DFL)
+        try:
+            import signal
+            signal.signal(signal.SIGINT, signal.SIG_DFL)
+        except:
+            pass
 
         # this initializes wxWindows and then calls our OnInit
         _wxStart(self.OnInit)
 
         # this initializes wxWindows and then calls our OnInit
         _wxStart(self.OnInit)
 
     int GetRange();
     int GetShadowWidth();
     int GetValue();
     int GetRange();
     int GetShadowWidth();
     int GetValue();
+    bool IsVertical() const;
     void SetBezelFace(int width);
     void SetRange(int range);
     void SetShadowWidth(int width);
     void SetBezelFace(int width);
     void SetRange(int range);
     void SetShadowWidth(int width);
     bool LoadFile(const wxString& file);
     bool SaveFile(const wxString& file = wxPyEmptyString);
 
     bool LoadFile(const wxString& file);
     bool SaveFile(const wxString& file = wxPyEmptyString);
 
+    // sets the dirty flag
+    virtual void MarkDirty() = 0;
+
     // clears the dirty flag
     void DiscardEdits();
 
     // clears the dirty flag
     void DiscardEdits();
 
 
     // or small icon view)
     int GetCountPerPage() const;
 
     // or small icon view)
     int GetCountPerPage() const;
 
+    // return the total area occupied by all the items (icon/small icon only)
+    wxRect GetViewRect() const;
+    
 #ifdef __WXMSW__
     // Gets the edit control for editing labels.
     wxTextCtrl* GetEditControl() const;
 #ifdef __WXMSW__
     // Gets the edit control for editing labels.
     wxTextCtrl* GetEditControl() const;
     // Gets the number of columns in the list control
     int GetColumnCount() const;
 
     // Gets the number of columns in the list control
     int GetColumnCount() const;
 
-    // Retrieves the spacing between icons in pixels.
-    // If small is TRUE, gets the spacing for the small icon
-    // view, otherwise the large icon view.
-    int GetItemSpacing(bool isSmall) const;
+    // get the horizontal and vertical components of the item spacing
+    wxSize GetItemSpacing() const;
 
 #ifndef __WXMSW__
     void SetItemSpacing( int spacing, bool isSmall = FALSE );
 
 #ifndef __WXMSW__
     void SetItemSpacing( int spacing, bool isSmall = FALSE );
 
 
     wxFONTENCODING_UTF7,            // UTF-7 Unicode encoding
     wxFONTENCODING_UTF8,            // UTF-8 Unicode encoding
 
     wxFONTENCODING_UTF7,            // UTF-7 Unicode encoding
     wxFONTENCODING_UTF8,            // UTF-8 Unicode encoding
+    wxFONTENCODING_UTF16,           // UTF-16 Unicode encoding
+    wxFONTENCODING_UTF16BE,         // UTF-16 Big Endian Unicode encoding
+    wxFONTENCODING_UTF16LE,         // UTF-16 Little Endian Unicode encoding
+    wxFONTENCODING_UTF32,           // UTF-32 Unicode encoding
+    wxFONTENCODING_UTF32BE,         // UTF-32 Big Endian Unicode encoding
+    wxFONTENCODING_UTF32LE,         // UTF-32 Little Endian Unicode encoding
 
     // Far Eastern encodings
         // Chinese
 
     // Far Eastern encodings
         // Chinese
     // reset to the default state
     void Init();
 
     // reset to the default state
     void Init();
 
+    // init with the parameters of the given font
+    void InitFromFont(const wxFont& font);
+
     // accessors and modifiers for the font elements
     int GetPointSize() const;
     wxFontStyle GetStyle() const;
     // accessors and modifiers for the font elements
     int GetPointSize() const;
     wxFontStyle GetStyle() const;
 
 %{
 // Fix some link errors...  Remove this when these methods get real implementations...
 
 %{
 // Fix some link errors...  Remove this when these methods get real implementations...
-#if defined(__WXGTK__) || defined(__WXX11__)
-#if wxUSE_PANGO
-void wxNativeFontInfo::SetPointSize(int pointsize)
-    { wxFAIL_MSG( _T("not implemented") ); }
+// #if defined(__WXGTK__) || defined(__WXX11__)
+// #if wxUSE_PANGO
+// void wxNativeFontInfo::SetPointSize(int pointsize)
+//     { wxFAIL_MSG( _T("not implemented") ); }
-void wxNativeFontInfo::SetStyle(wxFontStyle style)
-    { wxFAIL_MSG( _T("not implemented") ); }
+// void wxNativeFontInfo::SetStyle(wxFontStyle style)
+//     { wxFAIL_MSG( _T("not implemented") ); }
-void wxNativeFontInfo::SetWeight(wxFontWeight weight)
-    { wxFAIL_MSG( _T("not implemented") ); }
+// void wxNativeFontInfo::SetWeight(wxFontWeight weight)
+//     { wxFAIL_MSG( _T("not implemented") ); }
-void wxNativeFontInfo::SetUnderlined(bool WXUNUSED(underlined))
-    { wxFAIL_MSG( _T("not implemented") ); }
+// void wxNativeFontInfo::SetUnderlined(bool WXUNUSED(underlined))
+//     { wxFAIL_MSG( _T("not implemented") ); }
-void wxNativeFontInfo::SetFaceName(wxString facename)
-    { wxFAIL_MSG( _T("not implemented") ); }
+// void wxNativeFontInfo::SetFaceName(wxString facename)
+//     { wxFAIL_MSG( _T("not implemented") ); }
-void wxNativeFontInfo::SetFamily(wxFontFamily family)
-    { wxFAIL_MSG( _T("not implemented") ); }
+// void wxNativeFontInfo::SetFamily(wxFontFamily family)
+//     { wxFAIL_MSG( _T("not implemented") ); }
-void wxNativeFontInfo::SetEncoding(wxFontEncoding encoding)
-    { wxFAIL_MSG( _T("not implemented") ); }
-#endif
-#endif
+// void wxNativeFontInfo::SetEncoding(wxFontEncoding encoding)
+//     { wxFAIL_MSG( _T("not implemented") ); }
+// #endif
+// #endif
 %}
 
 //---------------------------------------------------------------------------
 %}
 
 //---------------------------------------------------------------------------
-    wxNativeFontInfo* GetNativeFontInfo() const;
+    const wxNativeFontInfo* GetNativeFontInfo() const;
     wxString GetNativeFontInfoDesc() const;
     wxString GetNativeFontInfoUserDesc() const;
 
     wxString GetNativeFontInfoDesc() const;
     wxString GetNativeFontInfoUserDesc() const;
 
 
 
     %pragma(python) addtoclass = "asTuple = Get
     def __str__(self):                  return str(self.asTuple())
 
     %pragma(python) addtoclass = "asTuple = Get
     def __str__(self):                  return str(self.asTuple())
-    def __repr__(self):                 return 'wxColour:' + str(self.asTuple())
+    def __repr__(self):                 return 'wxColour' + str(self.asTuple())
     def __nonzero__(self):              return self.Ok()
     def __getinitargs__(self):          return ()
     def __getstate__(self):             return self.asTuple()
     def __nonzero__(self):              return self.Ok()
     def __getinitargs__(self):          return ()
     def __getstate__(self):             return self.asTuple()
         void Next() {
             (*self) ++;
         }
         void Next() {
             (*self) ++;
         }
+
+        bool __nonzero__() {
+            return self->operator bool();
+        }
 
                     const wxBitmap& bmpUnchecked = wxNullBitmap);
     //void SetBitmap(const wxBitmap& bmpChecked);
     //wxBitmap GetBitmap(bool bChecked = TRUE);
                     const wxBitmap& bmpUnchecked = wxNullBitmap);
     //void SetBitmap(const wxBitmap& bmpChecked);
     //wxBitmap GetBitmap(bool bChecked = TRUE);
+    
+    void SetDisabledBitmap( const wxBitmap& bmpDisabled );
+    const wxBitmap& GetDisabledBitmap() const;
+   
     void SetMarginWidth(int nWidth);
     int GetMarginWidth();
     static int GetDefaultMarginWidth();
     bool IsOwnerDrawn();
     void SetMarginWidth(int nWidth);
     int GetMarginWidth();
     static int GetDefaultMarginWidth();
     bool IsOwnerDrawn();
+    // switch on/off owner-drawing the item
+    void SetOwnerDrawn(bool ownerDrawn = TRUE);
     void ResetOwnerDrawn();
 #endif
 
     void ResetOwnerDrawn();
 #endif
 
 
     // adds a new page to the control
     virtual bool AddPage(wxWindow *page,
                          const wxString& text,
     // adds a new page to the control
     virtual bool AddPage(wxWindow *page,
                          const wxString& text,
                          int imageId = -1);
 
     // the same as AddPage(), but adds the page at the specified position
     virtual bool InsertPage(size_t n,
                             wxWindow *page,
                             const wxString& text,
                          int imageId = -1);
 
     // the same as AddPage(), but adds the page at the specified position
     virtual bool InsertPage(size_t n,
                             wxWindow *page,
                             const wxString& text,
                             int imageId = -1) = 0;
 
     // set the currently selected page, return the index of the previously
                             int imageId = -1) = 0;
 
     // set the currently selected page, return the index of the previously