|
Packit |
b099d7 |
/* $TOG: BBUtil.c /main/8 1997/04/15 10:23:34 dbl $ */
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Motif
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Copyright (c) 1987-2012, The Open Group. All rights reserved.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are free software; you can
|
|
Packit |
b099d7 |
* redistribute them and/or modify them under the terms of the GNU
|
|
Packit |
b099d7 |
* Lesser General Public License as published by the Free Software
|
|
Packit |
b099d7 |
* Foundation; either version 2 of the License, or (at your option)
|
|
Packit |
b099d7 |
* any later version.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are distributed in the hope that
|
|
Packit |
b099d7 |
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
Packit |
b099d7 |
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
Packit |
b099d7 |
* PURPOSE. See the GNU Lesser General Public License for more
|
|
Packit |
b099d7 |
* details.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
b099d7 |
* License along with these librararies and programs; if not, write
|
|
Packit |
b099d7 |
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
Packit |
b099d7 |
* Floor, Boston, MA 02110-1301 USA
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* HISTORY
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef HAVE_CONFIG_H
|
|
Packit |
b099d7 |
#include <config.h>
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <Xm/Xm.h>
|
|
Packit |
b099d7 |
#include <Xm/PushBG.h>
|
|
Packit |
b099d7 |
#include <Xm/LabelG.h>
|
|
Packit |
b099d7 |
#include <Xm/TraitP.h>
|
|
Packit |
b099d7 |
#include <Xm/TakesDefT.h>
|
|
Packit |
b099d7 |
#include "BulletinBI.h"
|
|
Packit |
b099d7 |
#include "MessagesI.h"
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* defines for label string resources coming from message catalog */
|
|
Packit |
b099d7 |
#define OK_STRING _XmMMsgResource_0001
|
|
Packit |
b099d7 |
#define CANCEL_STRING _XmMMsgResource_0002
|
|
Packit |
b099d7 |
#define SELECTION_STRING _XmMMsgResource_0003
|
|
Packit |
b099d7 |
#define APPLY_STRING _XmMMsgResource_0004
|
|
Packit |
b099d7 |
#define HELP_STRING _XmMMsgResource_0005
|
|
Packit |
b099d7 |
#define FILTER_STRING _XmMMsgResource_0006
|
|
Packit |
b099d7 |
#define DIRLIST_STRING _XmMMsgResource_0008
|
|
Packit |
b099d7 |
#define ITEMS_STRING _XmMMsgResource_0009
|
|
Packit |
b099d7 |
#define DIRTEXT_STRING _XmMMsgResource_0011
|
|
Packit |
b099d7 |
#define PROMPT_STRING _XmMMsgResource_0012
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/****************************************************************/
|
|
Packit |
b099d7 |
static char *
|
|
Packit |
b099d7 |
GetLabelString(
|
|
Packit |
b099d7 |
XmLabelStringLoc l_loc )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
char *retval = (char*)NULL;
|
|
Packit |
b099d7 |
switch (l_loc)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
case XmOkStringLoc:
|
|
Packit |
b099d7 |
retval = OK_STRING;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmCancelStringLoc:
|
|
Packit |
b099d7 |
retval = CANCEL_STRING;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmSelectionStringLoc:
|
|
Packit |
b099d7 |
retval = SELECTION_STRING;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmApplyStringLoc:
|
|
Packit |
b099d7 |
retval = APPLY_STRING;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmHelpStringLoc:
|
|
Packit |
b099d7 |
retval = HELP_STRING;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmFilterStringLoc:
|
|
Packit |
b099d7 |
retval = FILTER_STRING;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmDirListStringLoc:
|
|
Packit |
b099d7 |
retval = DIRLIST_STRING;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmItemsStringLoc:
|
|
Packit |
b099d7 |
retval = ITEMS_STRING;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmDirTextStringLoc:
|
|
Packit |
b099d7 |
retval = DIRTEXT_STRING;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case XmPromptStringLoc:
|
|
Packit |
b099d7 |
retval = PROMPT_STRING;
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
default:
|
|
Packit |
b099d7 |
/* internal error */
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
return retval;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/****************************************************************/
|
|
Packit |
b099d7 |
Widget
|
|
Packit |
b099d7 |
_XmBB_CreateButtonG(
|
|
Packit |
b099d7 |
Widget bb,
|
|
Packit |
b099d7 |
XmString l_string,
|
|
Packit |
b099d7 |
char *name,
|
|
Packit |
b099d7 |
XmLabelStringLoc l_loc )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Arg al[10] ;
|
|
Packit |
b099d7 |
register Cardinal ac = 0 ;
|
|
Packit |
b099d7 |
Widget button ;
|
|
Packit |
b099d7 |
XmTakesDefaultTrait trait_default ;
|
|
Packit |
b099d7 |
XmString default_label_string_loc = NULL;
|
|
Packit |
b099d7 |
/****************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if( l_string )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtSetArg( al[ac], XmNlabelString, l_string) ; ac++ ;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
default_label_string_loc = XmStringCreate(GetLabelString(l_loc),
|
|
Packit |
b099d7 |
XmFONTLIST_DEFAULT_TAG);
|
|
Packit |
b099d7 |
XtSetArg( al[ac], XmNlabelString, default_label_string_loc); ac++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtSetArg( al[ac], XmNstringDirection, BB_StringDirection( bb)) ; ac++ ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
button = XmCreatePushButtonGadget( (Widget) bb, name, al, ac) ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
trait_default = (XmTakesDefaultTrait) XmeTraitGet((XtPointer)
|
|
Packit |
b099d7 |
XtClass(button),
|
|
Packit |
b099d7 |
XmQTtakesDefault) ;
|
|
Packit |
b099d7 |
if (trait_default)
|
|
Packit |
b099d7 |
trait_default->showAsDefault (button, XmDEFAULT_READY);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (default_label_string_loc)
|
|
Packit |
b099d7 |
XmStringFree(default_label_string_loc);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
return( button ) ;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/****************************************************************/
|
|
Packit |
b099d7 |
Widget
|
|
Packit |
b099d7 |
_XmBB_CreateLabelG(
|
|
Packit |
b099d7 |
Widget bb,
|
|
Packit |
b099d7 |
XmString l_string,
|
|
Packit |
b099d7 |
char *name,
|
|
Packit |
b099d7 |
XmLabelStringLoc l_loc )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Arg al[10] ;
|
|
Packit |
b099d7 |
register int ac = 0 ;
|
|
Packit |
b099d7 |
Widget label ;
|
|
Packit |
b099d7 |
XmString default_label_string_loc = NULL;
|
|
Packit |
b099d7 |
/****************/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if( l_string )
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtSetArg( al[ac], XmNlabelString, l_string) ; ac++ ;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
default_label_string_loc = XmStringCreate(GetLabelString(l_loc),
|
|
Packit |
b099d7 |
XmFONTLIST_DEFAULT_TAG);
|
|
Packit |
b099d7 |
XtSetArg( al[ac], XmNlabelString, default_label_string_loc); ac++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtSetArg( al[ac], XmNstringDirection, BB_StringDirection( bb)) ; ac++ ;
|
|
Packit |
b099d7 |
XtSetArg( al[ac], XmNhighlightThickness, 0) ; ac++ ;
|
|
Packit |
b099d7 |
XtSetArg( al[ac], XmNtraversalOn, False) ; ac++ ;
|
|
Packit |
b099d7 |
XtSetArg( al[ac], XmNalignment, XmALIGNMENT_BEGINNING) ; ac++ ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
label = XmCreateLabelGadget( bb, name, al, ac);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (default_label_string_loc)
|
|
Packit |
b099d7 |
XmStringFree(default_label_string_loc);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
return( label ) ;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|