Browse Source

REPORT-6512 新功能一些遗留问题

kerry 7 years ago
parent
commit
c565621075
  1. 2
      designer_form/src/com/fr/design/designer/creator/cardlayout/TabMoveAction.java
  2. 19
      designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardMainBorderLayout.java
  3. 31
      designer_form/src/com/fr/design/designer/creator/cardlayout/XWCardTagLayout.java
  4. 2
      designer_form/src/com/fr/design/widget/ui/designer/layout/WCardMainLayoutDefinePane.java

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();
} }
} }

31
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,7 +325,7 @@ 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>();
@ -333,31 +335,36 @@ public class XWCardTagLayout extends XWHorizontalBoxLayout {
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/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