Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / programs / dtprintinfo / libUI / MotifUI / ScaleObj.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $XConsortium: ScaleObj.h /main/3 1995/11/06 09:44:42 rswiston $ */
24 /*                                                                      *
25  * (c) Copyright 1993, 1994 Hewlett-Packard Company                     *
26  * (c) Copyright 1993, 1994 International Business Machines Corp.       *
27  * (c) Copyright 1993, 1994 Sun Microsystems, Inc.                      *
28  * (c) Copyright 1993, 1994 Novell, Inc.                                *
29  */
30
31 #ifndef SCALEOBJ_H
32 #define SCALEOBJ_H
33
34 #include "MotifUI.h"
35
36 class ScaleObj : public MotifUI {
37
38  private:
39
40    ScaleType _style;
41    int _value;
42    int _numDecimalPoints;
43    int _max;
44    int _min;
45    int _scaleMultiple;
46    boolean _showValue;
47    Widget _scale;
48    Widget _minLabel;
49    Widget _maxLabel;
50
51    void SetString(Widget w, int value);
52    void CheckValues(boolean);
53    void CreateScale(MotifUI *, char *, int, int, int, int, int, ScaleType,
54                     boolean);
55
56    boolean SetName(char *name);
57
58  public:
59
60    ScaleObj(MotifUI * parent,
61             char *title,
62             int value, 
63             int numDecimalPoints = 0, 
64             int max = 100, 
65             int min = 1, 
66             int scaleMultiple = 5, 
67             ScaleType style = VERTICAL_SCALE,
68             boolean showValue = false);
69    ScaleObj(char *category,
70             MotifUI * parent,
71             char *title,
72             int value, 
73             int numDecimalPoints = 0, 
74             int max = 100, 
75             int min = 1, 
76             int scaleMultiple = 5, 
77             ScaleType style = VERTICAL_SCALE,
78             boolean showValue = false);
79
80    void Style(ScaleType);
81    void Value(int);
82    void NumDecimalPoints(int);
83    void Maximum(int);
84    void Minumum(int);
85    void Multiple(int);
86    void ShowValue(boolean);
87
88    ScaleType Style()       { return _style; }
89    int Value();
90    int NumDecimalPoints()  { return _numDecimalPoints; }
91    int Maximum()           { return _max; }
92    int Minumum()           { return _min; }
93    int Multiple()          { return _scaleMultiple; }
94    boolean ShowValue()     { return _showValue; }
95
96    const Widget InnerWidget()         { return _scale; }
97    const UI_Class UIClass()           { return SCALE; }
98    const int UISubClass()             { return _style; }
99    const char *const UIClassName()    { return "Scale"; }
100
101 };
102
103 #endif /* SCALEOBJ_H */