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); }
 
  69     %pythoncode { Ok = IsOk }
 
  74     void SetHeight(int h);
 
  77     void SetSize(const wxSize& size);
 
  79     void CopyFromBitmap(const wxBitmap& bmp);
 
  81     %pythoncode { def __nonzero__(self): return self.IsOk() }
 
  83     %property(Depth, GetDepth, SetDepth, doc="See `GetDepth` and `SetDepth`");
 
  84     %property(Height, GetHeight, SetHeight, doc="See `GetHeight` and `SetHeight`");
 
  85     %property(Width, GetWidth, SetWidth, doc="See `GetWidth` and `SetWidth`");
 
  89 //---------------------------------------------------------------------------
 
  94     // ctor takes the name of the file where the icon is
 
  96         wxIconLocation(const wxString* filename = &wxPyEmptyString, int num = 0) {
 
  98             return new wxIconLocation(*filename, num);
 
 100             return new wxIconLocation(*filename);
 
 108     // returns True if this object is valid/initialized
 
 110     %pythoncode { def __nonzero__(self): return self.IsOk() }
 
 112     // set/get the icon file name
 
 113     void SetFileName(const wxString& filename);
 
 114     const wxString& GetFileName() const;
 
 117         void SetIndex(int num) {
 
 127             return self->GetIndex();
 
 134     %property(FileName, GetFileName, SetFileName, doc="See `GetFileName` and `SetFileName`");
 
 135     %property(Index, GetIndex, SetIndex, doc="See `GetIndex` and `SetIndex`");
 
 142 //---------------------------------------------------------------------------
 
 147     // default constructor
 
 150     // initializes the bundle with the icon(s) found in the file
 
 151     %RenameCtor(IconBundleFromFile, wxIconBundle( const wxString& file, long type ));
 
 153     // initializes the bundle with a single icon
 
 154     %RenameCtor(IconBundleFromIcon, wxIconBundle( const wxIcon& icon ));
 
 158     // adds the icon to the collection, if the collection already
 
 159     // contains an icon with the same width and height, it is
 
 161     void AddIcon( const wxIcon& icon );
 
 163     // adds all the icons contained in the file to the collection,
 
 164     // if the collection already contains icons with the same
 
 165     // width and height, they are replaced
 
 166     %Rename(AddIconFromFile,void, AddIcon( const wxString& file, long type ));
 
 168     // returns the icon with the given size; if no such icon exists,
 
 169     // returns the icon with size wxSYS_ICON_[XY]; if no such icon exists,
 
 170     // returns the first icon in the bundle
 
 171     const wxIcon& GetIcon( const wxSize& size ) const;
 
 173     %property(Icon, GetIcon, doc="See `GetIcon`");
 
 176 //---------------------------------------------------------------------------