1 /////////////////////////////////////////////////////////////////////////////
 
   3 // Purpose:     SWIG interface for wxIcon and related classes
 
   7 // Created:     7-July-1997
 
   9 // Copyright:   (c) 2003 by Total Control Software
 
  10 // Licence:     wxWindows license
 
  11 /////////////////////////////////////////////////////////////////////////////
 
  16 //---------------------------------------------------------------------------
 
  18 #include <wx/iconbndl.h>
 
  20 //---------------------------------------------------------------------------
 
  25 class wxIcon : public wxGDIObject
 
  28     wxIcon(const wxString& name, wxBitmapType type,
 
  29            int desiredWidth = -1, int desiredHeight = -1);
 
  32     // alternate constructors
 
  33     %RenameCtor(EmptyIcon, wxIcon());
 
  34     %RenameCtor(IconFromLocation,  wxIcon(const wxIconLocation& loc));
 
  36         %RenameCtor(IconFromBitmap, wxIcon(const wxBitmap& bmp))
 
  38             wxIcon* icon = new wxIcon();
 
  39             icon->CopyFromBitmap(bmp);
 
  42         %RenameCtor(IconFromXPMData, wxIcon(PyObject* listOfStrings))
 
  47             cArray = ConvertListOfStrings(listOfStrings);
 
  50             icon = new wxIcon(cArray);
 
  58     bool LoadFile(const wxString& name, wxBitmapType type);
 
  65         void SetHandle(long handle) { self->SetHandle((WXHANDLE)handle); }
 
  73     void SetHeight(int h);
 
  76     void SetSize(const wxSize& size);
 
  78     void CopyFromBitmap(const wxBitmap& bmp);
 
  80     %pythoncode { def __nonzero__(self): return self.Ok() }
 
  83 //---------------------------------------------------------------------------
 
  88     // ctor takes the name of the file where the icon is
 
  90         wxIconLocation(const wxString* filename = &wxPyEmptyString, int num = 0) {
 
  92             return new wxIconLocation(*filename, num);
 
  94             return new wxIconLocation(*filename);
 
 102     // returns True if this object is valid/initialized
 
 104     %pythoncode { def __nonzero__(self): return self.Ok() }
 
 106     // set/get the icon file name
 
 107     void SetFileName(const wxString& filename);
 
 108     const wxString& GetFileName() const;
 
 111         void SetIndex(int num) {
 
 121             return self->GetIndex();
 
 132 //---------------------------------------------------------------------------
 
 137     // default constructor
 
 140     // initializes the bundle with the icon(s) found in the file
 
 141     %RenameCtor(IconBundleFromFile, wxIconBundle( const wxString& file, long type ));
 
 143     // initializes the bundle with a single icon
 
 144     %RenameCtor(IconBundleFromIcon, wxIconBundle( const wxIcon& icon ));
 
 148     // adds the icon to the collection, if the collection already
 
 149     // contains an icon with the same width and height, it is
 
 151     void AddIcon( const wxIcon& icon );
 
 153     // adds all the icons contained in the file to the collection,
 
 154     // if the collection already contains icons with the same
 
 155     // width and height, they are replaced
 
 156     %Rename(AddIconFromFile,void, AddIcon( const wxString& file, long type ));
 
 158     // returns the icon with the given size; if no such icon exists,
 
 159     // returns the icon with size wxSYS_ICON_[XY]; if no such icon exists,
 
 160     // returns the first icon in the bundle
 
 161     const wxIcon& GetIcon( const wxSize& size ) const;
 
 164 //---------------------------------------------------------------------------