[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59903] trunk/blender/source/blender/ makesrna: wrap cursor setting so python can make use of it, eg:
Campbell Barton
ideasman42 at gmail.com
Sat Sep 7 00:54:22 CEST 2013
Revision: 59903
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59903
Author: campbellbarton
Date: 2013-09-06 22:54:22 +0000 (Fri, 06 Sep 2013)
Log Message:
-----------
wrap cursor setting so python can make use of it, eg:
- win.cursor_set('WAIT')
- win.cursor_modal_set('TEXT')
- win.cursor_modal_restore()
Modified Paths:
--------------
trunk/blender/source/blender/makesrna/RNA_enum_types.h
trunk/blender/source/blender/makesrna/intern/rna_internal.h
trunk/blender/source/blender/makesrna/intern/rna_wm.c
trunk/blender/source/blender/makesrna/intern/rna_wm_api.c
Modified: trunk/blender/source/blender/makesrna/RNA_enum_types.h
===================================================================
--- trunk/blender/source/blender/makesrna/RNA_enum_types.h 2013-09-06 22:34:29 UTC (rev 59902)
+++ trunk/blender/source/blender/makesrna/RNA_enum_types.h 2013-09-06 22:54:22 UTC (rev 59903)
@@ -169,6 +169,8 @@
extern EnumPropertyItem linestyle_thickness_modifier_type_items[];
extern EnumPropertyItem linestyle_geometry_modifier_type_items[];
+extern EnumPropertyItem window_cursor_items[];
+
struct bContext;
struct PointerRNA;
struct PropertyRNA;
Modified: trunk/blender/source/blender/makesrna/intern/rna_internal.h
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_internal.h 2013-09-06 22:34:29 UTC (rev 59902)
+++ trunk/blender/source/blender/makesrna/intern/rna_internal.h 2013-09-06 22:54:22 UTC (rev 59903)
@@ -278,6 +278,7 @@
void RNA_api_sequence_strip(StructRNA *srna);
void RNA_api_text(struct StructRNA *srna);
void RNA_api_ui_layout(struct StructRNA *srna);
+void RNA_api_window(struct StructRNA *srna);
void RNA_api_wm(struct StructRNA *srna);
void RNA_api_sensor(struct StructRNA *srna);
void RNA_api_controller(struct StructRNA *srna);
Modified: trunk/blender/source/blender/makesrna/intern/rna_wm.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_wm.c 2013-09-06 22:34:29 UTC (rev 59902)
+++ trunk/blender/source/blender/makesrna/intern/rna_wm.c 2013-09-06 22:54:22 UTC (rev 59903)
@@ -1735,6 +1735,8 @@
RNA_def_property_int_sdna(prop, NULL, "sizey");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Height", "Window height");
+
+ RNA_api_window(srna);
}
/* curve.splines */
Modified: trunk/blender/source/blender/makesrna/intern/rna_wm_api.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_wm_api.c 2013-09-06 22:34:29 UTC (rev 59902)
+++ trunk/blender/source/blender/makesrna/intern/rna_wm_api.c 2013-09-06 22:54:22 UTC (rev 59903)
@@ -41,8 +41,31 @@
#include "DNA_space_types.h"
#include "DNA_windowmanager_types.h"
+#include "wm_cursors.h"
+
#include "rna_internal.h" /* own include */
+/* confusingm 2 enums mixed up here */
+EnumPropertyItem window_cursor_items[] = {
+ {CURSOR_STD, "DEFAULT", 0, "Default", ""},
+ {CURSOR_NONE, "NONE", 0, "None", ""},
+ {CURSOR_WAIT, "WAIT", 0, "Wait", ""},
+ {CURSOR_EDIT, "CROSSHAIR", 0, "Crosshair", ""},
+ {CURSOR_X_MOVE, "MOVE_X", 0, "Move-X", ""},
+ {CURSOR_Y_MOVE, "MOVE_Y", 0, "Move-Y", ""},
+
+ /* new */
+ {BC_KNIFECURSOR, "KNIFE", 0, "Knife", ""},
+ {BC_TEXTEDITCURSOR, "TEXT", 0, "Text", ""},
+ {BC_PAINTBRUSHCURSOR, "PAINT_BRUSH", 0, "Paint Brush", ""},
+ {BC_HANDCURSOR, "HAND", 0, "Hand", ""},
+ {BC_EW_SCROLLCURSOR, "SCROLL_X", 0, "Scroll-X", ""},
+ {BC_NS_SCROLLCURSOR, "SCROLL_Y", 0, "Scroll-Y", ""},
+ {BC_NSEW_SCROLLCURSOR, "SCROLL_XY", 0, "Scroll-XY", ""},
+ {BC_EYEDROPPER_CURSOR, "EYEDROPPER", 0, "Eyedropper", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
#ifdef RNA_RUNTIME
#include "UI_interface.h"
@@ -299,6 +322,30 @@
}
}
+void RNA_api_window(StructRNA *srna)
+{
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ (void)func;
+ (void)parm;
+
+ func = RNA_def_function(srna, "cursor_set", "WM_cursor_set");
+ parm = RNA_def_property(func, "icon", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_items(parm, window_cursor_items);
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_function_ui_description(func, "Set the cursor");
+
+ func = RNA_def_function(srna, "cursor_modal_set", "WM_cursor_modal_set");
+ parm = RNA_def_property(func, "icon", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_items(parm, window_cursor_items);
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_function_ui_description(func, "Set the cursor, so the previous cursor can be restored");
+
+ RNA_def_function(srna, "cursor_modal_restore", "WM_cursor_modal_restore");
+ RNA_def_function_ui_description(func, "Restore the previous cursor after calling ``cursor_modal_set``");
+}
+
void RNA_api_wm(StructRNA *srna)
{
FunctionRNA *func;
More information about the Bf-blender-cvs
mailing list