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() }
82 %property(Depth, GetDepth, SetDepth, doc="See `GetDepth` and `SetDepth`");
83 %property(Height, GetHeight, SetHeight, doc="See `GetHeight` and `SetHeight`");
84 %property(Width, GetWidth, SetWidth, doc="See `GetWidth` and `SetWidth`");
88 //---------------------------------------------------------------------------
93 // ctor takes the name of the file where the icon is
95 wxIconLocation(const wxString* filename = &wxPyEmptyString, int num = 0) {
97 return new wxIconLocation(*filename, num);
99 return new wxIconLocation(*filename);
107 // returns True if this object is valid/initialized
109 %pythoncode { def __nonzero__(self): return self.Ok() }
111 // set/get the icon file name
112 void SetFileName(const wxString& filename);
113 const wxString& GetFileName() const;
116 void SetIndex(int num) {
126 return self->GetIndex();
133 %property(FileName, GetFileName, SetFileName, doc="See `GetFileName` and `SetFileName`");
134 %property(Index, GetIndex, SetIndex, doc="See `GetIndex` and `SetIndex`");
141 //---------------------------------------------------------------------------
146 // default constructor
149 // initializes the bundle with the icon(s) found in the file
150 %RenameCtor(IconBundleFromFile, wxIconBundle( const wxString& file, long type ));
152 // initializes the bundle with a single icon
153 %RenameCtor(IconBundleFromIcon, wxIconBundle( const wxIcon& icon ));
157 // adds the icon to the collection, if the collection already
158 // contains an icon with the same width and height, it is
160 void AddIcon( const wxIcon& icon );
162 // adds all the icons contained in the file to the collection,
163 // if the collection already contains icons with the same
164 // width and height, they are replaced
165 %Rename(AddIconFromFile,void, AddIcon( const wxString& file, long type ));
167 // returns the icon with the given size; if no such icon exists,
168 // returns the icon with size wxSYS_ICON_[XY]; if no such icon exists,
169 // returns the first icon in the bundle
170 const wxIcon& GetIcon( const wxSize& size ) const;
172 %property(Icon, GetIcon, doc="See `GetIcon`");
175 //---------------------------------------------------------------------------