Mercurial > hg > xemacs-beta
diff lwlib/xlwgaugeP.h @ 398:74fd4e045ea6 r21-2-29
Import from CVS: tag r21-2-29
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:13:30 +0200 |
parents | |
children | de805c49cfc1 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lwlib/xlwgaugeP.h Mon Aug 13 11:13:30 2007 +0200 @@ -0,0 +1,103 @@ +/* Gauge Widget for XEmacs. + Copyright (C) 1999 Edward A. Falk + +This file is part of XEmacs. + +XEmacs is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +XEmacs is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with XEmacs; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* + * GaugeP.h - Gauge widget + * + * Author: Edward A. Falk + * falk@falconer.vip.best.com + * + * Date: July 9, 1997 + */ + +#ifndef _XawGaugeP_h +#define _XawGaugeP_h + +/*********************************************************************** + * + * Gauge Widget Private Data + * + * Gauge has little in common with the label widget, but can make use + * of some label resources, so is subclassed from label. + * + ***********************************************************************/ + +#include "xlwgauge.h" +#include ATHENA_INCLUDE(LabelP.h) + +/* New fields for the Gauge widget class record */ + +typedef struct {XtPointer extension;} GaugeClassPart; + +/* Full class record declaration */ +typedef struct _GaugeClassRec { + CoreClassPart core_class; + SimpleClassPart simple_class; +#ifdef _ThreeDP_h + ThreeDClassPart threeD_class; +#endif + LabelClassPart label_class; + GaugeClassPart gauge_class; +} GaugeClassRec; + +extern GaugeClassRec gaugeClassRec; + +/* New fields for the Gauge widget record */ +typedef struct { + /* resources */ + int value, v0,v1 ; + int ntics, nlabels ; + String *labels ; + XtOrientation orientation ; + Boolean autoScaleUp ; /* scales automatically */ + Boolean autoScaleDown ; /* scales automatically */ + int update ; /* update interval */ + XtCallbackList getValue ; /* proc to call to fetch a point */ + + /* private state */ + Dimension gmargin ; /* edges <-> gauge */ + Dimension tmargin ; /* top (left) edge <-> tic marks */ + Dimension lmargin ; /* tic marks <-> labels */ + Dimension margin0 ; /* left/bottom margin */ + Dimension margin1 ; /* right/top margin */ + XtIntervalId intervalId ; + Atom selected ; + String selstr ; /* selection string, if any */ + GC inverse_GC ; +} GaugePart; + + +/**************************************************************** + * + * Full instance record declaration + * + ****************************************************************/ + +typedef struct _GaugeRec { + CorePart core; + SimplePart simple; +#ifdef _ThreeDP_h + ThreeDPart threeD; +#endif + LabelPart label; + GaugePart gauge; +} GaugeRec; + +#endif /* _XawGaugeP_h */