[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22032] branches/blender2.5/blender: - include operator commands in tooltips ( needs sanitizing for transform operators, there are massive :|)
Campbell Barton
ideasman42 at gmail.com
Thu Jul 30 01:12:30 CEST 2009
Revision: 22032
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22032
Author: campbellbarton
Date: 2009-07-30 01:12:30 +0200 (Thu, 30 Jul 2009)
Log Message:
-----------
- include operator commands in tooltips (needs sanitizing for transform operators, there are massive :|)
- WM_operator_pystring can now be used with an operator type and properties (rather then a wmOperator instance)
- removed menus from file selector
Modified Paths:
--------------
branches/blender2.5/blender/release/ui/space_filebrowser.py
branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c
branches/blender2.5/blender/source/blender/windowmanager/WM_api.h
branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
Modified: branches/blender2.5/blender/release/ui/space_filebrowser.py
===================================================================
--- branches/blender2.5/blender/release/ui/space_filebrowser.py 2009-07-29 22:57:53 UTC (rev 22031)
+++ branches/blender2.5/blender/release/ui/space_filebrowser.py 2009-07-29 23:12:30 UTC (rev 22032)
@@ -11,18 +11,16 @@
params = st.params
layout.template_header()
-
- if context.area.show_menus:
- row = layout.row()
- row.itemM("FILEBROWSER_MT_directory")
- row.itemM("FILEBROWSER_MT_bookmarks")
-
+
row = layout.row(align=True)
row.itemO("file.parent", text="", icon='ICON_FILE_PARENT')
row.itemO("file.refresh", text="", icon='ICON_FILE_REFRESH')
row.itemO("file.previous", text="", icon='ICON_PREV_KEYFRAME')
row.itemO("file.next", text="", icon='ICON_NEXT_KEYFRAME')
+ row = layout.row(align=True)
+ row.itemO("file.directory_new", text="", icon='ICON_NEWFOLDER')
+
layout.itemR(params, "display", expand=True, text="")
layout.itemR(params, "sort", expand=True, text="")
@@ -41,27 +39,5 @@
row.active = params.do_filter
-class FILEBROWSER_MT_directory(bpy.types.Menu):
- __space_type__ = "FILE_BROWSER"
- __label__ = "Directory"
-
- def draw(self, context):
- layout = self.layout
-
- layout.itemO("file.directory_new", text="New Directory", icon='ICON_NEWFOLDER')
- layout.itemO("file.refresh", text="Refresh", icon='ICON_FILE_REFRESH')
- layout.itemO("file.parent", text="Parent", icon='ICON_FILE_PARENT')
-class FILEBROWSER_MT_bookmarks(bpy.types.Menu):
- __space_type__ = "FILE_BROWSER"
- __label__ = "Bookmarks"
-
- def draw(self, context):
- layout = self.layout
-
- layout.itemO("file.add_bookmark", text="Add current directory", icon='ICON_BOOKMARKS')
-
-
bpy.types.register(FILEBROWSER_HT_header)
-bpy.types.register(FILEBROWSER_MT_directory)
-bpy.types.register(FILEBROWSER_MT_bookmarks)
Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c 2009-07-29 22:57:53 UTC (rev 22031)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c 2009-07-29 23:12:30 UTC (rev 22032)
@@ -391,7 +391,22 @@
data->linedark[data->totline]= 1;
data->totline++;
}
+ else if (but->optype) {
+ PointerRNA *opptr;
+ char *str;
+ opptr= uiButGetOperatorPtrRNA(but);
+ str= WM_operator_pystring(but->optype, opptr);
+
+ /* operator info */
+ BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Python: %s", str);
+ data->linedark[data->totline]= 1;
+ data->totline++;
+
+ WM_operator_properties_free(opptr);
+ MEM_freeN(str);
+ }
+
if(data->totline == 0) {
MEM_freeN(data);
return NULL;
Modified: branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c 2009-07-29 22:57:53 UTC (rev 22031)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c 2009-07-29 23:12:30 UTC (rev 22032)
@@ -81,6 +81,7 @@
/* ui geometry */
#define IMASEL_BUTTONS_HEIGHT 40
+#define IMASEL_BUTTONS_MARGIN 6
#define TILE_BORDER_X 8
#define TILE_BORDER_Y 8
@@ -134,8 +135,8 @@
/* Button layout. */
const short min_x = 10;
const short max_x = ar->winx - 10;
- const short line2_y = ar->winy - IMASEL_BUTTONS_HEIGHT - 12;
- const short line1_y = line2_y + IMASEL_BUTTONS_HEIGHT/2 + 4;
+ const short line2_y = IMASEL_BUTTONS_HEIGHT/2 + IMASEL_BUTTONS_MARGIN*2;
+ const short line1_y = IMASEL_BUTTONS_MARGIN;
const short input_minw = 20;
const short btn_h = UI_UNIT_Y;
const short btn_fn_w = UI_UNIT_X;
Modified: branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c 2009-07-29 22:57:53 UTC (rev 22031)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_ops.c 2009-07-29 23:12:30 UTC (rev 22032)
@@ -716,6 +716,7 @@
/* identifiers */
ot->name= "Create New Directory";
ot->idname= "FILE_OT_directory_new";
+ ot->description= "Create a new directory";
/* api callbacks */
ot->invoke= WM_operator_confirm;
Modified: branches/blender2.5/blender/source/blender/windowmanager/WM_api.h
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/WM_api.h 2009-07-29 22:57:53 UTC (rev 22031)
+++ branches/blender2.5/blender/source/blender/windowmanager/WM_api.h 2009-07-29 23:12:30 UTC (rev 22032)
@@ -172,7 +172,7 @@
void WM_operator_properties_filesel(struct wmOperatorType *ot, int filter);
/* operator as a python command (resultuing string must be free'd) */
-char *WM_operator_pystring(struct wmOperator *op);
+char *WM_operator_pystring(struct wmOperatorType *ot, struct PointerRNA *opptr);
void WM_operator_bl_idname(char *to, const char *from);
void WM_operator_py_idname(char *to, const char *from);
Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c 2009-07-29 22:57:53 UTC (rev 22031)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c 2009-07-29 23:12:30 UTC (rev 22032)
@@ -103,7 +103,7 @@
/* Report the string representation of the operator */
- buf = WM_operator_pystring(op);
+ buf = WM_operator_pystring(op->type, op->ptr);
BKE_report(CTX_wm_reports(C), RPT_OPERATOR, buf);
MEM_freeN(buf);
Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c 2009-07-29 22:57:53 UTC (rev 22031)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c 2009-07-29 23:12:30 UTC (rev 22032)
@@ -362,7 +362,7 @@
static void wm_operator_print(wmOperator *op)
{
- char *buf = WM_operator_pystring(op);
+ char *buf = WM_operator_pystring(op->type, op->ptr);
printf("%s\n", buf);
MEM_freeN(buf);
}
Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c 2009-07-29 22:57:53 UTC (rev 22031)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c 2009-07-29 23:12:30 UTC (rev 22032)
@@ -340,8 +340,12 @@
}
/* print a string representation of the operator, with the args that it runs
- * so python can run it again */
-char *WM_operator_pystring(wmOperator *op)
+ * so python can run it again,
+ *
+ * When calling from an existing wmOperator do.
+ * WM_operator_pystring(op->type, op->ptr);
+ */
+char *WM_operator_pystring(wmOperatorType *ot, PointerRNA *opptr)
{
const char *arg_name= NULL;
char idname_py[OP_MAX_TYPENAME];
@@ -353,18 +357,18 @@
char *cstring, *buf;
int first_iter=1;
- WM_operator_py_idname(idname_py, op->idname);
+ WM_operator_py_idname(idname_py, ot->idname);
BLI_dynstr_appendf(dynstr, "bpy.ops.%s(", idname_py);
- iterprop= RNA_struct_iterator_property(op->ptr->type);
+ iterprop= RNA_struct_iterator_property(opptr->type);
- RNA_PROP_BEGIN(op->ptr, propptr, iterprop) {
+ RNA_PROP_BEGIN(opptr, propptr, iterprop) {
prop= propptr.data;
arg_name= RNA_property_identifier(prop);
if (strcmp(arg_name, "rna_type")==0) continue;
- buf= RNA_property_as_string(op->ptr, prop);
+ buf= RNA_property_as_string(opptr, prop);
BLI_dynstr_appendf(dynstr, first_iter?"%s=%s":", %s=%s", arg_name, buf);
More information about the Bf-blender-cvs
mailing list