src/extprogs.cpp

changeset 301
ef51681bb978
parent 300
0c7e00cc3d44
child 302
08bd2c185b25
equal deleted inserted replaced
300:0c7e00cc3d44 301:ef51681bb978
32 #include "gui.h" 32 #include "gui.h"
33 #include "file.h" 33 #include "file.h"
34 #include "widgets.h" 34 #include "widgets.h"
35 #include "history.h" 35 #include "history.h"
36 #include "labeledwidget.h" 36 #include "labeledwidget.h"
37 #include "ui_edger2.h"
37 38
38 // ============================================================================= 39 // =============================================================================
39 cfg (str, prog_isecalc, ""); 40 cfg (str, prog_isecalc, "");
40 cfg (str, prog_intersector, ""); 41 cfg (str, prog_intersector, "");
41 cfg (str, prog_coverer, ""); 42 cfg (str, prog_coverer, "");
42 cfg (str, prog_ytruder, ""); 43 cfg (str, prog_ytruder, "");
43 cfg (str, prog_rectifier, ""); 44 cfg (str, prog_rectifier, "");
45 cfg (str, prog_edger2, "");
44 46
45 #ifndef _WIN32 47 #ifndef _WIN32
46 cfg (bool, prog_isecalc_wine, false); 48 cfg (bool, prog_isecalc_wine, false);
47 cfg (bool, prog_intersector_wine, false); 49 cfg (bool, prog_intersector_wine, false);
48 cfg (bool, prog_coverer_wine, false); 50 cfg (bool, prog_coverer_wine, false);
49 cfg (bool, prog_ytruder_wine, false); 51 cfg (bool, prog_ytruder_wine, false);
50 cfg (bool, prog_rectifier_wine, false); 52 cfg (bool, prog_rectifier_wine, false);
53 cfg (bool, prog_edger2_wine, false);
51 54
52 boolconfig* const g_extProgWine[] = { 55 boolconfig* const g_extProgWine[] = {
53 &prog_isecalc_wine, 56 &prog_isecalc_wine,
54 &prog_intersector_wine, 57 &prog_intersector_wine,
55 &prog_coverer_wine, 58 &prog_coverer_wine,
56 &prog_ytruder_wine, 59 &prog_ytruder_wine,
57 &prog_rectifier_wine, 60 &prog_rectifier_wine,
61 &prog_edger2_wine,
58 }; 62 };
59 #endif // _WIN32 63 #endif // _WIN32
60 64
61 const char* g_extProgNames[] = { 65 const char* g_extProgNames[] = {
62 "Isecalc", 66 "Isecalc",
63 "Intersector", 67 "Intersector",
64 "Coverer", 68 "Coverer",
65 "Ytruder", 69 "Ytruder",
66 "Rectifier", 70 "Rectifier",
71 "Edger2"
67 }; 72 };
68 73
69 // ============================================================================= 74 // =============================================================================
70 static bool checkProgPath (str path, const extprog prog) { 75 static bool checkProgPath (str path, const extprog prog) {
71 if (path.length () > 0) 76 if (path.length () > 0)
250 255
251 g_win->fullRefresh (); 256 g_win->fullRefresh ();
252 } 257 }
253 258
254 // ============================================================================= 259 // =============================================================================
260 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
261 // =============================================================================
255 // Interface for Ytruder 262 // Interface for Ytruder
256 void runYtruder () { 263 void runYtruder () {
257 setlocale (LC_ALL, "C"); 264 setlocale (LC_ALL, "C");
258 265
259 if (!checkProgPath (prog_ytruder, Ytruder)) 266 if (!checkProgPath (prog_ytruder, Ytruder))
311 writeSelection (inDATName); 318 writeSelection (inDATName);
312 runUtilityProcess (Ytruder, prog_ytruder, argv); 319 runUtilityProcess (Ytruder, prog_ytruder, argv);
313 insertOutput (outDATName, false, {}); 320 insertOutput (outDATName, false, {});
314 } 321 }
315 322
316 // ======================================================================================================================================== 323 // =============================================================================
324 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
325 // =============================================================================
317 // Rectifier interface 326 // Rectifier interface
318 void runRectifier () { 327 void runRectifier () {
319 setlocale (LC_ALL, "C"); 328 setlocale (LC_ALL, "C");
320 329
321 if (!checkProgPath (prog_rectifier, Rectifier)) 330 if (!checkProgPath (prog_rectifier, Rectifier))
380 LabeledWidget<QComboBox>* widget = new LabeledWidget<QComboBox> (label, new QComboBox); 389 LabeledWidget<QComboBox>* widget = new LabeledWidget<QComboBox> (label, new QComboBox);
381 makeColorSelector (widget->w ()); 390 makeColorSelector (widget->w ());
382 return widget; 391 return widget;
383 } 392 }
384 393
385 // ======================================================================================================================================= 394 // =============================================================================
386 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 395 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
387 // ======================================================================================================================================= 396 // =============================================================================
388 // Intersector interface 397 // Intersector interface
389 void runIntersector () { 398 void runIntersector () {
390 setlocale (LC_ALL, "C"); 399 setlocale (LC_ALL, "C");
391 400
392 if (!checkProgPath (prog_intersector, Intersector)) 401 if (!checkProgPath (prog_intersector, Intersector))
492 runUtilityProcess (Isecalc, prog_isecalc, join ({inDATName, cutDATName, edgesDATName})); 501 runUtilityProcess (Isecalc, prog_isecalc, join ({inDATName, cutDATName, edgesDATName}));
493 insertOutput (edgesDATName, false, {}); 502 insertOutput (edgesDATName, false, {});
494 } 503 }
495 } 504 }
496 505
497 // ======================================================================================================================================= 506 // =============================================================================
498 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 507 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
499 // ======================================================================================================================================= 508 // =============================================================================
500 void runCoverer () { 509 void runCoverer () {
501 setlocale (LC_ALL, "C"); 510 setlocale (LC_ALL, "C");
502 511
503 if (!checkProgPath (prog_coverer, Coverer)) 512 if (!checkProgPath (prog_coverer, Coverer))
504 return; 513 return;
566 writeColorGroup (in2Col, in2DATName); 575 writeColorGroup (in2Col, in2DATName);
567 runUtilityProcess (Coverer, prog_coverer, argv); 576 runUtilityProcess (Coverer, prog_coverer, argv);
568 insertOutput (outDATName, false, {}); 577 insertOutput (outDATName, false, {});
569 } 578 }
570 579
580 // =============================================================================
581 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
582 // =============================================================================
571 void runIsecalc () { 583 void runIsecalc () {
572 setlocale (LC_ALL, "C"); 584 setlocale (LC_ALL, "C");
573 585
574 if (!checkProgPath (prog_isecalc, Isecalc)) 586 if (!checkProgPath (prog_isecalc, Isecalc))
575 return; 587 return;
611 writeColorGroup (in1Col, in1DATName); 623 writeColorGroup (in1Col, in1DATName);
612 writeColorGroup (in2Col, in2DATName); 624 writeColorGroup (in2Col, in2DATName);
613 runUtilityProcess (Isecalc, prog_isecalc, argv); 625 runUtilityProcess (Isecalc, prog_isecalc, argv);
614 insertOutput (outDATName, false, {}); 626 insertOutput (outDATName, false, {});
615 } 627 }
628
629 // =============================================================================
630 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
631 // =============================================================================
632 MAKE_ACTION( edger2, "Edger 2", "edger2", "Compute edgelines", 0 ) {
633 QDialog* form = new QDialog;
634 Ui::Edger2Dialog ui;
635 ui.setupUi( form );
636
637 exec:
638 if( !form->exec() )
639 return;
640
641
642 }

mercurial