#include "helpers.h"
#include <wx/sashwin.h>
#include <wx/laywin.h>
+#ifndef __WXMAC__
#include <wx/popupwin.h>
+#include <wx/tipwin.h>
+#endif
%}
//----------------------------------------------------------------------
%pragma(python) code = "import wx"
+//----------------------------------------------------------------------
+
+%{
+ // Put some wx default wxChar* values into wxStrings.
+ static const wxChar* wxSashNameStr = wxT("sashWindow");
+ DECLARE_DEF_STRING(SashNameStr);
+ static const wxChar* wxSashLayoutNameStr = wxT("layoutWindow");
+ DECLARE_DEF_STRING(SashLayoutNameStr);
+%}
//---------------------------------------------------------------------------
enum wxSashEdgePosition {
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxCLIP_CHILDREN | wxSW_3D,
- const char* name = "sashWindow");
+ const wxString& name = wxPySashNameStr);
%name(wxPreSashWindow)wxSashWindow();
bool Create(wxWindow* parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxCLIP_CHILDREN | wxSW_3D,
- const char* name = "sashWindow");
+ const wxString& name = wxPySashNameStr);
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
- %pragma(python) addtomethod = "wxPreSashWindow:val._setOORInfo(self)"
+ %pragma(python) addtomethod = "wxPreSashWindow:val._setOORInfo(val)"
bool GetSashVisible(wxSashEdgePosition edge);
int GetDefaultBorderSize();
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxCLIP_CHILDREN | wxSW_3D,
- const char* name = "layoutWindow");
+ const wxString& name = wxPySashLayoutNameStr);
%name(wxPreSashLayoutWindow)wxSashLayoutWindow();
bool Create(wxWindow* parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxCLIP_CHILDREN | wxSW_3D,
- const char* name = "layoutWindow");
+ const wxString& name = wxPySashLayoutNameStr);
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
- %pragma(python) addtomethod = "wxPreSashLayoutWindow:val._setOORInfo(self)"
+ %pragma(python) addtomethod = "wxPreSashLayoutWindow:val._setOORInfo(val)"
wxLayoutAlignment GetAlignment();
wxLayoutOrientation GetOrientation();
//---------------------------------------------------------------------------
+#ifndef __WXMAC__
// wxPopupWindow: a special kind of top level window used for popup menus,
// combobox popups and such.
%name(wxPrePopupWindow)wxPopupWindow();
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
- %pragma(python) addtomethod = "wxPrePopupWindow:val._setOORInfo(self)"
+ %pragma(python) addtomethod = "wxPrePopupWindow:val._setOORInfo(val)"
bool Create(wxWindow *parent, int flags = wxBORDER_NONE);
+ // the point must be given in screen coordinates!
void Position(const wxPoint& ptOrigin,
const wxSize& size);
};
: wxPopupTransientWindow(parent, style) {}
DEC_PYCALLBACK_BOOL_ME(ProcessLeftDown);
+ DEC_PYCALLBACK__(OnDismiss);
+ DEC_PYCALLBACK_BOOL_(CanDismiss);
PYPRIVATE;
};
IMP_PYCALLBACK_BOOL_ME(wxPyPopupTransientWindow, wxPopupTransientWindow, ProcessLeftDown);
-
+IMP_PYCALLBACK__(wxPyPopupTransientWindow, wxPopupTransientWindow, OnDismiss);
+IMP_PYCALLBACK_BOOL_(wxPyPopupTransientWindow, wxPopupTransientWindow, CanDismiss);
%}
%pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPopupTransientWindow)"
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
- %pragma(python) addtomethod = "wxPrePopupTransientWindow:val._setOORInfo(self)"
+ %pragma(python) addtomethod = "wxPrePopupTransientWindow:val._setOORInfo(val)"
// popup the window (this will show it too) and keep focus at winFocus
// (or itself if it's NULL), dismiss the popup if we lose focus
//---------------------------------------------------------------------------
+class wxTipWindow : public wxPyPopupTransientWindow
+{
+public:
+ %addmethods {
+ wxTipWindow(wxWindow *parent,
+ const wxString* text,
+ wxCoord maxLength = 100,
+ wxRect* rectBound = NULL) {
+ wxString tmp = *text;
+ return new wxTipWindow(parent, tmp, maxLength, NULL, rectBound);
+ }
+ }
+
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+
+ // If rectBound is not NULL, the window will disappear automatically when
+ // the mouse leave the specified rect: note that rectBound should be in the
+ // screen coordinates!
+ void SetBoundingRect(const wxRect& rectBound);
+
+ // Hide and destroy the window
+ void Close();
+};
+
+
+//---------------------------------------------------------------------------
+
+#endif