1 /***********************************************************************/
2 /* Open Visualization Data Explorer                                    */
3 /* (C) Copyright IBM Corp. 1989,1999                                   */
4 /* ALL RIGHTS RESERVED                                                 */
5 /* This code licensed under the                                        */
6 /*    "IBM PUBLIC LICENSE - Open Visualization Data Explorer"          */
7 /***********************************************************************/
8 
9 #include <dxconfig.h>
10 
11 
12 
13 #ifndef _XmStepperP_h
14 #define _XmStepperP_h
15 
16 #if (XmVersion >= 1002)
17 #include <Xm/PrimitiveP.h>
18 #include <Xm/ManagerP.h>
19 #endif
20 
21 #include "NumberP.h"	/*  Define MultitypeData  */
22 
23 #if defined(__cplusplus) || defined(c_plusplus)
24 extern "C" {
25 #endif
26 
27 typedef struct _XmStepperClassPart {
28   Cardinal	 minimum_time_interval;
29   Cardinal	 initial_time_interval;
30   String	 font;
31   XtPointer	extension;
32 } XmStepperClassPart;
33 
34 typedef struct _XmStepperClassRec {
35     CoreClassPart	core_class;
36     CompositeClassPart	composite_class;	/* Needed to have children */
37     ConstraintClassPart constraint_class;	/* Needed by manager	   */
38     XmManagerClassPart  manager_class;		/* Needed to use gadgets   */
39     XmStepperClassPart	stepper_class;
40 } XmStepperClassRec;
41 
42 extern XmStepperClassRec XmstepperClassRec;
43 
44 typedef struct _XmStepperPart {
45   /* Variables settable by SetValue calls */
46   MultitypeData	 value;			/* Current value		*/
47   MultitypeData	 value_minimum;		/* Minimum value		*/
48   MultitypeData	 value_maximum;		/* Maximum value		*/
49   MultitypeData	 value_step;		/* Value change per step	*/
50   Boolean        value_changed;         /* Value changed since last callback */
51   Cardinal	 num_digits;		/* Size of Presentation		*/
52   int		 decimal_places;	/* Digits after point		*/
53   Cardinal	 time_interval;		/* Basic stepping rate		*/
54   Cardinal	 time_ddelta;		/* %rate increase/repeat	*/
55   XtCallbackList activate_callback;	/* Callback list (completed)	*/
56   XtCallbackList step_callback;		/* Callback list (increment)	*/
57   XtCallbackList warning_callback;	/* Callback list (warning)	*/
58   unsigned char	 increase_direction;	/* Orientation of arrows	*/
59   Boolean	 center_text;		/* Center Number Widget text	*/
60   Boolean	 editable;		/* Allow typed entry of value   */
61   Boolean	 roll_over;		/* Range folds on self		*/
62   Boolean	 resize_to_number;	/* OK to resize if number grows */
63   unsigned char  alignment;
64   /* Variables for internal use only */
65   int		 repeat_count;
66   unsigned long  interval;
67   XtCallbackProc timeout_proc;
68   XtIntervalId	 timer;
69   Widget	 active_widget;		/* Which arrow owns down button */
70   Boolean	 allow_input;		/* Don't step when editor busy  */
71   int		 inc_x;			/* To set rate by location	*/
72   int		 dec_x;
73   int		 arrow_width;
74   Widget	 child[3];
75   short          data_type;
76   Pixel		 insens_foreground;
77   Boolean	 is_fixed;
78 } XmStepperPart;
79 
80 typedef struct _XmStepperRec {
81     CorePart		core;
82     CompositePart	composite;
83     ConstraintPart	constraint;
84     XmManagerPart	manager;
85     XmStepperPart	stepper;
86 } XmStepperRec;
87 
88 #if defined(__cplusplus) || defined(c_plusplus)
89  }
90 #endif
91 
92 #endif
93