Skip to content

Commit 88bd28b

Browse files
committed
Merge branch '4.0.0-develop' of github.com:magento/magento2-phpstorm-plugin into add-resource-to-web-api-dialog-form
2 parents 90cc3fd + 7895d34 commit 88bd28b

23 files changed

+126
-0
lines changed

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

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import java.awt.Container;
1717
import java.awt.Dimension;
1818
import java.awt.Toolkit;
19+
import java.awt.event.ComponentEvent;
20+
import java.awt.event.ComponentListener;
1921
import java.lang.reflect.Field;
2022
import java.util.LinkedList;
2123
import java.util.List;
@@ -247,4 +249,60 @@ private int getParentTabPaneForComponent(final @NotNull Container component) {
247249

248250
return getParentTabPaneForComponent(parent);
249251
}
252+
253+
/**
254+
* Listener that helps focus on a field for dialogues after it is opened.
255+
*
256+
* <p><b>This inner class designed to simplify focusing on a field for the
257+
* implementations of this abstract class.</b></p>
258+
* <p><b>To use this listener:</b></p>
259+
* <p>1) specify method in which desired field is focused:</p><br/>
260+
* <pre>
261+
* public void focusOnTheSampleField() {
262+
* sampleField.requestFocusInWindow();
263+
* }
264+
* </pre>
265+
*
266+
* <p>2) call in the constructor method:</p><br/>
267+
* <pre>
268+
* addComponentListener(
269+
* new FocusOnAFieldListener(this::focusOnTheSampleField)
270+
* )
271+
* </pre>
272+
*
273+
* @see #requestFocusInWindow()
274+
*/
275+
public static final class FocusOnAFieldListener implements ComponentListener {
276+
277+
private final @NotNull Runnable makeAFieldFocusedAction;
278+
279+
/**
280+
* Focus on a field listener constructor.
281+
*
282+
* @param makeAFieldFocused Runnable method in which desired field is focused.
283+
*/
284+
public FocusOnAFieldListener(final @NotNull Runnable makeAFieldFocused) {
285+
makeAFieldFocusedAction = makeAFieldFocused;
286+
}
287+
288+
@Override
289+
@SuppressWarnings("PMD.UncommentedEmptyMethodBody")
290+
public void componentResized(final ComponentEvent event) {
291+
}
292+
293+
@Override
294+
@SuppressWarnings("PMD.UncommentedEmptyMethodBody")
295+
public void componentMoved(final ComponentEvent event) {
296+
}
297+
298+
@Override
299+
public void componentShown(final ComponentEvent event) {
300+
makeAFieldFocusedAction.run();
301+
}
302+
303+
@Override
304+
@SuppressWarnings("PMD.UncommentedEmptyMethodBody")
305+
public void componentHidden(final ComponentEvent event) {
306+
}
307+
}
250308
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@ public void windowClosing(final WindowEvent event) {
140140
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
141141
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
142142
);
143+
144+
addComponentListener(new FocusOnAFieldListener(() -> pluginModule.requestFocusInWindow()));
143145
}
144146

145147
private void fillPluginTypeOptions() {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ public void windowClosing(final WindowEvent event) {
120120
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
121121
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
122122
);
123+
124+
addComponentListener(new FocusOnAFieldListener(() -> observerName.requestFocusInWindow()));
123125
}
124126

125127
/**

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,10 @@ public void windowClosing(final WindowEvent event) {
123123
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
124124
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
125125
);
126+
127+
addComponentListener(
128+
new FocusOnAFieldListener(() -> viewModelClassName.requestFocusInWindow())
129+
);
126130
}
127131

128132
protected void updateArgumentText() {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ public void windowClosing(final WindowEvent event) {
9393
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
9494
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
9595
);
96+
97+
addComponentListener(new FocusOnAFieldListener(() -> blockName.requestFocusInWindow()));
9698
}
9799

98100
/**

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,10 @@ public void windowClosing(final WindowEvent event) {
107107
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
108108
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
109109
);
110+
111+
addComponentListener(
112+
new FocusOnAFieldListener(() -> cliCommandClassNameField.requestFocusInWindow())
113+
);
110114
}
111115

112116
/**

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,10 @@ public void windowClosing(final WindowEvent event) {
107107
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
108108
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
109109
);
110+
111+
addComponentListener(
112+
new FocusOnAFieldListener(() -> controllerAreaSelect.requestFocusInWindow())
113+
);
110114
}
111115

112116
private String getModuleName() {

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ public void windowClosing(final WindowEvent event) {
100100
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
101101
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
102102
);
103+
104+
addComponentListener(
105+
new FocusOnAFieldListener(() -> cronGroupName.requestFocusInWindow())
106+
);
103107
}
104108

105109
/**

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,10 @@ public void windowClosing(final WindowEvent event) {
191191
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
192192
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
193193
);
194+
195+
addComponentListener(
196+
new FocusOnAFieldListener(() -> cronjobClassNameField.requestFocusInWindow())
197+
);
194198
}
195199

196200
/**

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ public void windowClosing(final WindowEvent event) {
115115
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
116116
JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
117117
);
118+
119+
addComponentListener(new FocusOnAFieldListener(() -> modelName.requestFocusInWindow()));
118120
}
119121

120122
/**

0 commit comments

Comments
 (0)