1 /*------------------------------------------------------------\
7 | Authors : Jacomme Ludovic |
11 \------------------------------------------------------------*/
15 #include <Xm/PushBG.h>
29 #include "XMS_setup.h"
31 static FILE *FileConfig
;
33 /*------------------------------------------------------------\
34 | Set Panel New Values |
35 \------------------------------------------------------------*/
38 XyagSetPanelValues(Panel
, Values
)
45 Panel
->WIDTH
= Values
[2];
46 Panel
->HEIGHT
= Values
[3];
47 Panel
->MANAGED
= Values
[4];
49 XtVaSetValues(Panel
->PANEL
,
57 XyagEnterPanel(Panel
);
60 XtUnmanageChild(Panel
->PANEL
);
64 /*------------------------------------------------------------\
65 | Write TopLevel Values |
66 \------------------------------------------------------------*/
69 XyagWriteTopLevelValues()
73 XtVaGetValues(XyagTopLevel
,
77 XmNheight
, &Values
[3],
80 Values
[0] = Values
[0] - XYAG_TOPLEVEL_TRANSLATE_X
;
81 Values
[1] = Values
[1] - XYAG_TOPLEVEL_TRANSLATE_Y
;
84 fprintf(FileConfig
, "X: %d, Y: %d, WIDTH: %d, HEIGHT: %d, MANAGED: %d\n",
85 Values
[0], Values
[1], Values
[2], Values
[3], Values
[4]);
88 /*------------------------------------------------------------\
89 | Write Panel Values |
90 \------------------------------------------------------------*/
93 XyagWritePanelValues(Panel
)
98 if (Panel
->COMPUTE
== 0) {
99 XtVaGetValues(Panel
->PANEL
,
102 XmNwidth
, &Values
[2],
103 XmNheight
, &Values
[3],
106 Values
[0] = Values
[0] - XYAG_PANEL_TRANSLATE_X
;
107 Values
[1] = Values
[1] - XYAG_PANEL_TRANSLATE_Y
;
110 Values
[0] = Panel
->X
- XYAG_PANEL_TRANSLATE_X
;
111 Values
[1] = Panel
->Y
- XYAG_PANEL_TRANSLATE_Y
;
112 Values
[2] = Panel
->WIDTH
;
113 Values
[3] = Panel
->HEIGHT
;
116 Values
[4] = Panel
->MANAGED
;
118 fprintf(FileConfig
, "X: %d, Y: %d, WIDTH: %d, HEIGHT: %d, MANAGED: %d\n",
119 Values
[0], Values
[1], Values
[2], Values
[3], Values
[4]);
122 /*------------------------------------------------------------\
123 | Read Panel Values |
124 \------------------------------------------------------------*/
127 XyagReadPanelValues(Panel
)
128 XyagPanelItem
*Panel
;
132 fscanf(FileConfig
, "X: %d, Y: %d, WIDTH: %d, HEIGHT: %d, MANAGED: %d\n",
133 &Values
[0], &Values
[1], &Values
[2], &Values
[3], &Values
[4]);
135 XyagSetPanelValues(Panel
, Values
);
138 /*------------------------------------------------------------\
139 | Read Panel Values |
140 \------------------------------------------------------------*/
143 XyagReadTopLevelValues()
148 fscanf(FileConfig
, "X: %d, Y: %d, WIDTH: %d, HEIGHT: %d, MANAGED: %d\n",
149 &Values
[0], &Values
[1], &Values
[2], &Values
[3], &Values
[4]);
151 XtVaSetValues(XyagTopLevel
,
155 XmNheight
, Values
[3],
160 /*------------------------------------------------------------\
162 \------------------------------------------------------------*/
165 XyagReadActiveLayers()
170 for (Layer
= 0; Layer
< XYAG_MAX_LAYER
; Layer
++) {
171 fscanf(FileConfig
, "ACTIVE: %d\n", &Value
);
173 XYAG_ACTIVE_LAYER_TABLE
[Layer
] = Value
;
176 for (Layer
= 0; Layer
< XYAG_MAX_ACTIVE_NAME
; Layer
++) {
177 fscanf(FileConfig
, "ACTIVE: %d\n", &Value
);
179 XYAG_ACTIVE_NAME_TABLE
[Layer
] = Value
;
183 /*------------------------------------------------------------\
184 | WriteActiveLayers |
185 \------------------------------------------------------------*/
188 XyagWriteActiveLayers()
192 for (Layer
= 0; Layer
< XYAG_MAX_LAYER
; Layer
++) {
193 fprintf(FileConfig
, "ACTIVE: %d\n", XYAG_ACTIVE_LAYER_TABLE
[Layer
]);
196 for (Layer
= 0; Layer
< XYAG_MAX_ACTIVE_NAME
; Layer
++) {
197 fprintf(FileConfig
, "ACTIVE: %d\n", XYAG_ACTIVE_NAME_TABLE
[Layer
]);
201 /*------------------------------------------------------------\
202 | XyagDefaultTopLevelValues |
203 \------------------------------------------------------------*/
206 XyagDefaultTopLevelValues()
208 XtVaSetValues(XyagTopLevel
,
209 XmNheight
, XYAG_TOPLEVEL_HEIGHT
,
210 XmNwidth
, XYAG_TOPLEVEL_WIDTH
,
211 XmNx
, XYAG_TOPLEVEL_X
,
212 XmNy
, XYAG_TOPLEVEL_Y
,
217 /*------------------------------------------------------------\
218 | XyagDefaultConfig |
219 \------------------------------------------------------------*/
226 XyagDefaultTopLevelValues();
228 XyagSetPanelValues(&XyagViewLayerPanel
, XyagViewLayerDefaultValues
);
229 XyagSetPanelValues(&XyagEditIdentifyPanel
, XyagEditIdentifyDefaultValues
);
230 XyagSetPanelValues(&XyagViewMessagePanel
, XyagViewMessageDefaultValues
);
231 XyagSetPanelValues(&XyagSetupInformationsPanel
, XyagSetupInformationsDefaultValues
);
232 XyagSetPanelValues(&XyagHelpPresentPanel
, XyagHelpPresentDefaultValues
);
234 XyagSetPanelValues(&XyagEditBehPanel
, XyagEditBehDefaultValues
);
236 XYAG_ACTIVE_LAYER_TABLE
[XYAG_CGVBOX_LAYER
] = 1;
237 XYAG_ACTIVE_LAYER_TABLE
[XYAG_CGVCONIN_LAYER
] = 1;
238 XYAG_ACTIVE_LAYER_TABLE
[XYAG_CGVCONOUT_LAYER
] = 1;
239 XYAG_ACTIVE_LAYER_TABLE
[XYAG_CGVNET_LAYER
] = 1;
240 XYAG_ACTIVE_LAYER_TABLE
[XYAG_CONSTRUCTION_LAYER
] = 0;
242 for (Layer
= 0; Layer
< XYAG_MAX_ACTIVE_NAME
; Layer
++) {
243 XYAG_ACTIVE_NAME_TABLE
[Layer
] = 1;
246 XyagInitializeLayer();
249 /*------------------------------------------------------------\
250 | XyagLoadTopLevelConfig |
251 \------------------------------------------------------------*/
254 XyagLoadTopLevelConfig()
256 FileConfig
= fopen(XYAG_XMS_FILE_NAME
, "r");
258 if (FileConfig
== (FILE *) NULL
) {
259 XyagDefaultTopLevelValues();
262 if (!XyagReadTopLevelValues()) {
263 XyagDefaultTopLevelValues();
270 /*------------------------------------------------------------\
272 \------------------------------------------------------------*/
275 XyagLoadConfig(Message
)
278 FileConfig
= fopen(XYAG_XMS_FILE_NAME
, "r");
280 if (FileConfig
== (FILE *) NULL
) {
282 XyagErrorMessage(XyagMainWindow
, "Unable to open config file !");
289 if (XyagReadTopLevelValues()) {
290 XyagReadPanelValues(&XyagViewLayerPanel
);
291 XyagReadPanelValues(&XyagEditIdentifyPanel
);
292 XyagReadPanelValues(&XyagViewMessagePanel
);
293 XyagReadPanelValues(&XyagSetupInformationsPanel
);
294 XyagReadPanelValues(&XyagHelpPresentPanel
);
295 XyagReadPanelValues(&XyagEditBehPanel
);
296 XyagReadActiveLayers();
297 XyagInitializeLayer();
300 XyagErrorMessage(XyagMainWindow
, "Bad version, unable to open config file !");
307 /*------------------------------------------------------------\
309 \------------------------------------------------------------*/
314 FileConfig
= fopen(XYAG_XMS_FILE_NAME
, "w");
316 if (FileConfig
== (FILE *) NULL
) {
317 XyagErrorMessage(XyagMainWindow
, "Unable to open config file !");
320 XyagWriteTopLevelValues();
322 XyagWritePanelValues(&XyagViewLayerPanel
);
323 XyagWritePanelValues(&XyagEditIdentifyPanel
);
324 XyagWritePanelValues(&XyagViewMessagePanel
);
325 XyagWritePanelValues(&XyagSetupInformationsPanel
);
326 XyagWritePanelValues(&XyagHelpPresentPanel
);
327 XyagWritePanelValues(&XyagEditBehPanel
);
329 XyagWriteActiveLayers();