]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_app.i
added more wxUSE_TREE/LISTCTRL tests to fix compilation when they're set to 0
[wxWidgets.git] / wxPython / src / _app.i
index b5f9b7fbe171d2cd294a8993d222f9aea0ccc31f..bef4d71056068d8a7f929704a22630126eafc593 100644 (file)
@@ -42,17 +42,16 @@ enum
 
 DocStr(wxPyApp,
 "The ``wx.PyApp`` class is an *implementation detail*, please use the
-`wx.App` class (or some other derived class) instead.");
+`wx.App` class (or some other derived class) instead.", "");
 
 class wxPyApp : public wxEvtHandler {
 public:
 
-    %pythonAppend wxPyApp
-       "self._setCallbackInfo(self, PyApp)
-        self._setOORInfo(self)";
+    %pythonAppend wxPyApp    "self._setOORInfo(self, False);" setCallbackInfo(PyApp)
+    %typemap(out) wxPyApp*;    // turn off this typemap
 
     DocStr(wxPyApp,
-           "Create a new application object, starting the bootstrap process.");
+           "Create a new application object, starting the bootstrap process.", "");
     %extend {
         wxPyApp() {
             wxPythonApp = new wxPyApp();
@@ -62,32 +61,36 @@ public:
 
     ~wxPyApp();
 
-    void _setCallbackInfo(PyObject* self, PyObject* _class);
+    // Turn it back on again
+    %typemap(out) wxPyApp* { $result = wxPyMake_wxObject($1, $owner); }
+
+
+    void _setCallbackInfo(PyObject* self, PyObject* _class, bool incref=false);
 
 
     DocDeclStr(
         wxString, GetAppName() const,
-        "Get the application name.");
+        "Get the application name.", "");
     DocDeclStr(
         void, SetAppName(const wxString& name),
         "Set the application name. This value may be used automatically by
-`wx.Config` and such.");
+`wx.Config` and such.", "");
 
     DocDeclStr(
         wxString, GetClassName() const,
-        "Get the application's class name.");
+        "Get the application's class name.", "");
     DocDeclStr(
         void, SetClassName(const wxString& name),
         "Set the application's class name. This value may be used for
-X-resources if applicable for the platform");
+X-resources if applicable for the platform", "");
 
     DocDeclStr(
         const wxString&, GetVendorName() const,
-        "Get the application's vendor name.");
+        "Get the application's vendor name.", "");
     DocDeclStr(
         void, SetVendorName(const wxString& name),
         "Set the application's vendor name. This value may be used
-automatically by `wx.Config` and such.");
+automatically by `wx.Config` and such.", "");
 
 
     DocDeclStr(
@@ -99,92 +102,104 @@ CreateTraits() and returning his own traits object) or which is
 GUI/console dependent as then wx.AppTraits allows us to abstract the
 differences behind the common facade.
 
-:todo: Add support for overriding CreateAppTraits in wxPython.");
+:todo: Add support for overriding CreateAppTraits in wxPython.", "");
 
 
     DocDeclStr(
         virtual void, ProcessPendingEvents(),
         "Process all events in the Pending Events list -- it is necessary to
 call this function to process posted events. This normally happens
-during each event loop iteration.");
+during each event loop iteration.", "");
 
 
     DocDeclStr(
-        virtual bool, Yield(bool onlyIfNeeded = False),
+        virtual bool, Yield(bool onlyIfNeeded = false),
         "Process all currently pending events right now, instead of waiting
 until return to the event loop.  It is an error to call ``Yield``
 recursively unless the value of ``onlyIfNeeded`` is True.
 
 :warning: This function is dangerous as it can lead to unexpected
-          reentrancies (i.e. when called from an event handler it may
-          result in calling the same event handler again), use with
-          _extreme_ care or, better, don't use at all!
+      reentrancies (i.e. when called from an event handler it may
+      result in calling the same event handler again), use with
+      extreme care or, better, don't use at all!
 
-:see: `wx.Yield`, `wx.YieldIfNeeded`, `wx.SafeYield`");
+:see: `wx.Yield`, `wx.YieldIfNeeded`, `wx.SafeYield`
+", "");
 
     
     DocDeclStr(
         virtual void, WakeUpIdle(),
         "Make sure that idle events are sent again.
-:see: `wx.WakeUpIdle`");
+:see: `wx.WakeUpIdle`", "");
 
+    
+    DocDeclStr(
+        static bool , IsMainLoopRunning() const,
+        "Returns True if we're running the main loop, i.e. if the events can
+currently be dispatched.", "");
+    
 
     DocDeclStr(
         virtual int, MainLoop(),
         "Execute the main GUI loop, the function doesn't normally return until
-all top level windows have been closed and destroyed.");
+all top level windows have been closed and destroyed.", "");
 
     
     DocDeclStr(
         virtual void, Exit(),
         "Exit the main loop thus terminating the application.
-:see: `wx.Exit`");
+:see: `wx.Exit`", "");
 
     
+    DocDeclStr(
+        virtual wxLayoutDirection , GetLayoutDirection() const,
+        "Return the layout direction for the current locale.", "");
+    
+    
     DocDeclStr(
         virtual void, ExitMainLoop(),
         "Exit the main GUI loop during the next iteration of the main
-loop, (i.e. it does not stop the program immediately!)");
+loop, (i.e. it does not stop the program immediately!)", "");
 
     
     DocDeclStr(
         virtual bool, Pending(),
-        "Returns True if there are unprocessed events in the event queue.");
+        "Returns True if there are unprocessed events in the event queue.", "");
 
     
     DocDeclStr(
         virtual bool, Dispatch(),
         "Process the first event in the event queue (blocks until an event
-appears if there are none currently)");
+appears if there are none currently)", "");
 
 
     DocDeclStr(
         virtual bool, ProcessIdle(),
         "Called from the MainLoop when the application becomes idle (there are
 no pending events) and sends a `wx.IdleEvent` to all interested
-parties.  Returns True if more idle events are needed, False if not.");
+parties.  Returns True if more idle events are needed, False if not.", "");
 
     
     DocDeclStr(
         virtual bool, SendIdleEvents(wxWindow* win, wxIdleEvent& event),
         "Send idle event to window and all subwindows.  Returns True if more
-idle time is requested.");
+idle time is requested.", "");
 
 
     DocDeclStr(
         virtual bool, IsActive() const,
-        "Return True if our app has focus.");
+        "Return True if our app has focus.", "");
 
     
     DocDeclStr(
         void, SetTopWindow(wxWindow *win),
-        "Set the *main* top level window");
+        "Set the *main* top level window", "");
 
     DocDeclStr(
         virtual wxWindow*, GetTopWindow() const,
         "Return the *main* top level window (if it hadn't been set previously
 with SetTopWindow(), will return just some top level window and, if
-there not any, will return None)");        
+there not any, will return None)", "");        
 
 
     DocDeclStr(
@@ -193,12 +208,12 @@ there not any, will return None)");
 loop (and so, usually, terminate) when the last top-level program
 window is deleted.  Beware that if you disable this behaviour (with
 SetExitOnFrameDelete(False)), you'll have to call ExitMainLoop()
-explicitly from somewhere.");
+explicitly from somewhere.", "");
 
     
     DocDeclStr(
         bool, GetExitOnFrameDelete() const,
-        "Get the current exit behaviour setting.");
+        "Get the current exit behaviour setting.", "");
 
 #if 0 
     // Get display mode that is in use. This is only used in framebuffer
@@ -213,13 +228,13 @@ explicitly from somewhere.");
     
     
     DocDeclStr(
-        void, SetUseBestVisual( bool flag ),
+        void, SetUseBestVisual( bool flag, bool forceTrueColour = false  ),
         "Set whether the app should try to use the best available visual on
-systems where more than one is available, (Sun, SGI, XFree86 4, etc.)");
+systems where more than one is available, (Sun, SGI, XFree86 4, etc.)", "");
     
     DocDeclStr(
         bool, GetUseBestVisual() const,
-        "Get current UseBestVisual setting.");
+        "Get current UseBestVisual setting.", "");
     
 
     // set/get printing mode: see wxPRINT_XXX constants.
@@ -232,8 +247,8 @@ systems where more than one is available, (Sun, SGI, XFree86 4, etc.)");
 
     DocDeclStr(
         void, SetAssertMode(int mode),
-        "Set the OnAssert behaviour for debug and hybrid builds.  The following
-flags may be or'd together:
+        "Set the OnAssert behaviour for debug and hybrid builds.",
+        "The following flags may be or'd together:
 
    =========================   =======================================
    wx.PYAPP_ASSERT_SUPPRESS    Don't do anything
@@ -247,16 +262,16 @@ flags may be or'd together:
     
     DocDeclStr(
         int,  GetAssertMode(),
-        "Get the current OnAssert behaviour setting.");
+        "Get the current OnAssert behaviour setting.", "");
 
 
-    static bool GetMacSupportPCMenuShortcuts();
+    static bool GetMacSupportPCMenuShortcuts();  // TODO, deprecate this
     static long GetMacAboutMenuItemId();
     static long GetMacPreferencesMenuItemId();
     static long GetMacExitMenuItemId();
     static wxString GetMacHelpMenuTitleName();
 
-    static void SetMacSupportPCMenuShortcuts(bool val);
+    static void SetMacSupportPCMenuShortcuts(bool val);  // TODO, deprecate this
     static void SetMacAboutMenuItemId(long val);
     static void SetMacPreferencesMenuItemId(long val);
     static void SetMacExitMenuItemId(long val);
@@ -265,11 +280,11 @@ flags may be or'd together:
 
     DocDeclStr(
         void, _BootstrapApp(),
-        "For internal use only");
+        "For internal use only", "");
 
     DocStr(GetComCtl32Version,
            "Returns 400, 470, 471, etc. for comctl32.dll 4.00, 4.70, 4.71 or 0 if
-it wasn't found at all.  Raises an exception on non-Windows platforms.");
+it wasn't found at all.  Raises an exception on non-Windows platforms.", "");
 #ifdef __WXMSW__
     static int GetComCtl32Version();
 #else
@@ -278,6 +293,41 @@ it wasn't found at all.  Raises an exception on non-Windows platforms.");
             { wxPyRaiseNotImplemented(); return 0; }
     }
 #endif
+
+    %extend {
+        DocStr(IsDisplayAvailable,
+               "Tests if it is possible to create a GUI in the current environment.
+This will mean different things on the different platforms.
+
+   * On X Windows systems this function will return ``False`` if it is
+     not able to open a connection to the X display, which can happen
+     if $DISPLAY is not set, or is not set correctly.
+
+   * On Mac OS X a ``False`` return value will mean that wx is not
+     able to access the window manager, which can happen if logged in
+     remotely or if running from the normal version of python instead
+     of the framework version, (i.e., pythonw.)
+
+   * On MS Windows...
+", "");
+        static bool IsDisplayAvailable() {
+            return wxPyTestDisplayAvailable();
+        }
+    }
+
+    
+    %property(AppName, GetAppName, SetAppName, doc="See `GetAppName` and `SetAppName`");
+    %property(AssertMode, GetAssertMode, SetAssertMode, doc="See `GetAssertMode` and `SetAssertMode`");
+    %property(ClassName, GetClassName, SetClassName, doc="See `GetClassName` and `SetClassName`");
+    %property(ExitOnFrameDelete, GetExitOnFrameDelete, SetExitOnFrameDelete, doc="See `GetExitOnFrameDelete` and `SetExitOnFrameDelete`");
+    %property(LayoutDirection, GetLayoutDirection, doc="See `GetLayoutDirection`");
+    %property(PrintMode, GetPrintMode, SetPrintMode, doc="See `GetPrintMode` and `SetPrintMode`");
+    %property(TopWindow, GetTopWindow, SetTopWindow, doc="See `GetTopWindow` and `SetTopWindow`");
+    %property(Traits, GetTraits, doc="See `GetTraits`");
+    %property(UseBestVisual, GetUseBestVisual, SetUseBestVisual, doc="See `GetUseBestVisual` and `SetUseBestVisual`");
+    %property(VendorName, GetVendorName, SetVendorName, doc="See `GetVendorName` and `SetVendorName`");
+
+    %property(Active, IsActive);
 };
 
 
@@ -288,44 +338,44 @@ it wasn't found at all.  Raises an exception on non-Windows platforms.");
 
 DocDeclStr(
     void,  wxExit(),
-    "Force an exit of the application.  Convenience for wx.GetApp().Exit()");
+    "Force an exit of the application.  Convenience for wx.GetApp().Exit()", "");
 
 
 DocDeclStr(
     bool, wxYield(),
-    "Yield to other apps/messages.  Convenience for wx.GetApp().Yield()");
+    "Yield to other apps/messages.  Convenience for wx.GetApp().Yield()", "");
 
 DocDeclStr(
     bool, wxYieldIfNeeded(),
-    "Yield to other apps/messages.  Convenience for wx.GetApp().Yield(True)");
+    "Yield to other apps/messages.  Convenience for wx.GetApp().Yield(True)", "");
 
 
 DocDeclStr(
-    bool, wxSafeYield(wxWindow* win=NULL, bool onlyIfNeeded=False),
+    bool, wxSafeYield(wxWindow* win=NULL, bool onlyIfNeeded=false),
     "This function is similar to `wx.Yield`, except that it disables the
 user input to all program windows before calling `wx.Yield` and
 re-enables it again afterwards. If ``win`` is not None, this window
 will remain enabled, allowing the implementation of some limited user
 interaction.
 
-:Returns: the result of the call to `wx.Yield`.");
+:Returns: the result of the call to `wx.Yield`.", "");
 
 
 DocDeclStr(
     void,  wxWakeUpIdle(),
     "Cause the message queue to become empty again, so idle events will be
-sent.");
+sent.", "");
 
 
 DocDeclStr(
     void, wxPostEvent(wxEvtHandler *dest, wxEvent& event),
     "Send an event to a window or other wx.EvtHandler to be processed
-later.");
+later.", "");
 
 
 DocStr(wxApp_CleanUp,
-       "For internal use only, it is used to cleanup after wxWindows when
-Python shuts down.");
+       "For internal use only, it is used to cleanup after wxWidgets when
+Python shuts down.", "");
 %inline %{
     void wxApp_CleanUp() {
         __wxPyCleanup();
@@ -333,15 +383,37 @@ Python shuts down.");
 %} 
 
 
-DocStr(wxGetApp,
-       "Return a reference to the current wx.App object.");
-%inline %{
-    wxPyApp* wxGetApp() {
-        return (wxPyApp*)wxTheApp;
-    }
+DocDeclStrName(
+    wxPyApp* , wxPyGetApp(),
+    "Return a reference to the current wx.App object.", "",
+    GetApp);
+%{
+    wxPyApp* wxPyGetApp() { return (wxPyApp*)wxTheApp; }
 %}
 
 
+
+
+
+DocDeclAStr(
+    void , wxSetDefaultPyEncoding(const char* encoding),
+    "SetDefaultPyEncoding(string encoding)",
+    "Sets the encoding that wxPython will use when it needs to convert a
+Python string or unicode object to or from a wxString.
+
+The default encoding is the value of ``locale.getdefaultlocale()[1]``
+but please be aware that the default encoding within the same locale
+may be slightly different on different platforms.  For example, please
+see http://www.alanwood.net/demos/charsetdiffs.html for differences
+between the common latin/roman encodings.", "");
+
+DocDeclAStr(
+    const char* , wxGetDefaultPyEncoding(),
+    "GetDefaultPyEncoding() -> string",
+    "Gets the current encoding that wxPython will use when it needs to
+convert a Python string or unicode object to or from a wxString.", "");
+
+
 //---------------------------------------------------------------------------
 // Include some extra wxApp related python code here