bug [#27582] Screen Editing > Split and Join area don't work.
authorCampbell Barton <ideasman42@gmail.com>
Mon, 6 Jun 2011 11:56:54 +0000 (11:56 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Mon, 6 Jun 2011 11:56:54 +0000 (11:56 +0000)
added 'INTERNAL' operator flag so operators which are only meant to be called by other operators or internal use are not displayed to the user.

Currently only use this flag for the operator search toolbox, is ignored in debug mode.

release/scripts/startup/bl_operators/wm.py
source/blender/editors/screen/screen_ops.c
source/blender/editors/util/undo.c
source/blender/makesrna/intern/rna_wm.c
source/blender/windowmanager/WM_types.h
source/blender/windowmanager/intern/wm_operators.c

index 3f4a061c4ac4c39d1b90716b2f3718d9458d0b71..fcc30ecbb4b4a18f585da8755a49cccb7b08c0a4 100644 (file)
@@ -106,7 +106,7 @@ class WM_OT_context_set_boolean(bpy.types.Operator):
     '''Set a context value.'''
     bl_idname = "wm.context_set_boolean"
     bl_label = "Context Set Boolean"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     value = BoolProperty(name="Value",
@@ -119,7 +119,7 @@ class WM_OT_context_set_int(bpy.types.Operator):  # same as enum
     '''Set a context value.'''
     bl_idname = "wm.context_set_int"
     bl_label = "Context Set"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     value = IntProperty(name="Value", description="Assign value", default=0)
@@ -132,7 +132,7 @@ class WM_OT_context_scale_int(bpy.types.Operator):
     '''Scale an int context value.'''
     bl_idname = "wm.context_scale_int"
     bl_label = "Context Set"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     value = FloatProperty(name="Value", description="Assign value", default=1.0)
@@ -168,7 +168,7 @@ class WM_OT_context_set_float(bpy.types.Operator):  # same as enum
     '''Set a context value.'''
     bl_idname = "wm.context_set_float"
     bl_label = "Context Set Float"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     value = FloatProperty(name="Value",
@@ -182,7 +182,7 @@ class WM_OT_context_set_string(bpy.types.Operator):  # same as enum
     '''Set a context value.'''
     bl_idname = "wm.context_set_string"
     bl_label = "Context Set String"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     value = StringProperty(name="Value",
@@ -195,7 +195,7 @@ class WM_OT_context_set_enum(bpy.types.Operator):
     '''Set a context value.'''
     bl_idname = "wm.context_set_enum"
     bl_label = "Context Set Enum"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     value = StringProperty(name="Value",
@@ -209,7 +209,7 @@ class WM_OT_context_set_value(bpy.types.Operator):
     '''Set a context value.'''
     bl_idname = "wm.context_set_value"
     bl_label = "Context Set Value"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     value = StringProperty(name="Value",
@@ -227,7 +227,7 @@ class WM_OT_context_toggle(bpy.types.Operator):
     '''Toggle a context value.'''
     bl_idname = "wm.context_toggle"
     bl_label = "Context Toggle"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
 
@@ -246,7 +246,7 @@ class WM_OT_context_toggle_enum(bpy.types.Operator):
     '''Toggle a context value.'''
     bl_idname = "wm.context_toggle_enum"
     bl_label = "Context Toggle Values"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     value_1 = StringProperty(name="Value", \
@@ -273,7 +273,7 @@ class WM_OT_context_cycle_int(bpy.types.Operator):
     '''vertex keys, groups' etc.'''
     bl_idname = "wm.context_cycle_int"
     bl_label = "Context Int Cycle"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     reverse = rna_reverse_prop
@@ -307,7 +307,7 @@ class WM_OT_context_cycle_enum(bpy.types.Operator):
     '''Toggle a context value.'''
     bl_idname = "wm.context_cycle_enum"
     bl_label = "Context Enum Cycle"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     reverse = rna_reverse_prop
@@ -360,7 +360,7 @@ class WM_OT_context_cycle_array(bpy.types.Operator):
     Useful for cycling the active mesh edit mode.'''
     bl_idname = "wm.context_cycle_array"
     bl_label = "Context Array Cycle"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     reverse = rna_reverse_prop
@@ -406,7 +406,7 @@ class WM_MT_context_menu_enum(bpy.types.Menu):
 class WM_OT_context_menu_enum(bpy.types.Operator):
     bl_idname = "wm.context_menu_enum"
     bl_label = "Context Enum Menu"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
     data_path = rna_path_prop
 
     def execute(self, context):
@@ -420,7 +420,7 @@ class WM_OT_context_set_id(bpy.types.Operator):
     '''Toggle a context value.'''
     bl_idname = "wm.context_set_id"
     bl_label = "Set Library ID"
-    bl_options = {'UNDO'}
+    bl_options = {'UNDO', 'INTERNAL'}
 
     data_path = rna_path_prop
     value = StringProperty(name="Value",
@@ -462,6 +462,7 @@ class WM_OT_context_modal_mouse(bpy.types.Operator):
     '''Adjust arbitrary values with mouse input'''
     bl_idname = "wm.context_modal_mouse"
     bl_label = "Context Modal Mouse"
+    bl_options = {'INTERNAL'}
 
     data_path_iter = StringProperty(description="The data path relative to the context, must point to an iterable.")
     data_path_item = StringProperty(description="The data path from each iterable to the value (int or float)")
index 4e67069185ebce786d356d62f54bef08f616dc4d..f016fb6822aae06b48afe295cf20ea099839450c 100644 (file)
@@ -2277,7 +2277,7 @@ static void SCREEN_OT_area_join(wmOperatorType *ot)
        ot->poll= screen_active_editable;
        ot->cancel= area_join_cancel;
        
-       ot->flag= OPTYPE_BLOCKING;
+       ot->flag= OPTYPE_BLOCKING|OPTYPE_INTERNAL;
        
        /* rna */
        RNA_def_int(ot->srna, "min_x", -100, INT_MIN, INT_MAX, "X 1", "", INT_MIN, INT_MAX);
index 692a19a7198c4120774bb20081d11be23b3257e4..24a868891de1bce54d0d0d10f0d947040690c796 100644 (file)
@@ -307,6 +307,8 @@ void ED_OT_undo_push(wmOperatorType *ot)
        /* api callbacks */
        ot->exec= ed_undo_push_exec;
 
+       ot->flag= OPTYPE_INTERNAL;
+
        RNA_def_string(ot->srna, "message", "Add an undo step *function may be moved*", MAXUNDONAME, "Undo Message", "");
 }
 
index 406ee6b3f3ee0ccf8466fc9a87dbeacc2737a0a2..fc3039c8752025f20961f2be65ce168e5c5c5c3c 100644 (file)
@@ -272,10 +272,11 @@ EnumPropertyItem keymap_modifiers_items[] = {
 EnumPropertyItem operator_flag_items[] = {
                {OPTYPE_REGISTER, "REGISTER", 0, "Register", ""},
                {OPTYPE_UNDO, "UNDO", 0, "Undo", ""},
-               {OPTYPE_BLOCKING, "BLOCKING", 0, "Finished", ""},
+               {OPTYPE_BLOCKING, "BLOCKING", 0, "Blocking", ""},
                {OPTYPE_MACRO, "MACRO", 0, "Macro", ""},
                {OPTYPE_GRAB_POINTER, "GRAB_POINTER", 0, "Grab Pointer", ""},
                {OPTYPE_PRESET, "PRESET", 0, "Preset", ""},
+               {OPTYPE_INTERNAL, "INTERNAL", 0, "Internal", ""},
                {0, NULL, 0, NULL, NULL}};
 
 EnumPropertyItem operator_return_items[] = {
index ab68c6ef4d49b0a38010fc87b30c35a5a49a47ee..49bd3ede37d54212538a85b684c137993f14cee8 100644 (file)
@@ -61,6 +61,10 @@ struct ImBuf;
 #define OPTYPE_MACRO           8
 #define OPTYPE_GRAB_POINTER    16      /* */
 #define OPTYPE_PRESET          32      /* show preset menu */
+#define OPTYPE_INTERNAL                64      /* some operators are mainly for internal use
+                                                                * and don't make sense to be accessed from the
+                                                                * search menu, even if poll() returns TRUE.
+                                                                * currently only used for the search toolbox */
 
 /* context to call operator in for WM_operator_name_call */
 /* rna_ui.c contains EnumPropertyItem's of these, keep in sync */
index 0773998276311cff214058db8e136d7da73b4602..1b7333024e7f5ac32fe7d7ac2458b7ce5bbb89bf 100644 (file)
@@ -1277,7 +1277,10 @@ static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), cons
        wmOperatorType *ot = WM_operatortype_first();
        
        for(; ot; ot= ot->next) {
-               
+
+               if((ot->flag & OPTYPE_INTERNAL) && (G.f & G_DEBUG) == 0)
+                       continue;
+
                if(BLI_strcasestr(ot->name, str)) {
                        if(WM_operator_poll((bContext*)C, ot)) {
                                char name[256];
@@ -1389,6 +1392,8 @@ static void WM_OT_call_menu(wmOperatorType *ot)
        ot->exec= wm_call_menu_exec;
        ot->poll= WM_operator_winactive;
 
+       ot->flag= OPTYPE_INTERNAL;
+
        RNA_def_string(ot->srna, "name", "", BKE_ST_MAXNAME, "Name", "Name of the menu");
 }