86a12675f1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
651 lines
21 KiB
OpenEdge ABL
651 lines
21 KiB
OpenEdge ABL
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: windows2.i
|
|
// Purpose: SWIG definitions of MORE window classes
|
|
//
|
|
// Author: Robin Dunn
|
|
//
|
|
// Created: 6/2/98
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) 1998 by Total Control Software
|
|
// Licence: wxWindows license
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
%module windows2
|
|
|
|
%{
|
|
#include "helpers.h"
|
|
#ifdef OLD_GRID
|
|
#include <wx/grid.h>
|
|
#endif
|
|
#include <wx/notebook.h>
|
|
#include <wx/splitter.h>
|
|
#include <wx/imaglist.h>
|
|
#ifdef __WXMSW__
|
|
#include <wx/msw/taskbar.h>
|
|
#endif
|
|
%}
|
|
|
|
//----------------------------------------------------------------------
|
|
|
|
%{
|
|
// Put some wx default wxChar* values into wxStrings.
|
|
DECLARE_DEF_STRING(NOTEBOOK_NAME);
|
|
DECLARE_DEF_STRING(PanelNameStr);
|
|
DECLARE_DEF_STRING(ControlNameStr);
|
|
|
|
static const wxChar* wxSplitterNameStr = wxT("splitter");
|
|
DECLARE_DEF_STRING(SplitterNameStr);
|
|
static const wxString wxPyEmptyString(wxT(""));
|
|
%}
|
|
|
|
//----------------------------------------------------------------------
|
|
|
|
%include typemaps.i
|
|
%include my_typemaps.i
|
|
|
|
// Import some definitions of other classes, etc.
|
|
%import _defs.i
|
|
%import misc.i
|
|
%import gdi.i
|
|
%import windows.i
|
|
%import controls.i
|
|
%import events.i
|
|
|
|
%pragma(python) code = "import wx"
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
enum {
|
|
/* notebook control event types */
|
|
wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,
|
|
wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING,
|
|
};
|
|
|
|
|
|
class wxNotebookEvent : public wxNotifyEvent {
|
|
public:
|
|
wxNotebookEvent(wxEventType commandType = wxEVT_NULL, int id = 0,
|
|
int nSel = -1, int nOldSel = -1);
|
|
|
|
int GetSelection();
|
|
int GetOldSelection();
|
|
void SetOldSelection(int page);
|
|
void SetSelection(int page);
|
|
};
|
|
|
|
|
|
|
|
class wxNotebook : public wxControl {
|
|
public:
|
|
wxNotebook(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxString& name = wxPyNOTEBOOK_NAME);
|
|
%name(wxPreNotebook)wxNotebook();
|
|
|
|
bool Create(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxString& name = wxPyNOTEBOOK_NAME);
|
|
|
|
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
|
|
%pragma(python) addtomethod = "wxPreNotebook:val._setOORInfo(val)"
|
|
|
|
int GetPageCount();
|
|
int SetSelection(int nPage);
|
|
void AdvanceSelection(bool bForward = TRUE);
|
|
int GetSelection();
|
|
bool SetPageText(int nPage, const wxString& strText);
|
|
wxString GetPageText(int nPage) const;
|
|
|
|
void SetImageList(wxImageList* imageList);
|
|
void AssignImageList(wxImageList *imageList) ;
|
|
%pragma(python) addtomethod = "AssignImageList:_args[0].thisown = 0"
|
|
|
|
wxImageList* GetImageList();
|
|
int GetPageImage(int nPage);
|
|
bool SetPageImage(int nPage, int nImage);
|
|
int GetRowCount();
|
|
|
|
void SetPageSize(const wxSize& size);
|
|
void SetPadding(const wxSize& padding);
|
|
bool DeletePage(int nPage);
|
|
bool RemovePage(int nPage);
|
|
bool DeleteAllPages();
|
|
bool AddPage(/*wxNotebookPage*/ wxWindow *pPage,
|
|
const wxString& strText,
|
|
int bSelect = FALSE,
|
|
int imageId = -1);
|
|
bool InsertPage(int nPage,
|
|
/*wxNotebookPage*/ wxWindow *pPage,
|
|
const wxString& strText,
|
|
bool bSelect = FALSE,
|
|
int imageId = -1);
|
|
/*wxNotebookPage*/ wxWindow *GetPage(int nPage);
|
|
|
|
%addmethods {
|
|
void ResizeChildren() {
|
|
wxSizeEvent evt(self->GetClientSize());
|
|
self->GetEventHandler()->ProcessEvent(evt);
|
|
}
|
|
}
|
|
|
|
|
|
};
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
|
|
enum {
|
|
/* splitter window events */
|
|
wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING,
|
|
wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED,
|
|
wxEVT_COMMAND_SPLITTER_UNSPLIT,
|
|
wxEVT_COMMAND_SPLITTER_DOUBLECLICKED,
|
|
};
|
|
|
|
|
|
enum
|
|
{
|
|
wxSPLIT_HORIZONTAL,
|
|
wxSPLIT_VERTICAL,
|
|
wxSPLIT_DRAG_NONE,
|
|
wxSPLIT_DRAG_DRAGGING,
|
|
wxSPLIT_DRAG_LEFT_DOWN
|
|
};
|
|
|
|
|
|
class wxSplitterEvent : public wxNotifyEvent {
|
|
public:
|
|
wxSplitterEvent(wxEventType type = wxEVT_NULL,
|
|
wxSplitterWindow *splitter = NULL);
|
|
|
|
int GetSashPosition();
|
|
int GetX();
|
|
int GetY();
|
|
wxWindow* GetWindowBeingRemoved();
|
|
void SetSashPosition(int pos);
|
|
}
|
|
|
|
|
|
|
|
|
|
class wxSplitterWindow : public wxWindow {
|
|
public:
|
|
wxSplitterWindow(wxWindow* parent, wxWindowID id,
|
|
const wxPoint& point = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style=wxSP_3D|wxCLIP_CHILDREN,
|
|
const wxString& name = wxPySplitterNameStr);
|
|
%name(wxPreSplitterWindow)wxSplitterWindow();
|
|
|
|
bool Create(wxWindow* parent, wxWindowID id,
|
|
const wxPoint& point = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style=wxSP_3D|wxCLIP_CHILDREN,
|
|
const wxString& name = wxPySplitterNameStr);
|
|
|
|
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
|
|
%pragma(python) addtomethod = "wxPreSplitterWindow:val._setOORInfo(val)"
|
|
|
|
// Gets the only or left/top pane
|
|
wxWindow *GetWindow1();
|
|
|
|
// Gets the right/bottom pane
|
|
wxWindow *GetWindow2();
|
|
|
|
// Sets the split mode
|
|
void SetSplitMode(int mode);
|
|
|
|
// Gets the split mode
|
|
int GetSplitMode();
|
|
|
|
// Initialize with one window
|
|
void Initialize(wxWindow *window);
|
|
|
|
// Associates the given window with window 2, drawing the appropriate sash
|
|
// and changing the split mode.
|
|
// Does nothing and returns FALSE if the window is already split.
|
|
// A sashPosition of 0 means choose a default sash position,
|
|
// negative sashPosition specifies the size of right/lower pane as it's
|
|
// absolute value rather than the size of left/upper pane.
|
|
virtual bool SplitVertically(wxWindow *window1,
|
|
wxWindow *window2,
|
|
int sashPosition = 0);
|
|
virtual bool SplitHorizontally(wxWindow *window1,
|
|
wxWindow *window2,
|
|
int sashPosition = 0);
|
|
|
|
// Removes the specified (or second) window from the view
|
|
// Doesn't actually delete the window.
|
|
bool Unsplit(wxWindow *toRemove = NULL);
|
|
|
|
// Replaces one of the windows with another one (neither old nor new
|
|
// parameter should be NULL)
|
|
bool ReplaceWindow(wxWindow *winOld, wxWindow *winNew);
|
|
|
|
// Is the window split?
|
|
bool IsSplit();
|
|
|
|
// Sets the sash size
|
|
void SetSashSize(int width);
|
|
|
|
// Sets the border size
|
|
void SetBorderSize(int width);
|
|
|
|
// Gets the sash size
|
|
int GetSashSize();
|
|
|
|
// Gets the border size
|
|
int GetBorderSize();
|
|
|
|
// Set the sash position
|
|
void SetSashPosition(int position, bool redraw = TRUE);
|
|
|
|
// Gets the sash position
|
|
int GetSashPosition();
|
|
|
|
// If this is zero, we can remove panes by dragging the sash.
|
|
void SetMinimumPaneSize(int min);
|
|
int GetMinimumPaneSize();
|
|
|
|
// Resizes subwindows
|
|
virtual void SizeWindows();
|
|
|
|
void SetNeedUpdating(bool needUpdating) { m_needUpdating = needUpdating; }
|
|
bool GetNeedUpdating() const { return m_needUpdating ; }
|
|
|
|
};
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
#ifdef __WXMSW__
|
|
|
|
enum {
|
|
wxEVT_TASKBAR_MOVE,
|
|
wxEVT_TASKBAR_LEFT_DOWN,
|
|
wxEVT_TASKBAR_LEFT_UP,
|
|
wxEVT_TASKBAR_RIGHT_DOWN,
|
|
wxEVT_TASKBAR_RIGHT_UP,
|
|
wxEVT_TASKBAR_LEFT_DCLICK,
|
|
wxEVT_TASKBAR_RIGHT_DCLICK
|
|
};
|
|
|
|
|
|
class wxTaskBarIcon : public wxEvtHandler {
|
|
public:
|
|
wxTaskBarIcon();
|
|
~wxTaskBarIcon();
|
|
|
|
//%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
|
|
|
|
// We still use the magic methods here since that is the way it is documented...
|
|
%pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnMouseMove', wxEVT_TASKBAR_MOVE)"
|
|
%pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnLButtonDown', wxEVT_TASKBAR_LEFT_DOWN)"
|
|
%pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnLButtonUp', wxEVT_TASKBAR_LEFT_UP)"
|
|
%pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnRButtonDown', wxEVT_TASKBAR_RIGHT_DOWN)"
|
|
%pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnRButtonUp', wxEVT_TASKBAR_RIGHT_UP)"
|
|
%pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnLButtonDClick',wxEVT_TASKBAR_LEFT_DCLICK)"
|
|
%pragma(python) addtomethod = "__init__:wx._checkForCallback(self, 'OnRButtonDClick',wxEVT_TASKBAR_RIGHT_DCLICK)"
|
|
|
|
bool SetIcon(const wxIcon& icon, const wxString& tooltip = wxPyEmptyString);
|
|
bool RemoveIcon(void);
|
|
bool PopupMenu(wxMenu *menu);
|
|
bool IsIconInstalled();
|
|
bool IsOK();
|
|
};
|
|
#endif
|
|
|
|
//---------------------------------------------------------------------------
|
|
//---------------------------------------------------------------------------
|
|
// wxPyWindow derives from wxWindow and adds support for overriding many of
|
|
// the virtual methods in Python derived classes.
|
|
|
|
// Which of these should be done???
|
|
// AddChild
|
|
// Destroy
|
|
// DoCaptureMouse
|
|
// DoClientToScreen
|
|
// DoHitTest
|
|
// DoMoveWindow
|
|
// DoPopupMenu
|
|
// DoReleaseMouse
|
|
// DoScreenToClient
|
|
// DoSetToolTip
|
|
// Enable
|
|
// Fit
|
|
// GetCharHeight
|
|
// GetCharWidth
|
|
// GetClientAreaOrigin
|
|
// GetDefaultItem
|
|
// IsTopLevel
|
|
// RemoveChild
|
|
// SetBackgroundColour
|
|
// SetDefaultItem
|
|
// SetFocus
|
|
// SetFocusFromKbd
|
|
// SetForegroundColour
|
|
// SetSizeHints
|
|
// SetVirtualSizeHints
|
|
// Show
|
|
|
|
|
|
%{ // C++ version of Python aware wxWindow
|
|
class wxPyWindow : public wxWindow
|
|
{
|
|
DECLARE_DYNAMIC_CLASS(wxPyWindow)
|
|
public:
|
|
wxPyWindow() : wxWindow() {}
|
|
wxPyWindow(wxWindow* parent, const wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxString& name = wxPyPanelNameStr)
|
|
: wxWindow(parent, id, pos, size, style, name) {}
|
|
|
|
|
|
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
|
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
|
DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize);
|
|
DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize);
|
|
|
|
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize);
|
|
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize);
|
|
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition);
|
|
|
|
DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize);
|
|
DEC_PYCALLBACK_SIZE_const(DoGetBestSize);
|
|
|
|
DEC_PYCALLBACK__(InitDialog);
|
|
DEC_PYCALLBACK_BOOL_(TransferDataFromWindow);
|
|
DEC_PYCALLBACK_BOOL_(TransferDataToWindow);
|
|
DEC_PYCALLBACK_BOOL_(Validate);
|
|
|
|
DEC_PYCALLBACK_BOOL_const(AcceptsFocus);
|
|
DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard);
|
|
DEC_PYCALLBACK_SIZE_const(GetMaxSize);
|
|
|
|
PYPRIVATE;
|
|
};
|
|
|
|
IMPLEMENT_DYNAMIC_CLASS(wxPyWindow, wxWindow);
|
|
|
|
IMP_PYCALLBACK_VOID_INT4(wxPyWindow, wxWindow, DoMoveWindow);
|
|
IMP_PYCALLBACK_VOID_INT5(wxPyWindow, wxWindow, DoSetSize);
|
|
IMP_PYCALLBACK_VOID_INTINT(wxPyWindow, wxWindow, DoSetClientSize);
|
|
IMP_PYCALLBACK_VOID_INTINT(wxPyWindow, wxWindow, DoSetVirtualSize);
|
|
|
|
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetSize);
|
|
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetClientSize);
|
|
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWindow, wxWindow, DoGetPosition);
|
|
|
|
IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, DoGetVirtualSize);
|
|
IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, DoGetBestSize);
|
|
|
|
IMP_PYCALLBACK__(wxPyWindow, wxWindow, InitDialog);
|
|
IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, TransferDataFromWindow);
|
|
IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, TransferDataToWindow);
|
|
IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, Validate);
|
|
|
|
IMP_PYCALLBACK_BOOL_const(wxPyWindow, wxWindow, AcceptsFocus);
|
|
IMP_PYCALLBACK_BOOL_const(wxPyWindow, wxWindow, AcceptsFocusFromKeyboard);
|
|
IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, GetMaxSize);
|
|
|
|
%}
|
|
|
|
// And now the one for SWIG to see
|
|
class wxPyWindow : public wxWindow
|
|
{
|
|
public:
|
|
wxPyWindow(wxWindow* parent, const wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxString& name = wxPyPanelNameStr);
|
|
|
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
|
%pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyWindow)"
|
|
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
|
|
|
|
|
|
void base_DoMoveWindow(int x, int y, int width, int height);
|
|
void base_DoSetSize(int x, int y, int width, int height,
|
|
int sizeFlags = wxSIZE_AUTO);
|
|
void base_DoSetClientSize(int width, int height);
|
|
void base_DoSetVirtualSize( int x, int y );
|
|
|
|
void base_DoGetSize( int *OUTPUT, int *OUTPUT ) const;
|
|
void base_DoGetClientSize( int *OUTPUT, int *OUTPUT ) const;
|
|
void base_DoGetPosition( int *OUTPUT, int *OUTPUT ) const;
|
|
|
|
wxSize base_DoGetVirtualSize() const;
|
|
wxSize base_DoGetBestSize() const;
|
|
|
|
void base_InitDialog();
|
|
bool base_TransferDataToWindow();
|
|
bool base_TransferDataFromWindow();
|
|
bool base_Validate();
|
|
|
|
bool base_AcceptsFocus() const;
|
|
bool base_AcceptsFocusFromKeyboard() const;
|
|
wxSize base_GetMaxSize() const;
|
|
}
|
|
|
|
//---------------------------------------------------------------------------
|
|
// Do the same thing for wxControl
|
|
|
|
|
|
%{ // C++ version of Python aware wxControl
|
|
class wxPyControl : public wxControl
|
|
{
|
|
DECLARE_DYNAMIC_CLASS(wxPyControl)
|
|
public:
|
|
wxPyControl() : wxControl() {}
|
|
wxPyControl(wxWindow* parent, const wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxValidator& validator=wxDefaultValidator,
|
|
const wxString& name = wxPyControlNameStr)
|
|
: wxControl(parent, id, pos, size, style, validator, name) {}
|
|
|
|
|
|
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
|
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
|
DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize);
|
|
DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize);
|
|
|
|
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize);
|
|
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize);
|
|
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition);
|
|
|
|
DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize);
|
|
DEC_PYCALLBACK_SIZE_const(DoGetBestSize);
|
|
|
|
DEC_PYCALLBACK__(InitDialog);
|
|
DEC_PYCALLBACK_BOOL_(TransferDataFromWindow);
|
|
DEC_PYCALLBACK_BOOL_(TransferDataToWindow);
|
|
DEC_PYCALLBACK_BOOL_(Validate);
|
|
|
|
DEC_PYCALLBACK_BOOL_const(AcceptsFocus);
|
|
DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard);
|
|
DEC_PYCALLBACK_SIZE_const(GetMaxSize);
|
|
|
|
PYPRIVATE;
|
|
};
|
|
|
|
IMPLEMENT_DYNAMIC_CLASS(wxPyControl, wxControl);
|
|
|
|
IMP_PYCALLBACK_VOID_INT4(wxPyControl, wxControl, DoMoveWindow);
|
|
IMP_PYCALLBACK_VOID_INT5(wxPyControl, wxControl, DoSetSize);
|
|
IMP_PYCALLBACK_VOID_INTINT(wxPyControl, wxControl, DoSetClientSize);
|
|
IMP_PYCALLBACK_VOID_INTINT(wxPyControl, wxControl, DoSetVirtualSize);
|
|
|
|
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetSize);
|
|
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetClientSize);
|
|
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetPosition);
|
|
|
|
IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, DoGetVirtualSize);
|
|
IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, DoGetBestSize);
|
|
|
|
IMP_PYCALLBACK__(wxPyControl, wxControl, InitDialog);
|
|
IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, TransferDataFromWindow);
|
|
IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, TransferDataToWindow);
|
|
IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, Validate);
|
|
|
|
IMP_PYCALLBACK_BOOL_const(wxPyControl, wxControl, AcceptsFocus);
|
|
IMP_PYCALLBACK_BOOL_const(wxPyControl, wxControl, AcceptsFocusFromKeyboard);
|
|
IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, GetMaxSize);
|
|
|
|
%}
|
|
|
|
// And now the one for SWIG to see
|
|
class wxPyControl : public wxControl
|
|
{
|
|
public:
|
|
wxPyControl(wxWindow* parent, const wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxValidator& validator=wxDefaultValidator,
|
|
const wxString& name = wxPyControlNameStr);
|
|
|
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
|
%pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyControl)"
|
|
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
|
|
|
|
|
|
void base_DoMoveWindow(int x, int y, int width, int height);
|
|
void base_DoSetSize(int x, int y, int width, int height,
|
|
int sizeFlags = wxSIZE_AUTO);
|
|
void base_DoSetClientSize(int width, int height);
|
|
void base_DoSetVirtualSize( int x, int y );
|
|
|
|
void base_DoGetSize( int *OUTPUT, int *OUTPUT ) const;
|
|
void base_DoGetClientSize( int *OUTPUT, int *OUTPUT ) const;
|
|
void base_DoGetPosition( int *OUTPUT, int *OUTPUT ) const;
|
|
|
|
wxSize base_DoGetVirtualSize() const;
|
|
wxSize base_DoGetBestSize() const;
|
|
|
|
void base_InitDialog();
|
|
bool base_TransferDataToWindow();
|
|
bool base_TransferDataFromWindow();
|
|
bool base_Validate();
|
|
|
|
bool base_AcceptsFocus() const;
|
|
bool base_AcceptsFocusFromKeyboard() const;
|
|
wxSize base_GetMaxSize() const;
|
|
}
|
|
|
|
//---------------------------------------------------------------------------
|
|
// and for wxPanel
|
|
|
|
%{ // C++ version of Python aware wxPanel
|
|
class wxPyPanel : public wxPanel
|
|
{
|
|
DECLARE_DYNAMIC_CLASS(wxPyPanel)
|
|
public:
|
|
wxPyPanel() : wxPanel() {}
|
|
wxPyPanel(wxWindow* parent, const wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxString& name = wxPyPanelNameStr)
|
|
: wxPanel(parent, id, pos, size, style, name) {}
|
|
|
|
|
|
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
|
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
|
DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize);
|
|
DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize);
|
|
|
|
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize);
|
|
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize);
|
|
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition);
|
|
|
|
DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize);
|
|
DEC_PYCALLBACK_SIZE_const(DoGetBestSize);
|
|
|
|
DEC_PYCALLBACK__(InitDialog);
|
|
DEC_PYCALLBACK_BOOL_(TransferDataFromWindow);
|
|
DEC_PYCALLBACK_BOOL_(TransferDataToWindow);
|
|
DEC_PYCALLBACK_BOOL_(Validate);
|
|
|
|
DEC_PYCALLBACK_BOOL_const(AcceptsFocus);
|
|
DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard);
|
|
DEC_PYCALLBACK_SIZE_const(GetMaxSize);
|
|
|
|
PYPRIVATE;
|
|
};
|
|
|
|
IMPLEMENT_DYNAMIC_CLASS(wxPyPanel, wxPanel);
|
|
|
|
IMP_PYCALLBACK_VOID_INT4(wxPyPanel, wxPanel, DoMoveWindow);
|
|
IMP_PYCALLBACK_VOID_INT5(wxPyPanel, wxPanel, DoSetSize);
|
|
IMP_PYCALLBACK_VOID_INTINT(wxPyPanel, wxPanel, DoSetClientSize);
|
|
IMP_PYCALLBACK_VOID_INTINT(wxPyPanel, wxPanel, DoSetVirtualSize);
|
|
|
|
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyPanel, wxPanel, DoGetSize);
|
|
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyPanel, wxPanel, DoGetClientSize);
|
|
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyPanel, wxPanel, DoGetPosition);
|
|
|
|
IMP_PYCALLBACK_SIZE_const(wxPyPanel, wxPanel, DoGetVirtualSize);
|
|
IMP_PYCALLBACK_SIZE_const(wxPyPanel, wxPanel, DoGetBestSize);
|
|
|
|
IMP_PYCALLBACK__(wxPyPanel, wxPanel, InitDialog);
|
|
IMP_PYCALLBACK_BOOL_(wxPyPanel, wxPanel, TransferDataFromWindow);
|
|
IMP_PYCALLBACK_BOOL_(wxPyPanel, wxPanel, TransferDataToWindow);
|
|
IMP_PYCALLBACK_BOOL_(wxPyPanel, wxPanel, Validate);
|
|
|
|
IMP_PYCALLBACK_BOOL_const(wxPyPanel, wxPanel, AcceptsFocus);
|
|
IMP_PYCALLBACK_BOOL_const(wxPyPanel, wxPanel, AcceptsFocusFromKeyboard);
|
|
IMP_PYCALLBACK_SIZE_const(wxPyPanel, wxPanel, GetMaxSize);
|
|
|
|
%}
|
|
|
|
// And now the one for SWIG to see
|
|
class wxPyPanel : public wxPanel
|
|
{
|
|
public:
|
|
wxPyPanel(wxWindow* parent, const wxWindowID id,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxString& name = wxPyPanelNameStr);
|
|
|
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
|
%pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyPanel)"
|
|
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
|
|
|
|
|
|
void base_DoMoveWindow(int x, int y, int width, int height);
|
|
void base_DoSetSize(int x, int y, int width, int height,
|
|
int sizeFlags = wxSIZE_AUTO);
|
|
void base_DoSetClientSize(int width, int height);
|
|
void base_DoSetVirtualSize( int x, int y );
|
|
|
|
void base_DoGetSize( int *OUTPUT, int *OUTPUT ) const;
|
|
void base_DoGetClientSize( int *OUTPUT, int *OUTPUT ) const;
|
|
void base_DoGetPosition( int *OUTPUT, int *OUTPUT ) const;
|
|
|
|
wxSize base_DoGetVirtualSize() const;
|
|
wxSize base_DoGetBestSize() const;
|
|
|
|
void base_InitDialog();
|
|
bool base_TransferDataToWindow();
|
|
bool base_TransferDataFromWindow();
|
|
bool base_Validate();
|
|
|
|
bool base_AcceptsFocus() const;
|
|
bool base_AcceptsFocusFromKeyboard() const;
|
|
wxSize base_GetMaxSize() const;
|
|
}
|
|
|
|
|
|
//---------------------------------------------------------------------------
|