Strange behaviour with scrollbars.
- From: Alexander Larsson <alla lysator liu se>
- To: gtk-list redhat com
- Subject: Strange behaviour with scrollbars.
- Date: Tue, 12 May 1998 09:54:39 +0300
I'm using two scrollbars to scroll around a larger 'virtual' area in a smaller 
drawing_area. Sometimes the virtual area size changes, and this has caused 
some confusion for me because of a strange behaviour that sometimes shows.
If i view the whole virtual area, and then it grows to the left i just change 
the parameters in the GtkAdjustment (but leave value as it is) and emit the 
"changed" signal on it. But even though i didn't change 'value' it is still 
set to adjustment->lower by gtk.
I tracked it down to gtk_range_adjustment_changed() in gtkadjustment.c. It 
does:
  if (((range->old_lower != adjustment->lower) ||
       (range->old_upper != adjustment->upper) ||
       (range->old_page_size != adjustment->page_size)) &&
      (range->old_value == adjustment->value))
    {
      if ((adjustment->lower == adjustment->upper) ||
          (range->old_lower == (range->old_upper - range->old_page_size)))
        {
          adjustment->value = adjustment->lower;
          gtk_signal_emit_by_name (GTK_OBJECT (adjustment), "value_changed");
        }
    }
I don't understand why it checks if "(range->old_lower == (range->old_upper - 
range->old_page_size)". Is this right? Doesn't it mean that if the slider was 
to the right, set it to the left, which seems strange.
/ Alex
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]