22 #include <QDialogButtonBox> |
22 #include <QDialogButtonBox> |
23 #include <QSpinBox> |
23 #include <QSpinBox> |
24 #include <QCheckBox> |
24 #include <QCheckBox> |
25 #include <QComboBox> |
25 #include <QComboBox> |
26 #include <QGridLayout> |
26 #include <QGridLayout> |
27 |
|
28 #include "common.h" |
27 #include "common.h" |
29 #include "config.h" |
28 #include "config.h" |
30 #include "misc.h" |
29 #include "misc.h" |
31 #include "extprogs.h" |
|
32 #include "gui.h" |
30 #include "gui.h" |
33 #include "file.h" |
31 #include "file.h" |
34 #include "widgets.h" |
32 #include "widgets.h" |
35 #include "history.h" |
33 #include "history.h" |
36 #include "labeledwidget.h" |
34 #include "labeledwidget.h" |
37 |
|
38 #include "ui_ytruder.h" |
35 #include "ui_ytruder.h" |
39 #include "ui_intersector.h" |
36 #include "ui_intersector.h" |
40 #include "ui_rectifier.h" |
37 #include "ui_rectifier.h" |
41 #include "ui_coverer.h" |
38 #include "ui_coverer.h" |
42 #include "ui_isecalc.h" |
39 #include "ui_isecalc.h" |
43 #include "ui_edger2.h" |
40 #include "ui_edger2.h" |
|
41 |
|
42 enum extprog { |
|
43 Isecalc, |
|
44 Intersector, |
|
45 Coverer, |
|
46 Ytruder, |
|
47 Rectifier, |
|
48 Edger2, |
|
49 }; |
44 |
50 |
45 // ============================================================================= |
51 // ============================================================================= |
46 cfg (str, prog_isecalc, ""); |
52 cfg (str, prog_isecalc, ""); |
47 cfg (str, prog_intersector, ""); |
53 cfg (str, prog_intersector, ""); |
48 cfg (str, prog_coverer, ""); |
54 cfg (str, prog_coverer, ""); |
266 |
272 |
267 // ============================================================================= |
273 // ============================================================================= |
268 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
274 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
269 // ============================================================================= |
275 // ============================================================================= |
270 // Interface for Ytruder |
276 // Interface for Ytruder |
271 void runYtruder() { |
277 DEFINE_ACTION (Ytruder, 0) { |
272 setlocale (LC_ALL, "C"); |
278 setlocale (LC_ALL, "C"); |
273 |
279 |
274 if (!checkProgPath (prog_ytruder, Ytruder)) |
280 if (!checkProgPath (prog_ytruder, Ytruder)) |
275 return; |
281 return; |
276 |
282 |
322 |
328 |
323 // ============================================================================= |
329 // ============================================================================= |
324 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
330 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
325 // ============================================================================= |
331 // ============================================================================= |
326 // Rectifier interface |
332 // Rectifier interface |
327 void runRectifier() { |
333 DEFINE_ACTION (Rectifier, 0){ |
328 setlocale (LC_ALL, "C"); |
334 setlocale (LC_ALL, "C"); |
329 |
335 |
330 if (!checkProgPath (prog_rectifier, Rectifier)) |
336 if (!checkProgPath (prog_rectifier, Rectifier)) |
331 return; |
337 return; |
332 |
338 |
372 |
378 |
373 // ============================================================================= |
379 // ============================================================================= |
374 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
380 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
375 // ============================================================================= |
381 // ============================================================================= |
376 // Intersector interface |
382 // Intersector interface |
377 void runIntersector() { |
383 DEFINE_ACTION (Intersector, 0) { |
378 setlocale (LC_ALL, "C"); |
384 setlocale (LC_ALL, "C"); |
379 |
385 |
380 if (!checkProgPath (prog_intersector, Intersector)) |
386 if (!checkProgPath (prog_intersector, Intersector)) |
381 return; |
387 return; |
382 |
388 |
463 } |
469 } |
464 |
470 |
465 // ============================================================================= |
471 // ============================================================================= |
466 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
472 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
467 // ============================================================================= |
473 // ============================================================================= |
468 void runCoverer() { |
474 DEFINE_ACTION (Coverer, 0) { |
469 setlocale (LC_ALL, "C"); |
475 setlocale (LC_ALL, "C"); |
470 |
476 |
471 if (!checkProgPath (prog_coverer, Coverer)) |
477 if (!checkProgPath (prog_coverer, Coverer)) |
472 return; |
478 return; |
473 |
479 |
519 } |
525 } |
520 |
526 |
521 // ============================================================================= |
527 // ============================================================================= |
522 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
528 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
523 // ============================================================================= |
529 // ============================================================================= |
524 void runIsecalc() { |
530 DEFINE_ACTION (Isecalc, 0) { |
525 setlocale (LC_ALL, "C"); |
531 setlocale (LC_ALL, "C"); |
526 |
532 |
527 if (!checkProgPath (prog_isecalc, Isecalc)) |
533 if (!checkProgPath (prog_isecalc, Isecalc)) |
528 return; |
534 return; |
529 |
535 |