diff options
Diffstat (limited to 'java/src/IceGridGUI/EditorBase.java')
-rw-r--r-- | java/src/IceGridGUI/EditorBase.java | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/java/src/IceGridGUI/EditorBase.java b/java/src/IceGridGUI/EditorBase.java index 17734ae40ac..6b5d6c46e7c 100644 --- a/java/src/IceGridGUI/EditorBase.java +++ b/java/src/IceGridGUI/EditorBase.java @@ -42,21 +42,35 @@ public abstract class EditorBase return null; } - protected abstract void appendProperties(DefaultFormBuilder builder); + protected void appendProperties(DefaultFormBuilder builder) + { + } + + protected JComponent createPropertiesPanel() + { + return null; + } protected void buildPropertiesPanel() { - FormLayout layout = new FormLayout("right:pref, 3dlu, fill:pref:grow, 3dlu, pref", ""); - - DefaultFormBuilder builder = new DefaultFormBuilder(layout); - builder.border(Borders.DLU2); - builder.rowGroupingEnabled(true); - builder.lineGapSize(LayoutStyle.getCurrent().getLinePad()); + JComponent contents = createPropertiesPanel(); + + if(contents == null) + { + FormLayout layout = new FormLayout("right:pref, 3dlu, fill:pref:grow, 3dlu, pref", ""); - appendProperties(builder); + DefaultFormBuilder builder = new DefaultFormBuilder(layout); + builder.border(Borders.DLU2); + builder.rowGroupingEnabled(true); + builder.lineGapSize(LayoutStyle.getCurrent().getLinePad()); + appendProperties(builder); + + contents = builder.getPanel(); + } + JScrollPane scrollPane = - new JScrollPane(builder.getPanel(), + new JScrollPane(contents, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); |