Files
wxWidgets/wxPython/src/_icon.i
2007-04-12 00:49:47 +00:00

208 lines
5.4 KiB
OpenEdge ABL

/////////////////////////////////////////////////////////////////////////////
// Name: _icon.i
// Purpose: SWIG interface for wxIcon and related classes
//
// Author: Robin Dunn
//
// Created: 7-July-1997
// RCS-ID: $Id$
// Copyright: (c) 2003 by Total Control Software
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// Not a %module
//---------------------------------------------------------------------------
%{
#include <wx/iconbndl.h>
%}
//---------------------------------------------------------------------------
MustHaveApp(wxIcon);
class wxIcon : public wxGDIObject
{
public:
wxIcon(const wxString& name, wxBitmapType type,
int desiredWidth = -1, int desiredHeight = -1);
~wxIcon();
// alternate constructors
%RenameCtor(EmptyIcon, wxIcon());
%RenameCtor(IconFromLocation, wxIcon(const wxIconLocation& loc));
%extend {
%RenameCtor(IconFromBitmap, wxIcon(const wxBitmap& bmp))
{
wxIcon* icon = new wxIcon();
icon->CopyFromBitmap(bmp);
return icon;
}
%RenameCtor(IconFromXPMData, wxIcon(PyObject* listOfStrings))
{
char** cArray = NULL;
wxIcon* icon;
cArray = ConvertListOfStrings(listOfStrings);
if (! cArray)
return NULL;
icon = new wxIcon(cArray);
delete [] cArray;
return icon;
}
}
#ifndef __WXMAC__
bool LoadFile(const wxString& name, wxBitmapType type);
#endif
// wxGDIImage methods
#ifdef __WXMSW__
long GetHandle();
%extend {
void SetHandle(long handle) { self->SetHandle((WXHANDLE)handle); }
}
#endif
bool IsOk();
%pythoncode { Ok = IsOk }
int GetWidth();
int GetHeight();
int GetDepth();
void SetWidth(int w);
void SetHeight(int h);
void SetDepth(int d);
#ifdef __WXMSW__
void SetSize(const wxSize& size);
#endif
void CopyFromBitmap(const wxBitmap& bmp);
%pythoncode { def __nonzero__(self): return self.IsOk() }
%property(Depth, GetDepth, SetDepth, doc="See `GetDepth` and `SetDepth`");
%property(Height, GetHeight, SetHeight, doc="See `GetHeight` and `SetHeight`");
%property(Width, GetWidth, SetWidth, doc="See `GetWidth` and `SetWidth`");
};
//---------------------------------------------------------------------------
class wxIconLocation
{
public:
// ctor takes the name of the file where the icon is
%extend {
wxIconLocation(const wxString* filename = &wxPyEmptyString, int num = 0) {
#ifdef __WXMSW__
return new wxIconLocation(*filename, num);
#else
return new wxIconLocation(*filename);
#endif
}
}
~wxIconLocation();
// returns True if this object is valid/initialized
bool IsOk() const;
%pythoncode { def __nonzero__(self): return self.IsOk() }
// set/get the icon file name
void SetFileName(const wxString& filename);
const wxString& GetFileName() const;
%extend {
void SetIndex(int num) {
#ifdef __WXMSW__
self->SetIndex(num);
#else
// do nothing
#endif
}
int GetIndex() {
#ifdef __WXMSW__
return self->GetIndex();
#else
return -1;
#endif
}
}
%property(FileName, GetFileName, SetFileName, doc="See `GetFileName` and `SetFileName`");
%property(Index, GetIndex, SetIndex, doc="See `GetIndex` and `SetIndex`");
};
//---------------------------------------------------------------------------
class wxIconBundle
{
public:
// default constructor
wxIconBundle();
// initializes the bundle with the icon(s) found in the file
%RenameCtor(IconBundleFromFile, wxIconBundle( const wxString& file, long type ));
// initializes the bundle with a single icon
%RenameCtor(IconBundleFromIcon, wxIconBundle( const wxIcon& icon ));
~wxIconBundle();
virtual bool IsOk() const;
%pythoncode { def __nonzero__(self): return self.IsOk() }
DocDeclStr(
void , AddIcon( const wxIcon& icon ),
"Adds the icon to the collection, if the collection already contains an
icon with the same width and height, it is replaced", "");
DocDeclStrName(
void , AddIcon( const wxString& file, long type ),
"Adds all the icons contained in the file to the collection, if the
collection already contains icons with the same width and height, they
are replaced", "",
AddIconFromFile);
DocDeclStr(
const wxIcon& , GetIcon( const wxSize& size ) const,
"Returns the icon with the given size; if no such icon exists, returns
the icon with size wxSYS_ICON_[XY]; if no such icon exists, returns
the first icon in the bundle", "");
DocDeclStr(
wxIcon , GetIconOfExactSize(const wxSize& size) const,
"Returns the icon exactly of the specified size or wxNullIcon if no
icon of exactly given size are available.", "");
DocDeclStr(
size_t , GetIconCount() const,
"return the number of available icons", "");
DocDeclStr(
wxIcon , GetIconByIndex(size_t n) const,
"Return the icon at index (must be < GetIconCount())", "");
DocDeclStr(
bool , IsEmpty() const,
"Check if we have any icons at all", "");
};
//---------------------------------------------------------------------------