]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/src/windows.i
Sample Setup.in file for Linux
[wxWidgets.git] / utils / wxPython / src / windows.i
index ef487cde8c22e116d49316a4be67e852e9146a14..1b87c1ef6f3b3f3fdffd7294a8795a3906d9f7fe 100644 (file)
@@ -1,5 +1,3 @@
-%module windows
-%{
 /////////////////////////////////////////////////////////////////////////////
 // Name:        windows.i
 // Purpose:     SWIG definitions of various window classes
 /////////////////////////////////////////////////////////////////////////////
 
 
+%module windows
+
+%{
 #include "helpers.h"
-#include <wx/minifram.h>
+
+#ifdef __WXMSW__
+    // wxGTK defines wxMenuItem inside menu.h
 #include <wx/menuitem.h>
+#endif
+
+#ifdef __WXMSW__
+#include <wx/minifram.h>
+#endif
 %}
 
 //----------------------------------------------------------------------
@@ -28,6 +36,7 @@
 %import misc.i
 %import gdi.i
 
+%pragma(python) code = "import wxp"
 
 //---------------------------------------------------------------------------
 
@@ -37,7 +46,7 @@ public:
         void Connect( int id, int lastId, int eventType, PyObject* func) {
             if (PyCallable_Check(func)) {
                 self->Connect(id, lastId, eventType,
-                          (wxObjectEventFunction) wxPyCallback::EventThunker,
+                          (wxObjectEventFunction) &wxPyCallback::EventThunker,
                           new wxPyCallback(func));
             }
         }
@@ -57,6 +66,7 @@ public:
              long style = 0,
              char* name = "panel");
 
+    %pragma(python) addtomethod = "__init__:wxp._StdWindowCallbacks(self)"
 
     void CaptureMouse();
     void Center(int direction = wxHORIZONTAL);
@@ -65,24 +75,30 @@ public:
     bool Close(int force = FALSE);
     bool Destroy();
     void DestroyChildren();
+#ifdef __WXMSW__
     void DragAcceptFiles(bool accept);
+#endif
     void Enable(bool enable);
     //bool FakePopupMenu(wxMenu* menu, int x, int y);
+    %name(FindWindowByID) wxWindow* FindWindow(long id);
+    %name(FindWindowByName) wxWindow* FindWindow(const wxString& name);
     void Fit();
     wxColour GetBackgroundColour();
     int  GetCharHeight();
     int  GetCharWidth();
     void GetClientSize(int *OUTPUT, int *OUTPUT);
     wxLayoutConstraints * GetConstraints();
+#ifdef __WXMSW__
     wxButton* GetDefaultItem();
+#endif
     //wxEvtHandler* GetEventHandler();
     wxFont* GetFont();
     wxColour GetForegroundColour();
     wxWindow * GetGrandParent();
     int GetId();
     void GetPosition(int *OUTPUT, int *OUTPUT);
-    wxString& GetLabel();
-    wxString& GetName();
+    wxString GetLabel();
+    wxString GetName();
     wxWindow * GetParent();
     int  GetReturnCode();
     int GetScrollThumb(int orientation);
@@ -90,7 +106,7 @@ public:
     int GetScrollRange(int orientation);
     void GetSize(int *OUTPUT, int *OUTPUT);
     void GetTextExtent(const wxString& string, int *OUTPUT, int *OUTPUT); // int* descent = NULL, int* externalLeading = NULL, const wxFont* font = NULL, bool use16 = FALSE)
-    wxString& GetTitle();
+    wxString GetTitle();
     long GetWindowStyleFlag();
     void InitDialog();
     bool IsEnabled();
@@ -149,61 +165,23 @@ public:
     bool TransferDataFromWindow();
     bool TransferDataToWindow();
     bool Validate();
+#ifdef __WXMSW__
     void WarpPointer(int x, int y);
+#endif
 
 };
 
 
 // Static method(s)
+#ifdef __WXMSW__
 %inline %{
     wxWindow* wxWindow_FindFocus() {
         return wxWindow::FindFocus();
     }
 %}
+#endif
 
 
-//----------------------------------------------------------------------
-
-class wxFrame : public wxWindow {
-public:
-    wxFrame(wxWindow* parent, const wxWindowID id, const wxString& title,
-            const wxPoint& pos = wxPyDefaultPosition,
-            const wxSize& size = wxPyDefaultSize,
-            long style = wxDEFAULT_FRAME_STYLE,
-            char* name = "frame");
-
-    void Centre(int direction = wxBOTH);
-    void Command(int id);
-    bool CreateStatusBar(int number = 1);
-    wxMenuBar* GetMenuBar();
-    wxStatusBar* GetStatusBar();
-    wxString& GetTitle();
-    void Iconize(bool iconize);
-    bool IsIconized();
-    // *** removed *** void LoadAccelerators(const wxString& table);
-    void SetAcceleratorTable(const wxAcceleratorTable& accel);
-
-    void Maximize(bool maximize);
-    void SetIcon(const wxIcon& icon);
-    void SetMenuBar(wxMenuBar* menuBar);
-    void SetStatusText(const wxString& text, int number = 0);
-    void SetStatusWidths(int LCOUNT, int* LIST); // use typemap
-    void SetTitle(const wxString& title);
-
-};
-
-//---------------------------------------------------------------------------
-
-class wxMiniFrame : public wxFrame {
-public:
-    wxMiniFrame(wxWindow* parent, const wxWindowID id, const wxString& title,
-                const wxPoint& pos = wxPyDefaultPosition,
-                const wxSize& size = wxPyDefaultSize,
-                long style = wxDEFAULT_FRAME_STYLE,
-                char* name = "frame");
-
-};
-
 //---------------------------------------------------------------------------
 
 class wxPanel : public wxWindow {
@@ -215,6 +193,8 @@ public:
             long style = wxTAB_TRAVERSAL,
             const char* name = "panel");
 
+    %pragma(python) addtomethod = "__init__:wxp._StdWindowCallbacks(self)"
+
     void InitDialog();
 };
 
@@ -230,13 +210,15 @@ public:
              long style = wxDEFAULT_DIALOG_STYLE,
              const char* name = "dialogBox");
 
+    %pragma(python) addtomethod = "__init__:wxp._StdDialogCallbacks(self)"
+
     void Centre(int direction = wxBOTH);
     void EndModal(int retCode);
     wxString GetTitle();
     void Iconize(bool iconize);
     bool IsIconized();
-    bool IsModal();
     void SetModal(bool flag);
+    bool IsModal();
     void SetTitle(const wxString& title);
     bool Show(bool show);
     int ShowModal();
@@ -253,6 +235,9 @@ public:
                      long style = wxHSCROLL | wxVSCROLL,
                      char* name = "scrolledWindow");
 
+    %pragma(python) addtomethod = "__init__:wxp._StdWindowCallbacks(self)"
+    %pragma(python) addtomethod = "__init__:wxp._StdOnScrollCallbacks(self)"
+
     void EnableScrolling(bool xScrolling, bool yScrolling);
     void GetScrollPixelsPerUnit(int* OUTPUT, int* OUTPUT);
     void GetVirtualSize(int* OUTPUT, int* OUTPUT);
@@ -280,20 +265,22 @@ public:
     void AppendSeparator();
     void Break();
     void Check(int id, bool flag);
-    bool Checked(int id);
     void Enable(int id, bool enable);
     int FindItem(const wxString& itemString);
+#ifdef __WXMSW__
+    wxString GetTitle();
+    void SetTitle(const wxString& title);
+#endif
     wxMenuItem* FindItemForId(int id);
-    wxString& GetHelpString(int id);
+    wxString GetHelpString(int id);
     wxString GetLabel(int id);
-    wxString GetTitle();
     void SetHelpString(int id, const wxString& helpString);
+    bool IsChecked(int id);
+    bool IsEnabled(int id);
     void SetLabel(int id, const wxString& label);
-    void SetTitle(const wxString& title);
 };
 
 
-
 //
 // This one knows how to set a callback and handle INC- and DECREFing it.  To
 // be used for PopupMenus, but you must retain a referece to it while using
@@ -315,15 +302,23 @@ public:
     void Check(int id, bool flag);
     bool Checked(int id);
     void Enable(int id, bool enable);
-    void EnableTop(int pos, bool enable);
+    bool Enabled(int id);
     int FindMenuItem(const wxString& menuString, const wxString& itemString);
+#ifdef __WXGTK__
+    %name(FindItemForId) wxMenuItem* FindMenuItemById( int id );
+#endif
+#ifdef __WXMSW__
     wxMenuItem * FindItemForId(int id);
+    void EnableTop(int pos, bool enable);
     wxString GetHelpString(int id);
     wxString GetLabel(int id);
-    wxString GetLabelTop(int pos);
     void SetHelpString(int id, const wxString& helpString);
     void SetLabel(int id, const wxString& label);
+    wxString GetLabelTop(int pos);
     void SetLabelTop(int pos, const wxString& label);
+#endif
+    int GetMenuCount();
+    wxMenu* GetMenu(int i);
 };
 
 
@@ -334,22 +329,43 @@ public:
     bool IsSeparator();
     bool IsEnabled();
     bool IsChecked();
+    bool IsCheckable();
     int  GetId();
-    const wxString& GetHelp();
     wxMenu* GetSubMenu();
+#ifdef __WXMSW__
     void SetName(const wxString& strName);
+    void DeleteSubMenu();
+    const wxString& GetName();
+#endif
+    const wxString& GetHelp();
     void SetHelp(const wxString& strHelp);
     void Enable(bool bDoEnable = TRUE);
     void Check(bool bDoCheck = TRUE);
-    void DeleteSubMenu();
-    const wxString& GetName();
-    bool IsCheckable();
 };
 
 //---------------------------------------------------------------------------
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.6  1998/10/02 06:40:43  RD
+// Version 0.4 of wxPython for MSW.
+//
+// Revision 1.5  1998/08/17 18:29:40  RD
+// Removed an extra method definition
+//
+// Revision 1.4  1998/08/16 04:31:11  RD
+// More wxGTK work.
+//
+// Revision 1.3  1998/08/15 07:36:47  RD
+// - Moved the header in the .i files out of the code that gets put into
+// the .cpp files.  It caused CVS conflicts because of the RCS ID being
+// different each time.
+//
+// - A few minor fixes.
+//
+// Revision 1.2  1998/08/14 23:36:46  RD
+// Beginings of wxGTK compatibility
+//
 // Revision 1.1  1998/08/09 08:25:52  RD
 // Initial version
 //