}
}
-// %pragma(python) addtoclass = "
-// _prop_list_ = {}
-// "
-// %pragma(python) addtoclass = "
-// def __getattr__(self, name):
-// pl = self._prop_list_
-// if pl.has_key(name):
-// getFunc, setFunc = pl[name]
-// if getFunc:
-// return getattr(self, getFunc)()
-// else:
-// raise TypeError, '%s property is write-only' % name
-// raise AttributeError, name
-
-// def __setattr__(self, name, value):
-// pl = self._prop_list_
-// if pl.has_key(name):
-// getFunc, setFunc = pl[name]
-// if setFunc:
-// return getattr(self, setFunc)(value)
-// else:
-// raise TypeError, '%s property is read-only' % name
-// self.__dict__[name] = value
-// "
};
static bool IsSilent();
static void SetBellOnError(int doIt = TRUE);
-// // Properties list
-// %pragma(python) addtoclass = "
-// _prop_list_ = {
-// 'window' : ('GetWindow', 'SetWindow'),
-// }
-// _prop_list_.update(wxEvtHandler._prop_list_)
-// "
};
~wxPyValidator() {
}
- wxObject* wxPyValidator::Clone() const {
+ wxObject* Clone() const {
wxPyValidator* ptr = NULL;
wxPyValidator* self = (wxPyValidator*)this;
- bool doSave = wxPyRestoreThread();
+ wxPyTState* state = wxPyBeginBlockThreads();
if (self->m_myInst.findCallback("Clone")) {
PyObject* ro;
ro = self->m_myInst.callCallbackObj(Py_BuildValue("()"));
Py_DECREF(ro);
}
}
+ wxPyEndBlockThreads(state);
+
// This is very dangerous!!! But is the only way I could find
// to squash a memory leak. Currently it is okay, but if the
// validator architecture in wxWindows ever changes, problems
// could arise.
delete self;
-
- wxPySaveThread(doSave);
return ptr;
}
class wxWindow : public wxEvtHandler {
public:
-
wxWindow(wxWindow* parent, const wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
char* name = "panel");
+ %name(wxPreWindow)wxWindow();
- %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)"
+ bool Create(wxWindow* parent, const wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ char* name = "panel");
void CaptureMouse();
void Center(int direction = wxBOTH);
void CentreOnScreen(int direction = wxBOTH );
void CenterOnScreen(int direction = wxBOTH );
+ void Clear();
+
// (uses apply'ed INOUT typemap, see above)
%name(ClientToScreenXY)void ClientToScreen(int* x, int* y);
wxPoint ClientToScreen(const wxPoint& pt);
void Raise();
void Refresh(bool eraseBackground = TRUE, const wxRect* rect = NULL);
+ void RefreshRect(const wxRect& rect);
+
void ReleaseMouse();
void RemoveChild(wxWindow* child);
bool Reparent( wxWindow* newParent );
return val
"
+ void Freeze();
+ void Thaw();
+ void Update();
+
+ wxString GetHelpText();
+ void SetHelpText(const wxString& helpText);
+
+ bool ScrollLines(int lines);
+ bool ScrollPages(int pages);
+ bool LineUp();
+ bool LineDown();
+ bool PageUp();
+ bool PageDown();
+
+ static wxWindow* FindFocus();
+ static int NewControlId();
+ static int NextControlId(int id);
+ static int PrevControlId(int id);
-// // Properties list
-// %pragma(python) addtoclass = "
-// _prop_list_ = {
-// 'size' : ('GetSize', 'SetSize'),
-// 'enabled' : ('IsEnabled', 'Enable'),
-// 'background' : ('GetBackgroundColour', 'SetBackgroundColour'),
-// 'foreground' : ('GetForegroundColour', 'SetForegroundColour'),
-// 'children' : ('GetChildren', None),
-// 'charHeight' : ('GetCharHeight', None),
-// 'charWidth' : ('GetCharWidth', None),
-// 'clientSize' : ('GetClientSize', 'SetClientSize'),
-// 'font' : ('GetFont', 'SetFont'),
-// 'grandParent' : ('GetGrandParent', None),
-// 'handle' : ('GetHandle', None),
-// 'label' : ('GetLabel', 'SetLabel'),
-// 'name' : ('GetName', 'SetName'),
-// 'parent' : ('GetParent', None),
-// 'position' : ('GetPosition', 'SetPosition'),
-// 'title' : ('GetTitle', 'SetTitle'),
-// 'style' : ('GetWindowStyleFlag', 'SetWindowStyleFlag'),
-// 'visible' : ('IsShown', 'Show'),
-// 'toolTip' : ('GetToolTip', 'SetToolTip'),
-// 'sizer' : ('GetSizer', 'SetSizer'),
-// 'validator' : ('GetValidator', 'SetValidator'),
-// 'dropTarget' : ('GetDropTarget', 'SetDropTarget'),
-// 'caret' : ('GetCaret', 'SetCaret'),
-// 'autoLayout' : ('GetAutoLayout', 'SetAutoLayout'),
-// 'constraints' : ('GetConstraints', 'SetConstraints'),
-
-// }
-// _prop_list_.update(wxEvtHandler._prop_list_)
-// "
};
return win.ConvertDialogSizeToPixels(wxSize(size_width, height))
"
-%inline %{
- wxWindow* wxWindow_FindFocus() {
- return wxWindow::FindFocus();
- }
-%}
-
#ifdef __WXMSW__
%inline %{
%}
#endif
-%inline %{
- int wxWindow_NewControlId() {
- return wxWindow::NewControlId();
- }
- int wxWindow_NextControlId(int id) {
- return wxWindow::NextControlId(id);
- }
- int wxWindow_PrevControlId(int id) {
- return wxWindow::PrevControlId(id);
- }
-%}
-
//---------------------------------------------------------------------------
const wxSize& size = wxDefaultSize,
long style = wxTAB_TRAVERSAL,
const char* name = "panel");
+ %name(wxPrePanel)wxPanel();
- %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)"
+ bool Create(wxWindow* parent,
+ const wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxTAB_TRAVERSAL,
+ const char* name = "panel");
void InitDialog();
wxButton* GetDefaultItem();
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE,
const char* name = "dialogBox");
+ %name(wxPreDialog)wxDialog();
- %pragma(python) addtomethod = "__init__:#wx._StdDialogCallbacks(self)"
+ bool Create(wxWindow* parent,
+ const wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_DIALOG_STYLE,
+ const char* name = "dialogBox");
void Centre(int direction = wxBOTH);
void EndModal(int retCode);
//---------------------------------------------------------------------------
+
+// TODO: Add wrappers for the wxScrollHelper class, make wxScrolledWindow
+// derive from it and wxPanel.
+
+
class wxScrolledWindow : public wxPanel {
public:
wxScrolledWindow(wxWindow* parent,
const wxSize& size = wxDefaultSize,
long style = wxHSCROLL | wxVSCROLL,
char* name = "scrolledWindow");
+ %name(wxPreScrolledWindow)wxScrolledWindow();
- %pragma(python) addtomethod = "__init__:#wx._StdWindowCallbacks(self)"
- %pragma(python) addtomethod = "__init__:#wx._StdOnScrollCallbacks(self)"
+ bool Create(wxWindow* parent,
+ const wxWindowID id = -1,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxHSCROLL | wxVSCROLL,
+ char* name = "scrolledWindow");
void EnableScrolling(bool xScrolling, bool yScrolling);
int GetScrollPageSize(int orient);
void SetScrollPageSize(int orient, int pageSize);
void SetTargetWindow(wxWindow* window);
void GetViewStart(int* OUTPUT, int* OUTPUT);
- void ViewStart(int* OUTPUT, int* OUTPUT);
+ %pragma(python) addtoclass = "ViewStart = GetViewStart"
void CalcScrolledPosition( int x, int y, int *OUTPUT, int *OUTPUT);
void CalcUnscrolledPosition( int x, int y, int *OUTPUT, int *OUTPUT);
void EnableTop(size_t pos, bool enable);
void SetLabelTop(size_t pos, const wxString& label);
wxString GetLabelTop(size_t pos);
+ int FindMenu(const wxString& title);
int FindMenuItem(const wxString& menuString, const wxString& itemString);
%name(FindItemById)wxMenuItem* FindItem(int id/*, wxMenu **menu = NULL*/);
void Enable(int id, bool enable);
void SetFont(const wxFont& font);
wxFont& GetFont();
void SetTextColour(const wxColour& colText);
- wxColour& GetTextColour();
+ wxColour GetTextColour();
void SetBackgroundColour(const wxColour& colBack);
- wxColour& GetBackgroundColour();
+ wxColour GetBackgroundColour();
void SetBitmaps(const wxBitmap& bmpChecked,
const wxBitmap& bmpUnchecked = wxNullBitmap);
void SetBitmap(const wxBitmap& bmpChecked);