diff --git a/trimsp/src/TrimSPGUI/TrimSP b/trimsp/src/TrimSPGUI/TrimSP index 01f5b36..046ce01 100755 --- a/trimsp/src/TrimSPGUI/TrimSP +++ b/trimsp/src/TrimSPGUI/TrimSP @@ -2,6 +2,6 @@ # Copyright 2009 by Zaher Salman and the LEM Group. export TRIMBIN=/usr/local/bin/trimsp7l -export PERLLIB=$HOME/LEM/simulation/trimsp/TrimSPGUI -perl $HOME/LEM/simulation/trimsp/TrimSPGUI/TrimSPGUI.pl +export PERLLIB=$HOME/LEM/simulation/trimsp/src/TrimSPGUI +perl $PERLLIB/TrimSPGUI.pl diff --git a/trimsp/src/TrimSPGUI/TrimSPGUI.pl b/trimsp/src/TrimSPGUI/TrimSPGUI.pl index 0f3156c..b1a2585 100644 --- a/trimsp/src/TrimSPGUI/TrimSPGUI.pl +++ b/trimsp/src/TrimSPGUI/TrimSPGUI.pl @@ -1,6 +1,6 @@ # Form implementation generated from reading ui file 'TrimSPGUI.ui' # -# Created: Tue Jan 10 15:16:59 2012 +# Created: Tue Feb 5 15:22:18 2013 # by: The PerlQt User Interface Compiler (puic) # # WARNING! All changes made in this file will be lost! @@ -28,8 +28,11 @@ use Qt::slots OpenAboutWindow => [], OpenFile => [], SaveFile => [], - SaveFileAs => []; + SaveFileAs => [], + GUIPath => [], + TrimBin => []; use Qt::attributes qw( + Progress tabs LayersTab groupBox1 @@ -145,7 +148,13 @@ use Qt::attributes qw( SigAngleRadio AngleRadio ERadio - Progress + ConfigTab + textLabel1_2_2 + TrimGUIPath + GUIPathBrowse + textLabel1_2 + TRIMBIN + TrimBinBrowse MenuBar File Plot @@ -163,12 +172,10 @@ use Qt::attributes qw( editPasteAction plotProfilesAction helpContentsAction - helpIndexAction helpAboutAction plotFractionsAction fileStartAction - helpTmpAction - fileLoadAction + fileConfigureAction ); @@ -1171,6 +1178,93 @@ our $image14_data = "QtQta#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"]; +our $image15; +our $image15_data = pack 'C*', +0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x03, + 0xb3, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xa5, 0xd2, 0x4f, 0x4c, 0x14, + 0x57, 0x1c, 0x07, 0xf0, 0xef, 0x9b, 0xd9, 0xbf, 0x2c, 0xec, 0x0e, 0xb8, + 0x65, 0x41, 0xa4, 0x25, 0x36, 0x28, 0xfd, 0x13, 0x9d, 0xd4, 0x36, 0x2d, + 0x5a, 0xe3, 0x6e, 0x7a, 0x70, 0x21, 0x1e, 0x9a, 0xb4, 0x34, 0xc6, 0x78, + 0xe0, 0xe0, 0xb5, 0xc7, 0x46, 0x2f, 0xa6, 0x90, 0xf6, 0xb0, 0x3d, 0xb1, + 0x4d, 0x63, 0x22, 0x35, 0xe9, 0x12, 0x4d, 0x88, 0x1a, 0x2b, 0x29, 0x89, + 0x46, 0xea, 0x36, 0x6b, 0x0d, 0xb6, 0xa5, 0x87, 0x75, 0xaa, 0x54, 0x28, + 0xa4, 0x65, 0xad, 0x82, 0x55, 0x16, 0x3b, 0xcb, 0xe2, 0xce, 0xbe, 0x37, + 0x33, 0xef, 0xf5, 0xb0, 0x48, 0x81, 0x6e, 0xc2, 0xc6, 0x7e, 0x93, 0x5f, + 0x32, 0xc9, 0xfc, 0x7e, 0x9f, 0x99, 0xf7, 0x9b, 0x21, 0x58, 0x97, 0x2b, + 0x57, 0x7e, 0xbc, 0x19, 0x08, 0xf8, 0xd4, 0xba, 0xba, 0x00, 0x0c, 0x83, + 0x62, 0x71, 0xf1, 0x09, 0x0a, 0x05, 0x63, 0x80, 0x73, 0xd1, 0xdb, 0xd9, + 0xb9, 0x27, 0xb3, 0xbe, 0xbf, 0xe2, 0x0c, 0x0f, 0x5f, 0x4f, 0xa4, 0xd3, + 0x93, 0x62, 0x75, 0xb2, 0x59, 0x5d, 0x5c, 0xbd, 0x3a, 0x26, 0x86, 0x86, + 0xae, 0x75, 0x3f, 0x33, 0x0c, 0x00, 0xe7, 0xcf, 0x27, 0x13, 0x63, 0x63, + 0xe3, 0x6b, 0x70, 0xc6, 0x4c, 0x31, 0x32, 0xf2, 0x93, 0x38, 0x7b, 0xf6, + 0xdb, 0xf0, 0xff, 0xc2, 0xcf, 0x9c, 0xb9, 0x9c, 0x18, 0x1d, 0xd5, 0xd6, + 0xe0, 0xb9, 0xdc, 0x92, 0x38, 0x7d, 0xfa, 0xd2, 0x4c, 0x45, 0x40, 0x7f, + 0xff, 0xc5, 0xc4, 0xc9, 0x93, 0x5f, 0xab, 0xe5, 0xee, 0x9d, 0x3a, 0x35, + 0x34, 0xa4, 0x69, 0x53, 0x2b, 0x30, 0xe7, 0x5c, 0x24, 0x93, 0x63, 0xa2, + 0xbf, 0xff, 0x62, 0xd9, 0xfe, 0xd5, 0x91, 0x5c, 0x2e, 0x67, 0x37, 0x21, + 0x24, 0x15, 0x8f, 0x0f, 0xae, 0x69, 0x8e, 0xc7, 0x07, 0xd5, 0xaa, 0x2a, + 0x6f, 0x78, 0xeb, 0xd6, 0x26, 0x58, 0x96, 0x0d, 0xcb, 0xb2, 0x61, 0xdb, + 0x1c, 0xb5, 0xb5, 0x7e, 0x50, 0xca, 0xc2, 0x15, 0xc0, 0x0e, 0x44, 0xa3, + 0xed, 0x0a, 0x21, 0x24, 0x15, 0x8b, 0x0d, 0xa8, 0x00, 0x10, 0x8b, 0x0d, + 0xa8, 0x7e, 0xbf, 0x2f, 0xb5, 0x7f, 0xff, 0x5b, 0x8a, 0x2c, 0x4b, 0x60, + 0xcc, 0x04, 0xa5, 0x0c, 0x94, 0x32, 0x38, 0x1c, 0x32, 0x8a, 0x45, 0xa6, + 0x6c, 0x08, 0x17, 0x8b, 0x0c, 0x7e, 0xbf, 0x0f, 0x1d, 0x1d, 0xbb, 0x15, + 0x42, 0x48, 0xaa, 0xa7, 0xe7, 0xcb, 0xee, 0x12, 0xda, 0xae, 0x48, 0x92, + 0x04, 0x4a, 0x4d, 0x50, 0x6a, 0x82, 0x31, 0x0b, 0x8c, 0x59, 0x98, 0x9d, + 0x9d, 0x07, 0xa5, 0x2c, 0xb3, 0x21, 0x9c, 0xcd, 0xea, 0x7a, 0x09, 0xaf, + 0x46, 0x47, 0xc7, 0x6e, 0xa5, 0xb1, 0x31, 0x98, 0x88, 0x46, 0xdb, 0x15, + 0x59, 0x96, 0xc1, 0x98, 0xf9, 0x9f, 0x9a, 0x99, 0x99, 0x83, 0x61, 0xd0, + 0x0d, 0x61, 0x79, 0xc7, 0x8e, 0x7d, 0x6d, 0x5e, 0xaf, 0x5b, 0x0d, 0x06, + 0x15, 0x78, 0x3c, 0x6e, 0xb4, 0xb6, 0x36, 0x43, 0x92, 0x24, 0xd8, 0xb6, + 0xbd, 0xa6, 0x28, 0x35, 0x31, 0x3b, 0xfb, 0x08, 0xf5, 0xf5, 0xb5, 0x98, + 0x9e, 0xbe, 0xa7, 0x7e, 0x75, 0xf0, 0xae, 0xf7, 0xc3, 0xce, 0xfa, 0xc9, + 0x2f, 0x2e, 0xcf, 0x17, 0xcb, 0xbe, 0x31, 0x63, 0x66, 0x6f, 0x32, 0xf9, + 0xb3, 0x9e, 0xcd, 0xfe, 0xbd, 0x72, 0xec, 0x52, 0x59, 0x2b, 0x65, 0x18, + 0x0c, 0x99, 0xcc, 0x1c, 0xf2, 0xf9, 0x02, 0x84, 0x10, 0xf8, 0xe0, 0x95, + 0x71, 0xd5, 0x15, 0x72, 0xf6, 0x99, 0x16, 0x52, 0xb7, 0xfb, 0x5e, 0x5e, + 0xb3, 0x6f, 0x21, 0x84, 0x02, 0x00, 0x04, 0x00, 0x8e, 0x1c, 0xf9, 0x54, + 0xad, 0xaa, 0xf2, 0xa4, 0xf6, 0xee, 0x55, 0x95, 0x6d, 0xdb, 0x9e, 0x87, + 0xc3, 0xe1, 0x78, 0xda, 0x06, 0x00, 0x30, 0x0c, 0x0a, 0xd3, 0xb4, 0xe0, + 0x74, 0x3a, 0x40, 0x26, 0x4e, 0xc0, 0xcf, 0xbe, 0x83, 0xfb, 0xf1, 0x5f, + 0x70, 0xbe, 0xba, 0x05, 0x0f, 0xc6, 0xb9, 0xc6, 0x39, 0x22, 0xaf, 0x1f, + 0xbd, 0xa3, 0xaf, 0x7e, 0x00, 0x79, 0x7a, 0x71, 0xf8, 0xf0, 0x71, 0x55, + 0x08, 0xd1, 0x57, 0x57, 0x17, 0x08, 0x87, 0x42, 0x75, 0xa8, 0xae, 0xf6, + 0x22, 0x97, 0x5b, 0x02, 0x63, 0x16, 0x0e, 0x1c, 0x78, 0x1b, 0x81, 0x40, + 0x35, 0x8c, 0x74, 0x1c, 0xbe, 0xc2, 0x08, 0x6a, 0x0b, 0x0f, 0x11, 0x94, + 0x4d, 0xe4, 0xe0, 0x84, 0xd1, 0xd2, 0x84, 0x3f, 0x6f, 0x09, 0x8d, 0x73, + 0x44, 0xf6, 0x1c, 0xff, 0x17, 0x27, 0x58, 0x97, 0xae, 0xae, 0x63, 0x2d, + 0x00, 0x5a, 0x00, 0x84, 0x01, 0x5c, 0x03, 0xa0, 0x84, 0x42, 0x9b, 0x12, + 0x07, 0xd5, 0x8c, 0xa2, 0x98, 0x49, 0x34, 0xba, 0x16, 0xa0, 0xb8, 0x00, + 0x69, 0x79, 0x72, 0xd1, 0x22, 0xc8, 0x07, 0x82, 0x98, 0xd6, 0x88, 0xc6, + 0xb9, 0x88, 0xbc, 0xf3, 0xc9, 0x84, 0x5e, 0x16, 0x2e, 0x97, 0x0b, 0x1f, + 0xed, 0xea, 0x79, 0x61, 0x8b, 0xf1, 0x71, 0x5b, 0x93, 0x0e, 0x9f, 0x4b, + 0x06, 0x59, 0x37, 0x55, 0xa0, 0x36, 0x16, 0x44, 0x0d, 0xee, 0xdc, 0x94, + 0x34, 0xce, 0x11, 0xe9, 0x8c, 0x4d, 0xe8, 0x15, 0xc1, 0x97, 0x8e, 0xbe, + 0xa4, 0x70, 0x8e, 0xd4, 0xce, 0x5d, 0x5c, 0x6d, 0xde, 0x2c, 0x96, 0xcf, + 0xba, 0x3c, 0xca, 0x6c, 0x00, 0x02, 0xb6, 0xcd, 0xf1, 0x20, 0xeb, 0x44, + 0x3a, 0x2d, 0x6b, 0x9c, 0x23, 0x22, 0x57, 0x02, 0x0f, 0xde, 0xc8, 0x16, + 0xdf, 0x7f, 0xf3, 0xb9, 0x73, 0xf7, 0xef, 0x91, 0x68, 0x55, 0x8d, 0x68, + 0x50, 0x9a, 0x3d, 0x80, 0xd7, 0x05, 0x50, 0x0b, 0x28, 0x30, 0x60, 0x61, + 0x09, 0x52, 0xce, 0x80, 0x5f, 0x21, 0x90, 0xdc, 0xa4, 0x61, 0xee, 0xa1, + 0xdc, 0x26, 0x55, 0x02, 0x03, 0xc0, 0x7b, 0x7d, 0x13, 0xba, 0x69, 0x89, + 0xc8, 0x8d, 0x51, 0x49, 0xfb, 0xfd, 0x97, 0x22, 0x50, 0xed, 0x06, 0xf2, + 0x45, 0x60, 0x89, 0x02, 0xf3, 0x79, 0xc0, 0xe4, 0xc0, 0xdd, 0x05, 0xb4, + 0x36, 0x18, 0x70, 0x3a, 0xec, 0x77, 0x2b, 0x86, 0x01, 0xe0, 0xd0, 0x89, + 0x49, 0xdd, 0xb4, 0x10, 0xf9, 0xfe, 0xba, 0xa4, 0x4d, 0xa5, 0x1e, 0x03, + 0x36, 0x07, 0x7c, 0x2e, 0xa0, 0x68, 0x01, 0x05, 0x5a, 0xfa, 0x3b, 0x0d, + 0x06, 0x97, 0xcc, 0x51, 0xd1, 0x2a, 0x56, 0xe7, 0x9b, 0x74, 0xb6, 0xd8, + 0xb9, 0x33, 0x78, 0xee, 0x8f, 0x8c, 0x14, 0xad, 0x11, 0x46, 0x43, 0xd0, + 0x4d, 0x81, 0x37, 0x5a, 0x4a, 0x6b, 0x21, 0x00, 0x65, 0xc0, 0x0f, 0x53, + 0xbe, 0xca, 0x3e, 0x5e, 0xb9, 0xc4, 0x0f, 0x6d, 0x57, 0x38, 0x47, 0x6a, + 0xdf, 0x8b, 0x39, 0xf5, 0xb5, 0xcd, 0xf9, 0x12, 0x6a, 0x4b, 0x18, 0xfe, + 0x75, 0x13, 0xee, 0xe7, 0xdc, 0xbd, 0xcf, 0x0c, 0x03, 0xc0, 0x67, 0x5d, + 0xdb, 0x15, 0xce, 0x31, 0xe4, 0x77, 0x5b, 0xe1, 0x80, 0xc7, 0xc2, 0xa3, + 0x27, 0x2e, 0x9d, 0xd9, 0xd2, 0xe7, 0xc7, 0x2e, 0xfc, 0xd6, 0xf3, 0x0f, + 0x73, 0xdc, 0xfe, 0x36, 0x28, 0xf8, 0xc9, 0xbd, 0x00, 0x00, 0x00, 0x00, + 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; + sub NEW { @@ -1205,6 +1299,8 @@ sub NEW $image12->loadFromData($image12_data, length ($image12_data), "PNG"); $image13 = Qt::Pixmap(); $image13->loadFromData($image13_data, length ($image13_data), "PNG"); + $image15 = Qt::Pixmap(); + $image15->loadFromData($image15_data, length ($image15_data), "PNG"); $image14 = Qt::Pixmap($image14_data); @@ -1215,9 +1311,13 @@ sub NEW setIcon($image0 ); setCentralWidget(Qt::Widget(this, "qt_central_widget")); - my $TrimSPGUILayout = Qt::GridLayout(centralWidget(), 1, 1, 11, 6, '$TrimSPGUILayout'); + + Progress = Qt::ProgressBar(centralWidget(), "Progress"); + Progress->setGeometry( Qt::Rect(11, 543, 714, 25) ); + Progress->setFrameShape( &Qt::ProgressBar::WinPanel() ); tabs = Qt::TabWidget(centralWidget(), "tabs"); + tabs->setGeometry( Qt::Rect(11, 11, 714, 526) ); LayersTab = Qt::Widget(tabs, "LayersTab"); @@ -1684,12 +1784,44 @@ sub NEW ERadio->setChecked( 1 ); tabs->insertTab( ScansTab, "" ); - $TrimSPGUILayout->addWidget(tabs, 0, 0); + ConfigTab = Qt::Widget(tabs, "ConfigTab"); - Progress = Qt::ProgressBar(centralWidget(), "Progress"); - Progress->setFrameShape( &Qt::ProgressBar::WinPanel() ); + my $LayoutWidget_6 = Qt::Widget(ConfigTab, '$LayoutWidget_6'); + $LayoutWidget_6->setGeometry( Qt::Rect(10, 20, 680, 80) ); + my $layout27_2 = Qt::GridLayout($LayoutWidget_6, 1, 1, 11, 6, '$layout27_2'); - $TrimSPGUILayout->addWidget(Progress, 1, 0); + my $layout26_2 = Qt::HBoxLayout(undef, 0, 6, '$layout26_2'); + + textLabel1_2_2 = Qt::Label($LayoutWidget_6, "textLabel1_2_2"); + textLabel1_2_2->setSizePolicy( Qt::SizePolicy(0, 5, 0, 0, textLabel1_2_2->sizePolicy()->hasHeightForWidth()) ); + textLabel1_2_2->setMinimumSize( Qt::Size(110, 0) ); + textLabel1_2_2->setMaximumSize( Qt::Size(130, 32767) ); + $layout26_2->addWidget(textLabel1_2_2); + + TrimGUIPath = Qt::LineEdit($LayoutWidget_6, "TrimGUIPath"); + $layout26_2->addWidget(TrimGUIPath); + + GUIPathBrowse = Qt::PushButton($LayoutWidget_6, "GUIPathBrowse"); + $layout26_2->addWidget(GUIPathBrowse); + + $layout27_2->addLayout($layout26_2, 1, 0); + + my $layout25 = Qt::HBoxLayout(undef, 0, 6, '$layout25'); + + textLabel1_2 = Qt::Label($LayoutWidget_6, "textLabel1_2"); + textLabel1_2->setSizePolicy( Qt::SizePolicy(0, 5, 0, 0, textLabel1_2->sizePolicy()->hasHeightForWidth()) ); + textLabel1_2->setMinimumSize( Qt::Size(110, 0) ); + textLabel1_2->setMaximumSize( Qt::Size(130, 32767) ); + $layout25->addWidget(textLabel1_2); + + TRIMBIN = Qt::LineEdit($LayoutWidget_6, "TRIMBIN"); + $layout25->addWidget(TRIMBIN); + + TrimBinBrowse = Qt::PushButton($LayoutWidget_6, "TrimBinBrowse"); + $layout25->addWidget(TrimBinBrowse); + + $layout27_2->addLayout($layout25, 0, 0); + tabs->insertTab( ConfigTab, "" ); fileNewAction= Qt::Action(this, "fileNewAction"); fileNewAction->setIconSet( Qt::IconSet($image3) ); @@ -1717,7 +1849,6 @@ sub NEW plotProfilesAction->setIconSet( Qt::IconSet($image0) ); helpContentsAction= Qt::Action(this, "helpContentsAction"); helpContentsAction->setIconSet( Qt::IconSet($image13) ); - helpIndexAction= Qt::Action(this, "helpIndexAction"); helpAboutAction= Qt::Action(this, "helpAboutAction"); helpAboutAction->setIconSet( Qt::IconSet($image0) ); plotFractionsAction= Qt::Action(this, "plotFractionsAction"); @@ -1727,8 +1858,8 @@ sub NEW plotFractionsAction->setIconSet( Qt::IconSet($image14) ); fileStartAction= Qt::Action(this, "fileStartAction"); fileStartAction->setIconSet( Qt::IconSet($image1) ); - helpTmpAction= Qt::Action(this, "helpTmpAction"); - fileLoadAction= Qt::Action(this, "fileLoadAction"); + fileConfigureAction= Qt::Action(this, "fileConfigureAction"); + fileConfigureAction->setIconSet( Qt::IconSet($image15) ); @@ -1789,6 +1920,8 @@ sub NEW Qt::Object::connect(AngleRadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()"); Qt::Object::connect(SigAngleRadio, SIGNAL "toggled(bool)", this, SLOT "ToggleScanSingle()"); Qt::Object::connect(plotFractionsAction, SIGNAL "activated()", this, SLOT "PlotFraction()"); + Qt::Object::connect(GUIPathBrowse, SIGNAL "clicked()", this, SLOT "GUIPath()"); + Qt::Object::connect(TrimBinBrowse, SIGNAL "clicked()", this, SLOT "TrimBin()"); setTabOrder(tabs, NL); setTabOrder(NL, L1Comp); @@ -1980,6 +2113,13 @@ sub languageChange ERadio->setText( trUtf8("Energy") ); Qt::WhatsThis::add(ERadio, trUtf8("Scan implantation energy.")); tabs->changeTab( ScansTab, trUtf8("Scans (Disbaled)") ); + textLabel1_2_2->setText( trUtf8("TrimSP GUI path") ); + TrimGUIPath->setText( undef ); + GUIPathBrowse->setText( trUtf8("Browse") ); + textLabel1_2->setText( trUtf8("TrimSP binary") ); + TRIMBIN->setText( undef ); + TrimBinBrowse->setText( trUtf8("Browse") ); + tabs->changeTab( ConfigTab, trUtf8("Configuration") ); fileNewAction->setText( trUtf8("New") ); fileNewAction->setMenuText( trUtf8("&New") ); fileNewAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+N") ) ); @@ -2019,9 +2159,6 @@ sub languageChange helpContentsAction->setText( trUtf8("Contents") ); helpContentsAction->setMenuText( trUtf8("&Contents...") ); helpContentsAction->setAccel( Qt::KeySequence( undef ) ); - helpIndexAction->setText( trUtf8("Index") ); - helpIndexAction->setMenuText( trUtf8("&Index...") ); - helpIndexAction->setAccel( Qt::KeySequence( undef ) ); helpAboutAction->setText( trUtf8("About") ); helpAboutAction->setMenuText( trUtf8("&About") ); helpAboutAction->setAccel( Qt::KeySequence( undef ) ); @@ -2031,10 +2168,8 @@ sub languageChange fileStartAction->setText( trUtf8("&Start") ); fileStartAction->setMenuText( trUtf8("Start") ); fileStartAction->setAccel( Qt::KeySequence( trUtf8("Alt+S") ) ); - helpTmpAction->setText( trUtf8("Tmp") ); - helpTmpAction->setMenuText( trUtf8("Tmp") ); - fileLoadAction->setText( trUtf8("Load") ); - fileLoadAction->setMenuText( trUtf8("Load") ); + fileConfigureAction->setText( trUtf8("Configure") ); + fileConfigureAction->setMenuText( trUtf8("Configure") ); MenuBar->findItem( 1 )->setText( trUtf8("&File") ); MenuBar->findItem( 2 )->setText( trUtf8("&Plot") ); MenuBar->findItem( 3 )->setText( trUtf8("&Help") ); @@ -2146,7 +2281,6 @@ sub PrepLayers for (my $i=1;$i<=7;$i++) { my $LayerName = "BoxL".$i; my $LayerAttrib = child($LayerName); - print $LayerAttrib."\n"; if ($i<=$All{"NL"}) { $LayerAttrib->setDisabled(0); } else { @@ -2532,6 +2666,14 @@ sub StartSequenceOne my @SdzValues=(); my $cmd=""; + if (!$ENV{'TRIMBIN'}) { +# If trim.sp binary is not defined give warning and return + my $Warning = Qt::MessageBox::information( this, "Warning", + "Warning:\n TrimSP binary is not found.\n Define using environment variable, e.g.\n export TRIMBIN=/usr/local/bin/trimsp7l\n or use the Configuration tab."); + return(0); + + } + # Cleanup from old files if (-e "ausgabe1.inp") { system("rm -f ausgabe*"); @@ -2672,6 +2814,10 @@ sub DirectoryBrowse } # Change work directory accordingly chdir ("$FileBrowser"); + +# Return a string with the directory name + return $FileBrowser ; + } @@ -2972,6 +3118,45 @@ SStep=$All{'SStep'} } +sub GUIPath +{ + +# This subroutine is used to define diffirent variables + my $FileBrowser = Qt::FileDialog::getExistingDirectory("./",this,"get existing directory","Choose the directory where the TrimSP GUI is.",1); + +# If nothing is returned keep as is + if ($FileBrowser eq "") { + $FileBrowser="$ENV{'PERLLIB'}"; + } else { + TrimGUIPath->setText($FileBrowser); + $ENV{'PERLLIB'}=$FileBrowser; + } +# Return a string with the directory name + return $FileBrowser ; + + +} + +sub TrimBin +{ + + my $file=Qt::FileDialog::getOpenFileName( + "$ENV{'TRIMBIN'}", + "Trim.SP binary (.* *.* *)", + this, + "open file dialog", + "Select the Trim.SP binary file"); + +# If the user gave a valid filename try to read it + if ($file ne "") { + $ENV{'TRIMBIN'}=$file; + TRIMBIN->setText($file); + } + + return $file; + +} + 1; diff --git a/trimsp/src/TrimSPGUI/TrimSPGUI.ui b/trimsp/src/TrimSPGUI/TrimSPGUI.ui index e90256b..39a4161 100644 --- a/trimsp/src/TrimSPGUI/TrimSPGUI.ui +++ b/trimsp/src/TrimSPGUI/TrimSPGUI.ui @@ -18,1773 +18,1004 @@ image0 - + - unnamed + Progress - + + + 11 + 543 + 714 + 25 + + + + WinPanel + + + + + tabs + + + + 11 + 11 + 714 + 526 + + + - tabs + LayersTab - + + Layers + + - LayersTab + groupBox1 - + + + 5 + 0 + 445 + 485 + + + + GroupBoxPanel + + + Sunken + + Layers - - + + - groupBox1 + layout27 5 - 0 - 445 - 485 - - - - GroupBoxPanel - - - Sunken - - - Layers - - - - layout27 - - - - 5 - 20 - 435 - 460 - - - - - unnamed - - - 3 - - - - layout19 - - - - unnamed - - - - textLabel1_4 - - - Number of Layers - - - - - NL - - - 7 - - - 1 - - - Select the number of the layers of your structure (maximum 7 layers). - - - - - spacer2 - - - Horizontal - - - Expanding - - - - 251 - 20 - - - - - - - - layout26 - - - - unnamed - - - - textLabel2_4 - - - - 0 - 1 - 0 - 0 - - - - Composition - - - Chemical formula - - - - - spacer1 - - - Horizontal - - - Fixed - - - - 101 - 20 - - - - - - textLabel3 - - - - 1 - 5 - 0 - 0 - - - - Density [g/cm<sup>3</sup>] - - - - - textLabel4 - - - Thickness [Å] - - - - - - - BoxL1 - - - 0 - - - Layer 1 - - - - L1Comp - - - - 10 - 20 - 180 - 25 - - - - SrTiO3 - - - Chemical formula of L1 - - - Insert the chemical formula here as you would write it. - - - - - L1rho - - - - 200 - 20 - 111 - 25 - - - - 5.12 - - - Insert the density of the layer here. - - - - - L1d - - - - 320 - 20 - 85 - 25 - - - - - 0 - 0 - 0 - 0 - - - - 200 - - - Insert the thickness of the layer here. - - - - - - BoxL2 - - - false - - - Layer 2 - - - - L2Comp - - - - 10 - 20 - 180 - 25 - - - - - - L2rho - - - - 200 - 20 - 111 - 25 - - - - - - L2d - - - - 320 - 20 - 85 - 25 - - - - - 0 - 0 - 0 - 0 - - - - - - - BoxL3 - - - false - - - Layer 3 - - - - L3Comp - - - - 10 - 20 - 180 - 25 - - - - - - L3rho - - - - 200 - 20 - 111 - 25 - - - - - - L3d - - - - 320 - 20 - 85 - 25 - - - - - 0 - 0 - 0 - 0 - - - - - - - BoxL4 - - - false - - - Layer 4 - - - - L4Comp - - - - 10 - 20 - 180 - 25 - - - - - - L4rho - - - - 200 - 20 - 111 - 25 - - - - - - L4d - - - - 320 - 20 - 85 - 25 - - - - - 0 - 0 - 0 - 0 - - - - - - - BoxL5 - - - false - - - Layer 5 - - - - L5Comp - - - - 10 - 20 - 180 - 25 - - - - - - L5rho - - - - 200 - 20 - 111 - 25 - - - - - - L5d - - - - 320 - 20 - 85 - 25 - - - - - 0 - 0 - 0 - 0 - - - - - - - BoxL6 - - - false - - - Layer 6 - - - - L6Comp - - - - 10 - 20 - 180 - 25 - - - - - - L6rho - - - - 200 - 20 - 111 - 25 - - - - - - L6d - - - - 320 - 20 - 85 - 25 - - - - - 0 - 0 - 0 - 0 - - - - - - - BoxL7 - - - false - - - Layer 7 - - - - L7Comp - - - - 10 - 20 - 180 - 25 - - - - - - L7rho - - - - 200 - 20 - 111 - 25 - - - - - - L7d - - - - 320 - 20 - 85 - 25 - - - - - 0 - 0 - 0 - 0 - - - - - - - - - - layout13 - - - - 455 - 0 - 250 - 480 + 20 + 435 + 460 unnamed - - 0 - - 0 + 3 - - - ProjParam - - - Projectile parameters - - - - layout8 - - - - 5 - 25 - 240 - 260 - - - - - unnamed - - - 0 - - - 0 - - - - layout7 - - - - unnamed - - - - textLabel1 - - - Projectile - - - lineEdit3 - - - - - - Muon - - - - - Li8 - - - - - B12 - - - - - H - - - - ProjType - - - - 0 - 0 - 0 - 0 - - - - Choose the projectile type. - - - - - - - layout6 - - - - unnamed - - - - layout5 - - - - unnamed - - - 0 - - - 0 - - - - NLabel - - - - 5 - 5 - 0 - 0 - - - - Number of projectiles - - - lineEdit3_4 - - - - - z0Label - - - Starting depth [Å] - - - lineEdit3_5 - - - - - dzLabel - - - Depth increment [Å] - - - lineEdit3_5 - - - - - ELabel - - - Energy [eV] - - - lineEdit3_6 - - - - - SigELabel - - - Energy sigma [eV] - - - lineEdit3_7 - - - - - AlbleLabel - - - Angle [deg] - - - lineEdit3_8 - - - - - SigAngleLabel - - - Angle sigma [deg] - - - lineEdit3_9 - - - - - SeedLabel - - - Random seed - - - lineEdit3 - - - - - - - layout4 - - - - unnamed - - - 0 - - - - NProj - - - - 7 - 0 - 0 - 0 - - - - - 32767 - 32767 - - - - 10000 - - - The number of projectiles to be implanted in the sample. Larger number better statistics. - - - - - z0 - - - - 32767 - 32767 - - - - 0.0 - - - Consider implanted projectiles starting from this depth. - - - - - dz - - - 10.0 - - - The steps in implantation depth at which the number of stopped projectiles will be counted. Smaller number for finer implantation histogram. - - - - - E - - - 2000 - - - The average implantation energy of the projectile. - - - - - SigE - - - 450 - - - The spread in implantation energy. For muons this is typically 400-450 eV. For Li8 this is practically zero. - - - - - Angle - - - 0 - - - The average implantation angle. - - - - - SigAngle - - - 15 - - - The spread in implantation angles. - - - - - Seed - - - 78741 - - - The random number generator seed. - - - - - - - - - - - - groupBox15 - - - File Names - - - - layout14 - - - - 6 - 23 - 240 - 100 - - - - - unnamed - - - 0 - - - 0 - - - - textLabelFN - - - File names prefix - - - - - FNPre - - - SrTiO3 - - - The names of the saved files will start with this prefix. - - - - - textLabelPath - - - Save in subdirectory - - - - - layout13_2 - - - - unnamed - - - - Path - - - ./ - - - This is the path were the input/output files will be stored. - - - - - Browse - - - - 7 - 0 - 0 - 0 - - - - Browse - - - - - - - - layout12 + layout19 unnamed - - 4 - - + - Start - - - - 7 - 7 - 0 - 0 - - - - - 0 - 25 - + textLabel1_4 - - - - image1 - - - Start + Number of Layers - + - Quit + NL + + + 7 + + + 1 + + + Select the number of the layers of your structure (maximum 7 layers). + + + + + spacer2 + + + Horizontal + + + Expanding + + + + 251 + 20 + + + + + + + + layout26 + + + + unnamed + + + + textLabel2_4 - 7 - 7 + 0 + 1 0 0 - - - 0 - 25 - - - - - - image2 + Composition - Quit + Chemical formula - - Quit the application. + + + + spacer1 + + + Horizontal + + + Fixed + + + + 101 + 20 + + + + + + textLabel3 + + + + 1 + 5 + 0 + 0 + + + + Density [g/cm<sup>3</sup>] + + + + + textLabel4 + + + Thickness [Å] + + + BoxL1 + + + 0 + + + Layer 1 + + + + L1Comp + + + + 10 + 20 + 180 + 25 + + + + SrTiO3 + + + Chemical formula of L1 + + + Insert the chemical formula here as you would write it. + + + + + L1rho + + + + 200 + 20 + 111 + 25 + + + + 5.12 + + + Insert the density of the layer here. + + + + + L1d + + + + 320 + 20 + 85 + 25 + + + + + 0 + 0 + 0 + 0 + + + + 200 + + + Insert the thickness of the layer here. + + + + + + BoxL2 + + + false + + + Layer 2 + + + + L2Comp + + + + 10 + 20 + 180 + 25 + + + + + + L2rho + + + + 200 + 20 + 111 + 25 + + + + + + L2d + + + + 320 + 20 + 85 + 25 + + + + + 0 + 0 + 0 + 0 + + + + + + + BoxL3 + + + false + + + Layer 3 + + + + L3Comp + + + + 10 + 20 + 180 + 25 + + + + + + L3rho + + + + 200 + 20 + 111 + 25 + + + + + + L3d + + + + 320 + 20 + 85 + 25 + + + + + 0 + 0 + 0 + 0 + + + + + + + BoxL4 + + + false + + + Layer 4 + + + + L4Comp + + + + 10 + 20 + 180 + 25 + + + + + + L4rho + + + + 200 + 20 + 111 + 25 + + + + + + L4d + + + + 320 + 20 + 85 + 25 + + + + + 0 + 0 + 0 + 0 + + + + + + + BoxL5 + + + false + + + Layer 5 + + + + L5Comp + + + + 10 + 20 + 180 + 25 + + + + + + L5rho + + + + 200 + 20 + 111 + 25 + + + + + + L5d + + + + 320 + 20 + 85 + 25 + + + + + 0 + 0 + 0 + 0 + + + + + + + BoxL6 + + + false + + + Layer 6 + + + + L6Comp + + + + 10 + 20 + 180 + 25 + + + + + + L6rho + + + + 200 + 20 + 111 + 25 + + + + + + L6d + + + + 320 + 20 + 85 + 25 + + + + + 0 + 0 + 0 + 0 + + + + + + + BoxL7 + + + false + + + Layer 7 + + + + L7Comp + + + + 10 + 20 + 180 + 25 + + + + + + L7rho + + + + 200 + 20 + 111 + 25 + + + + + + L7d + + + + 320 + 20 + 85 + 25 + + + + + 0 + 0 + 0 + 0 + + + + - + - AddParTab + layout13 - - Additional Parameters - - - - AddParam - - - - 5 - 0 - 245 - 210 - - - - Additional parameters - - - - textLabelEF - - - - 12 - 26 - 63 - 25 - - - - EF - - - - - textLabelSHEATH - - - - 12 - 76 - 63 - 25 - - - - SHEATH - - - - - textLabelERC - - - - 12 - 101 - 63 - 26 - - - - ERC - - - - - textLabelRD - - - - 12 - 127 - 63 - 25 - - - - RD - - - - - KDEE2 - - - - 185 - 100 - 52 - 26 - - - - 3 - - - 1 - - - 3 - - - - - KDEE1 - - - - 185 - 75 - 52 - 26 - - - - 5 - - - 1 - - - 4 - - - - - textLabelIRL - - - - 131 - 177 - 53 - 25 - - - - IRL - - - - - textLabelIPOTR - - - - 131 - 152 - 53 - 25 - - - - IPOTR - - - - - textLabelIPOT - - - - 131 - 126 - 53 - 26 - - - - IPOT - - - - - textLabelKDEE2 - - - - 131 - 101 - 53 - 25 - - - - KDEE2 - - - - - textLabelKDEE1 - - - - 131 - 76 - 53 - 25 - - - - KDEE1 - - - - - textLabelKK0R - - - - 131 - 51 - 53 - 25 - - - - KK0R - - - - - textLabelCA - - - - 12 - 152 - 63 - 25 - - - - CA - - - - - textLabelEmpty - - - false - - - - 12 - 175 - 63 - 25 - - - - - - - - - lineEditEmpty - - - false - - - - 77 - 175 - 52 - 25 - - - - - 7 - 7 - 0 - 0 - - - - - - - - - KK0R - - - - 185 - 50 - 52 - 26 - - - - 4 - - - 0 - - - 2 - - - - - KK0 - - - - 185 - 25 - 52 - 26 - - - - 4 - - - 0 - - - 2 - - - - - textLabelKK0 - - - - 131 - 25 - 53 - 25 - - - - KK0 - - - - - EF - - - - 77 - 26 - 52 - 25 - - - - - 7 - 7 - 0 - 0 - - - - 0.5 - - - - - SHEATH - - - - 77 - 76 - 52 - 25 - - - - - 7 - 7 - 0 - 0 - - - - 0.0 - - - - - ERC - - - - 77 - 101 - 52 - 26 - - - - - 7 - 7 - 0 - 0 - - - - 0.0 - - - - - RD - - - - 77 - 127 - 52 - 25 - - - - - 7 - 7 - 0 - 0 - - - - 50.0 - - - - - CA - - - - 77 - 152 - 52 - 25 - - - - - 7 - 7 - 0 - 0 - - - - 1.0 - - - - - ESB - - - - 77 - 51 - 52 - 25 - - - - - 7 - 7 - 0 - 0 - - - - 0.0 - - - - - IPOT - - - - 185 - 125 - 52 - 26 - - - - 3 - - - 1 - - - 2 - - - - - IPOTR - - - - 185 - 150 - 52 - 26 - - - - 3 - - - 1 - - - - - IRL - - - - 186 - 176 - 52 - 26 - - - - 1 - - - - - textLabelESB - - - - 12 - 51 - 63 - 25 - - - - ESB - - - - - - - ScansTab + + + 455 + 0 + 250 + 480 + - - Scans (Disbaled) - - + - ScanSeq + unnamed - - - 5 - 0 - 550 - 250 - + + 0 - - Scan sequence + + 0 - - true - - - false - - - Select to scan a certain parameter in the simulation and produce multiple output files for each value of this parameter. - - + - ScanMode - - - - 230 - 20 - 310 - 215 - + ProjParam - Scan mode - - - false - - - false - - - true - - - true + Projectile parameters - layout3 + layout8 - 11 - 178 - 290 - 27 + 5 + 25 + 240 + 260 - + + + unnamed + + + 0 + + + 0 + + + + layout7 + + + + unnamed + + + + textLabel1 + + + Projectile + + + lineEdit3 + + + + + + Muon + + + + + Li8 + + + + + B12 + + + + + H + + + + ProjType + + + + 0 + 0 + 0 + 0 + + + + Choose the projectile type. + + + + + + + layout6 + + + + unnamed + + + + layout5 + + + + unnamed + + + 0 + + + 0 + + + + NLabel + + + + 5 + 5 + 0 + 0 + + + + Number of projectiles + + + lineEdit3_4 + + + + + z0Label + + + Starting depth [Å] + + + lineEdit3_5 + + + + + dzLabel + + + Depth increment [Å] + + + lineEdit3_5 + + + + + ELabel + + + Energy [eV] + + + lineEdit3_6 + + + + + SigELabel + + + Energy sigma [eV] + + + lineEdit3_7 + + + + + AlbleLabel + + + Angle [deg] + + + lineEdit3_8 + + + + + SigAngleLabel + + + Angle sigma [deg] + + + lineEdit3_9 + + + + + SeedLabel + + + Random seed + + + lineEdit3 + + + + + + + layout4 + + + + unnamed + + + 0 + + + + NProj + + + + 7 + 0 + 0 + 0 + + + + + 32767 + 32767 + + + + 10000 + + + The number of projectiles to be implanted in the sample. Larger number better statistics. + + + + + z0 + + + + 32767 + 32767 + + + + 0.0 + + + Consider implanted projectiles starting from this depth. + + + + + dz + + + 10.0 + + + The steps in implantation depth at which the number of stopped projectiles will be counted. Smaller number for finer implantation histogram. + + + + + E + + + 2000 + + + The average implantation energy of the projectile. + + + + + SigE + + + 450 + + + The spread in implantation energy. For muons this is typically 400-450 eV. For Li8 this is practically zero. + + + + + Angle + + + 0 + + + The average implantation angle. + + + + + SigAngle + + + 15 + + + The spread in implantation angles. + + + + + Seed + + + 78741 + + + The random number generator seed. + + + + + + + + + + + + groupBox15 + + + File Names + + + + layout14 + + + + 6 + 23 + 240 + 100 + + + unnamed @@ -1796,350 +1027,1264 @@ - textLabel2 + textLabelFN - From + File names prefix - SFrom - - - - 5 - 5 - 0 - 0 - + FNPre - 1000 + SrTiO3 + + + The names of the saved files will start with this prefix. - textLabel2_2 + textLabelPath - To + Save in subdirectory - + - STo - - - - 5 - 5 - 0 - 0 - - - - 28000 + layout13_2 + + + unnamed + + + + Path + + + ./ + + + This is the path were the input/output files will be stored. + + + + + Browse + + + + 7 + 0 + 0 + 0 + + + + Browse + + + - - - textLabel2_2_2_2 - - - Step - - - - - SStep - - - - 5 - 5 - 0 - 0 - - - - 1000 - - - - - - - ScanList - - - - 11 - 46 - 290 - 26 - - - - 1000,6000,10000 - - - A list of values to scan (separated by commas). - - - - - dzListLabel - - - - 13 - 79 - 295 - 19 - - - - Corresponding depth increment (optional) - - - - - LoopRadio - - - - 10 - 150 - 240 - 22 - - - - Loop - - - true - - - The values of the scanned parameter are evenly spaced. - - - - - ListRadio - - - - 10 - 20 - 240 - 22 - - - - List of values - - - The values of the scanned parameter are from a list. - - - - - ScanListdz - - - false - - - - 11 - 108 - 290 - 26 - - - - - - - A list of values to scan (separated by commas). - + - + - buttonGroup2 + layout12 + + + + unnamed + + + 4 + + + + Start + + + + 7 + 7 + 0 + 0 + + + + + 0 + 25 + + + + + + + image1 + + + Start + + + + + Quit + + + + 7 + 7 + 0 + 0 + + + + + 0 + 25 + + + + + + + image2 + + + Quit + + + Quit the application. + + + + + + + + + + AddParTab + + + Additional Parameters + + + + AddParam + + + + 5 + 0 + 245 + 210 + + + + Additional parameters + + + + textLabelEF + + + + 12 + 26 + 63 + 25 + + + + EF + + + + + textLabelSHEATH + + + + 12 + 76 + 63 + 25 + + + + SHEATH + + + + + textLabelERC + + + + 12 + 101 + 63 + 26 + + + + ERC + + + + + textLabelRD + + + + 12 + 127 + 63 + 25 + + + + RD + + + + + KDEE2 + + + + 185 + 100 + 52 + 26 + + + + 3 + + + 1 + + + 3 + + + + + KDEE1 + + + + 185 + 75 + 52 + 26 + + + + 5 + + + 1 + + + 4 + + + + + textLabelIRL + + + + 131 + 177 + 53 + 25 + + + + IRL + + + + + textLabelIPOTR + + + + 131 + 152 + 53 + 25 + + + + IPOTR + + + + + textLabelIPOT + + + + 131 + 126 + 53 + 26 + + + + IPOT + + + + + textLabelKDEE2 + + + + 131 + 101 + 53 + 25 + + + + KDEE2 + + + + + textLabelKDEE1 + + + + 131 + 76 + 53 + 25 + + + + KDEE1 + + + + + textLabelKK0R + + + + 131 + 51 + 53 + 25 + + + + KK0R + + + + + textLabelCA + + + + 12 + 152 + 63 + 25 + + + + CA + + + + + textLabelEmpty + + + false + + + + 12 + 175 + 63 + 25 + + + + + + + + + lineEditEmpty + + + false + + + + 77 + 175 + 52 + 25 + + + + + 7 + 7 + 0 + 0 + + + + + + + + + KK0R + + + + 185 + 50 + 52 + 26 + + + + 4 + + + 0 + + + 2 + + + + + KK0 + + + + 185 + 25 + 52 + 26 + + + + 4 + + + 0 + + + 2 + + + + + textLabelKK0 + + + + 131 + 25 + 53 + 25 + + + + KK0 + + + + + EF + + + + 77 + 26 + 52 + 25 + + + + + 7 + 7 + 0 + 0 + + + + 0.5 + + + + + SHEATH + + + + 77 + 76 + 52 + 25 + + + + + 7 + 7 + 0 + 0 + + + + 0.0 + + + + + ERC + + + + 77 + 101 + 52 + 26 + + + + + 7 + 7 + 0 + 0 + + + + 0.0 + + + + + RD + + + + 77 + 127 + 52 + 25 + + + + + 7 + 7 + 0 + 0 + + + + 50.0 + + + + + CA + + + + 77 + 152 + 52 + 25 + + + + + 7 + 7 + 0 + 0 + + + + 1.0 + + + + + ESB + + + + 77 + 51 + 52 + 25 + + + + + 7 + 7 + 0 + 0 + + + + 0.0 + + + + + IPOT + + + + 185 + 125 + 52 + 26 + + + + 3 + + + 1 + + + 2 + + + + + IPOTR + + + + 185 + 150 + 52 + 26 + + + + 3 + + + 1 + + + + + IRL + + + + 186 + 176 + 52 + 26 + + + + 1 + + + + + textLabelESB + + + + 12 + 51 + 63 + 25 + + + + ESB + + + + + + + ScansTab + + + Scans (Disbaled) + + + + ScanSeq + + + + 5 + 0 + 550 + 250 + + + + Scan sequence + + + true + + + false + + + Select to scan a certain parameter in the simulation and produce multiple output files for each value of this parameter. + + + + ScanMode + + + + 230 + 20 + 310 + 215 + + + + Scan mode + + + false + + + false + + + true + + + true + + + + layout3 + + + + 11 + 178 + 290 + 27 + + + + + unnamed + + + 0 + + + 0 + + + + textLabel2 + + + From + + + + + SFrom + + + + 5 + 5 + 0 + 0 + + + + 1000 + + + + + textLabel2_2 + + + To + + + + + STo + + + + 5 + 5 + 0 + 0 + + + + 28000 + + + + + textLabel2_2_2_2 + + + Step + + + + + SStep + + + + 5 + 5 + 0 + 0 + + + + 1000 + + + + + + + ScanList + + + + 11 + 46 + 290 + 26 + + + + 1000,6000,10000 + + + A list of values to scan (separated by commas). + + + + + dzListLabel + + + + 13 + 79 + 295 + 19 + + + + Corresponding depth increment (optional) + + + + + LoopRadio + + + + 10 + 150 + 240 + 22 + + + + Loop + + + true + + + The values of the scanned parameter are evenly spaced. + + + + + ListRadio 10 20 - 216 - 215 + 240 + 22 - - Scan Parameter + + List of values - + + The values of the scanned parameter are from a list. + + + + + ScanListdz + + + false + + + + 11 + 108 + 290 + 26 + + + + + + + A list of values to scan (separated by commas). + + + + + + buttonGroup2 + + + + 10 + 20 + 216 + 215 + + + + Scan Parameter + + + true + + + + SigERadio + + + + 4 + 47 + 211 + 24 + + + + Energy sigma + + + Scan spread in implantation energy. + + + + + NProjRadio + + + + 4 + 122 + 211 + 24 + + + + Projectile number + + + Scan the number of implanted projectiles. + + + + + dRadio + + + + 5 + 149 + 153 + 24 + + + + Thickness of Layer + + + Scan the thickness of the selected layer. + + + + + ScandL + + + + 158 + 148 + 56 + 26 + + + + 7 + + + 1 + + + This is the layer whose thickness will be scanned + + + + + SigAngleRadio + + + + 4 + 97 + 211 + 24 + + + + Angle sigma + + + Scan spread in implantation energy. + + + + + AngleRadio + + + + 4 + 72 + 211 + 24 + + + + Angle + + + false + + + Scan implantation energy. + + + + + ERadio + + + + 4 + 22 + 211 + 24 + + + + Energy + + true - - - SigERadio - - - - 4 - 47 - 211 - 24 - - - - Energy sigma - - - Scan spread in implantation energy. - - - - - NProjRadio - - - - 4 - 122 - 211 - 24 - - - - Projectile number - - - Scan the number of implanted projectiles. - - - - - dRadio - - - - 5 - 149 - 153 - 24 - - - - Thickness of Layer - - - Scan the thickness of the selected layer. - - - - - ScandL - - - - 158 - 148 - 56 - 26 - - - - 7 - - - 1 - - - This is the layer whose thickness will be scanned - - - - - SigAngleRadio - - - - 4 - 97 - 211 - 24 - - - - Angle sigma - - - Scan spread in implantation energy. - - - - - AngleRadio - - - - 4 - 72 - 211 - 24 - - - - Angle - - - false - - - Scan implantation energy. - - - - - ERadio - - - - 4 - 22 - 211 - 24 - - - - Energy - - - true - - - Scan implantation energy. - - + + Scan implantation energy. + - + - Progress - - - WinPanel + ConfigTab + + Configuration + + + + layout27 + + + + 10 + 20 + 680 + 80 + + + + + unnamed + + + + layout26 + + + + unnamed + + + + textLabel1_2_2 + + + + 0 + 5 + 0 + 0 + + + + + 110 + 0 + + + + + 130 + 32767 + + + + TrimSP GUI path + + + + + TrimGUIPath + + + + + + + + GUIPathBrowse + + + Browse + + + + + + + layout25 + + + + unnamed + + + + textLabel1_2 + + + + 0 + 5 + 0 + 0 + + + + + 110 + 0 + + + + + 130 + 32767 + + + + TrimSP binary + + + + + TRIMBIN + + + + + + + + TrimBinBrowse + + + Browse + + + + + + - + @@ -2390,20 +2535,6 @@ - - - helpIndexAction - - - Index - - - &Index... - - - - - helpAboutAction @@ -2466,24 +2597,16 @@ - helpTmpAction + fileConfigureAction + + + image15 - Tmp + Configure - Tmp - - - - - fileLoadAction - - - Load - - - Load + Configure @@ -2533,6 +2656,9 @@ 789c9d95db521c390c86ef798a297497da52a6bba74fb5b517092401120ec319b6f6c2ed6e730a1060386eedbbaffc4b4d480224a45dd3e36fa4df9665cbf3fad5607b6571f0eaf5d4c5c44d0efcc0efbbf3c1abf6f2f8f8f6ef7ffefa776a3a1b0ed26c9064d9209dfe636a9a9b811f50126203b791d39086228b4c75e4918f0d3c13391fe5a3007f3a04e749d234d08f95f35ced0ee3e7656cb0773d071defcb3deb78bbe03aa9920a1cc04ddea89d3f80dbbc35ff09b8cb3be3f7918b613134de022745625c82b3226bb03e3e06e3019ff66cf3dd82cba28faf02b745ab7a5a02077157ff3472194a632a22cb62129b0ff9ac5ce5cc7e0e6e2a5b1f61beca57de783b729dd6a9f11ab8acfb78e6c0beeefde7c1a1eee371915d1a1bec39d83b6ff133b873963fa7fe2136d891ef66d8f4f95c00a74d1f4f02ce5279c0a9729996ca9972548047c6967f47e0b8c139e2d5f1eaa6b6f1876097b4490bde0487a65f1fce8fcf7c667c072e7d9f1f0feebcad8f719e7cf0fdfeac466eebd6e673f06f5d6cf0dfead9fcf7c08d4f3b3d2f73ca6dbf7f1760796c3ce4b7ed62831de7ad1b767d3e6fc059d7c78ff9bb516cb01f814bdfea7c740daebacaf467e0baebf385f3dbb93a75eaff192cd39bfd00dc096b3ccbc67d7e56228761b0f818f909f14250fd3a380b7dbc27e03c58bd13ea3ba00060473d066c1818fb1de206a0fef9e69ed58ef31edad0c7bb03ee620337f7acf637e0106f24e847c6f2c03e6bec72ddcf73633970b0ef1bcb8d02fea41c6f10f81f1aa7859edf2b63b91160df356e0a1d8f8c7da1eb3b502e87a58ef7d6b82d311f1f197725d6c7f3caf18600af1bcb96836dbd7556eb7db2609cd75a3fcbc645adfbdf1acb033e31961b03fe95b11c2170a1ec864ee3bd301e39cdef9ab10408de34ae1dc667cb5f933409b834b6fa67cbb75c78aa5f32f68dc673a6ec13affa4563a968c4dfb35c61e0b1b15438fc778ca5813794dbb4d5fd73c6a356ebebd258ae74f87f34961b01fcce582a1cfe3d5b3df3d0581ad8ce47ac68f067e3be9e578c65c361cf8d9b4eff3f27c63201fc2dfe78e0c177cab142e19f194b45c26ee72b8c82eed7b5b1fc4581ad1e628582678caba0ffb7b67ef903d1f5ef194b05832d5f7d3d8e2dde60f7e978329e30c5f7cb9bead971c3fef7f53242cb1d87e77d798ff7f9800ff9883fffa03fe6133ee52fcfa8cff89c2f78c2977cc5d73feae573c3b77cf784fa0dbfe519de93de2cbfe3cbc7f4f27ecf1f78ee11f53c2fc8fb237f92f7222ff1f2e37af95ee131af7ea75ee3757c432fdf1bbcf9945e7a5b12c3f603f50eef5a4fe71fea684fe9a59f707adfcf78c4b3d6cf79810b2eb9e2b3e7f44235b1f688c8fdd2fe7fa3a7864fc9c79553fbfc99785c2f237414688ff6bfeed4cbf432c2011dd2d177bfc9b9e36d3afe25fd099dd2173afbe6b773f95c90acefa7f15fd295bcaf65849b6ff5f2befd999eeee80dbd45ef8c6678eb657a9ea1597a774fabf49e3e987e8ee6794bde0b4febe9237da2c587d148c66e6989961ffef6949e567844e31ffd6855b2b646ebcfe969835adaa795a7f69a36e5546dd1362d7cbd27544f3bb44b434a28a58c46cfb69c0a2aa9a2daf1c3f91db9973d8df30ff5bfdba6fffb73ea7fad61e4c3 + + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b349444154388da5d24f4c14571c07f0ef9bd9bf2cec0eb86541a4253628fd139dd4362d5ae36e7a70211e9ab434c678e0e0b5c7462fa690f6b03db14d632235e9124d881a2b298946ea366b0db6a58775aa5428a465ad8255163bcbe2cebe3733eff5b048816ec2c67e935f32c9fc7e9f99f79b2158972b577ebc1908f8d4baba000c836271f1090a05638073d1dbd9b927b3bebfe20c0f5f4fa4d3936275b2595d5cbd3a268686ae753f330c00e7cf27136363e36b70c64c3132f293387bf6dbf0ffc2cf9cb99c181dd5d6e0b9dc92387dfad24c45407fffc5c4c9935fabe5ee9d3a3534a469532b30e75c249363a2bfff62d9fed5915c2e67372124158f0fae698ec707d5aa2a6f78ebd62658960dcbb261db1cb5b57e50cac215c00e44a3ed0a2124158b0da800108b0da87ebf2fb57fff5b8a2c4b60cc04a50c9432381c328a45a66c08178b0c7ebf0f1d1dbb154248aaa7e7cbee12daae4892044a4d506a82310b8c59989d9d07a52cb3219ccdea7a09af4647c76ea5b131988846db155996c198f99f9a99998361d00d6179c78e7d6d5eaf5b0d0615783c6eb4b636439224d8b6bda62835313bfb08f5f5b5989ebea77e75f0aef7c3cefac92f2ecf17cbbe3163666f32f9b39ecdfebd72ec52592b65180c99cc1cf2f9028410f8e09571d51572f6991652b7fb5e5eb36f2184020004008e1cf954adaaf2a4f6ee55956ddb9e87c3e178da0600300c0ad3b4e0743a40264ec0cfbe83fbf15f70beba050fc6b9c63922af1fbda3af7e00797a71f8f0715508d157571708874275a8aef622975b0263160e1c781b8140358c741cbec2086a0b0f11944de4e084d1d2843f6f098d7344f61cff17275897aeae632d005a0084015c03a084429b1207d58ca2984934ba16a0b800697972d122c8078298d688c6b988bcf3c9845e162e970b1fedea79618bf1715b930e9f4b06593755a03616440deedc9434ce11e98c4de815c1978ebea4708ed4ce5d5c6dde2c96cfba3cca6c0002b6cdf120eb443a2d6b9c232257020fdec816df7ff3b973f7ef9168558d68509a3d80d705500b283060610952ce805f2190dca461eea1dc26550203c07b7d13ba6989c88d5149fbfd972250ed06f245608902f379c0e4c0dd05b43618703aec772b8601e0d08949ddb410f9febaa44da51e0336077c2ea06801055afa3b0d0697cc51d12a56e79b74b6d8b93378ee8f8c14ad114643d04d81375a4a6b210065c00f53beca3e5eb9c40f6d5738476adf8b39f5b5cdf9126a4b18fe7513eee7dcbdcf0c03c0675ddb15ce31e4775be180c7c2a3272e9dd9d2e7c72efcd6f30f73dcfe3628f8c9bd0000000049454e44ae426082 + @@ -2679,6 +2805,18 @@ TrimSPGUI PlotFraction() + + GUIPathBrowse + clicked() + TrimSPGUI + GUIPath() + + + TrimBinBrowse + clicked() + TrimSPGUI + TrimBin() + tabs @@ -2760,6 +2898,8 @@ OpenFile() SaveFile() SaveFileAs() + GUIPath() + TrimBin() diff --git a/trimsp/src/TrimSPGUI/TrimSPGUI.ui.h b/trimsp/src/TrimSPGUI/TrimSPGUI.ui.h index 258ff37..a4c0489 100644 --- a/trimsp/src/TrimSPGUI/TrimSPGUI.ui.h +++ b/trimsp/src/TrimSPGUI/TrimSPGUI.ui.h @@ -510,6 +510,14 @@ void TrimSPGUI::StartSequenceOne() my @SdzValues=(); my $cmd=""; + if (!$ENV{'TRIMBIN'}) { +# If trim.sp binary is not defined give warning and return + my $Warning = Qt::MessageBox::information( this, "Warning", + "Warning:\n TrimSP binary is not found.\n Define using environment variable, e.g.\n export TRIMBIN=/usr/local/bin/trimsp7l\n or use the Configuration tab."); + return(0); + + } + # Cleanup from old files if (-e "ausgabe1.inp") { system("rm -f ausgabe*"); @@ -649,6 +657,10 @@ void TrimSPGUI::DirectoryBrowse() } # Change work directory accordingly chdir ("$FileBrowser"); + +# Return a string with the directory name + return $FileBrowser ; + } @@ -940,3 +952,40 @@ SStep=$All{'SStep'} close(OUTF); } } + + +void TrimSPGUI::GUIPath() +{ +# This subroutine is used to define diffirent variables + my $FileBrowser = Qt::FileDialog::getExistingDirectory("./",this,"get existing directory","Choose the directory where the TrimSP GUI is.",1); + +# If nothing is returned keep as is + if ($FileBrowser eq "") { + $FileBrowser="$ENV{'PERLLIB'}"; + } else { + TrimGUIPath->setText($FileBrowser); + $ENV{'PERLLIB'}=$FileBrowser; + } +# Return a string with the directory name + return $FileBrowser ; + +} + + +void TrimSPGUI::TrimBin() +{ + my $file=Qt::FileDialog::getOpenFileName( + "$ENV{'TRIMBIN'}", + "Trim.SP binary (.* *.* *)", + this, + "open file dialog", + "Select the Trim.SP binary file"); + +# If the user gave a valid filename try to read it + if ($file ne "") { + $ENV{'TRIMBIN'}=$file; + TRIMBIN->setText($file); + } + + return $file; +}