This commit was generated by cvs2svn to compensate for changes in r5086,
[chise/xemacs-chise.git.1] / lwlib / xlwtabs.c
index fa10a60..e58d6fa 100644 (file)
@@ -18,7 +18,7 @@
  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
- /* Synched up with: Tabs.c 1.25 */
+ /* Synched up with: Tabs.c 1.23 */
  
  /*
  * Tabs.c - Index Tabs composite widget
@@ -568,11 +568,7 @@ TabsResize(Widget w)
                          cw-bw*2,ch-bw*2, bw) ;
            }
          if( XtIsRealized(w) )
-           {
-             XClearWindow(XtDisplay((Widget)tw), XtWindow((Widget)tw)) ;
-             tw->tabs.needs_layout = False ;
-             XtClass(tw)->core_class.expose((Widget)tw,NULL,None) ;
-           }
+           XClearWindow(XtDisplay((Widget)tw), XtWindow((Widget)tw)) ;
        }
 
        tw->tabs.needs_layout = False ;
@@ -633,8 +629,7 @@ TabsSetValues(Widget current, Widget request, Widget new,
        /* TODO: if any color changes, need to recompute GCs and redraw */
 
        if( tw->core.background_pixel != curtw->core.background_pixel ||
-           tw->core.background_pixmap != curtw->core.background_pixmap ||
-           tw->tabs.font != curtw->tabs.font )
+           tw->core.background_pixmap != curtw->core.background_pixmap )
          if( XtIsRealized(new) )
          {
            TabsFreeGCs(tw) ;
@@ -649,8 +644,7 @@ TabsSetValues(Widget current, Widget request, Widget new,
         * Window system will handle the redraws.
         */
 
-       if( tw->tabs.topWidget != curtw->tabs.topWidget ) 
-       {
+       if( tw->tabs.topWidget != curtw->tabs.topWidget )
          if( XtIsRealized(tw->tabs.topWidget) )
          {
            Widget              w = tw->tabs.topWidget ;
@@ -669,7 +663,6 @@ TabsSetValues(Widget current, Widget request, Widget new,
          }
          else
            tw->tabs.needs_layout = True ;
-       }
 
        return needRedraw ;
 }
@@ -825,16 +818,15 @@ TabsGeometryManager(Widget w, XtWidgetGeometry *req, XtWidgetGeometry *reply)
          Dimension     th ;            /* space used by tabs */
          Dimension     wid,hgt ;       /* Tabs widget size */
 
-         rw = cw = tab->tabs.wid ;
-         rh = ch = tab->tabs.hgt ;
+         rw = tab->tabs.wid ;
+         rh = tab->tabs.hgt ;
 
          /* find out what the resulting preferred size would be */
 
 #ifdef COMMENT
          MaxChild(tw, &cw, &ch) ;
 #endif /* COMMENT */
-         PreferredSize2(tw,
-               cw=tw->tabs.max_cw, ch=tw->tabs.max_ch, &wid, &hgt) ;
+         PreferredSize2(tw, tw->tabs.max_cw,tw->tabs.max_ch, &wid, &hgt) ;
 
          /* Ask to be resized to accommodate. */
 
@@ -1065,9 +1057,10 @@ static   void
 TabsPage(Widget w, XEvent *event, String *params, Cardinal *num_params)
 {
        TabsWidget      tw = (TabsWidget) w ;
-       Widget          newtop = NULL;
+       Widget          newtop ;
        Widget          *childP ;
        int             idx ;
+       int             i ;
        int             nc = tw->composite.num_children ;
 
        if( nc <= 0 )
@@ -1089,9 +1082,9 @@ TabsPage(Widget w, XEvent *event, String *params, Cardinal *num_params)
        switch( params[0][0] ) {
          case 'u':             /* up */
          case 'U':
-           if( --idx < 0 )
-             idx = nc-1 ;
-           newtop = tw->composite.children[idx] ;
+           if( idx == 0 )
+             idx = nc ;
+           newtop = tw->composite.children[idx-1] ;
            break ;
 
          case 'd':             /* down */
@@ -1103,7 +1096,6 @@ TabsPage(Widget w, XEvent *event, String *params, Cardinal *num_params)
 
          case 'h':
          case 'H':
-         default:
              newtop = tw->composite.children[0] ;
              break ;
 
@@ -1129,9 +1121,10 @@ static   void
 TabsHighlight(Widget w, XEvent *event, String *params, Cardinal *num_params)
 {
        TabsWidget      tw = (TabsWidget) w ;
-       Widget          newhl = NULL;
+       Widget          newhl ;
        Widget          *childP ;
        int             idx ;
+       int             i ;
        int             nc = tw->composite.num_children ;
 
        if( nc <= 0 )
@@ -1149,7 +1142,6 @@ TabsHighlight(Widget w, XEvent *event, String *params, Cardinal *num_params)
 
        else
        {
-         /* find index of currently highlit child */
          for(idx=0, childP=tw->composite.children; idx < nc; ++idx, ++childP )
            if( tw->tabs.hilight == *childP )
              break ;
@@ -1157,9 +1149,9 @@ TabsHighlight(Widget w, XEvent *event, String *params, Cardinal *num_params)
          switch( params[0][0] ) {
            case 'u':           /* up */
            case 'U':
-             if( --idx < 0 )
-               idx = nc-1 ;
-             newhl = tw->composite.children[idx] ;
+             if( idx == 0 )
+               idx = nc ;
+             newhl = tw->composite.children[idx-1] ;
              break ;
 
            case 'd':           /* down */
@@ -1178,10 +1170,6 @@ TabsHighlight(Widget w, XEvent *event, String *params, Cardinal *num_params)
            case 'E':
                newhl = tw->composite.children[nc-1] ;
                break ;
-
-           default:
-               newhl = tw->tabs.hilight ;
-               break ;
          }
        }
 
@@ -1283,6 +1271,8 @@ void
 XawTabsSetHighlight(Widget t, Widget w)
 {
        TabsWidget      tw = (TabsWidget)t ;
+       TabsConstraints tab ;
+       Widget          oldtop = tw->tabs.topWidget ;
 
        if( !XtIsSubclass(t, tabsWidgetClass) )
          return ;