Browse Source

Merge remote-tracking branch 'origin/release/9.0' into release/9.0

mengao 7 years ago
parent
commit
1db2159f75
  1. 8
      designer_base/src/com/fr/design/gui/imenu/UIHeadMenu.java
  2. 7
      designer_base/src/com/fr/design/gui/imenu/UIMenu.java
  3. 2
      designer_form/src/com/fr/design/designer/creator/cardlayout/TabMoveAction.java
  4. 19
      designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java
  5. 33
      designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java
  6. 2
      designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java
  7. 6
      designer_form/src/com/fr/design/mainframe/JForm.java
  8. 2
      designer_form/src/com/fr/design/widget/ui/designer/layout/WCardMainLayoutDefinePane.java

8
designer_base/src/com/fr/design/gui/imenu/UIHeadMenu.java

@ -268,7 +268,13 @@ public class UIHeadMenu extends UIMenu {
return (popupMenu == null) ? new Component[0] : popupMenu.getComponents(); return (popupMenu == null) ? new Component[0] : popupMenu.getComponents();
} }
/**
* 得到子元素
* @return 子元素
*/
public MenuElement[] getSubElements() {
return popupMenu == null ? new MenuElement[0] : new MenuElement[]{popupMenu};
}
} }

7
designer_base/src/com/fr/design/gui/imenu/UIMenu.java

@ -284,4 +284,11 @@ public class UIMenu extends JMenu {
return (popupMenu == null) ? new Component[0] : popupMenu.getComponents(); return (popupMenu == null) ? new Component[0] : popupMenu.getComponents();
} }
/**
* 得到子元素
* @return 子元素
*/
public MenuElement[] getSubElements() {
return popupMenu == null ? new MenuElement[0] : new MenuElement[]{popupMenu};
}
} }

2
designer_form/src/com/fr/design/designer/creator/cardlayout/TabMoveAction.java

@ -2,6 +2,7 @@ package com.fr.design.designer.creator.cardlayout;
import com.fr.design.designer.beans.actions.FormUndoableAction; import com.fr.design.designer.beans.actions.FormUndoableAction;
import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.FormDesigner;
import com.fr.design.mainframe.FormHierarchyTreePane;
import com.fr.form.ui.CardSwitchButton; import com.fr.form.ui.CardSwitchButton;
import com.fr.form.ui.container.cardlayout.WTabFitLayout; import com.fr.form.ui.container.cardlayout.WTabFitLayout;
import com.fr.general.FRLogger; import com.fr.general.FRLogger;
@ -36,6 +37,7 @@ public class TabMoveAction extends FormUndoableAction {
xwCardTagLayout.setSwitchingTab(false); xwCardTagLayout.setSwitchingTab(false);
xwCardTagLayout.doLayout(); xwCardTagLayout.doLayout();
FormHierarchyTreePane.getInstance().refreshDockingView();
}catch (Exception e){ }catch (Exception e){
xwCardTagLayout.setSwitchingTab(false); xwCardTagLayout.setSwitchingTab(false);
FRLogger.getLogger().error(e.getMessage()); FRLogger.getLogger().error(e.getMessage());

19
designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java

@ -16,11 +16,14 @@ import com.fr.design.designer.creator.XWidgetCreator;
import com.fr.design.icon.IconPathConstants; import com.fr.design.icon.IconPathConstants;
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.form.event.Listener;
import com.fr.form.ui.LayoutBorderStyle;
import com.fr.form.ui.Widget; import com.fr.form.ui.Widget;
import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget; import com.fr.form.ui.container.WAbsoluteLayout.BoundsWidget;
import com.fr.form.ui.container.WBorderLayout; import com.fr.form.ui.container.WBorderLayout;
import com.fr.form.ui.container.WCardLayout; import com.fr.form.ui.container.WCardLayout;
import com.fr.form.ui.container.WTabDisplayPosition; import com.fr.form.ui.container.WTabDisplayPosition;
import com.fr.form.ui.container.WTitleLayout;
import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout; import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout;
import com.fr.form.ui.container.cardlayout.WCardTagLayout; import com.fr.form.ui.container.cardlayout.WCardTagLayout;
import com.fr.form.ui.container.cardlayout.WCardTitleLayout; import com.fr.form.ui.container.cardlayout.WCardTitleLayout;
@ -146,9 +149,23 @@ public class XWCardMainBorderLayout extends XWBorderLayout{
String tabpaneName = cardLayout.getWidgetName(); String tabpaneName = cardLayout.getWidgetName();
if (!wCardTagLayout.isNewTab()) { if (!wCardTagLayout.isNewTab()) {
wCardTagLayout.setWidgetName(tabpaneName); wCardTagLayout.setWidgetName(tabpaneName);
LayoutBorderStyle borderStyle = cardLayout.getBorderStyle();
if(borderStyle != null){
//新tab默认都有标题
borderStyle.setType(LayoutBorderStyle.TITLE);
}
cardLayout.setWidgetName(XWCardLayout.DEFAULT_NAME + tabpaneName.replaceAll(XWCardTagLayout.DEFAULT_NAME, "")); cardLayout.setWidgetName(XWCardLayout.DEFAULT_NAME + tabpaneName.replaceAll(XWCardTagLayout.DEFAULT_NAME, ""));
wCardTitleLayout.setCardName(cardLayout.getWidgetName());
wCardTagLayout.setNewTab(true); wCardTagLayout.setNewTab(true);
wCardTagLayout.setNewTab(true); //这边需要设置成默认值兼容之前的title高度(不知道为啥之前的title的高度会改变)
ob.setNorthSize(WTitleLayout.TITLE_HEIGHT);
for(int i = 0 ;i < cardLayout.getListenerSize(); i ++){
Listener listener = cardLayout.getListener(i);
if(listener != null){
wCardTagLayout.addListener(listener);
}
}
cardLayout.clearListeners();
} }
} }

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

@ -21,7 +21,9 @@ 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;
import com.fr.form.ui.CardSwitchButton; import com.fr.form.ui.CardSwitchButton;
import com.fr.form.ui.LayoutBorderStyle;
import com.fr.form.ui.Widget; import com.fr.form.ui.Widget;
import com.fr.form.ui.WidgetTitle;
import com.fr.form.ui.container.WCardLayout; import com.fr.form.ui.container.WCardLayout;
import com.fr.form.ui.container.WTabDisplayPosition; import com.fr.form.ui.container.WTabDisplayPosition;
import com.fr.form.ui.container.cardlayout.WCardTagLayout; import com.fr.form.ui.container.cardlayout.WCardTagLayout;
@ -55,7 +57,7 @@ public class XWCardTagLayout extends XWHorizontalBoxLayout {
private static final int HEIGHT_SIDE_OFFSET = 20; private static final int HEIGHT_SIDE_OFFSET = 20;
private static final int DEFAULT_BUTTON_HEIGHT = 40; private static final int DEFAULT_VERTICAL_SPACING = 3;
public static final String DEFAULT_NAME = "tabpane"; public static final String DEFAULT_NAME = "tabpane";
@ -323,41 +325,46 @@ public class XWCardTagLayout extends XWHorizontalBoxLayout {
} }
public void setTabsAndAdjust() { public void setTabsAndAdjust() {
WCardTagLayout wCardTagLayout = (WCardTagLayout)this.toData(); WCardTagLayout wCardTagLayout = (WCardTagLayout) this.toData();
int tabLength = this.getComponentCount(); int tabLength = this.getComponentCount();
Map<Integer, Integer> cardWidth = new HashMap<Integer, Integer>(); Map<Integer, Integer> cardWidth = new HashMap<Integer, Integer>();
Map<Integer, Integer> cardHeight = new HashMap<Integer, Integer>(); Map<Integer, Integer> cardHeight = new HashMap<Integer, Integer>();
XLayoutContainer parent = this.getBackupParent(); XLayoutContainer parent = this.getBackupParent();
for (int i = 0; i < tabLength; i++) { for (int i = 0; i < tabLength; i++) {
XCardSwitchButton temp = (XCardSwitchButton) this.getComponent(i); XCardSwitchButton temp = (XCardSwitchButton) this.getComponent(i);
CardSwitchButton tempCard = (CardSwitchButton) temp.toData(); CardSwitchButton tempCard = (CardSwitchButton) temp.toData();
String tempText = tempCard.getText(); String tempText = tempCard.getText();
Font f = tempCard.getFont(); if (this.cardLayout == null) {
initCardLayout();
}
LayoutBorderStyle borderStyle = this.cardLayout.toData().getBorderStyle();
WidgetTitle title = borderStyle.getTitle();
FRFont f = title.getFrFont();
FontMetrics fm = GraphHelper.getFontMetrics(f); FontMetrics fm = GraphHelper.getFontMetrics(f);
switch (wCardTagLayout.getTextDirection()){ switch (wCardTagLayout.getTextDirection()) {
case TEXT_HORI_DERECTION: case TEXT_HORI_DERECTION:
cardWidth.put(i,fm.stringWidth(tempText)); cardWidth.put(i, fm.stringWidth(tempText));
cardHeight.put(i,fm.getHeight()); cardHeight.put(i, fm.getHeight());
break; break;
case TEXT_VER_DIRECTION: case TEXT_VER_DIRECTION:
int perHeight = fm.getHeight(); int perHeight = fm.getHeight();
int wordCount = tempText.length(); int wordCount = tempText.length();
if(tempText.length() !=0 ){ if (tempText.length() != 0) {
cardWidth.put(i,fm.stringWidth(tempText)/tempText.length()); cardWidth.put(i, fm.stringWidth(tempText) / tempText.length());
}else { } else {
cardWidth.put(i, 0); cardWidth.put(i, 0);
} }
cardHeight.put(i,(perHeight+3)*wordCount); cardHeight.put(i, (perHeight + DEFAULT_VERTICAL_SPACING) * wordCount);
break; break;
default: default:
break; break;
} }
} }
if(isHori()){ if (isHori()) {
adjustTabsH(parent, tabLength, cardWidth, cardHeight); adjustTabsH(parent, tabLength, cardWidth, cardHeight);
}else { } else {
adjustTabsV(parent, tabLength, cardWidth, cardHeight); adjustTabsV(parent, tabLength, cardWidth, cardHeight);
} }
fixTitleLayout(parent); fixTitleLayout(parent);

2
designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java

@ -371,7 +371,7 @@ public class FormParaWidgetPane extends JPanel {
designer.addParaComponent(); designer.addParaComponent();
JPanel pane = FormWidgetDetailPane.getInstance(designer); JPanel pane = FormWidgetDetailPane.getInstance(designer);
EastRegionContainerPane.getInstance().replaceDownPane(pane); EastRegionContainerPane.getInstance().replaceWidgetLibPane(pane);
this.setEnabled(false); this.setEnabled(false);
designer.addDesignerEditListener(new paraButtonDesignerAdapter(this)); designer.addDesignerEditListener(new paraButtonDesignerAdapter(this));

6
designer_form/src/com/fr/design/mainframe/JForm.java

@ -248,9 +248,11 @@ public class JForm extends JTemplate<Form, FormUndoState> implements BaseJForm {
@Override @Override
public void fireCreatorModified(DesignerEvent evt) { public void fireCreatorModified(DesignerEvent evt) {
if (evt.getCreatorEventID() == DesignerEvent.CREATOR_CUTED if (evt.getCreatorEventID() == DesignerEvent.CREATOR_CUTED) {
|| evt.getCreatorEventID() == DesignerEvent.CREATOR_DELETED) {
setPropertyPaneChange(formDesign.getRootComponent()); setPropertyPaneChange(formDesign.getRootComponent());
} else if (evt.getCreatorEventID() == DesignerEvent.CREATOR_DELETED) {
// 在 delete 之前,会先 select 父组件。这里直接传入 lastAffectedCreator 就好了
setPropertyPaneChange(lastAffectedCreator);
} else if (evt.getCreatorEventID() == DesignerEvent.CREATOR_SELECTED) { } else if (evt.getCreatorEventID() == DesignerEvent.CREATOR_SELECTED) {
lastAffectedCreator = evt.getAffectedCreator(); lastAffectedCreator = evt.getAffectedCreator();
setPropertyPaneChange(lastAffectedCreator); setPropertyPaneChange(lastAffectedCreator);

2
designer_form/src/com/fr/design/widget/ui/designer/layout/WCardMainLayoutDefinePane.java

@ -78,7 +78,7 @@ public class WCardMainLayoutDefinePane extends AbstractDataModify<WCardMainBord
@Override @Override
public void populateBean(WCardMainBorderLayout ob) { public void populateBean(WCardMainBorderLayout ob) {
WCardLayout cardLayout = ob.getCardPart(); WCardLayout cardLayout = ob.getCardPart();
accessibleCardTagWLayoutBorderStyleEditor.setValue(ob.getBorderStyle()); accessibleCardTagWLayoutBorderStyleEditor.setValue(cardLayout.getBorderStyle());
setCarousel.setSelected(cardLayout.isCarousel()); setCarousel.setSelected(cardLayout.isCarousel());
IntervalPane.setVisible(cardLayout.isCarousel()); IntervalPane.setVisible(cardLayout.isCarousel());
carouselInterval.setValue(cardLayout.getCarouselInterval()); carouselInterval.setValue(cardLayout.getCarouselInterval());

Loading…
Cancel
Save