[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48120] branches/soc-2011-tomato: svn merge ^/trunk/blender -r48114:48119
Campbell Barton
ideasman42 at gmail.com
Wed Jun 20 16:15:02 CEST 2012
Revision: 48120
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48120
Author: campbellbarton
Date: 2012-06-20 14:15:01 +0000 (Wed, 20 Jun 2012)
Log Message:
-----------
svn merge ^/trunk/blender -r48114:48119
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48114
Modified Paths:
--------------
branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py
branches/soc-2011-tomato/source/blender/blenkernel/intern/mask.c
branches/soc-2011-tomato/source/blender/editors/object/object_group.c
branches/soc-2011-tomato/source/blender/editors/object/object_intern.h
branches/soc-2011-tomato/source/blender/editors/object/object_ops.c
branches/soc-2011-tomato/source/creator/creator.c
Property Changed:
----------------
branches/soc-2011-tomato/
branches/soc-2011-tomato/source/blender/editors/interface/interface.c
branches/soc-2011-tomato/source/blender/editors/space_outliner/
Property changes on: branches/soc-2011-tomato
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-48114
+ /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-48119
Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py 2012-06-20 14:13:22 UTC (rev 48119)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py 2012-06-20 14:15:01 UTC (rev 48120)
@@ -979,7 +979,9 @@
layout = self.layout
layout.operator("group.create")
+ # layout.operator_menu_enum("group.objects_remove", "group") # BUGGY
layout.operator("group.objects_remove")
+ layout.operator("group.objects_remove_all")
layout.separator()
Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/mask.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/mask.c 2012-06-20 14:13:22 UTC (rev 48119)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/mask.c 2012-06-20 14:15:01 UTC (rev 48120)
@@ -1453,7 +1453,7 @@
// printf("SPLINE ALLOC %p %d\n", spline->points_deform, allocated_points);
if (spline->points_deform == NULL || allocated_points != spline->tot_point) {
- printf("alloc new deform spline\n");
+ // printf("alloc new deform spline\n");
if (spline->points_deform) {
int i;
Property changes on: branches/soc-2011-tomato/source/blender/editors/interface/interface.c
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/ge_candy/source/blender/editors/interface/interface.c:45070-46163
/branches/ge_harmony/source/blender/editors/interface/interface.c:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber/source/blender/editors/interface/interface.c:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers/source/blender/editors/interface/interface.c:38694-39989
/trunk/blender/source/blender/editors/interface/interface.c:36831-48114
+ /branches/ge_candy/source/blender/editors/interface/interface.c:45070-46163
/branches/ge_harmony/source/blender/editors/interface/interface.c:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber/source/blender/editors/interface/interface.c:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers/source/blender/editors/interface/interface.c:38694-39989
/trunk/blender/source/blender/editors/interface/interface.c:36831-48119
Modified: branches/soc-2011-tomato/source/blender/editors/object/object_group.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/object/object_group.c 2012-06-20 14:13:22 UTC (rev 48119)
+++ branches/soc-2011-tomato/source/blender/editors/object/object_group.c 2012-06-20 14:15:01 UTC (rev 48120)
@@ -160,7 +160,7 @@
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
-static int group_objects_remove_exec(bContext *C, wmOperator *UNUSED(op))
+static int group_objects_remove_all_exec(bContext *C, wmOperator *UNUSED(op))
{
Main *bmain = CTX_data_main(C);
Scene *scene = CTX_data_scene(C);
@@ -180,21 +180,115 @@
return OPERATOR_FINISHED;
}
-void GROUP_OT_objects_remove(wmOperatorType *ot)
+void GROUP_OT_objects_remove_all(wmOperatorType *ot)
{
/* identifiers */
- ot->name = "Remove From Groups";
- ot->description = "Remove selected objects from all groups";
- ot->idname = "GROUP_OT_objects_remove";
+ ot->name = "Remove From All Groups";
+ ot->description = "Remove selected objects from all groups or a selected group";
+ ot->idname = "GROUP_OT_objects_remove_all";
/* api callbacks */
- ot->exec = group_objects_remove_exec;
+ ot->exec = group_objects_remove_all_exec;
ot->poll = ED_operator_objectmode;
/* flags */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
}
+static int group_objects_remove_exec(bContext *C, wmOperator *op)
+{
+ Object *ob = ED_object_context(C);
+ Main *bmain = CTX_data_main(C);
+ Scene *scene = CTX_data_scene(C);
+ int group_object_index = RNA_enum_get(op->ptr, "group");
+
+ /* first get the group back from the enum index, quite awkward and UI spesific */
+ if (ob) {
+ Group *group = NULL;
+ int i = 0;
+
+ while ((group = find_group(ob, group))) {
+ if (i == group_object_index) {
+ break;
+ }
+ i++;
+ }
+
+ /* now remove all selected objects from the group */
+ if (group) {
+
+ CTX_DATA_BEGIN (C, Base *, base, selected_editable_bases)
+ {
+ rem_from_group(group, base->object, scene, base);
+ }
+ CTX_DATA_END;
+
+ DAG_scene_sort(bmain, scene);
+ WM_event_add_notifier(C, NC_GROUP | NA_EDITED, NULL);
+
+ return OPERATOR_FINISHED;
+ }
+ }
+
+ return OPERATOR_CANCELLED;
+}
+
+
+/* can be called with C == NULL */
+static EnumPropertyItem *group_objects_remove_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
+{
+ Object *ob = ED_object_context(C);
+ EnumPropertyItem *item = NULL, item_tmp = {0};
+ int totitem = 0;
+
+ if (C == NULL) {
+ return DummyRNA_NULL_items;
+ }
+
+ /* check that the action exists */
+ if (ob) {
+ Group *group = NULL;
+ int i = 0;
+
+ while ((group = find_group(ob, group))) {
+ item_tmp.identifier = item_tmp.name = group->id.name + 2;
+ /* item_tmp.icon = ICON_ARMATURE_DATA; */
+ item_tmp.value = i;
+ RNA_enum_item_add(&item, &totitem, &item_tmp);
+ }
+
+ i++;
+ }
+
+ RNA_enum_item_end(&item, &totitem);
+ *free = 1;
+
+ return item;
+}
+
+void GROUP_OT_objects_remove(wmOperatorType *ot)
+{
+ PropertyRNA *prop;
+
+ /* identifiers */
+ ot->name = "Remove From Group";
+ ot->description = "Remove selected objects from all groups or a selected group";
+ ot->idname = "GROUP_OT_objects_remove";
+
+ /* api callbacks */
+ ot->exec = group_objects_remove_exec;
+ ot->invoke = WM_menu_invoke;
+ ot->poll = ED_operator_objectmode;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+
+ /* properties */
+ prop = RNA_def_enum(ot->srna, "group", DummyRNA_NULL_items, 0, "Group", "The group to remove this object from");
+ RNA_def_enum_funcs(prop, group_objects_remove_itemf);
+ ot->prop = prop;
+}
+
static int group_create_exec(bContext *C, wmOperator *op)
{
Main *bmain = CTX_data_main(C);
Modified: branches/soc-2011-tomato/source/blender/editors/object/object_intern.h
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/object/object_intern.h 2012-06-20 14:13:22 UTC (rev 48119)
+++ branches/soc-2011-tomato/source/blender/editors/object/object_intern.h 2012-06-20 14:15:01 UTC (rev 48120)
@@ -139,6 +139,7 @@
/* object_group.c */
void GROUP_OT_create(struct wmOperatorType *ot);
+void GROUP_OT_objects_remove_all(struct wmOperatorType *ot);
void GROUP_OT_objects_remove(struct wmOperatorType *ot);
void GROUP_OT_objects_add_active(struct wmOperatorType *ot);
void GROUP_OT_objects_remove_active(struct wmOperatorType *ot);
Modified: branches/soc-2011-tomato/source/blender/editors/object/object_ops.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/object/object_ops.c 2012-06-20 14:13:22 UTC (rev 48119)
+++ branches/soc-2011-tomato/source/blender/editors/object/object_ops.c 2012-06-20 14:15:01 UTC (rev 48120)
@@ -105,6 +105,7 @@
WM_operatortype_append(OBJECT_OT_select_mirror);
WM_operatortype_append(GROUP_OT_create);
+ WM_operatortype_append(GROUP_OT_objects_remove_all);
WM_operatortype_append(GROUP_OT_objects_remove);
WM_operatortype_append(GROUP_OT_objects_add_active);
WM_operatortype_append(GROUP_OT_objects_remove_active);
@@ -394,6 +395,7 @@
WM_keymap_verify_item(keymap, "GROUP_OT_create", GKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_verify_item(keymap, "GROUP_OT_objects_remove", GKEY, KM_PRESS, KM_CTRL | KM_ALT, 0);
+ WM_keymap_verify_item(keymap, "GROUP_OT_objects_remove_all", GKEY, KM_PRESS, KM_SHIFT | KM_CTRL | KM_ALT, 0);
WM_keymap_verify_item(keymap, "GROUP_OT_objects_add_active", GKEY, KM_PRESS, KM_SHIFT | KM_CTRL, 0);
WM_keymap_verify_item(keymap, "GROUP_OT_objects_remove_active", GKEY, KM_PRESS, KM_SHIFT | KM_ALT, 0);
Property changes on: branches/soc-2011-tomato/source/blender/editors/space_outliner
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/soc-2011-cucumber/source/blender/editors/space_outliner:38968,38970,38973,39045,40845
/branches/soc-2011-pepper/source/blender/editors/space_outliner:36831-38987
/trunk/blender/source/blender/editors/space_outliner:36831-48114
+ /branches/soc-2011-cucumber/source/blender/editors/space_outliner:38968,38970,38973,39045,40845
/branches/soc-2011-pepper/source/blender/editors/space_outliner:36831-38987
/trunk/blender/source/blender/editors/space_outliner:36831-48119
Modified: branches/soc-2011-tomato/source/creator/creator.c
===================================================================
--- branches/soc-2011-tomato/source/creator/creator.c 2012-06-20 14:13:22 UTC (rev 48119)
+++ branches/soc-2011-tomato/source/creator/creator.c 2012-06-20 14:15:01 UTC (rev 48120)
@@ -387,6 +387,19 @@
}
#endif
+static int set_debug_value(int argc, const char **argv, void *UNUSED(data))
+{
+ if (argc > 1) {
+ G.rt = atoi(argv[1]);
+
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list