the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
- /* Synched up with: Tabs.c 1.23 */
+ /* Synched up with: Tabs.c 1.25 */
/*
* Tabs.c - Index Tabs composite widget
cw-bw*2,ch-bw*2, bw) ;
}
if( XtIsRealized(w) )
- XClearWindow(XtDisplay((Widget)tw), XtWindow((Widget)tw)) ;
+ {
+ XClearWindow(XtDisplay((Widget)tw), XtWindow((Widget)tw)) ;
+ tw->tabs.needs_layout = False ;
+ XtClass(tw)->core_class.expose((Widget)tw,NULL,None) ;
+ }
}
tw->tabs.needs_layout = False ;
/* 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->core.background_pixmap != curtw->core.background_pixmap ||
+ tw->tabs.font != curtw->tabs.font )
if( XtIsRealized(new) )
{
TabsFreeGCs(tw) ;
* 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 ;
needRedraw = True ;
}
- }
else
tw->tabs.needs_layout = True ;
+ }
return needRedraw ;
}
#ifdef COMMENT
MaxChild(tw, &cw, &ch) ;
#endif /* COMMENT */
- PreferredSize2(tw, tw->tabs.max_cw,tw->tabs.max_ch, &wid, &hgt) ;
+ PreferredSize2(tw,
+ cw=tw->tabs.max_cw, ch=tw->tabs.max_ch, &wid, &hgt) ;
/* Ask to be resized to accommodate. */
switch( params[0][0] ) {
case 'u': /* up */
case 'U':
- if( idx == 0 )
- idx = nc ;
- newtop = tw->composite.children[idx-1] ;
+ if( --idx < 0 )
+ idx = nc-1 ;
+ newtop = tw->composite.children[idx] ;
break ;
case 'd': /* down */
case 'h':
case 'H':
+ default:
newtop = tw->composite.children[0] ;
break ;
else
{
+ /* find index of currently highlit child */
for(idx=0, childP=tw->composite.children; idx < nc; ++idx, ++childP )
if( tw->tabs.hilight == *childP )
break ;
switch( params[0][0] ) {
case 'u': /* up */
case 'U':
- if( idx == 0 )
- idx = nc ;
- newhl = tw->composite.children[idx-1] ;
+ if( --idx < 0 )
+ idx = nc-1 ;
+ newhl = tw->composite.children[idx] ;
break ;
case 'd': /* down */
case 'E':
newhl = tw->composite.children[nc-1] ;
break ;
+
+ default:
+ newhl = tw->tabs.hilight ;
+ break ;
}
}