@@ -27,6 +27,9 @@ import oracle.ide.panels.TraversalException
27
27
import oracle.javatools.ui.layout.FieldLayoutBuilder
28
28
import org.utplsql.sqldev.model.preference.PreferenceModel
29
29
import org.utplsql.sqldev.resources.UtplsqlResources
30
+ import javax.swing.JButton
31
+ import java.awt.event.ActionEvent
32
+ import java.awt.event.ActionListener
30
33
31
34
class PreferencePanel extends DefaultTraversablePanel {
32
35
val JPanel runTestPanel = new JPanel ();
@@ -43,12 +46,23 @@ class PreferencePanel extends DefaultTraversablePanel {
43
46
val SpinnerNumberModel numberOfTestsPerUnitModel = new SpinnerNumberModel (1 , 1 , 10 , 1 );
44
47
val JSpinner numberOfTestsPerUnitSpinner = new JSpinner (numberOfTestsPerUnitModel);
45
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 ();
46
59
47
60
new () {
48
61
layoutControls()
49
62
}
50
63
51
64
def private layoutControls () {
65
+ // run test group
52
66
runTestPanel. border = BorderFactory . createTitledBorder(UtplsqlResources . getString(" MENU_RUN_TEST_LABEL" ))
53
67
val FieldLayoutBuilder b1 = new FieldLayoutBuilder (runTestPanel)
54
68
b1. alignLabelsLeft = true
@@ -67,6 +81,7 @@ class PreferencePanel extends DefaultTraversablePanel {
67
81
b1. add(
68
82
b1. field. label. withText(UtplsqlResources . getString(" PREF_CHECK_RUN_UTPLSQL_TEST_LABEL" )). component(
69
83
checkRunUtplsqlTestCheckBox))
84
+ // generate test group
70
85
generateTestPanel. border = BorderFactory . createTitledBorder(UtplsqlResources . getString(" MENU_GENERATE_TEST_LABEL" ))
71
86
val FieldLayoutBuilder b2 = new FieldLayoutBuilder (generateTestPanel)
72
87
b2. alignLabelsLeft = true
@@ -83,16 +98,53 @@ class PreferencePanel extends DefaultTraversablePanel {
83
98
b2. field. label. withText(UtplsqlResources . getString(" PREF_TEST_UNIT_SUFFIX_LABEL" )). component(
84
99
testUnitSuffixTextField))
85
100
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(
87
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))
88
115
b2. add(
89
116
b2. field. label. withText(UtplsqlResources . getString(" PREF_CHECK_GENERATE_UTPLSQL_TEST_LABEL" )). component(
90
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
91
134
val FieldLayoutBuilder builder = new FieldLayoutBuilder (this )
92
135
builder. alignLabelsLeft = true
93
136
builder. addVerticalField(" " , runTestPanel)
94
137
builder. addVerticalField(" " , generateTestPanel)
138
+ builder. addVerticalField(" " , oddgenPanel)
95
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
+ })
96
148
}
97
149
98
150
override onEntry (TraversableContext traversableContext ) {
@@ -108,6 +160,13 @@ class PreferencePanel extends DefaultTraversablePanel {
108
160
testUnitSuffixTextField. text = info. testUnitSuffix
109
161
numberOfTestsPerUnitSpinner. value = info. numberOfTestsPerUnit
110
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
111
170
super . onEntry(traversableContext)
112
171
}
113
172
@@ -124,6 +183,13 @@ class PreferencePanel extends DefaultTraversablePanel {
124
183
info. testUnitSuffix = testUnitSuffixTextField. text
125
184
info. numberOfTestsPerUnit = numberOfTestsPerUnitSpinner. value as Integer
126
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
127
193
super . onExit(traversableContext)
128
194
}
129
195
0 commit comments