/[emacs]/emacs/src/gtkutil.c
ViewVC logotype

Diff of /emacs/src/gtkutil.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.20 by jhd, Mon Mar 17 23:03:53 2003 UTC revision 1.21 by jhd, Mon Mar 17 23:17:32 2003 UTC
# Line 2625  xg_set_toolkit_scroll_bar_thumb (bar, po Line 2625  xg_set_toolkit_scroll_bar_thumb (bar, po
2625        gdouble shown;        gdouble shown;
2626        gdouble top;        gdouble top;
2627        int size, value;        int size, value;
2628          int new_upper, new_step;
2629    
2630        adj = gtk_range_get_adjustment (GTK_RANGE (wscroll));        adj = gtk_range_get_adjustment (GTK_RANGE (wscroll));
2631    
# Line 2652  xg_set_toolkit_scroll_bar_thumb (bar, po Line 2653  xg_set_toolkit_scroll_bar_thumb (bar, po
2653        value = min (value, whole - size);        value = min (value, whole - size);
2654        value = max (value, XG_SB_MIN);        value = max (value, XG_SB_MIN);
2655    
       adj->page_size = (int)size;  
   
2656        /* gtk_range_set_value invokes the callback.  Set        /* gtk_range_set_value invokes the callback.  Set
2657           ignore_gtk_scrollbar to make the callback do nothing  */           ignore_gtk_scrollbar to make the callback do nothing  */
2658        xg_ignore_gtk_scrollbar = 1;        xg_ignore_gtk_scrollbar = 1;
2659    
2660        gtk_range_set_range (GTK_RANGE (wscroll), adj->lower, max (whole, size));        new_upper = max (whole, size);
2661          new_step  =  portion / max (1, FRAME_HEIGHT (f));
2662    
2663          if ((int) adj->page_size != size
2664              || (int) adj->upper != new_upper
2665              || (int) adj->step_increment != new_step)
2666            {
2667              adj->page_size = (int) size;
2668    
2669              gtk_range_set_range (GTK_RANGE (wscroll), adj->lower,
2670                                   (gdouble) new_upper);
2671    
2672              /* Assume all lines are of equal size.  */
2673              /* Assume a page increment is about 95% of the page size  */
2674              gtk_range_set_increments (GTK_RANGE (wscroll),
2675                                        portion / max (1, FRAME_HEIGHT (f)),
2676                                        (int) (0.95*adj->page_size));
2677              
2678            }
2679    
2680        /* Assume all lines are of equal size.  */        if ((int) gtk_range_get_value (GTK_RANGE (wscroll)) != value)
2681        /* Assume a page increment is about 95% of the page size  */          gtk_range_set_value (GTK_RANGE (wscroll), (gdouble)value);
       gtk_range_set_increments (GTK_RANGE (wscroll),  
                                 portion / max (1, FRAME_HEIGHT (f)),  
                                 (int) (0.95*adj->page_size));  
2682    
       gtk_range_set_value (GTK_RANGE (wscroll), (gdouble)value);  
2683        xg_ignore_gtk_scrollbar = 0;        xg_ignore_gtk_scrollbar = 0;
2684    
2685        /* Make GTK draw the new thumb.  We are not using a pure GTK event        /* Make GTK draw the new thumb.  We are not using a pure GTK event

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26