1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
# include "appFrameConfig.h"
# include <stdlib.h>
# include <stdio.h>
# include <appDebugon.h>
# include "appFrame.h"
# include "appSystem.h"
# include <appGeoString.h>
# ifdef USE_MOTIF
# include <X11/Xatom.h>
# include <Xm/PanedW.h>
# include <Xm/List.h>
/************************************************************************/
/* */
/* List specific functionality. */
/* */
/************************************************************************/
void appGuiMakeListInColumn( Widget * pList,
Widget column,
int visibleItems,
XtCallbackProc callback,
void * through )
{
Widget list;
Arg al[20];
int ac= 0;
ac= 0;
XtSetArg( al[ac], XmNskipAdjust, False ); ac++;
XtSetArg( al[ac], XmNallowResize, False ); ac++;
XtSetArg( al[ac], XmNvisibleItemCount, visibleItems ); ac++;
list= XmCreateScrolledList( column, WIDGET_NAME, al, ac );
XtManageChild( list );
if ( callback )
{
XtAddCallback( list, XmNbrowseSelectionCallback, callback, through );
}
appMotifTurnOfSashTraversal( column );
*pList= list; return;
}
void appGuiEmptyListWidget( Widget list )
{
XmListDeselectAllItems( list );
XmListDeleteAllItems( list );
return;
}
void appGuiAddValueToListWidget( Widget list,
const char * value )
{
XmString labelString;
labelString= XmStringCreateLocalized( (char *)value );
XmListAddItemUnselected( list, labelString, 0 );
XmStringFree( labelString );
return;
}
void appGuiSelectPositionInListWidget( APP_WIDGET list,
int position )
{
XmListSelectPos( list, position+ 1, False );
return;
}
void appGuiRemoveSelectionFromListWidget( APP_WIDGET list )
{
XmListDeselectAllItems( list );
return;
}
int appGuiGetPositionFromListCallback( APP_WIDGET list,
void * voidlcs )
{
XmListCallbackStruct * lcs= (XmListCallbackStruct *)voidlcs;
return lcs->item_position- 1;
}
char * appGuiGetStringFromListCallback( APP_WIDGET list,
void * voidlcs )
{
XmListCallbackStruct * lcs= (XmListCallbackStruct *)voidlcs;
char * text= (char *)0;
XmStringGetLtoR( lcs->item, XmFONTLIST_DEFAULT_TAG, &text );
return text;
}
void appFreeStringFromListCallback( char * s )
{ XtFree( s ); }
# endif
|