Fix for weirdness in texture map to settings - we now use negative
authorMatt Ebb <matt@mke3.net>
Fri, 29 Jan 2010 01:20:57 +0000 (01:20 +0000)
committerMatt Ebb <matt@mke3.net>
Fri, 29 Jan 2010 01:20:57 +0000 (01:20 +0000)
numbers for negative influences (as opposed to old 3-state button)
but the ui range was only set to 0,1.

Changed the defaults to -1,1 and added a shortcut - pressing minus
key while the mouse is over a number field or slider will make it negative.

source/blender/editors/interface/interface_handlers.c
source/blender/makesrna/intern/rna_material.c

index 4ecb06eaeb94eeee91bbf38e40be5fa105d1cef9..351b72c16a141f290af0c2cbc37d7d37446674d2 100644 (file)
@@ -2308,6 +2308,12 @@ static int ui_do_but_NUM(bContext *C, uiBlock *block, uiBut *but, uiHandleButton
                        }
                        else if(ELEM(event->type, PADENTER, RETKEY) && event->val==KM_PRESS)
                                click= 1;
+                       else if (event->type == MINUSKEY && event->val==KM_PRESS) {
+                               button_activate_state(C, but, BUTTON_STATE_NUM_EDITING);
+                               data->value = -data->value;
+                               button_activate_state(C, but, BUTTON_STATE_EXIT);
+                               retval= WM_UI_HANDLER_BREAK;
+                       }
                }
                
        }
@@ -2525,6 +2531,12 @@ static int ui_do_but_SLI(bContext *C, uiBlock *block, uiBut *but, uiHandleButton
                        }
                        else if(ELEM(event->type, PADENTER, RETKEY) && event->val==KM_PRESS)
                                click= 1;
+                       else if (event->type == MINUSKEY && event->val==KM_PRESS) {
+                               button_activate_state(C, but, BUTTON_STATE_NUM_EDITING);
+                               data->value = -data->value;
+                               button_activate_state(C, but, BUTTON_STATE_EXIT);
+                               retval= WM_UI_HANDLER_BREAK;
+                       }
                }
        }
        else if(data->state == BUTTON_STATE_NUM_EDITING) {
index f4ffe7e007d3cf9ea27c2e94c6577d68d8c24b89..635879ce9ec962b62269b2a2b6831ab7ccb2c538 100644 (file)
@@ -451,13 +451,13 @@ static void rna_def_material_mtex(BlenderRNA *brna)
 
        prop= RNA_def_property(srna, "normal_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "norfac");
-       RNA_def_property_ui_range(prop, 0, 5, 10, 3);
+       RNA_def_property_ui_range(prop, -5, 5, 10, 3);
        RNA_def_property_ui_text(prop, "Normal Factor", "Amount texture affects normal values.");
        RNA_def_property_update(prop, 0, "rna_Material_update");
 
        prop= RNA_def_property(srna, "displacement_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "dispfac");
-       RNA_def_property_ui_range(prop, 0, 1, 10, 3);
+       RNA_def_property_ui_range(prop, -1, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Displacement Factor", "Amount texture displaces the surface.");
        RNA_def_property_update(prop, 0, "rna_Material_update");
 
@@ -487,49 +487,49 @@ static void rna_def_material_mtex(BlenderRNA *brna)
 
        prop= RNA_def_property(srna, "alpha_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "alphafac");
-       RNA_def_property_ui_range(prop, 0, 1, 10, 3);
+       RNA_def_property_ui_range(prop, -1, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Alpha Factor", "Amount texture affects alpha.");
        RNA_def_property_update(prop, 0, "rna_Material_update");
 
        prop= RNA_def_property(srna, "diffuse_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "difffac");
-       RNA_def_property_ui_range(prop, 0, 1, 10, 3);
+       RNA_def_property_ui_range(prop, -1, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Diffuse Factor", "Amount texture affects diffuse reflectivity.");
        RNA_def_property_update(prop, 0, "rna_Material_update");
 
        prop= RNA_def_property(srna, "specular_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "specfac");
-       RNA_def_property_ui_range(prop, 0, 1, 10, 3);
+       RNA_def_property_ui_range(prop, -1, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Specular Factor", "Amount texture affects specular reflectivity.");
        RNA_def_property_update(prop, 0, "rna_Material_update");
 
        prop= RNA_def_property(srna, "emit_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "emitfac");
-       RNA_def_property_ui_range(prop, 0, 1, 10, 3);
+       RNA_def_property_ui_range(prop, -1, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Emit Factor", "Amount texture affects emission.");
        RNA_def_property_update(prop, 0, "rna_Material_update");
 
        prop= RNA_def_property(srna, "hardness_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "hardfac");
-       RNA_def_property_ui_range(prop, 0, 1, 10, 3);
+       RNA_def_property_ui_range(prop, -1, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Hardness Factor", "Amount texture affects hardness.");
        RNA_def_property_update(prop, 0, "rna_Material_update");
 
        prop= RNA_def_property(srna, "raymir_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "raymirrfac");
-       RNA_def_property_ui_range(prop, 0, 1, 10, 3);
+       RNA_def_property_ui_range(prop, -1, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Ray Mirror Factor", "Amount texture affects ray mirror.");
        RNA_def_property_update(prop, 0, "rna_Material_update");
 
        prop= RNA_def_property(srna, "translucency_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "translfac");
-       RNA_def_property_ui_range(prop, 0, 1, 10, 3);
+       RNA_def_property_ui_range(prop, -1, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Translucency Factor", "Amount texture affects translucency.");
        RNA_def_property_update(prop, 0, "rna_Material_update");
 
        prop= RNA_def_property(srna, "ambient_factor", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "ambfac");
-       RNA_def_property_ui_range(prop, 0, 1, 10, 3);
+       RNA_def_property_ui_range(prop, -1, 1, 10, 3);
        RNA_def_property_ui_text(prop, "Ambient Factor", "Amount texture affects ambient.");
        RNA_def_property_update(prop, 0, "rna_Material_update");