mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
XsltRunSettingsEditor. Toolbar decorator.
This commit is contained in:
+5
-28
@@ -148,41 +148,18 @@
|
||||
</component>
|
||||
</children>
|
||||
</grid>
|
||||
<grid id="30b22" layout-manager="GridLayoutManager" row-count="2" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<grid id="30b22" binding="myParametersPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
|
||||
<constraints>
|
||||
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="1" fill="3" indent="0" use-parent-layout="false"/>
|
||||
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="7" hsize-policy="3" anchor="1" fill="3" indent="0" use-parent-layout="false">
|
||||
<preferred-size width="-1" height="150"/>
|
||||
</grid>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<clientProperties>
|
||||
<BorderFactoryClass class="java.lang.String" value="com.intellij.ui.IdeBorderFactory$PlainSmallWithoutIndent"/>
|
||||
</clientProperties>
|
||||
<border type="none" title="Parameters"/>
|
||||
<children>
|
||||
<scrollpane id="fabc7" class="com.intellij.ui.components.JBScrollPane">
|
||||
<constraints>
|
||||
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<opaque value="true"/>
|
||||
</properties>
|
||||
<border type="none"/>
|
||||
<children>
|
||||
<component id="3ff92" class="com.intellij.util.ui.Table" binding="myParameters">
|
||||
<constraints/>
|
||||
<properties>
|
||||
<preferredScrollableViewportSize width="350" height="80"/>
|
||||
</properties>
|
||||
</component>
|
||||
</children>
|
||||
</scrollpane>
|
||||
<component id="ddf85" class="javax.swing.JPanel" binding="myParamsToolbar">
|
||||
<constraints>
|
||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
</component>
|
||||
</children>
|
||||
<children/>
|
||||
</grid>
|
||||
</children>
|
||||
</grid>
|
||||
|
||||
+17
-43
@@ -45,10 +45,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import com.intellij.ui.ComboboxWithBrowseButton;
|
||||
import com.intellij.ui.DocumentAdapter;
|
||||
import com.intellij.ui.PanelWithAnchor;
|
||||
import com.intellij.ui.RawCommandLineEditor;
|
||||
import com.intellij.ui.*;
|
||||
import com.intellij.ui.components.JBLabel;
|
||||
import com.intellij.ui.components.JBRadioButton;
|
||||
import com.intellij.ui.table.JBTable;
|
||||
@@ -79,36 +76,6 @@ class XsltRunSettingsEditor extends SettingsEditor<XsltRunConfiguration> {
|
||||
|
||||
private Editor myEditor;
|
||||
|
||||
static class AddParameterAction extends AnAction {
|
||||
private final JTable myParams;
|
||||
|
||||
public AddParameterAction(JTable params) {
|
||||
super("Add", "Add Parameter", IconLoader.getIcon("/general/add.png"));
|
||||
myParams = params;
|
||||
}
|
||||
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
((Editor.ParamTableModel)myParams.getModel()).addParam();
|
||||
}
|
||||
}
|
||||
|
||||
static class RemoveParameterAction extends AnAction {
|
||||
private final JTable myParams;
|
||||
|
||||
public RemoveParameterAction(JBTable paramModel) {
|
||||
super("Remove", "Remove Parameter", IconLoader.getIcon("/general/remove.png"));
|
||||
myParams = paramModel;
|
||||
}
|
||||
|
||||
public void update(AnActionEvent e) {
|
||||
e.getPresentation().setEnabled(myParams.getRowCount() > 0 && myParams.getSelectedRow() != -1);
|
||||
}
|
||||
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
((Editor.ParamTableModel)myParams.getModel()).removeParam(myParams.getSelectedRow());
|
||||
}
|
||||
}
|
||||
|
||||
static class Editor implements PanelWithAnchor {
|
||||
private JTabbedPane myComponent;
|
||||
|
||||
@@ -117,7 +84,6 @@ class XsltRunSettingsEditor extends SettingsEditor<XsltRunConfiguration> {
|
||||
private TextFieldWithBrowseButton myOutputFile;
|
||||
private JCheckBox myOpenOutputFile;
|
||||
private JCheckBox myOpenInBrowser;
|
||||
private JPanel myParamsToolbar;
|
||||
private JBTable myParameters;
|
||||
|
||||
private ButtonGroup myOutputOptions;
|
||||
@@ -139,6 +105,7 @@ class XsltRunSettingsEditor extends SettingsEditor<XsltRunConfiguration> {
|
||||
private JPanel myPanelSettings;
|
||||
private JPanel myPanelAdvanced;
|
||||
private JBLabel myXSLTScriptFileLabel;
|
||||
private JPanel myParametersPanel;
|
||||
private JComponent anchor;
|
||||
|
||||
private final AnyXMLDescriptor myXmlDescriptor;
|
||||
@@ -264,7 +231,7 @@ class XsltRunSettingsEditor extends SettingsEditor<XsltRunConfiguration> {
|
||||
});
|
||||
myFileType.setModel(new DefaultComboBoxModel(getFileTypes(project)));
|
||||
|
||||
myParameters.setModel(new ParamTableModel());
|
||||
myParameters = new JBTable(new ParamTableModel());
|
||||
myParameters.setDefaultRenderer(String.class, new DefaultTableCellRenderer() {
|
||||
public Component getTableCellRendererComponent(JTable table,
|
||||
Object value,
|
||||
@@ -287,6 +254,20 @@ class XsltRunSettingsEditor extends SettingsEditor<XsltRunConfiguration> {
|
||||
}
|
||||
});
|
||||
|
||||
myParametersPanel.add(
|
||||
ToolbarDecorator.createDecorator(myParameters)
|
||||
.setAddAction(new AnActionButtonRunnable() {
|
||||
@Override
|
||||
public void run(AnActionButton button) {
|
||||
((Editor.ParamTableModel)myParameters.getModel()).addParam();
|
||||
}
|
||||
}).setRemoveAction(new AnActionButtonRunnable() {
|
||||
@Override
|
||||
public void run(AnActionButton button) {
|
||||
((Editor.ParamTableModel)myParameters.getModel()).removeParam(myParameters.getSelectedRow());
|
||||
}
|
||||
}).createPanel(), BorderLayout.CENTER);
|
||||
|
||||
final Module[] modules = ModuleManager.getInstance(project).getModules();
|
||||
myModule.setModel(new DefaultComboBoxModel(ArrayUtil.mergeArrays(new Object[]{"<default>"}, modules)));
|
||||
myModule.setRenderer(new ListCellRendererWrapper(myModule) {
|
||||
@@ -347,13 +328,6 @@ class XsltRunSettingsEditor extends SettingsEditor<XsltRunConfiguration> {
|
||||
myWorkingDirectory
|
||||
.addBrowseFolderListener("Working Directory", null, project, FileChooserDescriptorFactory.createSingleFolderDescriptor());
|
||||
|
||||
final DefaultActionGroup group = new DefaultActionGroup();
|
||||
group.add(new AddParameterAction(myParameters));
|
||||
group.add(new RemoveParameterAction(myParameters));
|
||||
final ActionToolbar actionToolbar = ActionManager.getInstance().createActionToolbar("XsltRunSettingsEditor", group, true);
|
||||
myParamsToolbar.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
|
||||
myParamsToolbar.add(actionToolbar.getComponent());
|
||||
|
||||
myVmArguments.setDialogCaption("VM Arguments");
|
||||
|
||||
myPanelSettings.setBorder(new EmptyBorder(UIUtil.PANEL_SMALL_INSETS));
|
||||
|
||||
Reference in New Issue
Block a user