Node UI:
authorThomas Dinges <blender@dingto.org>
Mon, 31 Jan 2011 16:16:15 +0000 (16:16 +0000)
committerThomas Dinges <blender@dingto.org>
Mon, 31 Jan 2011 16:16:15 +0000 (16:16 +0000)
* Added Backdrop Panel inside the "Properties" area.
* Hard limit for the "zoom" value. Negative values doesn't make sense.
* Added a missing notifier for the Node backdrop move operator.

release/scripts/ui/space_node.py
source/blender/editors/space_node/node_edit.c
source/blender/makesrna/intern/rna_space.c

index e7cfdb2..56790ad 100644 (file)
@@ -161,6 +161,36 @@ class NODE_MT_node(bpy.types.Menu):
         layout.separator()
 
         layout.operator("node.show_cyclic_dependencies")
+        
+     
+# Node Backdrop options 
+class NODE_PT_properties(bpy.types.Panel):
+    bl_space_type = 'NODE_EDITOR'
+    bl_region_type = 'UI'
+    bl_label = "Backdrop"
+
+    @classmethod
+    def poll(cls, context):
+        snode = context.space_data
+        return snode.tree_type == 'COMPOSITING'
+        
+    def draw_header(self, context):
+        snode = context.space_data
+        self.layout.prop(snode, "show_backdrop", text="")
+
+    def draw(self, context):
+        layout = self.layout
+
+        snode = context.space_data
+        layout.active = snode.show_backdrop
+        layout.prop(snode, "backdrop_channels", text="")
+        layout.prop(snode, "backdrop_zoom", text="Zoom")
+
+        col = layout.column(align=True)
+        col.label(text="Offset:")
+        col.prop(snode, "backdrop_x", text="X")
+        col.prop(snode, "backdrop_y", text="Y")
+        col.operator("node.backimage_move", text="Move")
 
 
 def register():
index 60eba17..834f348 100644 (file)
@@ -784,6 +784,8 @@ static int snode_bg_viewmove_modal(bContext *C, wmOperator *op, wmEvent *event)
                        
                        MEM_freeN(nvm);
                        op->customdata= NULL;
+            
+                       WM_event_add_notifier(C, NC_SPACE|ND_SPACE_NODE, NULL);
                        
                        return OPERATOR_FINISHED;
        }
@@ -831,6 +833,7 @@ void NODE_OT_backimage_move(wmOperatorType *ot)
 {
        /* identifiers */
        ot->name= "Background Image Move";
+       ot->description = "Move Node backdrop";
        ot->idname= "NODE_OT_backimage_move";
        
        /* api callbacks */
index 8cf0d94..19263f0 100644 (file)
@@ -2311,6 +2311,7 @@ static void rna_def_space_node(BlenderRNA *brna)
 
        prop= RNA_def_property(srna, "backdrop_zoom", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "zoom");
+    RNA_def_property_range(prop, 0.01f, FLT_MAX);
        RNA_def_property_ui_text(prop, "Backdrop Zoom", "Backdrop zoom factor");
        RNA_def_property_update(prop, NC_SPACE|ND_SPACE_NODE_VIEW, NULL);