313 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
313 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
314 // ============================================================================= |
314 // ============================================================================= |
315 extern_cfg (str, prog_ytruder); |
315 extern_cfg (str, prog_ytruder); |
316 extern_cfg (str, prog_rectifier); |
316 extern_cfg (str, prog_rectifier); |
317 extern_cfg (str, prog_intersector); |
317 extern_cfg (str, prog_intersector); |
|
318 extern_cfg (str, prog_coverer); |
318 extern_cfg (str, prog_isecalc); |
319 extern_cfg (str, prog_isecalc); |
319 static const struct extProgInfo { |
320 static const struct extProgInfo { |
320 const char* const name, *iconname; |
321 const char* const name, *iconname; |
321 strconfig* const path; |
322 strconfig* const path; |
322 mutable QLineEdit* input; |
323 mutable QLineEdit* input; |
324 } g_extProgInfo[] = { |
325 } g_extProgInfo[] = { |
325 { "Ytruder", "ytruder", &prog_ytruder, null, null }, |
326 { "Ytruder", "ytruder", &prog_ytruder, null, null }, |
326 { "Rectifier", "rectifier", &prog_rectifier, null, null }, |
327 { "Rectifier", "rectifier", &prog_rectifier, null, null }, |
327 { "Intersector", "intersector", &prog_intersector, null, null }, |
328 { "Intersector", "intersector", &prog_intersector, null, null }, |
328 { "Isecalc", "isecalc", &prog_isecalc, null, null }, |
329 { "Isecalc", "isecalc", &prog_isecalc, null, null }, |
|
330 { "Coverer", "coverer", &prog_coverer, null, null }, |
329 }; |
331 }; |
330 |
332 |
331 void ConfigDialog::initExtProgTab () { |
333 void ConfigDialog::initExtProgTab () { |
332 QWidget* tab = new QWidget; |
334 QWidget* tab = new QWidget; |
333 QGridLayout* pathsLayout = new QGridLayout; |
335 QGridLayout* pathsLayout = new QGridLayout; |