]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_cursor.i
use wx.CallAfter to set the insertion point
[wxWidgets.git] / wxPython / src / _cursor.i
index 84f22ebd5f022e205332c6a9df58eb4c075d8ca3..bb51a4dd8336df3d60e1afda030cf150d9fcc12b 100644 (file)
 
 //---------------------------------------------------------------------------
 
+
+DocStr(wxCursor,
+"A cursor is a small bitmap usually used for denoting where the mouse
+pointer is, with a picture that might indicate the interpretation of a
+mouse click.
+
+A single cursor object may be used in many windows (any subwindow
+type). The wxWindows convention is to set the cursor for a window, as
+in X, rather than to set it globally as in MS Windows, although a
+global `wx.SetCursor` function is also available for use on MS Windows.
+","
+
+Stock Cursor IDs
+-----------------
+    ========================    ======================================
+    wx.CURSOR_ARROW             A standard arrow cursor.
+    wx.CURSOR_RIGHT_ARROW       A standard arrow cursor pointing to the right.
+    wx.CURSOR_BLANK             Transparent cursor.
+    wx.CURSOR_BULLSEYE          Bullseye cursor.
+    wx.CURSOR_CHAR              Rectangular character cursor.
+    wx.CURSOR_CROSS             A cross cursor.
+    wx.CURSOR_HAND              A hand cursor.
+    wx.CURSOR_IBEAM             An I-beam cursor (vertical line).
+    wx.CURSOR_LEFT_BUTTON       Represents a mouse with the left button depressed.
+    wx.CURSOR_MAGNIFIER         A magnifier icon.
+    wx.CURSOR_MIDDLE_BUTTON     Represents a mouse with the middle button depressed.
+    wx.CURSOR_NO_ENTRY          A no-entry sign cursor.
+    wx.CURSOR_PAINT_BRUSH       A paintbrush cursor.
+    wx.CURSOR_PENCIL            A pencil cursor.
+    wx.CURSOR_POINT_LEFT        A cursor that points left.
+    wx.CURSOR_POINT_RIGHT       A cursor that points right.
+    wx.CURSOR_QUESTION_ARROW    An arrow and question mark.
+    wx.CURSOR_RIGHT_BUTTON      Represents a mouse with the right button depressed.
+    wx.CURSOR_SIZENESW          A sizing cursor pointing NE-SW.
+    wx.CURSOR_SIZENS            A sizing cursor pointing N-S.
+    wx.CURSOR_SIZENWSE          A sizing cursor pointing NW-SE.
+    wx.CURSOR_SIZEWE            A sizing cursor pointing W-E.
+    wx.CURSOR_SIZING            A general sizing cursor.
+    wx.CURSOR_SPRAYCAN          A spraycan cursor.
+    wx.CURSOR_WAIT              A wait cursor.
+    wx.CURSOR_WATCH             A watch cursor.
+    wx.CURSOR_ARROWWAIT         A cursor with both an arrow and an hourglass, (windows.)
+    ========================    ======================================
+
+");
+
+MustHaveApp(wxCursor);
+
 class wxCursor : public wxGDIObject
 {
 public:
+    
     %extend {
-        wxCursor(const wxString* cursorName, long flags, int hotSpotX=0, int hotSpotY=0) {
-#ifdef __WXGTK__
-            wxCHECK_MSG(FALSE, NULL,
-                        wxT("wxCursor constructor not implemented for wxGTK, use wxStockCursor, wxCursorFromImage, or wxCursorFromBits instead."));
-#else
-            return new wxCursor(*cursorName, flags, hotSpotX, hotSpotY);
-#endif
+        DocStr(wxCursor,
+               "Construct a Cursor from a file.  Specify the type of file using
+wx.BITAMP_TYPE* constants, and specify the hotspot if not using a .cur
+file.","
+:see: Alternate constructors `wx.StockCursor`,`wx.CursorFromImage`");
+        wxCursor(const wxString& cursorName, long type, int hotSpotX=0, int hotSpotY=0) {
+%#ifdef __WXGTK__
+            wxImage img(cursorName, type);
+            img.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_X, hotSpotX);
+            img.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y, hotSpotY);
+            return new wxCursor(img);
+%#else
+            return new wxCursor(cursorName, type, hotSpotX, hotSpotY);
+%#endif
         }
     }
 
     ~wxCursor();
 
-    // alternate constructors
-    %name(StockCursor) wxCursor(int id);
-    %name(CursorFromImage) wxCursor(const wxImage& image);
+    DocCtorStrName(
+        wxCursor(int id),
+        "Create a cursor using one of the stock cursors.  Note that not all
+stock cursors are available on all platforms.", "",
+        StockCursor);
+
+    
+    DocCtorStrName(
+        wxCursor(const wxImage& image),
+        "Constructs a cursor from a `wx.Image`. The mask (if any) will be used
+for setting the transparent portions of the cursor.",
+"
+In MSW the cursor is resized to 32x32 if it was larger.
+
+In GTK the cursor will be displayed at the size of the image.
+
+On MacOS the cursor is resized to 16x16 if it was larger.",
+        CursorFromImage);
+    
+    
+//     %extend {
+//         DocStr(wxCursor,
+//                "");
+//         %RenameCtor(CursorFromBits,  wxCursor(PyObject* bits, int width, int  height,
+//                                          int hotSpotX=-1, int hotSpotY=-1,
+//                                          PyObject* maskBits=NULL))
+//         {
+//             char* bitsbuf;
+//             char* maskbuf = NULL;
+//             int   length;
+//             PyString_AsStringAndSize(bits, &bitsbuf, &length);
+//             if (maskBits)
+//                 PyString_AsStringAndSize(maskBits, &maskbuf, &length);
+//             return new wxCursor(bitsbuf, width, height, hotSpotX, hotSpotY, maskbuf);
+//         }
+//     }
+
+    
+    
+#ifdef __WXMSW__
+    DocDeclStr(
+        long , GetHandle(),
+        "Get the MS Windows handle for the cursor", "");
+    
     %extend {
-        %name(CursorFromBits) wxCursor(PyObject* bits, int width, int  height,
-                                         int hotSpotX=-1, int hotSpotY=-1,
-                                         PyObject* maskBits=0) {
-            char* bitsbuf;
-            char* maskbuf = NULL;
-            int   length;
-            PyString_AsStringAndSize(bits, &bitsbuf, &length);
-            if (maskBits)
-                PyString_AsStringAndSize(maskBits, &maskbuf, &length);
-            return new wxCursor(bitsbuf, width, height, hotSpotX, hotSpotY, maskbuf);
-        }
+    DocStr(SetHandle,
+        "Set the MS Windows handle to use for the cursor", "");
+        void SetHandle(long handle) { self->SetHandle((WXHANDLE)handle); }
     }
     
-    // wxGDIImage methods
-#ifdef __WXMSW__
-    long GetHandle();
-    void SetHandle(long handle);
 #endif
     
-    bool Ok();
+    DocDeclStr(
+        bool , Ok(),
+        "", "");
+
+    %pythoncode { def __nonzero__(self): return self.Ok() }
+
     
 #ifdef __WXMSW__
-    int GetWidth();
-    int GetHeight();
-    int GetDepth();
-    void SetWidth(int w);
-    void SetHeight(int h);
-    void SetDepth(int d);
-    void SetSize(const wxSize& size);
+    DocDeclStr(
+        int , GetWidth(),
+        "", "");
+    
+    DocDeclStr(
+        int , GetHeight(),
+        "", "");
+    
+    DocDeclStr(
+        int , GetDepth(),
+        "", "");
+    
+    DocDeclStr(
+        void , SetWidth(int w),
+        "", "");
+    
+    DocDeclStr(
+        void , SetHeight(int h),
+        "", "");
+    
+    DocDeclStr(
+        void , SetDepth(int d),
+        "", "");
+    
+    DocDeclStr(
+        void , SetSize(const wxSize& size),
+        "", "");
+    
 #endif
     
-    %pythoncode { def __nonzero__(self): return self.Ok() }
 };