Browse Source

Merge pull request #1563 in BA/design from ~PLOUGH/design:feature/9.0 to feature/9.0

* commit '6e4273a6633ff168b75c926003cd5d99235b7075':
  REPORT-6258 tab标签右击时原本的移动功能被覆盖了=>调整代码
  REPORT-6270 参数面板里的相关bug=>调整代码
  REPORT-6258 tab标签右击时原本的移动功能被覆盖了=>非绝对布局下,排序按钮灰化
  REPORT-6258 tab标签右击时原本的移动功能被覆盖了
  REPORT-6270 参数面板里的相关bug=>2 frm里,添加了参数面板后,右侧控件树没有实时选中到para;而且添加或者删除了模板参数,也没有选中para
  REPORT-6270 参数面板里的相关bug=>1 参数面板限高调整
superman 7 years ago
parent
commit
e57944d7e7
  1. 1
      designer_base/src/com/fr/design/gui/imenu/UIPopupMenu.java
  2. 3
      designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java
  3. 4
      designer_form/src/com/fr/design/designer/creator/XCreator.java
  4. 8
      designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java
  5. 5
      designer_form/src/com/fr/design/designer/creator/XWAbsoluteLayout.java
  6. 18
      designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java
  7. 20
      designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java
  8. 30
      designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java
  9. 15
      designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java
  10. 5
      designer_form/src/com/fr/design/mainframe/EditingMouseListener.java
  11. 13
      designer_form/src/com/fr/design/mainframe/FormDesigner.java
  12. 12
      designer_form/src/com/fr/design/mainframe/FormHierarchyTreePane.java
  13. 13
      designer_form/src/com/fr/design/parameter/ParameterPropertyPane.java

1
designer_base/src/com/fr/design/gui/imenu/UIPopupMenu.java

@ -10,6 +10,7 @@ import com.fr.design.constants.UIConstants;
public class UIPopupMenu extends JPopupMenu{ public class UIPopupMenu extends JPopupMenu{
private static final float REC = 8f; private static final float REC = 8f;
private boolean onlyText = false; private boolean onlyText = false;
public static UIPopupMenu EMPTY = new UIPopupMenu();
public UIPopupMenu() { public UIPopupMenu() {
super(); super();
setBackground(UIConstants.NORMAL_BACKGROUND); setBackground(UIConstants.NORMAL_BACKGROUND);

3
designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java

@ -499,7 +499,6 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
private boolean isEnabled = true; // 是否可用 private boolean isEnabled = true; // 是否可用
private Set<PropertyMode> visibleModes; private Set<PropertyMode> visibleModes;
private Set<PropertyMode> enableModes; private Set<PropertyMode> enableModes;
private static final int MAX_PARA_HEIGHT = 240;
// 完整icon路径为 ICON_BASE_DIR + btnIconName + iconSuffix // 完整icon路径为 ICON_BASE_DIR + btnIconName + iconSuffix
private static final String ICON_BASE_DIR = "/com/fr/design/images/buttonicon/propertiestab/"; private static final String ICON_BASE_DIR = "/com/fr/design/images/buttonicon/propertiestab/";
@ -621,8 +620,6 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
public void replaceHeaderPane(JComponent pane) { public void replaceHeaderPane(JComponent pane) {
contentArea.remove(headerPane); contentArea.remove(headerPane);
int height = Math.min(pane.getPreferredSize().height, MAX_PARA_HEIGHT);
pane.setPreferredSize(new Dimension(pane.getPreferredSize().width, height));
headerPane = pane; headerPane = pane;
contentArea.add(headerPane, BorderLayout.NORTH); contentArea.add(headerPane, BorderLayout.NORTH);

4
designer_form/src/com/fr/design/designer/creator/XCreator.java

@ -688,9 +688,9 @@ public abstract class XCreator extends JPanel implements XComponent, XCreatorToo
* 创建右击弹出菜单 * 创建右击弹出菜单
* *
*/ */
public JPopupMenu createPopupMenu(FormDesigner formDesigner) { public UIPopupMenu createPopupMenu(FormDesigner formDesigner) {
UpdateAction[] actions = formDesigner.getActions(); UpdateAction[] actions = formDesigner.getActions();
JPopupMenu popup = new UIPopupMenu(); UIPopupMenu popup = new UIPopupMenu();
for (int i = 0; i < actions.length; i++) { for (int i = 0; i < actions.length; i++) {
if (i == SHORTS_SEPARATOR_POS) { if (i == SHORTS_SEPARATOR_POS) {
popup.addSeparator(); popup.addSeparator();

8
designer_form/src/com/fr/design/designer/creator/XLayoutContainer.java

@ -564,4 +564,12 @@ public abstract class XLayoutContainer extends XBorderStyleWidgetCreator impleme
return false; return false;
} }
/**
* 内部组件是否支持叠加顺序的调整
* return boolean
*/
public boolean supportInnerOrderChangeActions() {
return false;
}
} }

5
designer_form/src/com/fr/design/designer/creator/XWAbsoluteLayout.java

@ -513,4 +513,9 @@ public class XWAbsoluteLayout extends XLayoutContainer {
widget.setBounds(xCreator.getBounds()); widget.setBounds(xCreator.getBounds());
} }
} }
@Override
public boolean supportInnerOrderChangeActions() {
return true;
}
} }

18
designer_form/src/com/fr/design/designer/creator/cardlayout/XCardAddButton.java

@ -1,13 +1,5 @@
package com.fr.design.designer.creator.cardlayout; package com.fr.design.designer.creator.cardlayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import javax.swing.Icon;
import com.fr.base.BaseUtils; import com.fr.base.BaseUtils;
import com.fr.base.background.ColorBackground; import com.fr.base.background.ColorBackground;
import com.fr.design.designer.beans.AdapterBus; import com.fr.design.designer.beans.AdapterBus;
@ -15,6 +7,7 @@ import com.fr.design.designer.beans.ComponentAdapter;
import com.fr.design.designer.beans.models.SelectionModel; import com.fr.design.designer.beans.models.SelectionModel;
import com.fr.design.designer.creator.XButton; import com.fr.design.designer.creator.XButton;
import com.fr.design.designer.creator.XLayoutContainer; import com.fr.design.designer.creator.XLayoutContainer;
import com.fr.design.gui.imenu.UIPopupMenu;
import com.fr.design.mainframe.EditingMouseListener; import com.fr.design.mainframe.EditingMouseListener;
import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormDesigner;
import com.fr.design.mainframe.FormHierarchyTreePane; import com.fr.design.mainframe.FormHierarchyTreePane;
@ -25,6 +18,10 @@ import com.fr.form.ui.container.cardlayout.WCardTagLayout;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.general.Inter; import com.fr.general.Inter;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
public class XCardAddButton extends XButton{ public class XCardAddButton extends XButton{
private XWCardTagLayout tagLayout; private XWCardTagLayout tagLayout;
@ -110,6 +107,11 @@ public class XCardAddButton extends XButton{
tagLayout.setTabsAndAdjust(); tagLayout.setTabsAndAdjust();
LayoutUtils.layoutRootContainer(designer.getRootComponent()); LayoutUtils.layoutRootContainer(designer.getRootComponent());
} }
@Override
public UIPopupMenu createPopupMenu(FormDesigner formDesigner) {
return UIPopupMenu.EMPTY; // 不要菜单
}
private void initRelateLayout(){ private void initRelateLayout(){
XWCardTitleLayout titleLayout = (XWCardTitleLayout)this.getBackupParent(); XWCardTitleLayout titleLayout = (XWCardTitleLayout)this.getBackupParent();

20
designer_form/src/com/fr/design/designer/creator/cardlayout/XCardSwitchButton.java

@ -14,6 +14,7 @@ import com.fr.design.designer.creator.XCreator;
import com.fr.design.designer.creator.XLayoutContainer; import com.fr.design.designer.creator.XLayoutContainer;
import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.file.HistoryTemplateListPane;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.imenu.UIPopupMenu;
import com.fr.design.mainframe.EditingMouseListener; import com.fr.design.mainframe.EditingMouseListener;
import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormDesigner;
import com.fr.design.mainframe.FormHierarchyTreePane; import com.fr.design.mainframe.FormHierarchyTreePane;
@ -32,19 +33,9 @@ import com.fr.general.FRFont;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.stable.unit.PT; import com.fr.stable.unit.PT;
import javax.swing.Action; import javax.swing.*;
import javax.swing.Icon;
import javax.swing.JComponent;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
import javax.swing.plaf.basic.BasicLabelUI; import javax.swing.plaf.basic.BasicLabelUI;
import java.awt.Color; import java.awt.*;
import java.awt.Dimension;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.awt.geom.Rectangle2D; import java.awt.geom.Rectangle2D;
import java.util.ArrayList; import java.util.ArrayList;
@ -224,6 +215,11 @@ public class XCardSwitchButton extends XButton {
GUICoreUtils.showPopupMenu(jPopupMenu, editingMouseListener.getDesigner(), e.getX(), e.getY()); GUICoreUtils.showPopupMenu(jPopupMenu, editingMouseListener.getDesigner(), e.getX(), e.getY());
} }
@Override
public UIPopupMenu createPopupMenu(FormDesigner formDesigner) {
return UIPopupMenu.EMPTY; // 自己有一个showPopupMenu,不需要使用通用的弹出菜单
}
//删除card,同时修改其他switchbutton和tabfit的index //删除card,同时修改其他switchbutton和tabfit的index
private void deleteCard(XCardSwitchButton button,int index){ private void deleteCard(XCardSwitchButton button,int index){
String titleName = button.getContentLabel().getText(); String titleName = button.getContentLabel().getText();

30
designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java

@ -3,17 +3,6 @@
*/ */
package com.fr.design.designer.creator.cardlayout; package com.fr.design.designer.creator.cardlayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Rectangle;
import java.awt.event.ContainerEvent;
import java.awt.event.MouseEvent;
import java.util.HashMap;
import java.util.Map;
import javax.swing.border.Border;
import com.fr.base.GraphHelper; import com.fr.base.GraphHelper;
import com.fr.base.ScreenResolution; import com.fr.base.ScreenResolution;
import com.fr.design.designer.beans.AdapterBus; import com.fr.design.designer.beans.AdapterBus;
@ -22,15 +11,12 @@ import com.fr.design.designer.beans.LayoutAdapter;
import com.fr.design.designer.beans.adapters.layout.FRHorizontalLayoutAdapter; import com.fr.design.designer.beans.adapters.layout.FRHorizontalLayoutAdapter;
import com.fr.design.designer.beans.adapters.layout.FRVerticalLayoutAdapter; import com.fr.design.designer.beans.adapters.layout.FRVerticalLayoutAdapter;
import com.fr.design.designer.beans.models.SelectionModel; import com.fr.design.designer.beans.models.SelectionModel;
import com.fr.design.designer.creator.XCreator; import com.fr.design.designer.creator.*;
import com.fr.design.designer.creator.XCreatorUtils;
import com.fr.design.designer.creator.XLayoutContainer;
import com.fr.design.designer.creator.XWHorizontalBoxLayout;
import com.fr.design.designer.creator.XWidgetCreator;
import com.fr.design.form.layout.FRFlowLayout; import com.fr.design.form.layout.FRFlowLayout;
import com.fr.design.form.layout.FRHorizontalLayout; import com.fr.design.form.layout.FRHorizontalLayout;
import com.fr.design.form.layout.FRVerticalLayout; import com.fr.design.form.layout.FRVerticalLayout;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.imenu.UIPopupMenu;
import com.fr.design.mainframe.EditingMouseListener; import com.fr.design.mainframe.EditingMouseListener;
import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormDesigner;
import com.fr.design.mainframe.WidgetPropertyPane; import com.fr.design.mainframe.WidgetPropertyPane;
@ -43,6 +29,13 @@ import com.fr.form.ui.container.cardlayout.WTabFitLayout;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.general.FRFont; import com.fr.general.FRFont;
import javax.swing.border.Border;
import java.awt.*;
import java.awt.event.ContainerEvent;
import java.awt.event.MouseEvent;
import java.util.HashMap;
import java.util.Map;
/** /**
* @date: 2014-11-25-下午3:11:14 * @date: 2014-11-25-下午3:11:14
*/ */
@ -242,6 +235,11 @@ public class XWCardTagLayout extends XWHorizontalBoxLayout {
} }
} }
@Override
public UIPopupMenu createPopupMenu(FormDesigner formDesigner) {
return UIPopupMenu.EMPTY; // 不要菜单
}
@Override @Override
public int[] getDirections() { public int[] getDirections() {
return ((XCreator)getParent()).getDirections(); return ((XCreator)getParent()).getDirections();

15
designer_form/src/com/fr/design/designer/creator/cardlayout/XWTabFitLayout.java

@ -11,15 +11,16 @@ import com.fr.design.designer.creator.XLayoutContainer;
import com.fr.design.designer.creator.XWFitLayout; import com.fr.design.designer.creator.XWFitLayout;
import com.fr.design.form.util.XCreatorConstants; import com.fr.design.form.util.XCreatorConstants;
import com.fr.design.fun.WidgetPropertyUIProvider; import com.fr.design.fun.WidgetPropertyUIProvider;
import com.fr.design.gui.imenu.UIPopupMenu;
import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormDesigner;
import com.fr.design.mainframe.FormHierarchyTreePane; import com.fr.design.mainframe.FormHierarchyTreePane;
import com.fr.design.mainframe.widget.editors.ButtonTypeEditor; import com.fr.design.mainframe.widget.editors.ButtonTypeEditor;
import com.fr.design.mainframe.widget.editors.ImgBackgroundEditor; import com.fr.design.mainframe.widget.editors.ImgBackgroundEditor;
import com.fr.design.utils.gui.LayoutUtils; import com.fr.design.utils.gui.LayoutUtils;
import com.fr.form.ui.CardSwitchButton; import com.fr.form.ui.CardSwitchButton;
import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget;
import com.fr.form.ui.container.cardlayout.WCardTagLayout; import com.fr.form.ui.container.cardlayout.WCardTagLayout;
import com.fr.form.ui.container.cardlayout.WTabFitLayout; import com.fr.form.ui.container.cardlayout.WTabFitLayout;
import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget;
import com.fr.general.Background; import com.fr.general.Background;
import com.fr.general.FRLogger; import com.fr.general.FRLogger;
import com.fr.general.Inter; import com.fr.general.Inter;
@ -27,12 +28,7 @@ import com.fr.stable.ArrayUtils;
import com.fr.stable.core.PropertyChangeAdapter; import com.fr.stable.core.PropertyChangeAdapter;
import javax.swing.border.Border; import javax.swing.border.Border;
import java.awt.Color; import java.awt.*;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Rectangle;
import java.beans.IntrospectionException; import java.beans.IntrospectionException;
@ -103,6 +99,11 @@ public class XWTabFitLayout extends XWFitLayout {
super(widget, initSize); super(widget, initSize);
} }
@Override
public UIPopupMenu createPopupMenu(FormDesigner formDesigner) {
return UIPopupMenu.EMPTY; // 不要菜单
}
/** /**
* 得到属性名 * 得到属性名
* @return 属性名 * @return 属性名

5
designer_form/src/com/fr/design/mainframe/EditingMouseListener.java

@ -14,6 +14,7 @@ import com.fr.design.designer.creator.cardlayout.XCardSwitchButton;
import com.fr.design.designer.creator.cardlayout.XWCardLayout; import com.fr.design.designer.creator.cardlayout.XWCardLayout;
import com.fr.design.form.util.XCreatorConstants; import com.fr.design.form.util.XCreatorConstants;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.imenu.UIPopupMenu;
import com.fr.design.gui.xpane.ToolTipEditor; import com.fr.design.gui.xpane.ToolTipEditor;
import com.fr.design.icon.IconPathConstants; import com.fr.design.icon.IconPathConstants;
import com.fr.design.utils.ComponentUtils; import com.fr.design.utils.ComponentUtils;
@ -540,8 +541,8 @@ public class EditingMouseListener extends MouseInputAdapter {
if (creator != null) { if (creator != null) {
creator.respondClick(this, e); creator.respondClick(this, e);
if (e.getButton() == MouseEvent.BUTTON3) { if (e.getButton() == MouseEvent.BUTTON3) {
JPopupMenu cellPopupMenu = creator.createPopupMenu(designer); UIPopupMenu cellPopupMenu = creator.createPopupMenu(designer);
if (cellPopupMenu != null) { if (cellPopupMenu != UIPopupMenu.EMPTY) {
GUICoreUtils.showPopupMenu(cellPopupMenu, designer, e.getX(), e.getY()); GUICoreUtils.showPopupMenu(cellPopupMenu, designer, e.getX(), e.getY());
} }
} }

13
designer_form/src/com/fr/design/mainframe/FormDesigner.java

@ -46,7 +46,6 @@ import com.fr.general.ComparatorUtils;
import com.fr.general.FRLogger; import com.fr.general.FRLogger;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.stable.ArrayUtils; import com.fr.stable.ArrayUtils;
import com.fr.stable.CoreGraphHelper;
import com.fr.stable.bridge.StableFactory; import com.fr.stable.bridge.StableFactory;
import javax.swing.*; import javax.swing.*;
@ -148,7 +147,6 @@ public class FormDesigner extends TargetComponent<Form> implements TreeSelection
new FormDesignerDropTarget(this);// 添加Drag and Drop. new FormDesignerDropTarget(this);// 添加Drag and Drop.
this.switchAction = switchAction; this.switchAction = switchAction;
populateParameterPropertyPane();
} }
/** /**
@ -1013,6 +1011,9 @@ public class FormDesigner extends TargetComponent<Form> implements TreeSelection
*/ */
@Override @Override
public void valueChanged(TreeSelectionEvent e) { public void valueChanged(TreeSelectionEvent e) {
if (DesignerContext.getDesignerFrame().getSelectedJTemplate() == null) { // 初始化完成前,不响应事件
return;
}
ComponentTree tree = (ComponentTree) e.getSource(); ComponentTree tree = (ComponentTree) e.getSource();
TreePath[] paths = tree.getSelectionPaths(); TreePath[] paths = tree.getSelectionPaths();
@ -1139,8 +1140,8 @@ public class FormDesigner extends TargetComponent<Form> implements TreeSelection
// 当前选中控件可以上移一层吗? // 当前选中控件可以上移一层吗?
public boolean isCurrentComponentMovableUp() { public boolean isCurrentComponentMovableUp() {
XCreator creator = getSelectionModel().getSelection().getSelectedCreator(); XCreator creator = getSelectionModel().getSelection().getSelectedCreator();
Container container = creator.getParent(); XLayoutContainer container = (XLayoutContainer) creator.getParent();
if (container == null) { if (container == null || !container.supportInnerOrderChangeActions()) {
return false; return false;
} }
return creator.isMovable() && container.getComponentZOrder(creator) > 0; return creator.isMovable() && container.getComponentZOrder(creator) > 0;
@ -1149,8 +1150,8 @@ public class FormDesigner extends TargetComponent<Form> implements TreeSelection
// 当前选中控件可以下移一层吗? // 当前选中控件可以下移一层吗?
public boolean isCurrentComponentMovableDown() { public boolean isCurrentComponentMovableDown() {
XCreator creator = getSelectionModel().getSelection().getSelectedCreator(); XCreator creator = getSelectionModel().getSelection().getSelectedCreator();
Container container = creator.getParent(); XLayoutContainer container = (XLayoutContainer) creator.getParent();
if (container == null) { if (container == null || !container.supportInnerOrderChangeActions()) {
return false; return false;
} }
return creator.isMovable() && container.getComponentZOrder(creator) < container.getComponentCount() - 1; return creator.isMovable() && container.getComponentZOrder(creator) < container.getComponentCount() - 1;

12
designer_form/src/com/fr/design/mainframe/FormHierarchyTreePane.java

@ -13,7 +13,6 @@ import com.fr.design.gui.controlpane.ShortCut4JControlPane;
import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.itoolbar.UIToolBarUI; import com.fr.design.gui.itoolbar.UIToolBarUI;
import com.fr.design.gui.itoolbar.UIToolbar; import com.fr.design.gui.itoolbar.UIToolbar;
import com.fr.design.gui.style.BorderPane;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.menu.ShortCut; import com.fr.design.menu.ShortCut;
import com.fr.design.menu.ToolBarDef; import com.fr.design.menu.ToolBarDef;
@ -96,8 +95,7 @@ public class FormHierarchyTreePane extends FormDockView implements HierarchyTree
formDesigner.addDesignerEditListener(new DesignerEditListener() { formDesigner.addDesignerEditListener(new DesignerEditListener() {
@Override @Override
public void fireCreatorModified(DesignerEvent evt) { public void fireCreatorModified(DesignerEvent evt) {
componentTree.setAndScrollSelectionPath(componentTree.getSelectedTreePath()); refreshComponentTree();
componentTree.refreshUI();
} }
}); });
@ -110,6 +108,14 @@ public class FormHierarchyTreePane extends FormDockView implements HierarchyTree
} }
add(getWidgetPane(), BorderLayout.CENTER); add(getWidgetPane(), BorderLayout.CENTER);
// 这里要刷新一下,否则控件树中没有任何一个控件处于选中状态
refreshComponentTree();
}
private void refreshComponentTree() {
componentTree.setAndScrollSelectionPath(componentTree.getSelectedTreePath());
componentTree.refreshUI();
} }
private JPanel getWidgetPane() { private JPanel getWidgetPane() {

13
designer_form/src/com/fr/design/parameter/ParameterPropertyPane.java

@ -26,6 +26,7 @@ public class ParameterPropertyPane extends JPanel{
private static final int PADDING_SMALL = 5; private static final int PADDING_SMALL = 5;
private static final int PADDING_MIDDLE = 10; private static final int PADDING_MIDDLE = 10;
private static final int PADDING_LARGE = 15; private static final int PADDING_LARGE = 15;
private static final int ADD_PARA_PANE_MAX_HEIGHT = 95;
public static final ParameterPropertyPane getInstance() { public static final ParameterPropertyPane getInstance() {
if (THIS == null) { if (THIS == null) {
@ -86,6 +87,7 @@ public class ParameterPropertyPane extends JPanel{
// 显示或隐藏添加参数面板 // 显示或隐藏添加参数面板
public void refreshState(JTemplate jt) { public void refreshState(JTemplate jt) {
setAddParaPaneVisible(toolbarPane.hasSelectedLabelItem(), jt); setAddParaPaneVisible(toolbarPane.hasSelectedLabelItem(), jt);
updateAddParaPaneSize();
} }
// 显示或隐藏添加参数面板 // 显示或隐藏添加参数面板
@ -93,6 +95,16 @@ public class ParameterPropertyPane extends JPanel{
refreshState(DesignerContext.getDesignerFrame().getSelectedJTemplate()); refreshState(DesignerContext.getDesignerFrame().getSelectedJTemplate());
} }
private void updateAddParaPaneSize() {
if (!addParaPane.isVisible()) {
return;
}
addParaPane.setPreferredSize(null);
int height = Math.min(addParaPane.getPreferredSize().height, ADD_PARA_PANE_MAX_HEIGHT);
addParaPane.setPreferredSize(new Dimension(addParaPane.getPreferredSize().width, height));
repaintContainer();
}
public void setAddParaPaneVisible(boolean isVisible, JTemplate jt) { public void setAddParaPaneVisible(boolean isVisible, JTemplate jt) {
if (isVisible == addParaPane.isVisible() || formHierarchyTreePaneWrapper == null) { if (isVisible == addParaPane.isVisible() || formHierarchyTreePaneWrapper == null) {
return; return;
@ -112,7 +124,6 @@ public class ParameterPropertyPane extends JPanel{
addParaPane.setVisible(false); addParaPane.setVisible(false);
this.setPreferredSize(new Dimension(getWidth(), formHierarchyTreePaneWrapper.getPreferredSize().height + UIConstants.GAP_NORMAL)); this.setPreferredSize(new Dimension(getWidth(), formHierarchyTreePaneWrapper.getPreferredSize().height + UIConstants.GAP_NORMAL));
} }
repaintContainer();
} }
private void setEditor(FormDesigner editor) { private void setEditor(FormDesigner editor) {

Loading…
Cancel
Save