15
15
*/
16
16
package org.utplsql.sqldev
17
17
18
+ import javax.swing.BorderFactory
18
19
import javax.swing.JCheckBox
20
+ import javax.swing.JPanel
21
+ import javax.swing.JSpinner
22
+ import javax.swing.JTextField
23
+ import javax.swing.SpinnerNumberModel
19
24
import oracle.ide.panels.DefaultTraversablePanel
20
25
import oracle.ide.panels.TraversableContext
21
26
import oracle.ide.panels.TraversalException
22
27
import oracle.javatools.ui.layout.FieldLayoutBuilder
23
28
import org.utplsql.sqldev.model.preference.PreferenceModel
24
29
import org.utplsql.sqldev.resources.UtplsqlResources
30
+ import javax.swing.JButton
31
+ import java.awt.event.ActionEvent
32
+ import java.awt.event.ActionListener
25
33
26
34
class PreferencePanel extends DefaultTraversablePanel {
35
+ val JPanel runTestPanel = new JPanel ();
27
36
val JCheckBox unsharedWorksheetCheckBox = new JCheckBox
28
37
val JCheckBox resetPackageCheckBox = new JCheckBox
29
38
val JCheckBox clearScreenCheckBox = new JCheckBox
30
39
val JCheckBox autoExecuteCheckBox = new JCheckBox
31
40
val JCheckBox checkRunUtplsqlTestCheckBox = new JCheckBox
41
+ val JPanel generateTestPanel = new JPanel ();
42
+ val JTextField testPackagePrefixTextField = new JTextField
43
+ val JTextField testPackageSuffixTextField = new JTextField
44
+ val JTextField testUnitPrefixTextField = new JTextField
45
+ val JTextField testUnitSuffixTextField = new JTextField
46
+ val SpinnerNumberModel numberOfTestsPerUnitModel = new SpinnerNumberModel (1 , 1 , 10 , 1 );
47
+ val JSpinner numberOfTestsPerUnitSpinner = new JSpinner (numberOfTestsPerUnitModel);
48
+ 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 ();
32
59
33
60
new () {
34
61
layoutControls()
35
62
}
36
63
37
64
def private layoutControls () {
38
- val FieldLayoutBuilder builder = new FieldLayoutBuilder (this )
39
- builder. alignLabelsLeft = true
40
- builder. add(
41
- builder. field. label. withText(UtplsqlResources . getString(" PREF_UNSHARED_WORKSHEET_LABEL" )). component(
65
+ // run test group
66
+ runTestPanel. border = BorderFactory . createTitledBorder(UtplsqlResources . getString(" MENU_RUN_TEST_LABEL" ))
67
+ val FieldLayoutBuilder b1 = new FieldLayoutBuilder (runTestPanel)
68
+ b1. alignLabelsLeft = true
69
+ b1. add(
70
+ b1. field. label. withText(UtplsqlResources . getString(" PREF_UNSHARED_WORKSHEET_LABEL" )). component(
42
71
unsharedWorksheetCheckBox))
43
- builder . add(
44
- builder . field. label. withText(UtplsqlResources . getString(" PREF_RESET_PACKAGE_LABEL" )). component(
72
+ b1 . add(
73
+ b1 . field. label. withText(UtplsqlResources . getString(" PREF_RESET_PACKAGE_LABEL" )). component(
45
74
resetPackageCheckBox))
46
- builder . add(
47
- builder . field. label. withText(UtplsqlResources . getString(" PREF_CLEAR_SCREEN_LABEL" )). component(
75
+ b1 . add(
76
+ b1 . field. label. withText(UtplsqlResources . getString(" PREF_CLEAR_SCREEN_LABEL" )). component(
48
77
clearScreenCheckBox))
49
- builder . add(
50
- builder . field. label. withText(UtplsqlResources . getString(" PREF_AUTO_EXECUTE_LABEL" )). component(
78
+ b1 . add(
79
+ b1 . field. label. withText(UtplsqlResources . getString(" PREF_AUTO_EXECUTE_LABEL" )). component(
51
80
autoExecuteCheckBox))
52
- builder . add(
53
- builder . field. label. withText(UtplsqlResources . getString(" PREF_CHECK_RUN_UTPLSQL_TEST_LABEL" )). component(
81
+ b1 . add(
82
+ b1 . field. label. withText(UtplsqlResources . getString(" PREF_CHECK_RUN_UTPLSQL_TEST_LABEL" )). component(
54
83
checkRunUtplsqlTestCheckBox))
84
+ // generate test group
85
+ generateTestPanel. border = BorderFactory . createTitledBorder(UtplsqlResources . getString(" MENU_GENERATE_TEST_LABEL" ))
86
+ val FieldLayoutBuilder b2 = new FieldLayoutBuilder (generateTestPanel)
87
+ b2. alignLabelsLeft = true
88
+ b2. add(
89
+ b2. field. label. withText(UtplsqlResources . getString(" PREF_TEST_PACKAGE_PREFIX_LABEL" )). component(
90
+ testPackagePrefixTextField))
91
+ b2. add(
92
+ b2. field. label. withText(UtplsqlResources . getString(" PREF_TEST_PACKAGE_SUFFIX_LABEL" )). component(
93
+ testPackageSuffixTextField))
94
+ b2. add(
95
+ b2. field. label. withText(UtplsqlResources . getString(" PREF_TEST_UNIT_PREFIX_LABEL" )). component(
96
+ testUnitPrefixTextField))
97
+ b2. add(
98
+ b2. field. label. withText(UtplsqlResources . getString(" PREF_TEST_UNIT_SUFFIX_LABEL" )). component(
99
+ testUnitSuffixTextField))
100
+ b2. add(
101
+ b2. field. label. withText(UtplsqlResources . getString(" PREF_NUMBER_OF_TESTS_PER_UNIT_LABEL" )). component(
102
+ 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))
115
+ b2. add(
116
+ b2. field. label. withText(UtplsqlResources . getString(" PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL" )). component(
117
+ 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
134
+ val FieldLayoutBuilder builder = new FieldLayoutBuilder (this )
135
+ builder. alignLabelsLeft = true
136
+ builder. addVerticalField(" " , runTestPanel)
137
+ builder. addVerticalField(" " , generateTestPanel)
138
+ builder. addVerticalField(" " , oddgenPanel)
55
139
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
+ })
56
148
}
57
149
58
150
override onEntry (TraversableContext traversableContext ) {
@@ -62,6 +154,19 @@ class PreferencePanel extends DefaultTraversablePanel {
62
154
clearScreenCheckBox. selected = info. clearScreen
63
155
autoExecuteCheckBox. selected = info. autoExecute
64
156
checkRunUtplsqlTestCheckBox. selected = info. checkRunUtplsqlTest
157
+ testPackagePrefixTextField. text = info. testPackagePrefix
158
+ testPackageSuffixTextField. text = info. testPackageSuffix
159
+ testUnitPrefixTextField. text = info. testUnitPrefix
160
+ testUnitSuffixTextField. text = info. testUnitSuffix
161
+ numberOfTestsPerUnitSpinner. value = info. numberOfTestsPerUnit
162
+ 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
65
170
super . onEntry(traversableContext)
66
171
}
67
172
@@ -72,6 +177,19 @@ class PreferencePanel extends DefaultTraversablePanel {
72
177
info. clearScreen = clearScreenCheckBox. selected
73
178
info. autoExecute = autoExecuteCheckBox. selected
74
179
info. checkRunUtplsqlTest = checkRunUtplsqlTestCheckBox. selected
180
+ info. testPackagePrefix = testPackagePrefixTextField. text
181
+ info. testPackageSuffix = testPackageSuffixTextField. text
182
+ info. testUnitPrefix = testUnitPrefixTextField. text
183
+ info. testUnitSuffix = testUnitSuffixTextField. text
184
+ info. numberOfTestsPerUnit = numberOfTestsPerUnitSpinner. value as Integer
185
+ 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
75
193
super . onExit(traversableContext)
76
194
}
77
195
0 commit comments