Skip to content

Commit 8442105

Browse files
committed
Fix CustomizerPanel #27
1 parent c74e050 commit 8442105

File tree

3 files changed

+58
-24
lines changed

3 files changed

+58
-24
lines changed

src/org/netbeans/modules/php/cake3/CakePHP3ModuleCustomizerExtender.java

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -130,30 +130,32 @@ public String getErrorMessage() {
130130
}
131131

132132
private void validate() {
133-
CakePHP3CustomizerValidator validator = new CakePHP3CustomizerValidator();
134-
FileObject srcDir = FileUtil.toFileObject(sourceDirectory);
135-
String rootPath = getPanel().getRoot();
136-
String srcPath = String.format("%s/%s", rootPath, getPanel().getSrc()).replaceAll("/+", "/");
137-
String wwwRootPath = String.format("%s/%s", rootPath, getPanel().getWWWRoot()).replaceAll("/+", "/");
138-
String cssPath = String.format("%s/%s", wwwRootPath, getPanel().getCss()).replaceAll("/+", "/");
139-
String imgPath = String.format("%s/%s", wwwRootPath, getPanel().getImg()).replaceAll("/+", "/");
140-
String jsPath = String.format("%s/%s", wwwRootPath, getPanel().getJs()).replaceAll("/+", "/");
141-
String dotcakePath = getPanel().getDotcakePath();
142-
ValidationResult result = validator.validateRootPath(srcDir, rootPath)
143-
.validateSrc(srcDir, srcPath)
144-
.validateWWWRoot(srcDir, wwwRootPath)
145-
.validateCss(srcDir, cssPath)
146-
.validateImg(srcDir, imgPath)
147-
.validateJs(srcDir, jsPath)
148-
.validateDotcake(srcDir, dotcakePath)
149-
.getResult();
150-
if (result.hasErrors()) {
151-
errorMessage = result.getErrors().get(0).getMessage();
152-
return;
153-
}
154-
if (result.hasWarnings()) {
155-
errorMessage = result.getWarnings().get(0).getMessage();
156-
return;
133+
if (getPanel().isCakePHP3Enabled()) {
134+
CakePHP3CustomizerValidator validator = new CakePHP3CustomizerValidator();
135+
FileObject srcDir = FileUtil.toFileObject(sourceDirectory);
136+
String rootPath = getPanel().getRoot();
137+
String srcPath = String.format("%s/%s", rootPath, getPanel().getSrc()).replaceAll("/+", "/");
138+
String wwwRootPath = String.format("%s/%s", rootPath, getPanel().getWWWRoot()).replaceAll("/+", "/");
139+
String cssPath = String.format("%s/%s", wwwRootPath, getPanel().getCss()).replaceAll("/+", "/");
140+
String imgPath = String.format("%s/%s", wwwRootPath, getPanel().getImg()).replaceAll("/+", "/");
141+
String jsPath = String.format("%s/%s", wwwRootPath, getPanel().getJs()).replaceAll("/+", "/");
142+
String dotcakePath = getPanel().getDotcakePath();
143+
ValidationResult result = validator.validateRootPath(srcDir, rootPath)
144+
.validateSrc(srcDir, srcPath)
145+
.validateWWWRoot(srcDir, wwwRootPath)
146+
.validateCss(srcDir, cssPath)
147+
.validateImg(srcDir, imgPath)
148+
.validateJs(srcDir, jsPath)
149+
.validateDotcake(srcDir, dotcakePath)
150+
.getResult();
151+
if (result.hasErrors()) {
152+
errorMessage = result.getErrors().get(0).getMessage();
153+
return;
154+
}
155+
if (result.hasWarnings()) {
156+
errorMessage = result.getWarnings().get(0).getMessage();
157+
return;
158+
}
157159
}
158160

159161
// everything ok

src/org/netbeans/modules/php/cake3/ui/customizer/CakePHP3CustomizerPanel.form

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,9 @@
150150
<ResourceString bundle="org/netbeans/modules/php/cake3/ui/customizer/Bundle.properties" key="CakePHP3CustomizerPanel.enabledCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
151151
</Property>
152152
</Properties>
153+
<Events>
154+
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="enabledCheckBoxActionPerformed"/>
155+
</Events>
153156
</Component>
154157
<Component class="javax.swing.JLabel" name="enabledMessageLabel">
155158
<Properties>

src/org/netbeans/modules/php/cake3/ui/customizer/CakePHP3CustomizerPanel.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@
4141
*/
4242
package org.netbeans.modules.php.cake3.ui.customizer;
4343

44+
import java.awt.Component;
45+
import java.awt.event.ItemEvent;
46+
import java.awt.event.ItemListener;
4447
import javax.swing.event.ChangeListener;
4548
import javax.swing.event.DocumentEvent;
4649
import javax.swing.event.DocumentListener;
@@ -74,10 +77,17 @@ private void init() {
7477
imgTextField.getDocument().addDocumentListener(documentListener);
7578
jsTextField.getDocument().addDocumentListener(documentListener);
7679
dotcakeTextField.getDocument().addDocumentListener(documentListener);
80+
enabledCheckBox.addItemListener(new ItemListener() {
81+
@Override
82+
public void itemStateChanged(ItemEvent e) {
83+
fireChange();
84+
}
85+
});
7786
}
7887

7988
public void setCakePHP3Enabled(boolean isEnabled) {
8089
enabledCheckBox.setSelected(isEnabled);
90+
setAllComponentsEnabled(isEnabled);
8191
}
8292

8393
public boolean isCakePHP3Enabled() {
@@ -148,6 +158,16 @@ public void setDotcakePath(String path) {
148158
dotcakeTextField.setText(path);
149159
}
150160

161+
private void setAllComponentsEnabled(boolean isEnabled) {
162+
Component[] components = getComponents();
163+
for (Component component : components) {
164+
if (component == enabledCheckBox || component == enabledMessageLabel || component == generalLabel) {
165+
continue;
166+
}
167+
component.setEnabled(isEnabled);
168+
}
169+
}
170+
151171
public void addChangeListener(ChangeListener listener) {
152172
changeSupport.addChangeListener(listener);
153173
}
@@ -193,6 +213,11 @@ private void initComponents() {
193213
org.openide.awt.Mnemonics.setLocalizedText(generalLabel, org.openide.util.NbBundle.getMessage(CakePHP3CustomizerPanel.class, "CakePHP3CustomizerPanel.generalLabel.text")); // NOI18N
194214

195215
org.openide.awt.Mnemonics.setLocalizedText(enabledCheckBox, org.openide.util.NbBundle.getMessage(CakePHP3CustomizerPanel.class, "CakePHP3CustomizerPanel.enabledCheckBox.text")); // NOI18N
216+
enabledCheckBox.addActionListener(new java.awt.event.ActionListener() {
217+
public void actionPerformed(java.awt.event.ActionEvent evt) {
218+
enabledCheckBoxActionPerformed(evt);
219+
}
220+
});
196221

197222
org.openide.awt.Mnemonics.setLocalizedText(enabledMessageLabel, org.openide.util.NbBundle.getMessage(CakePHP3CustomizerPanel.class, "CakePHP3CustomizerPanel.enabledMessageLabel.text")); // NOI18N
198223

@@ -328,6 +353,10 @@ private void initComponents() {
328353
);
329354
}// </editor-fold>//GEN-END:initComponents
330355

356+
private void enabledCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_enabledCheckBoxActionPerformed
357+
setAllComponentsEnabled(isCakePHP3Enabled());
358+
}//GEN-LAST:event_enabledCheckBoxActionPerformed
359+
331360
// Variables declaration - do not modify//GEN-BEGIN:variables
332361
private javax.swing.JLabel cssLabel;
333362
private javax.swing.JTextField cssTextField;

0 commit comments

Comments
 (0)