git-svn-id: http://ltt.polymtl.ca/svn@324 04897980-b3bd-0310-b5e0-8ef037075253
authoryangxx <yangxx@04897980-b3bd-0310-b5e0-8ef037075253>
Tue, 28 Oct 2003 20:22:27 +0000 (20:22 +0000)
committeryangxx <yangxx@04897980-b3bd-0310-b5e0-8ef037075253>
Tue, 28 Oct 2003 20:22:27 +0000 (20:22 +0000)
ltt/branches/poly/lttv/modules/gui/mainWin/src/gtkcustom.c

index 492a9ef018067e9dd72929daa98041deb0c5dad6..f9b3582678f02e408bb77cbd79fec3c61e590e30 100644 (file)
@@ -106,6 +106,8 @@ void gtk_custom_set_adjust(GtkCustom * custom, gboolean first_time)
 {
   TimeWindow time_window;
   TimeInterval *time_span;
+  double tmp, start;
+  double range = 5;
 
   get_time_window(custom->mw,&time_window);
   if(first_time){
@@ -123,14 +125,25 @@ void gtk_custom_set_adjust(GtkCustom * custom, gboolean first_time)
     g_warning("Insert a viewer first");
     return;
   }
+
+  start = ltt_time_to_double(time_window.start_time) * NANOSECONDS_PER_SECOND;
+  tmp = custom->hadjust->upper - custom->hadjust->lower;
+
   custom->hadjust->page_increment = ltt_time_to_double(
                        time_window.time_width) * NANOSECONDS_PER_SECOND;
+
+  if(custom->hadjust->page_increment >= tmp - range)
+    custom->hadjust->value = custom->hadjust->lower;
+  if(start + custom->hadjust->page_increment > custom->hadjust->upper - range)
+    custom->hadjust->value = start;
+
   /* page_size to the whole visible area will take care that the
      * scroll value + the shown area will never be more than what is
      * in the trace. */
   custom->hadjust->page_size = custom->hadjust->page_increment;
   custom->hadjust->step_increment = custom->hadjust->page_increment / 10;
 
+  gtk_adjustment_changed (custom->hadjust);
 }
 
 void gtk_custom_widget_add(GtkCustom * custom, GtkWidget * widget1)
This page took 0.024122 seconds and 4 git commands to generate.