@@ -27,6 +27,9 @@ import oracle.ide.panels.TraversalException
2727import oracle.javatools.ui.layout.FieldLayoutBuilder
2828import org.utplsql.sqldev.model.preference.PreferenceModel
2929import org.utplsql.sqldev.resources.UtplsqlResources
30+ import javax.swing.JButton
31+ import java.awt.event.ActionEvent
32+ import java.awt.event.ActionListener
3033
3134class PreferencePanel extends DefaultTraversablePanel {
3235 val JPanel runTestPanel = new JPanel ();
@@ -43,12 +46,23 @@ class PreferencePanel extends DefaultTraversablePanel {
4346 val SpinnerNumberModel numberOfTestsPerUnitModel = new SpinnerNumberModel (1 , 1 , 10 , 1 );
4447 val JSpinner numberOfTestsPerUnitSpinner = new JSpinner (numberOfTestsPerUnitModel);
4548 val JCheckBox checkGenerateUtplsqlTestCheckBox = new JCheckBox
49+ val JCheckBox generateCommentsCheckBox = new JCheckBox
50+ val JCheckBox disableTestsCheckBox = new JCheckBox
51+ val JTextField suitePathTextField = new JTextField
52+ val SpinnerNumberModel indentSpacesModel = new SpinnerNumberModel (1 , 1 , 8 , 1 );
53+ val JSpinner indentSpacesSpinner = new JSpinner (indentSpacesModel);
54+ val JPanel oddgenPanel = new JPanel ();
55+ val JTextField rootFolderInOddgenViewTextField = new JTextField
56+ val JCheckBox generateFilesCheckBox = new JCheckBox
57+ val JTextField outputDirectoryTextField = new JTextField
58+ val JButton outputDirectoryBrowse = new JButton ();
4659
4760 new () {
4861 layoutControls()
4962 }
5063
5164 def private layoutControls () {
65+ // run test group
5266 runTestPanel. border = BorderFactory . createTitledBorder(UtplsqlResources . getString(" MENU_RUN_TEST_LABEL" ))
5367 val FieldLayoutBuilder b1 = new FieldLayoutBuilder (runTestPanel)
5468 b1. alignLabelsLeft = true
@@ -67,6 +81,7 @@ class PreferencePanel extends DefaultTraversablePanel {
6781 b1. add(
6882 b1. field. label. withText(UtplsqlResources . getString(" PREF_CHECK_RUN_UTPLSQL_TEST_LABEL" )). component(
6983 checkRunUtplsqlTestCheckBox))
84+ // generate test group
7085 generateTestPanel. border = BorderFactory . createTitledBorder(UtplsqlResources . getString(" MENU_GENERATE_TEST_LABEL" ))
7186 val FieldLayoutBuilder b2 = new FieldLayoutBuilder (generateTestPanel)
7287 b2. alignLabelsLeft = true
@@ -83,16 +98,53 @@ class PreferencePanel extends DefaultTraversablePanel {
8398 b2. field. label. withText(UtplsqlResources . getString(" PREF_TEST_UNIT_SUFFIX_LABEL" )). component(
8499 testUnitSuffixTextField))
85100 b2. add(
86- b2. field. label. withText(UtplsqlResources . getString(" PREF_NUMBER_OF_TESTS_PER_UNIT " )). component(
101+ b2. field. label. withText(UtplsqlResources . getString(" PREF_NUMBER_OF_TESTS_PER_UNIT_LABEL " )). component(
87102 numberOfTestsPerUnitSpinner))
103+ b2. add(
104+ b2. field. label. withText(UtplsqlResources . getString(" PREF_GENERATE_COMMENTS_LABEL" )). component(
105+ generateCommentsCheckBox))
106+ b2. add(
107+ b2. field. label. withText(UtplsqlResources . getString(" PREF_DISABLE_TESTS_LABEL" )). component(
108+ disableTestsCheckBox))
109+ b2. add(
110+ b2. field. label. withText(UtplsqlResources . getString(" PREF_SUITE_PATH_LABEL" )). component(
111+ suitePathTextField))
112+ b2. add(
113+ b2. field. label. withText(UtplsqlResources . getString(" PREF_INDENT_SPACES_LABEL" )). component(
114+ indentSpacesSpinner))
88115 b2. add(
89116 b2. field. label. withText(UtplsqlResources . getString(" PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL" )). component(
90117 checkGenerateUtplsqlTestCheckBox))
118+ // oddgen group
119+ oddgenPanel. border = BorderFactory . createTitledBorder(" oddgen" )
120+ val FieldLayoutBuilder b3 = new FieldLayoutBuilder (oddgenPanel)
121+ b3. alignLabelsLeft = true
122+ b3. stretchComponentsWithNoButton = true
123+ b3. add(
124+ b3. field. label. withText(UtplsqlResources . getString(" PREF_ROOT_FOLDER_IN_ODDGEN_VIEW_LABEL" )). component(
125+ rootFolderInOddgenViewTextField))
126+ b3. add(
127+ b3. field. label. withText(UtplsqlResources . getString(" PREF_GENERATE_FILES_LABEL" )). component(
128+ generateFilesCheckBox))
129+ b3. add(
130+ b3. field. label. withText(UtplsqlResources . getString(" PREF_OUTPUT_DIRECTORY_LABEL" )). component(
131+ outputDirectoryTextField). button(outputDirectoryBrowse). withText(" Bro&wse" ))
132+
133+ // putting everything together
91134 val FieldLayoutBuilder builder = new FieldLayoutBuilder (this )
92135 builder. alignLabelsLeft = true
93136 builder. addVerticalField(" " , runTestPanel)
94137 builder. addVerticalField(" " , generateTestPanel)
138+ builder. addVerticalField(" " , oddgenPanel)
95139 builder. addVerticalSpring
140+
141+ // register action listener for directory chooser
142+ outputDirectoryBrowse. addActionListener(new ActionListener () {
143+ override actionPerformed(ActionEvent event) {
144+ DirectoryChooser . choose(null , UtplsqlResources . getString(" PREF_OUTPUT_DIRECTORY_LABEL" ),
145+ outputDirectoryTextField)
146+ }
147+ })
96148 }
97149
98150 override onEntry (TraversableContext traversableContext ) {
@@ -108,6 +160,13 @@ class PreferencePanel extends DefaultTraversablePanel {
108160 testUnitSuffixTextField. text = info. testUnitSuffix
109161 numberOfTestsPerUnitSpinner. value = info. numberOfTestsPerUnit
110162 checkGenerateUtplsqlTestCheckBox. selected = info. checkGenerateUtplsqlTest
163+ generateCommentsCheckBox. selected = info. generateComments
164+ disableTestsCheckBox. selected = info. disableTests
165+ suitePathTextField. text = info. suitePath
166+ indentSpacesSpinner. value = info. indentSpaces
167+ rootFolderInOddgenViewTextField. text = info. rootFolderInOddgenView
168+ generateFilesCheckBox. selected = info. generateFiles
169+ outputDirectoryTextField. text = info. outputDirectory
111170 super . onEntry(traversableContext)
112171 }
113172
@@ -124,6 +183,13 @@ class PreferencePanel extends DefaultTraversablePanel {
124183 info. testUnitSuffix = testUnitSuffixTextField. text
125184 info. numberOfTestsPerUnit = numberOfTestsPerUnitSpinner. value as Integer
126185 info. checkGenerateUtplsqlTest = checkGenerateUtplsqlTestCheckBox. selected
186+ info. generateComments = generateCommentsCheckBox. selected
187+ info. disableTests = disableTestsCheckBox. selected
188+ info. suitePath = suitePathTextField. text
189+ info. indentSpaces = indentSpacesSpinner. value as Integer
190+ info. rootFolderInOddgenView = rootFolderInOddgenViewTextField. text
191+ info. generateFiles = generateFilesCheckBox. selected
192+ info. outputDirectory = outputDirectoryTextField. text
127193 super . onExit(traversableContext)
128194 }
129195
0 commit comments