One thing that drives me mad on fluid sometimes is to fine adjust  
placement/size of widgets, with the left mouse button it is supposed to  
increment/decrement at 1 steps but most of the time it  
increments/decrements in ore than 1 step.

With the modification bellow to the Fl_Value_Input::handle if we press  
CTRL key it is more likely to increment/decrement a 1 step.

--------------------------------

int Fl_Value_Input::handle(int event) {
...
   case FL_DRAG:
     if (!step()) goto DEFAULT;
     delta = mx-ix;
     if(Fl::event_ctrl()) { //new code
         delta /= 5;            //new code
     } else {                   //new code
         if (delta > 5) delta -= 5;
         else if (delta < -5) delta += 5;
         else delta = 0;
     } //new code                                               
     switch (drag) {
     case 3: v = increment(previous_value(), delta*100); break;
     case 2: v = increment(previous_value(), delta*10); break;
     default:v = increment(previous_value(), delta); break;
     }
     v = round(v);
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to