2.6 Various code cleanup:
[blender.git] / source / blender / editors / space_node / drawnode.c
index a0e3817ae275a6ef2d9a14a16245044bb3bdfef4..29f678448273ab14c01c9006d892552cae911100 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * $Id$
- *
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
@@ -342,8 +340,9 @@ static void node_buts_normal(uiLayout *layout, bContext *UNUSED(C), PointerRNA *
        uiBut *bt;
        
        bt= uiDefButF(block, BUT_NORMAL, B_NODE_EXEC, "", 
-                         (short)butr->xmin, (short)butr->xmin, butr->xmax-butr->xmin, butr->xmax-butr->xmin, 
-                         nor, 0.0f, 1.0f, 0, 0, "");
+                     (short)butr->xmin, (short)butr->xmin,
+                     butr->xmax-butr->xmin, butr->xmax-butr->xmin,
+                     nor, 0.0f, 1.0f, 0, 0, "");
        uiButSetFunc(bt, node_normal_cb, ntree, node);
 }
 #if 0 // not used in 2.5x yet
@@ -629,9 +628,9 @@ static void draw_group_socket_name(SpaceNode *snode, bNode *gnode, bNodeSocket *
                        uiButSetFunc(bt, update_group_output_cb, snode, ngroup);
        }
        else {
-               uiDefBut(gnode->block, LABEL, 0, sock->name, 
-                                sock->locx+xoffset, sock->locy+1+yoffset, 72, NODE_DY,
-                                NULL, 0, 31, 0, 0, "");
+               uiDefBut(gnode->block, LABEL, 0, sock->name,
+                        sock->locx+xoffset, sock->locy+1+yoffset, 72, NODE_DY,
+                        NULL, 0, 31, 0, 0, "");
        }
 }
 
@@ -852,6 +851,11 @@ static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bN
        }
 }
 
+void node_uifunc_group(uiLayout *layout, bContext *C, PointerRNA *ptr)
+{
+       uiTemplateIDBrowse(layout, C, ptr, "node_tree", NULL, NULL, NULL);
+}
+
 static void node_common_buts_whileloop(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 {
        uiItemR(layout, ptr, "max_iterations", 0, NULL, 0);
@@ -877,7 +881,7 @@ static void node_common_set_butfunc(bNodeType *ntype)
 {
        switch(ntype->type) {
                case NODE_GROUP:
-//                     ntype->uifunc= node_common_buts_group;
+                       ntype->uifunc= node_uifunc_group;
                        ntype->drawfunc= node_draw_group;
                        ntype->drawupdatefunc= node_update_group;
                        break;
@@ -945,7 +949,7 @@ static void node_shader_buts_mapping(uiLayout *layout, bContext *UNUSED(C), Poin
 {
        uiLayout *row;
        
-       uiItemL(layout, "Translation:", ICON_NONE);
+       uiItemL(layout, "Location:", ICON_NONE);
        row= uiLayoutRow(layout, 1);
        uiItemR(row, ptr, "location", 0, "", ICON_NONE);
        
@@ -957,7 +961,6 @@ static void node_shader_buts_mapping(uiLayout *layout, bContext *UNUSED(C), Poin
        row= uiLayoutRow(layout, 1);
        uiItemR(row, ptr, "scale", 0, "", ICON_NONE);
        
-#if 0
        row= uiLayoutRow(layout, 1);
        uiItemR(row, ptr, "use_min", 0, "Min", ICON_NONE);
        uiItemR(row, ptr, "min", 0, "", ICON_NONE);
@@ -965,7 +968,6 @@ static void node_shader_buts_mapping(uiLayout *layout, bContext *UNUSED(C), Poin
        row= uiLayoutRow(layout, 1);
        uiItemR(row, ptr, "use_max", 0, "Max", ICON_NONE);
        uiItemR(row, ptr, "max", 0, "", ICON_NONE);
-#endif 
 }
 
 static void node_shader_buts_vect_math(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
@@ -992,20 +994,6 @@ static void node_shader_buts_geometry(uiLayout *layout, bContext *C, PointerRNA
        }
 }
 
-/*static void node_layout_prop(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname)
-{
-       if(C && CTX_wm_space_node(C)) {
-               uiItemR(layout, ptr, propname, 0, NULL, ICON_NONE);
-       }
-       else {
-               uiLayout *split = uiLayoutSplit(layout, 0.35f, 0);
-               PropertyRNA *prop = RNA_struct_find_property(ptr, propname);
-
-               uiItemL(uiLayoutColumn(split, 0), RNA_property_ui_name(prop), ICON_NONE);
-               uiItemR(uiLayoutColumn(split, 0), ptr, propname, 0, "", ICON_NONE);
-       }
-}*/
-
 static void node_shader_buts_attribute(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 {
        uiItemR(layout, ptr, "attribute_name", 0, "Name", ICON_NONE);
@@ -1013,7 +1001,6 @@ static void node_shader_buts_attribute(uiLayout *layout, bContext *UNUSED(C), Po
 
 static void node_shader_buts_tex_image(uiLayout *layout, bContext *C, PointerRNA *ptr)
 {
-       //uiItemR(layout, ptr, "image", 0, "", ICON_NONE);
        uiTemplateID(layout, C, ptr, "image", NULL, "IMAGE_OT_open", NULL);
        uiItemR(layout, ptr, "color_space", 0, "", ICON_NONE);
 }
@@ -1024,23 +1011,9 @@ static void node_shader_buts_tex_sky(uiLayout *layout, bContext *UNUSED(C), Poin
        uiItemR(layout, ptr, "turbidity", 0, NULL, ICON_NONE);
 }
 
-static void node_shader_buts_tex_blend(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
-{
-       uiItemR(layout, ptr, "progression", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "axis", 0, "", ICON_NONE);
-}
-
-static void node_shader_buts_tex_clouds(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
-{
-       uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "turbulence_depth", 0, NULL, ICON_NONE);
-}
-
-static void node_shader_buts_tex_distnoise(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
+static void node_shader_buts_tex_gradient(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 {
-       uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "noise_distortion", 0, "", ICON_NONE);
+       uiItemR(layout, ptr, "gradient_type", 0, "", ICON_NONE);
 }
 
 static void node_shader_buts_tex_magic(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
@@ -1048,42 +1021,21 @@ static void node_shader_buts_tex_magic(uiLayout *layout, bContext *UNUSED(C), Po
        uiItemR(layout, ptr, "turbulence_depth", 0, NULL, ICON_NONE);
 }
 
-static void node_shader_buts_tex_marble(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
+static void node_shader_buts_tex_wave(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 {
-       uiItemR(layout, ptr, "marble_type", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "turbulence_depth", 0, NULL, ICON_NONE);
        uiItemR(layout, ptr, "wave_type", 0, "", ICON_NONE);
 }
 
 static void node_shader_buts_tex_musgrave(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 {
        uiItemR(layout, ptr, "musgrave_type", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE);
-}
-
-static void node_shader_buts_tex_stucci(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
-{
-       uiItemR(layout, ptr, "stucci_type", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE);
 }
 
 static void node_shader_buts_tex_voronoi(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 {
-       uiItemR(layout, ptr, "distance_metric", 0, "", ICON_NONE);
        uiItemR(layout, ptr, "coloring", 0, "", ICON_NONE);
 }
 
-static void node_shader_buts_tex_wood(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
-{
-       uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "wood_type", 0, "", ICON_NONE);
-       uiItemR(layout, ptr, "wave_type", 0, "", ICON_NONE);
-}
-
 static void node_shader_buts_glossy(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 {
        uiItemR(layout, ptr, "distribution", 0, "", ICON_NONE);
@@ -1172,7 +1124,7 @@ static void node_shader_set_butfunc(bNodeType *ntype)
                case SH_NODE_VECT_MATH: 
                        ntype->uifunc= node_shader_buts_vect_math;
                        break; 
-               case SH_NODE_GEOM:
+               case SH_NODE_GEOMETRY:
                        ntype->uifunc= node_shader_buts_geometry;
                        break;
                case SH_NODE_ATTRIBUTE:
@@ -1187,33 +1139,21 @@ static void node_shader_set_butfunc(bNodeType *ntype)
                case SH_NODE_TEX_ENVIRONMENT:
                        ntype->uifunc= node_shader_buts_tex_image;
                        break;
-               case SH_NODE_TEX_BLEND:
-                       ntype->uifunc= node_shader_buts_tex_blend;
-                       break;
-               case SH_NODE_TEX_CLOUDS:
-                       ntype->uifunc= node_shader_buts_tex_clouds;
-                       break;
-               case SH_NODE_TEX_DISTNOISE:
-                       ntype->uifunc= node_shader_buts_tex_distnoise;
+               case SH_NODE_TEX_GRADIENT:
+                       ntype->uifunc= node_shader_buts_tex_gradient;
                        break;
                case SH_NODE_TEX_MAGIC:
                        ntype->uifunc= node_shader_buts_tex_magic;
                        break;
-               case SH_NODE_TEX_MARBLE:
-                       ntype->uifunc= node_shader_buts_tex_marble;
+               case SH_NODE_TEX_WAVE:
+                       ntype->uifunc= node_shader_buts_tex_wave;
                        break;
                case SH_NODE_TEX_MUSGRAVE:
                        ntype->uifunc= node_shader_buts_tex_musgrave;
                        break;
-               case SH_NODE_TEX_STUCCI:
-                       ntype->uifunc= node_shader_buts_tex_stucci;
-                       break;
                case SH_NODE_TEX_VORONOI:
                        ntype->uifunc= node_shader_buts_tex_voronoi;
                        break;
-               case SH_NODE_TEX_WOOD:
-                       ntype->uifunc= node_shader_buts_tex_wood;
-                       break;
                case SH_NODE_BSDF_GLOSSY:
                case SH_NODE_BSDF_GLASS:
                        ntype->uifunc= node_shader_buts_glossy;
@@ -1692,24 +1632,17 @@ static void node_composit_buts_id_mask(uiLayout *layout, bContext *UNUSED(C), Po
 
 static void node_composit_buts_file_output(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 {
-       uiLayout *col, *row;
+       bNode *node= ptr->data;
+       NodeImageFile *nif= node->storage;
+       PointerRNA imfptr;
+
+       uiLayout *row;
+
+       uiItemR(layout, ptr, "filepath", 0, "", ICON_NONE);
+
+       RNA_pointer_create(NULL, &RNA_ImageFormatSettings, &nif->im_format, &imfptr);
+       uiTemplateImageSettings(layout, &imfptr);
 
-       col= uiLayoutColumn(layout, 0);
-       uiItemR(col, ptr, "filepath", 0, "", ICON_NONE);
-       uiItemR(col, ptr, "image_type", 0, "", ICON_NONE);
-       
-       row= uiLayoutRow(layout, 0);
-       if (RNA_enum_get(ptr, "image_type")== R_OPENEXR) {
-               uiItemR(row, ptr, "use_exr_half", 0, NULL, ICON_NONE);
-               uiItemR(row, ptr, "exr_codec", 0, "", ICON_NONE);
-       }
-       else if (RNA_enum_get(ptr, "image_type")== R_JPEG90) {
-               uiItemR(row, ptr, "quality", UI_ITEM_R_SLIDER, "Quality", ICON_NONE);
-       }
-       else if (RNA_enum_get(ptr, "image_type")== R_PNG) {
-               uiItemR(row, ptr, "quality", UI_ITEM_R_SLIDER, "Compression", ICON_NONE);
-       }
-       
        row= uiLayoutRow(layout, 1);
        uiItemR(row, ptr, "frame_start", 0, "Start", ICON_NONE);
        uiItemR(row, ptr, "frame_end", 0, "End", ICON_NONE);
@@ -1825,6 +1758,40 @@ static void node_composit_buts_ycc(uiLayout *layout, bContext *UNUSED(C), Pointe
        uiItemR(layout, ptr, "mode", 0, "", ICON_NONE);
 }
 
+static void node_composit_buts_movieclip(uiLayout *layout, bContext *C, PointerRNA *ptr)
+{
+       uiTemplateID(layout, C, ptr, "clip", NULL, "CLIP_OT_open", NULL);
+}
+
+static void node_composit_buts_stabilize2d(uiLayout *layout, bContext *C, PointerRNA *ptr)
+{
+       bNode *node= ptr->data;
+
+       uiTemplateID(layout, C, ptr, "clip", NULL, "CLIP_OT_open", NULL);
+
+       if(!node->id)
+               return;
+
+       uiItemR(layout, ptr, "filter_type", 0, "", 0);
+}
+
+static void node_composit_buts_transform(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
+{
+       uiItemR(layout, ptr, "filter_type", 0, "", 0);
+}
+
+static void node_composit_buts_moviedistortion(uiLayout *layout, bContext *C, PointerRNA *ptr)
+{
+       bNode *node= ptr->data;
+
+       uiTemplateID(layout, C, ptr, "clip", NULL, "CLIP_OT_open", NULL);
+
+       if(!node->id)
+               return;
+
+       uiItemR(layout, ptr, "distortion_type", 0, "", 0);
+}
+
 /* only once called */
 static void node_composit_set_butfunc(bNodeType *ntype)
 {
@@ -1975,6 +1942,20 @@ static void node_composit_set_butfunc(bNodeType *ntype)
                case CMP_NODE_SEPYCCA:
                        ntype->uifunc=node_composit_buts_ycc;
                        break;
+               case CMP_NODE_MOVIECLIP:
+                       ntype->uifunc= node_composit_buts_movieclip;
+                       break;
+               case CMP_NODE_STABILIZE2D:
+                       ntype->uifunc= node_composit_buts_stabilize2d;
+                       break;
+               case CMP_NODE_TRANSFORM:
+                       ntype->uifunc= node_composit_buts_transform;
+                       break;
+               case CMP_NODE_MOVIEDISTORTION:
+                       ntype->uifunc= node_composit_buts_moviedistortion;
+                       break;
+               default:
+                       ntype->uifunc= NULL;
        }
        if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc;
 
@@ -2273,7 +2254,7 @@ void draw_nodespace_back_pix(ARegion *ar, SpaceNode *snode, int color_manage)
        }
 }
 
-void draw_nodespace_color_info(ARegion *ar, int color_manage, int channels, int x, int y, char *cp, float *fp)
+void draw_nodespace_color_info(ARegion *ar, int color_manage, int channels, int x, int y, const char cp[4], const float fp[4])
 {
        char str[256];
        float dx= 6;