/*-------------------------------------------------------------------------*/ static Widget CreateListTree( Widget parent, String name, ArgList arglist, Cardinal argcount ) { Widget lw; Pixmap branch; Pixmap leaf; Pixmap branch_open; Pixmap leaf_open; Arg args[10]; ArgList arg_list; int ac; branch = qmonGetIcon("branch"); branch_open = qmonGetIcon("branch_open"); leaf = qmonGetIcon("leaf"); leaf_open = qmonGetIcon("leaf_open"); ac = 0; XtSetArg(args[ac], XtNbranchPixmap, branch); ac++; XtSetArg(args[ac], XtNbranchOpenPixmap, branch_open); ac++; XtSetArg(args[ac], XtNleafPixmap, leaf); ac++; XtSetArg(args[ac], XtNleafOpenPixmap, leaf_open); ac++; XtSetArg(args[ac], XtNdoIncrementalHighlightCallback, True); ac++; XtSetArg(args[ac], XtNhighlightPath, False); ac++; XtSetArg(args[ac], XtNindent, 5); ac++; arg_list = XtMergeArgLists(arglist, argcount, args, ac); argcount += ac; lw = XmCreateScrolledListTree(parent, name, arg_list, argcount); return lw; }
int main (int argc, char **argv) { #ifdef USE_XPM Pixmap open,closed, file_open, file_closed; Pixel bg; XpmColorSymbol transparent; XpmAttributes attrib; #endif toplevel = XtAppInitialize(&app_con,"XltListTreeDemo",NULL,0, &argc,argv,NULL,NULL,0); #ifdef USE_XPM XtVaGetValues(toplevel, XtNbackground, &bg, NULL); transparent.name=NULL; transparent.value="#FFFFFFFFFFFF"; transparent.pixel=bg; attrib.colorsymbols=&transparent; attrib.valuemask=XpmColorSymbols; attrib.numsymbols=1; XpmCreatePixmapFromData(XtDisplay(toplevel), RootWindowOfScreen(XtScreen(toplevel)), folderopen_xpm,&open,NULL,&attrib); XpmCreatePixmapFromData(XtDisplay(toplevel), RootWindowOfScreen(XtScreen(toplevel)), folder_xpm,&closed,NULL,&attrib); XpmCreatePixmapFromData(XtDisplay(toplevel), RootWindowOfScreen(XtScreen(toplevel)), fileopen_xpm,&file_open,NULL,&attrib); XpmCreatePixmapFromData(XtDisplay(toplevel), RootWindowOfScreen(XtScreen(toplevel)), fileclosed_xpm,&file_closed,NULL,&attrib); XpmCreatePixmapFromData(XtDisplay(toplevel), RootWindowOfScreen(XtScreen(toplevel)), test_xpm,&testPix,NULL,&attrib); #endif #if OLD_WAY tree = XtVaCreateManagedWidget("tree",listtreeWidgetClass,toplevel, XtNfont, XLoadQueryFont(XtDisplay(toplevel),"-adobe-helvetica-medium-r-normal--*-100-*"), XtNheight, (Dimension)200, XtNwidth, (Dimension)150, XtNhorizontalSpacing, 5, XtNverticalSpacing, 5, XtNhighlightPath, True, #ifdef USE_XPM XtNbranchPixmap, closed, XtNbranchOpenPixmap, open, XtNleafPixmap, file_closed, XtNleafOpenPixmap, file_open, #else /* XtNbranchPixmap, NULL,*/ /* XtNbranchOpenPixmap, NULL,*/ /* XtNleafPixmap, NULL,*/ /* XtNleafOpenPixmap, NULL,*/ /* XtNindent, (int)5,*/ #endif NULL,0); #else tree=XmCreateScrolledListTree(toplevel,"tree",NULL,0); XtVaSetValues(tree, XtNheight, (Dimension)200, XtNwidth, (Dimension)150, XltNhorizontalSpacing, 5, XltNverticalSpacing, 5, XltNhighlightPath, True, #ifdef USE_XPM XltNbranchPixmap, closed, XltNbranchOpenPixmap, open, XltNleafPixmap, file_closed, XltNleafOpenPixmap, file_open, #else /* XtNbranchPixmap, NULL,*/ /* XtNbranchOpenPixmap, NULL,*/ /* XtNleafPixmap, NULL,*/ /* XtNleafOpenPixmap, NULL,*/ /* XtNindent, (int)5,*/ #endif NULL); XtManageChild(tree); #endif Init(tree); XtAddCallback(tree,XltNhighlightCallback, HighlightCallback, (XtPointer) NULL); XtAddCallback(tree,XltNactivateCallback, ActivateCallback, (XtPointer) NULL); XtAddCallback(tree,XltNmenuCallback, MenuCallback, (XtPointer) NULL); XtRealizeWidget(toplevel); XtAppMainLoop(app_con); return(0); }