X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/25832b3f2bd566e5b68f066d97e0e79d2bbbd17f..64b397664d8d8c0acd2630ea239ab420fe7fe007:/wxPython/src/cmndlgs.i diff --git a/wxPython/src/cmndlgs.i b/wxPython/src/cmndlgs.i index 321c4e7ddd..b69e07c4b0 100644 --- a/wxPython/src/cmndlgs.i +++ b/wxPython/src/cmndlgs.i @@ -18,6 +18,7 @@ #include #include #include +#include %} //---------------------------------------------------------------------- @@ -30,12 +31,27 @@ %import misc.i %import gdi.i %import windows.i +%import events.i %import frames.i %pragma(python) code = "import wx" //---------------------------------------------------------------------- +%{ + // Put some wx default wxChar* values into wxStrings. + DECLARE_DEF_STRING(FileSelectorPromptStr); + DECLARE_DEF_STRING(DirSelectorPromptStr); + DECLARE_DEF_STRING(DirDialogNameStr); + DECLARE_DEF_STRING(FileSelectorDefaultWildcardStr); + DECLARE_DEF_STRING(GetTextFromUserPromptStr); + DECLARE_DEF_STRING(MessageBoxCaptionStr); + static const wxString wxPyEmptyString(wxT("")); + +%} + +//---------------------------------------------------------------------- + class wxColourData : public wxObject { public: wxColourData(); @@ -54,7 +70,7 @@ class wxColourDialog : public wxDialog { public: wxColourDialog(wxWindow* parent, wxColourData* data = NULL); - %pragma(python) addtomethod = "__init__:#wx._StdDialogCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" wxColourData& GetColourData(); int ShowModal(); @@ -66,12 +82,14 @@ public: class wxDirDialog : public wxDialog { public: wxDirDialog(wxWindow* parent, - char* message = "Choose a directory", - char* defaultPath = "", + const wxString& message = wxPyDirSelectorPromptStr, + const wxString& defaultPath = wxPyEmptyString, long style = 0, - const wxPoint& pos = wxDefaultPosition); + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + const wxString& name = wxPyDirDialogNameStr); - %pragma(python) addtomethod = "__init__:#wx._StdDialogCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" wxString GetPath(); wxString GetMessage(); @@ -81,19 +99,20 @@ public: int ShowModal(); }; + //---------------------------------------------------------------------- class wxFileDialog : public wxDialog { public: wxFileDialog(wxWindow* parent, - char* message = "Choose a file", - char* defaultDir = "", - char* defaultFile = "", - char* wildcard = "*.*", + const wxString& message = wxPyFileSelectorPromptStr, + const wxString& defaultDir = wxPyEmptyString, + const wxString& defaultFile = wxPyEmptyString, + const wxString& wildcard = wxPyFileSelectorDefaultWildcardStr, long style = 0, const wxPoint& pos = wxDefaultPosition); - %pragma(python) addtomethod = "__init__:#wx._StdDialogCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" wxString GetDirectory(); wxString GetFilename(); @@ -115,25 +134,13 @@ public: PyObject* GetFilenames() { wxArrayString arr; self->GetFilenames(arr); - size_t count = arr.GetCount(); - PyObject* listObj = PyList_New(0); - for(size_t x=0; xGetPaths(arr); - size_t count = arr.GetCount(); - PyObject* listObj = PyList_New(0); - for(size_t x=0; xGetSelections()); + } + } +}; + //---------------------------------------------------------------------- @@ -155,14 +185,14 @@ public: wxString* caption, int LCOUNT, wxString* choices, //char** clientData = NULL, - long style = wxOK | wxCANCEL | wxCENTRE, + long style = wxCHOICEDLG_STYLE, wxPoint* pos = &wxDefaultPosition) { return new wxSingleChoiceDialog(parent, *message, *caption, LCOUNT, choices, NULL, style, *pos); } - } + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - %pragma(python) addtomethod = "__init__:#wx._StdDialogCallbacks(self)" + } int GetSelection(); wxString GetStringSelection(); @@ -176,13 +206,13 @@ public: class wxTextEntryDialog : public wxDialog { public: wxTextEntryDialog(wxWindow* parent, - char* message, - char* caption = "Input Text", - char* defaultValue = "", + const wxString& message, + const wxString& caption = wxPyGetTextFromUserPromptStr, + const wxString& defaultValue = wxPyEmptyString, long style = wxOK | wxCANCEL | wxCENTRE, const wxPoint& pos = wxDefaultPosition); - %pragma(python) addtomethod = "__init__:#wx._StdDialogCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" wxString GetValue(); void SetValue(const wxString& value); @@ -214,9 +244,8 @@ public: class wxFontDialog : public wxDialog { public: - wxFontDialog(wxWindow* parent, wxFontData* data); - - %pragma(python) addtomethod = "__init__:#wx._StdDialogCallbacks(self)" + wxFontDialog(wxWindow* parent, const wxFontData& data); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" wxFontData& GetFontData(); int ShowModal(); @@ -228,12 +257,11 @@ public: class wxMessageDialog : public wxDialog { public: wxMessageDialog(wxWindow* parent, - char* message, - char* caption = "Message box", + const wxString& message, + const wxString& caption = wxPyMessageBoxCaptionStr, long style = wxOK | wxCANCEL | wxCENTRE, const wxPoint& pos = wxDefaultPosition); - - %pragma(python) addtomethod = "__init__:#wx._StdDialogCallbacks(self)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" int ShowModal(); }; @@ -247,10 +275,117 @@ public: int maximum = 100, wxWindow* parent = NULL, int style = wxPD_AUTO_HIDE | wxPD_APP_MODAL ); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" - - bool Update(int value = -1, const char* newmsg = NULL); + bool Update(int value, const wxString& newmsg = wxPyEmptyString); void Resume(); } //---------------------------------------------------------------------- + +enum wxFindReplaceFlags +{ + // downward search/replace selected (otherwise - upwards) + wxFR_DOWN = 1, + + // whole word search/replace selected + wxFR_WHOLEWORD = 2, + + // case sensitive search/replace selected (otherwise - case insensitive) + wxFR_MATCHCASE = 4 +}; + + +enum wxFindReplaceDialogStyles +{ + // replace dialog (otherwise find dialog) + wxFR_REPLACEDIALOG = 1, + + // don't allow changing the search direction + wxFR_NOUPDOWN = 2, + + // don't allow case sensitive searching + wxFR_NOMATCHCASE = 4, + + // don't allow whole word searching + wxFR_NOWHOLEWORD = 8 +}; + +enum { + wxEVT_COMMAND_FIND, + wxEVT_COMMAND_FIND_NEXT, + wxEVT_COMMAND_FIND_REPLACE, + wxEVT_COMMAND_FIND_REPLACE_ALL, + wxEVT_COMMAND_FIND_CLOSE, +}; + +%pragma(python) code = " + +def EVT_COMMAND_FIND(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_FIND, func) + +def EVT_COMMAND_FIND_NEXT(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_FIND_NEXT, func) + +def EVT_COMMAND_FIND_REPLACE(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_FIND_REPLACE, func) + +def EVT_COMMAND_FIND_REPLACE_ALL(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_FIND_REPLACE_ALL, func) + +def EVT_COMMAND_FIND_CLOSE(win, id, func): + win.Connect(id, -1, wxEVT_COMMAND_FIND_CLOSE, func) + +" + +class wxFindDialogEvent : public wxCommandEvent +{ +public: + wxFindDialogEvent(wxEventType commandType = wxEVT_NULL, int id = 0); + int GetFlags(); + wxString GetFindString(); + const wxString& GetReplaceString(); + wxFindReplaceDialog *GetDialog(); + void SetFlags(int flags); + void SetFindString(const wxString& str); + void SetReplaceString(const wxString& str); +}; + + + +class wxFindReplaceData : public wxObject +{ +public: + wxFindReplaceData(int flags=0); + ~wxFindReplaceData(); + + const wxString& GetFindString(); + const wxString& GetReplaceString(); + int GetFlags(); + void SetFlags(int flags); + void SetFindString(const wxString& str); + void SetReplaceString(const wxString& str); +}; + + +class wxFindReplaceDialog : public wxDialog { +public: + wxFindReplaceDialog(wxWindow *parent, + wxFindReplaceData *data, + const wxString &title, + int style = 0); + %name(wxPreFindReplaceDialog)wxFindReplaceDialog(); + + bool Create(wxWindow *parent, + wxFindReplaceData *data, + const wxString &title, + int style = 0); + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreFindReplaceDialog:val._setOORInfo(val)" + + const wxFindReplaceData *GetData(); + void SetData(wxFindReplaceData *data); +}; + +//----------------------------------------------------------------------