Two small fixes:
authorTon Roosendaal <ton@blender.org>
Thu, 4 Apr 2013 15:10:52 +0000 (15:10 +0000)
committerTon Roosendaal <ton@blender.org>
Thu, 4 Apr 2013 15:10:52 +0000 (15:10 +0000)
- "Add node" was showing on wrong location when used via pulldown menus.
  Now this option will put the nodes in center of the view.

- The Curves widget was making itself smaller/bigger based on width of region.
  That messes up the layout engine now - especially the code that checks if
  there's a scroller needed or not (it went into an eternal feedback loop).

  Now this widget has fixed height (like the other larger widgets).

  Better would be to allow such large widgets to be scaled vertically individually.
  That's for the todo!

release/scripts/startup/bl_operators/node.py
source/blender/editors/interface/interface_templates.c
source/blender/makesrna/intern/rna_nodetree.c
source/blender/makesrna/intern/rna_space.c

index c9063436bb333c30fc93bb15e557cd3f8421bcba..8f9fa65cf46d9638fb49834d2f7101f515ed8eb0 100644 (file)
@@ -29,10 +29,14 @@ class NodeAddOperator():
     def store_mouse_cursor(context, event):
         space = context.space_data
         v2d = context.region.view2d
+        tree = space.edit_tree
 
         # convert mouse position to the View2D for later node placement
-        space.cursor_location = v2d.region_to_view(event.mouse_region_x,
+        if context.region.type == 'WINDOW':
+            space.cursor_location = v2d.region_to_view(event.mouse_region_x,
                                                    event.mouse_region_y)
+        else:
+            space.cursor_location = tree.view_center
 
     def create_node(self, context, node_type):
         space = context.space_data
index 84811dc836656050bfbcc95fa1e2a3420aded6d4..86a516ad359f273c9953f06979e14b46273e8833 100644 (file)
@@ -2119,7 +2119,7 @@ static void curvemap_buttons_layout(uiLayout *layout, PointerRNA *ptr, char labe
        /* curve itself */
        size = uiLayoutGetWidth(layout);
        row = uiLayoutRow(layout, FALSE);
-       uiDefBut(block, BUT_CURVE, 0, "", 0, 0, size, MIN2(size, 10.0f * UI_UNIT_X), cumap, 0.0f, 1.0f, bg, 0, "");
+       uiDefBut(block, BUT_CURVE, 0, "", 0, 0, size, 8.0f * UI_UNIT_X, cumap, 0.0f, 1.0f, bg, 0, "");
 
        /* sliders for selected point */
        for (i = 0; i < cm->totpoint; i++) {
index 16f63e313538b316bef4cc9371dae6342e813144..7ccf11af829a9ece8f53e7f5d547389eeb8b153a 100644 (file)
@@ -6872,6 +6872,11 @@ static void rna_def_nodetree(BlenderRNA *brna)
        RNA_def_struct_refine_func(srna, "rna_NodeTree_refine");
        RNA_def_struct_register_funcs(srna, "rna_NodeTree_register", "rna_NodeTree_unregister", NULL);
 
+       prop = RNA_def_property(srna, "view_center", PROP_FLOAT, PROP_XYZ);
+       RNA_def_property_array(prop, 2);
+       RNA_def_property_float_sdna(prop, NULL, "view_center");
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       
        /* AnimData */
        rna_def_animdata_common(srna);
 
index 76e22ed917041ba56bf74ad4e14b8c8f6d7546b4..e9f50d910c83a52be907d46b890e36c6f9be9b76 100644 (file)
@@ -3356,7 +3356,8 @@ static void rna_def_space_node(BlenderRNA *brna)
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_NODE_VIEW, NULL);
 
        /* the mx/my "cursor" in the node editor is used only by operators to store the mouse position */
-       prop = RNA_def_property(srna, "cursor_location", PROP_FLOAT, PROP_NONE);
+       prop = RNA_def_property(srna, "cursor_location", PROP_FLOAT, PROP_XYZ);
+       RNA_def_property_array(prop, 2);
        RNA_def_property_float_sdna(prop, NULL, "cursor");
        RNA_def_property_ui_text(prop, "Cursor Location", "Location for adding new nodes");
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_NODE_VIEW, NULL);