Skip to content

Commit 3e0d7be

Browse files
authored
Merge pull request #811 from bohdan-harniuk/bugfix/667-fix-dialog-window-disposition-issue
Bug-667: Fixed dialog disposition issue
2 parents 51905cc + 3766768 commit 3e0d7be

26 files changed

+144
-157
lines changed

src/com/magento/idea/magento2plugin/actions/generation/dialog/AbstractDialog.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,18 @@ protected void centerDialog(final AbstractDialog dialog) {
5959
dialog.setLocation(coordinateX, coordinateY);
6060
}
6161

62+
/**
63+
* Default on cancel action.
64+
*/
6265
protected void onCancel() {
63-
this.setVisible(false);
66+
this.exit();
67+
}
68+
69+
/**
70+
* Right way to hide dialog window.
71+
*/
72+
protected void exit() {
73+
dispose();
6474
}
6575

6676
/**

src/com/magento/idea/magento2plugin/actions/generation/dialog/CreateAPluginDialog.java

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -157,30 +157,28 @@ private void fillTargetAreaOptions() {
157157
}
158158

159159
protected void onOK() {
160-
if (!validateFormFields()) {
161-
return;
160+
if (validateFormFields()) {
161+
new PluginClassGenerator(new PluginFileData(
162+
getPluginDirectory(),
163+
getPluginClassName(),
164+
getPluginType(),
165+
getPluginModule(),
166+
targetClass,
167+
targetMethod,
168+
getPluginClassFqn(),
169+
getNamespace()
170+
), project).generate(CreateAPluginAction.ACTION_NAME, true);
171+
172+
new PluginDiXmlGenerator(new PluginDiXmlData(
173+
getPluginArea(),
174+
getPluginModule(),
175+
targetClass,
176+
getPluginSortOrder(),
177+
getPluginName(),
178+
getPluginClassFqn()
179+
), project).generate(CreateAPluginAction.ACTION_NAME);
162180
}
163-
new PluginClassGenerator(new PluginFileData(
164-
getPluginDirectory(),
165-
getPluginClassName(),
166-
getPluginType(),
167-
getPluginModule(),
168-
targetClass,
169-
targetMethod,
170-
getPluginClassFqn(),
171-
getNamespace()
172-
), project).generate(CreateAPluginAction.ACTION_NAME, true);
173-
174-
new PluginDiXmlGenerator(new PluginDiXmlData(
175-
getPluginArea(),
176-
getPluginModule(),
177-
targetClass,
178-
getPluginSortOrder(),
179-
getPluginName(),
180-
getPluginClassFqn()
181-
), project).generate(CreateAPluginAction.ACTION_NAME);
182-
183-
this.setVisible(false);
181+
exit();
184182
}
185183

186184
public String getPluginName() {

src/com/magento/idea/magento2plugin/actions/generation/dialog/CreateAnObserverDialog.java

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -150,27 +150,25 @@ private void fillTargetAreaOptions() {
150150
* Perform code generation using input data.
151151
*/
152152
private void onOK() {
153-
if (!validateFormFields()) {
154-
return;
153+
if (validateFormFields()) {
154+
new ObserverClassGenerator(new ObserverFileData(
155+
getObserverDirectory(),
156+
getObserverClassName(),
157+
getObserverModule(),
158+
targetEvent,
159+
getObserverClassFqn(),
160+
getNamespace()
161+
), project).generate(CreateAnObserverAction.ACTION_NAME, true);
162+
163+
new ObserverEventsXmlGenerator(new ObserverEventsXmlData(
164+
getObserverArea(),
165+
getObserverModule(),
166+
targetEvent,
167+
getObserverName(),
168+
getObserverClassFqn()
169+
), project).generate(CreateAPluginAction.ACTION_NAME);
155170
}
156-
new ObserverClassGenerator(new ObserverFileData(
157-
getObserverDirectory(),
158-
getObserverClassName(),
159-
getObserverModule(),
160-
targetEvent,
161-
getObserverClassFqn(),
162-
getNamespace()
163-
), project).generate(CreateAnObserverAction.ACTION_NAME, true);
164-
165-
new ObserverEventsXmlGenerator(new ObserverEventsXmlData(
166-
getObserverArea(),
167-
getObserverModule(),
168-
targetEvent,
169-
getObserverName(),
170-
getObserverClassFqn()
171-
), project).generate(CreateAPluginAction.ACTION_NAME);
172-
173-
this.setVisible(false);
171+
exit();
174172
}
175173

176174
public String getObserverClassName() {

src/com/magento/idea/magento2plugin/actions/generation/dialog/InjectAViewModelDialog.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ protected void updateArgumentText() {
138138

139139
protected void onOK() {
140140
if (!validateFormFields()) {
141+
exit();
141142
return;
142143
}
143144
final String moduleName = GetModuleNameByDirectoryUtil.execute(
@@ -168,6 +169,7 @@ protected void onOK() {
168169
JOptionPane.ERROR_MESSAGE
169170
);
170171

172+
exit();
171173
return;
172174
}
173175

@@ -176,9 +178,9 @@ protected void onOK() {
176178
this.getViewModelArgumentName(),
177179
XsiTypes.object.toString(),
178180
namespaceBuilder.getClassFqn()
179-
).generate(targetBlockTag);
181+
).generate(targetBlockTag);
180182

181-
this.setVisible(false);
183+
exit();
182184
}
183185

184186
public String getViewModelClassName() {

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewBlockDialog.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,10 @@ public static void open(final Project project, final PsiDirectory directory) {
111111
}
112112

113113
protected void onOK() {
114-
if (!validateFormFields()) {
115-
return;
114+
if (validateFormFields()) {
115+
generateFile();
116116
}
117-
generateFile();
118-
this.setVisible(false);
117+
exit();
119118
}
120119

121120
private PsiFile generateFile() {

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCLICommandDialog.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,11 +179,10 @@ public String getCLICommandClassFqn() {
179179
}
180180

181181
private void onOK() {
182-
if (!validateFormFields() || !isPHPClassValid()) {
183-
return;
182+
if (validateFormFields() && isPHPClassValid()) {
183+
this.generate();
184184
}
185-
this.generate();
186-
this.setVisible(false);
185+
exit();
187186
}
188187

189188
private Boolean isPHPClassValid() {

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewControllerDialog.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -194,12 +194,10 @@ public static void open(final Project project, final PsiDirectory directory) {
194194
}
195195

196196
private void onOK() {
197-
if (!validateFormFields()) {
198-
return;
197+
if (validateFormFields()) {
198+
generateFile();
199199
}
200-
201-
generateFile();
202-
this.setVisible(false);
200+
exit();
203201
}
204202

205203
/**

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronGroupDialog.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,12 +140,10 @@ public static void open(final Project project, final PsiDirectory directory) {
140140
}
141141

142142
private void onOK() {
143-
if (!validateFormFields()) {
144-
return;
143+
if (validateFormFields()) {
144+
generateFile();
145145
}
146-
147-
generateFile();
148-
this.setVisible(false);
146+
exit();
149147
}
150148

151149
@Override

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewCronjobDialog.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,7 @@ private String suggestCronjobName(final String cronjobClassname) {
281281
*/
282282
private void onOK() {
283283
if (!validateFormFields()) {
284+
exit();
284285
return;
285286
}
286287

@@ -298,7 +299,7 @@ private void onOK() {
298299

299300
// todo: catch validation exceptions
300301
this.generate(cronjobClassData, crontabXmlData);
301-
this.setVisible(false);
302+
exit();
302303
}
303304

304305
/**

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewDataModelDialog.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,8 @@ private void onOK() {
145145
generateDataModelInterfaceFile();
146146
generatePreferenceForInterface();
147147
}
148-
this.setVisible(false);
149148
}
149+
exit();
150150
}
151151

152152
@Override

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewDbSchemaDialog.java

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -135,21 +135,18 @@ private void onOK() {
135135
columnsTable.getCellEditor().stopCellEditing();
136136
}
137137

138-
if (!validateFormFields()) {
139-
return;
138+
if (validateFormFields()) {
139+
final DbSchemaXmlData dbSchemaXmlData = new DbSchemaXmlData(
140+
getTableName(),
141+
getTableResource(),
142+
getTableEngine(),
143+
getTableComment(),
144+
getColumns()
145+
);
146+
generateDbSchemaXmlFile(dbSchemaXmlData);
147+
generateWhitelistJsonFile(dbSchemaXmlData);
140148
}
141-
142-
final DbSchemaXmlData dbSchemaXmlData = new DbSchemaXmlData(
143-
getTableName(),
144-
getTableResource(),
145-
getTableEngine(),
146-
getTableComment(),
147-
getColumns()
148-
);
149-
generateDbSchemaXmlFile(dbSchemaXmlData);
150-
generateWhitelistJsonFile(dbSchemaXmlData);
151-
152-
this.setVisible(false);
149+
exit();
153150
}
154151

155152
/**

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEmailTemplateDialog.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,12 +206,14 @@ private String getModuleName() {
206206

207207
private void onOK() {
208208
final boolean emailTemplateCanBeDeclared = !this.validator.validate(this);
209+
209210
if (!validateFormFields() || emailTemplateCanBeDeclared) {
211+
exit();
210212
return;
211213
}
212-
213214
generateFile();
214-
this.setVisible(false);
215+
216+
exit();
215217
}
216218

217219
private void generateFile() {

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewEntityDialog.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ private void releaseDialogAfterGeneration() {
441441
buttonOK.setEnabled(true);
442442

443443
if (onOkActionFired.isFinished()) {
444-
this.setVisible(false);
444+
exit();
445445
}
446446
}
447447

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewGraphQlResolverDialog.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,10 @@ public static void open(final Project project, final PsiDirectory directory) {
109109
}
110110

111111
protected void onOK() {
112-
if (!validateFormFields()) {
113-
return;
112+
if (validateFormFields()) {
113+
generateFile();
114114
}
115-
generateFile();
116-
this.setVisible(false);
115+
exit();
117116
}
118117

119118
private PsiFile generateFile() {

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewInterfaceForServiceDialog.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -170,17 +170,15 @@ private void fillPredefinedValuesAndDisableInputs() {
170170
* Fire generation process if all fields are valid.
171171
*/
172172
private void onOK() {
173-
if (!validateFormFields()) {
174-
return;
175-
}
176-
final WebApiInterfaceData data = getDialogDataObject();
173+
if (validateFormFields()) {
174+
final WebApiInterfaceData data = getDialogDataObject();
177175

178-
new WebApiInterfaceGenerator(
179-
data,
180-
project
181-
).generate(NewWebApiInterfaceAction.ACTION_NAME, true);
182-
183-
this.setVisible(false);
176+
new WebApiInterfaceGenerator(
177+
data,
178+
project
179+
).generate(NewWebApiInterfaceAction.ACTION_NAME, true);
180+
}
181+
exit();
184182
}
185183

186184
/**

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewMessageQueueDialog.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,11 +244,12 @@ private void onOK() {
244244
generateTopology();
245245
generatePublisher();
246246
generateHandlerClass();
247+
247248
if (getConnectionName().equals(MessageQueueConnections.DB.getType())) {
248249
generateConsumerClass();
249250
}
250-
this.setVisible(false);
251251
}
252+
exit();
252253
}
253254

254255
private void generateCommunication() {

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModelsDialog.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -169,15 +169,12 @@ protected void onCancel() {
169169
* Process generation.
170170
*/
171171
private void onOK() {
172-
if (!validateFormFields()) {
173-
return;
172+
if (validateFormFields()) {
173+
generateModelFile();
174+
generateResourceModelFile();
175+
generateCollectionFile();
174176
}
175-
176-
generateModelFile();
177-
generateResourceModelFile();
178-
generateCollectionFile();
179-
180-
this.setVisible(false);
177+
exit();
181178
}
182179

183180
/**

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewModuleDialog.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,10 @@ private void detectPackageName(final @NotNull PsiDirectory initialBaseDir) {
172172
}
173173

174174
protected void onOK() {
175-
if (!validateFormFields()) {
176-
return;
175+
if (validateFormFields()) {
176+
generateFiles();
177177
}
178-
generateFiles();
179-
this.setVisible(false);
178+
exit();
180179
}
181180

182181
private void generateFiles() {

0 commit comments

Comments
 (0)