1 /*
2  * $Id: x11menu.h,v 1.7 2003/02/16 12:43:37 isizaka Exp isizaka $
3  *
4  * This file is part of "Ngraph for X11".
5  *
6  * Copyright (C) 2002, Satoshi ISHIZAKA. isizaka@msa.biglobe.ne.jp
7  *
8  * "Ngraph for X11" is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * "Ngraph for X11" is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21  *
22  */
23 
24 /**
25  *
26  * $Log: x11menu.h,v $
27  * Revision 1.7  2003/02/16 12:43:37  isizaka
28  * for release 6.13.18
29  *
30  * Revision 1.6  2002/07/06 08:57:25  isizaka
31  * change to GPL.
32  *
33  * Revision 1.5  2001/03/23 12:17:43  isizaka
34  * for 6.3.13
35  *
36  * Revision 1.4  1999/04/15 12:14:26  isizaka
37  * for release 6.03.01
38  *
39  * Revision 1.3  1999/04/11 06:09:20  isizaka
40  * *** empty log message ***
41  *
42  * Revision 1.2  1999/03/20 12:32:54  isizaka
43  * minor change
44  *
45  * Revision 1.1  1999/03/17 13:29:01  isizaka
46  * Initial revision
47  *
48  *
49  **/
50 
51 extern Widget TopLevel,MainWin;
52 extern Display *Disp;
53 extern XtAppContext Application;
54 extern unsigned int black,white,gray,red,cyan,blue;
55 extern Atom NgraphClose;
56 extern struct narray childlist;
57 extern int FAscent,FDescent,FHeight,FWidth;
58 extern XFontSet FFont;
59 
60 #define XC_centering XC_target
61 #define XC_zoomin XC_dotbox
62 #define XC_zoomout XC_dot
63 
64 struct Viewer {
65   Widget Win;
66   Window win;
67   Widget VScroll,HScroll,popup;
68   int ShowFrame,ShowLine,ShowRect,ShowCross;
69   int Mode,Capture,MoveData,MouseMode;
70   struct narray *focusobj,*points;
71   int FrameOfsX,FrameOfsY;
72   int MouseX1,MouseY1,MouseX2,MouseY2,MouseDX,MouseDY;
73   int RefX1,RefY1,RefX2,RefY2,ChangePoint;
74   int LineX,LineY,CrossX,CrossY;
75   int allclear;
76   int cx,cy,width,height;
77   int ignoreredraw;
78   int vscroll,hscroll;
79 };
80 
81 struct FileWin {
82   Widget Win;
83   Widget text,popup;
84   int select;
85   int filenum;
86   struct objlist *obj;
87 };
88 
89 struct AxisWin {
90   Widget Win;
91   Widget text,popup;
92   int select;
93   int axisnum;
94   struct objlist *obj;
95 };
96 
97 #define LEGENDNUM 7
98 
99 struct LegendWin {
100   Widget Win;
101   Widget text,popup;
102   int select;
103   int legend[LEGENDNUM];
104   struct objlist *obj[LEGENDNUM];
105 };
106 
107 struct MergeWin {
108   Widget Win;
109   Widget text,popup;
110   int select;
111   int filenum;
112   struct objlist *obj;
113 };
114 
115 struct InfoWin {
116   Widget Win;
117   Widget text;
118   char *str;
119 };
120 
121 struct CoordWin {
122   Widget Win;
123   Widget text;
124   char *str;
125 };
126 
127 struct NgraphApp {
128   int Interrupt;
129   int Changed;
130   char *FileName;
131   Widget Message,Message1,Message2,Message3;
132   Widget ghistory[10],fhistory[10];
133   Widget viewb[19];
134   Widget interrupt;
135   Pixmap com1pix[17];
136   Pixmap com2pix[19][2];
137   Pixmap markpix[90];
138   Pixmap iconpix;
139   Cursor cursor[11];
140   struct Viewer Viewer;
141   struct FileWin FileWin;
142   struct AxisWin AxisWin;
143   struct LegendWin LegendWin;
144   struct MergeWin MergeWin;
145   struct CoordWin CoordWin;
146   struct InfoWin InfoWin;
147 };
148 
149 extern struct NgraphApp NgraphApp;
150 
151 void application(char *file);
152 
153 void AxisWinUpdate(int clear);
154 void UpdateAll();
155 void UpdateAll2();
156 void ChangePage();
157 void SetCaption(char *file);
158 void SetCursor(unsigned int type);
159 void SetPoint(int x,int y);
160 void SetZoom(double zm);
161 void ResetZoom();
162 void ResetEvent();
163 void WaitForMap();
164 void GetWMFrame();
165 void SetStatusBar(char *mes);
166 void SetStatusBarXm(XmString s);
167 void ResetStatusBar();
168 int PutStderr(char *s);
169 void DisplayStatus(char *str);
170 void DisplayDialog(char *str);
171 int ChkInterrupt();
172 int InputYN(char *mes);
173