/*-------------------------------------------------------------------------*/
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;
}
Exemple #2
0
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);
}