|
Packit |
b099d7 |
/* $XConsortium: NavigatorT.h /main/5 1995/07/15 20:53:08 drk $ */
|
|
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 |
* HISTORY
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#ifndef _XmNavigatorT_H
|
|
Packit |
b099d7 |
#define _XmNavigatorT_H
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <Xm/Xm.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef __cplusplus
|
|
Packit |
b099d7 |
extern "C" {
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
externalref XrmQuark XmQTnavigator;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Trait structures and typedefs, place typedefs first */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* this structure is equivalent to an XPoint but in int,
|
|
Packit |
b099d7 |
not in Position, which are short */
|
|
Packit |
b099d7 |
typedef struct _TwoDInt {
|
|
Packit |
b099d7 |
int x;
|
|
Packit |
b099d7 |
int y;
|
|
Packit |
b099d7 |
} TwoDIntRec, *TwoDInt;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* this one can be expanded in the future */
|
|
Packit |
b099d7 |
typedef struct _XmNavigatorDataRec {
|
|
Packit |
b099d7 |
Mask valueMask ;
|
|
Packit |
b099d7 |
Mask dimMask ;
|
|
Packit |
b099d7 |
TwoDIntRec value;
|
|
Packit |
b099d7 |
TwoDIntRec minimum;
|
|
Packit |
b099d7 |
TwoDIntRec maximum;
|
|
Packit |
b099d7 |
TwoDIntRec slider_size;
|
|
Packit |
b099d7 |
TwoDIntRec increment;
|
|
Packit |
b099d7 |
TwoDIntRec page_increment;
|
|
Packit |
b099d7 |
} XmNavigatorDataRec, *XmNavigatorData;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NavAllValid (OxFFFF)
|
|
Packit |
b099d7 |
#define NavDimMask (1L<<0)
|
|
Packit |
b099d7 |
#define NavValue (1L<<1)
|
|
Packit |
b099d7 |
#define NavMinimum (1L<<2)
|
|
Packit |
b099d7 |
#define NavMaximum (1L<<3)
|
|
Packit |
b099d7 |
#define NavSliderSize (1L<<4)
|
|
Packit |
b099d7 |
#define NavIncrement (1L<<5)
|
|
Packit |
b099d7 |
#define NavPageIncrement (1L<<6)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef void (*XmNavigatorMoveCBProc)(Widget nav,
|
|
Packit |
b099d7 |
XtCallbackProc moveCB,
|
|
Packit |
b099d7 |
XtPointer closure,
|
|
Packit |
b099d7 |
Boolean setunset);
|
|
Packit |
b099d7 |
typedef void (*XmNavigatorSetValueProc)(Widget nav,
|
|
Packit |
b099d7 |
XmNavigatorData nav_data,
|
|
Packit |
b099d7 |
Boolean notify);
|
|
Packit |
b099d7 |
typedef void (*XmNavigatorGetValueProc)(Widget nav,
|
|
Packit |
b099d7 |
XmNavigatorData nav_data);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Version 0: initial release. */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
typedef struct _XmNavigatorTraitRec {
|
|
Packit |
b099d7 |
int version; /* 0 */
|
|
Packit |
b099d7 |
XmNavigatorMoveCBProc changeMoveCB;
|
|
Packit |
b099d7 |
XmNavigatorSetValueProc setValue;
|
|
Packit |
b099d7 |
XmNavigatorGetValueProc getValue;
|
|
Packit |
b099d7 |
} XmNavigatorTraitRec, *XmNavigatorTrait;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define NavigDimensionX (1L<<0)
|
|
Packit |
b099d7 |
#define NavigDimensionY (1L<<1)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* convenience Macros */
|
|
Packit |
b099d7 |
#define ACCESS_DIM(mask,field) ((mask & NavigDimensionX)?(field.x):(field.y))
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define ASSIGN_DIM(mask,field,val) \
|
|
Packit |
b099d7 |
{ \
|
|
Packit |
b099d7 |
if (mask & NavigDimensionX) \
|
|
Packit |
b099d7 |
(field.x)=(val); \
|
|
Packit |
b099d7 |
else \
|
|
Packit |
b099d7 |
(field.y)=(val); \
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#ifdef __cplusplus
|
|
Packit |
b099d7 |
} /* Close scope of 'extern "C"' declaration which encloses file. */
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#endif /* _XmNavigatorT_H */
|