annotate lwlib/xlwgaugeP.h @ 5797:a1808d52a34a

If the position of a window's cached point is deleted, use buffer point instead src/ChangeLog addition: 2014-06-17 Aidan Kehoe <kehoea@parhasard.net> * extents.h: * window.c: * window.c (unshow_buffer): * window.c (Fset_window_buffer): Use extents, rather than markers, for the window buffer point cache, so that when the text containing that window buffer point is deleted, the window display code uses the buffer's actual point instead of the position that the marker had been moved to. Fixes Michael Heinrich's problem of http://mid.gmane.org/6zr42uxtf5.fsf@elektra.science-computing.de , introduced by Ben's patch of https://bitbucket.org/xemacs/xemacs/commits/047d37eb70d70f43803 .
author Aidan Kehoe <kehoea@parhasard.net>
date Tue, 17 Jun 2014 20:55:45 +0100
parents 308d34e9f07d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
1 /* Gauge Widget for XEmacs.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
2 Copyright (C) 1999 Edward A. Falk
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
3
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
4 This file is part of XEmacs.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
5
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
6 XEmacs is free software: you can redistribute it and/or modify it
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
7 under the terms of the GNU General Public License as published by the
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
8 Free Software Foundation, either version 3 of the License, or (at your
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
9 option) any later version.
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
10
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
14 for more details.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
15
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 442
diff changeset
17 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
18
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
19 /*
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
20 * GaugeP.h - Gauge widget
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
21 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
22 * Author: Edward A. Falk
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
23 * falk@falconer.vip.best.com
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
24 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
25 * Date: July 9, 1997
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
26 */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
27
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
28 #ifndef _XawGaugeP_h
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
29 #define _XawGaugeP_h
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
30
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
31 /***********************************************************************
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
32 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
33 * Gauge Widget Private Data
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
34 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
35 * Gauge has little in common with the label widget, but can make use
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
36 * of some label resources, so is subclassed from label.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
37 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
38 ***********************************************************************/
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
39
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
40 #include "xlwgauge.h"
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 434
diff changeset
41 #include ATHENA_LabelP_h_
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
42
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
43 /* New fields for the Gauge widget class record */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
44
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
45 typedef struct {XtPointer extension;} GaugeClassPart;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
46
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
47 /* Full class record declaration */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
48 typedef struct _GaugeClassRec {
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
49 CoreClassPart core_class;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
50 SimpleClassPart simple_class;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
51 #ifdef _ThreeDP_h
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
52 ThreeDClassPart threeD_class;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
53 #endif
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
54 LabelClassPart label_class;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
55 GaugeClassPart gauge_class;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
56 } GaugeClassRec;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
57
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
58 extern GaugeClassRec gaugeClassRec;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
59
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
60 /* New fields for the Gauge widget record */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
61 typedef struct {
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
62 /* resources */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
63 int value, v0,v1 ;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
64 int ntics, nlabels ;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
65 String *labels ;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
66 XtOrientation orientation ;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
67 Boolean autoScaleUp ; /* scales automatically */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
68 Boolean autoScaleDown ; /* scales automatically */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
69 int update ; /* update interval */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
70 XtCallbackList getValue ; /* proc to call to fetch a point */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
71
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
72 /* private state */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
73 Dimension gmargin ; /* edges <-> gauge */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
74 Dimension tmargin ; /* top (left) edge <-> tic marks */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
75 Dimension lmargin ; /* tic marks <-> labels */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
76 Dimension margin0 ; /* left/bottom margin */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
77 Dimension margin1 ; /* right/top margin */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
78 XtIntervalId intervalId ;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
79 Atom selected ;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
80 String selstr ; /* selection string, if any */
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
81 GC inverse_GC ;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
82 } GaugePart;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
83
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
84
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
85 /****************************************************************
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
86 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
87 * Full instance record declaration
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
88 *
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
89 ****************************************************************/
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
90
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
91 typedef struct _GaugeRec {
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
92 CorePart core;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
93 SimplePart simple;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
94 #ifdef _ThreeDP_h
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
95 ThreeDPart threeD;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
96 #endif
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
97 LabelPart label;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
98 GaugePart gauge;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
99 } GaugeRec;
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
100
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents:
diff changeset
101 #endif /* _XawGaugeP_h */