Browse Source

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

bugfix/10.0
alex.sung 5 years ago
parent
commit
3d5e1ece2e
  1. 6
      designer-base/src/main/java/com/fr/design/actions/file/PreferenceAction.java
  2. 44
      designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java
  3. 9
      designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/DownMenuStyleDefinePane.java
  4. 37
      designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java
  5. 5
      designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsHelper.java
  6. 6
      designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java
  7. 13
      designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java
  8. 3
      designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellRender.java
  9. 2
      designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionFirstRowPanel.java
  10. 4
      designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.css
  11. 2
      designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java
  12. 12
      designer-realize/src/main/java/com/fr/design/mainframe/ElementCasePane.java
  13. 2
      designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java

6
designer-base/src/main/java/com/fr/design/actions/file/PreferenceAction.java

@ -4,9 +4,10 @@ import com.fr.design.DesignerEnvManager;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.file.HistoryTemplateListCache;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.DesignerFrame; import com.fr.design.mainframe.DesignerFrame;
import com.fr.design.mainframe.DesignerFrameFileDealerPane;
import com.fr.design.mainframe.JTemplate; import com.fr.design.mainframe.JTemplate;
import com.fr.design.menu.KeySetUtils; import com.fr.design.menu.KeySetUtils;
@ -38,9 +39,10 @@ public class PreferenceAction extends UpdateAction {
preferencePane.update(DesignerEnvManager.getEnvManager()); preferencePane.update(DesignerEnvManager.getEnvManager());
DesignerEnvManager.loadLogSetting(); DesignerEnvManager.loadLogSetting();
DesignerEnvManager.getEnvManager().saveXMLFile(); DesignerEnvManager.getEnvManager().saveXMLFile();
JTemplate jt = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate();
jt.refreshToolArea(); jt.refreshToolArea();
preferencePane.showRestartDialog(); preferencePane.showRestartDialog();
DesignerFrameFileDealerPane.getInstance().refreshDockingView();
} }
}); });

44
designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java

@ -25,10 +25,13 @@ import com.fr.stable.StringUtils;
* @since 2012-5-11下午4:28:24 * @since 2012-5-11下午4:28:24
*/ */
public class UIToggleButton extends UIButton implements GlobalNameObserver{ public class UIToggleButton extends UIButton implements GlobalNameObserver{
private static final int ICON_COUNT = 2;
private boolean isSelected; private boolean isSelected;
private boolean isEventBannded = false; private boolean isEventBannded = false;
private String toggleButtonName = ""; private String toggleButtonName = "";
private GlobalNameListener globalNameListener = null; private GlobalNameListener globalNameListener = null;
private Icon[] icons;
public UIToggleButton() { public UIToggleButton() {
this(StringUtils.EMPTY); this(StringUtils.EMPTY);
@ -53,9 +56,9 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
* @param icons * @param icons
*/ */
public UIToggleButton(Icon[] icons) { public UIToggleButton(Icon[] icons) {
super(icons[0], null, icons[1]); super(icons[0], null, null);
setSelectedIcon(icons[1]);
setExtraPainted(true); setExtraPainted(true);
this.icons = icons;
addActionListener(new AbstractAction() { addActionListener(new AbstractAction() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
@ -73,10 +76,10 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
* @param icons * @param icons
*/ */
public UIToggleButton(Icon[] icons, boolean needRelease) { public UIToggleButton(Icon[] icons, boolean needRelease) {
super(icons[0], null, icons[1]); super(icons[0], null, null);
setBorderPainted(true); setBorderPainted(true);
setSelectedIcon(icons[1]);
setExtraPainted(true); setExtraPainted(true);
this.icons = icons;
if (!needRelease) { if (!needRelease) {
addActionListener(new AbstractAction() { addActionListener(new AbstractAction() {
@Override @Override
@ -92,6 +95,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
addMouseListener(getMouseListener()); addMouseListener(getMouseListener());
} }
@Override
public void setGlobalName(String name){ public void setGlobalName(String name){
toggleButtonName = name ; toggleButtonName = name ;
} }
@ -100,6 +104,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
* *
* @return * @return
*/ */
@Override
public boolean isSelected() { public boolean isSelected() {
return isSelected; return isSelected;
} }
@ -115,12 +120,15 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
super.setSelected(isSelected); super.setSelected(isSelected);
if (this.isSelected != isSelected) { if (this.isSelected != isSelected) {
this.isSelected = isSelected; this.isSelected = isSelected;
repaint(); refresh(isSelected);
} }
} }
@Override
protected void initListener(){ protected void initListener(){
if(shouldResponseChangeListener()){ if(shouldResponseChangeListener()){
this.addChangeListener(new ChangeListener() { this.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) { public void stateChanged(ChangeEvent e) {
if (uiObserverListener == null) { if (uiObserverListener == null) {
return; return;
@ -138,10 +146,30 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
if (this.isSelected != isSelected) { if (this.isSelected != isSelected) {
this.isSelected = isSelected; this.isSelected = isSelected;
fireSelectedChanged(); fireSelectedChanged();
repaint(); refresh(isSelected);
} }
} }
private void refresh(final boolean isSelected) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
Icon[] icons = UIToggleButton.this.icons;
if (icons != null && icons.length == ICON_COUNT) {
if (isSelected) {
UIToggleButton.this.setIcon(icons[1]);
} else {
UIToggleButton.this.setIcon(icons[0]);
}
}
UIToggleButton.this.repaint();
}
});
}
protected MouseListener getMouseListener() { protected MouseListener getMouseListener() {
return new MouseAdapter() { return new MouseAdapter() {
@Override @Override
@ -157,6 +185,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
this.isEventBannded = ban; this.isEventBannded = ban;
} }
@Override
protected void fireStateChanged() { protected void fireStateChanged() {
} }
@ -187,6 +216,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
} }
} }
@Override
protected void paintOtherBorder(Graphics g) { protected void paintOtherBorder(Graphics g) {
Graphics2D g2d = (Graphics2D) g; Graphics2D g2d = (Graphics2D) g;
g2d.setStroke(UIConstants.BS); g2d.setStroke(UIConstants.BS);
@ -200,6 +230,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
* *
* @return 如果需要响应观察者事件则返回true否则返回false * @return 如果需要响应观察者事件则返回true否则返回false
*/ */
@Override
public boolean shouldResponseChangeListener() { public boolean shouldResponseChangeListener() {
return true; return true;
} }
@ -208,6 +239,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
* *
* @param listener 观察者监听事件 * @param listener 观察者监听事件
*/ */
@Override
public void registerNameListener(GlobalNameListener listener) { public void registerNameListener(GlobalNameListener listener) {
globalNameListener = listener; globalNameListener = listener;
} }

9
designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/DownMenuStyleDefinePane.java

@ -2,7 +2,6 @@ package com.fr.design.mainframe.mobile.ui;
import com.fr.base.GraphHelper; import com.fr.base.GraphHelper;
import com.fr.base.Icon; import com.fr.base.Icon;
import com.fr.base.IconManager;
import com.fr.design.constants.LayoutConstants; import com.fr.design.constants.LayoutConstants;
import com.fr.design.designer.IntervalConstants; import com.fr.design.designer.IntervalConstants;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
@ -11,6 +10,7 @@ import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.widget.UITitleSplitLine; import com.fr.design.mainframe.widget.UITitleSplitLine;
import com.fr.design.mainframe.widget.preview.MobileTemplatePreviewPane; import com.fr.design.mainframe.widget.preview.MobileTemplatePreviewPane;
import com.fr.form.ui.CardSwitchButton; import com.fr.form.ui.CardSwitchButton;
import com.fr.form.ui.WidgetInfoConfig;
import com.fr.form.ui.container.cardlayout.WCardTagLayout; import com.fr.form.ui.container.cardlayout.WCardTagLayout;
import com.fr.general.FRFont; import com.fr.general.FRFont;
import com.fr.general.cardtag.mobile.DownMenuStyle; import com.fr.general.cardtag.mobile.DownMenuStyle;
@ -40,6 +40,7 @@ public class DownMenuStyleDefinePane extends StyleDefinePaneWithSelectConf {
super(tagLayout); super(tagLayout);
} }
@Override
protected void createExtraConfPane(JPanel centerPane) { protected void createExtraConfPane(JPanel centerPane) {
JPanel panel = FRGUIPaneFactory.createVerticalFlowLayout_Pane(true, FlowLayout.LEADING, 0, 0); JPanel panel = FRGUIPaneFactory.createVerticalFlowLayout_Pane(true, FlowLayout.LEADING, 0, 0);
panel.setBorder(BorderFactory.createEmptyBorder(0, 20, 5, 20)); panel.setBorder(BorderFactory.createEmptyBorder(0, 20, 5, 20));
@ -134,12 +135,13 @@ public class DownMenuStyleDefinePane extends StyleDefinePaneWithSelectConf {
private static final int GAP = 6; private static final int GAP = 6;
private static final String PAINT_ICON = "fund_white"; private static final String PAINT_ICON = "fund_white";
private static final String ICON_PATH = "/com/fr/web/images/fund_white.png"; private static final String ICON_PATH = "/com/fr/web/images/fund_white.png";
private LineDescription splitLine; private transient LineDescription splitLine;
public DownMenuStylePreviewPane() { public DownMenuStylePreviewPane() {
this.setBackground(Color.decode("#3888EE")); this.setBackground(Color.decode("#3888EE"));
} }
@Override
public void repaint() { public void repaint() {
super.repaint(); super.repaint();
} }
@ -172,7 +174,7 @@ public class DownMenuStyleDefinePane extends StyleDefinePaneWithSelectConf {
g2d.setColor(oldColor); g2d.setColor(oldColor);
} }
Icon icon = new Icon(PAINT_ICON, ICON_PATH); Icon icon = new Icon(PAINT_ICON, ICON_PATH);
g2d.drawImage(IconManager.getIconManager().getDefaultIconImage(icon), (eachWidth - ICON_OFFSET) / 2, (panelHeight - ICON_OFFSET - GAP - fontHeight) / 2, null); g2d.drawImage(WidgetInfoConfig.getInstance().getIconManager().getDefaultIconImage(icon), (eachWidth - ICON_OFFSET) / 2, (panelHeight - ICON_OFFSET - GAP - fontHeight) / 2, null);
g2d.drawString(displayName, (eachWidth - width) / 2, (panelHeight + ICON_OFFSET + GAP - fontHeight) / 2 + ascent); g2d.drawString(displayName, (eachWidth - width) / 2, (panelHeight + ICON_OFFSET + GAP - fontHeight) / 2 + ascent);
Stroke oldStroke = g2d.getStroke(); Stroke oldStroke = g2d.getStroke();
if (splitLine.getLineStyle() != 0) { if (splitLine.getLineStyle() != 0) {
@ -187,6 +189,7 @@ public class DownMenuStyleDefinePane extends StyleDefinePaneWithSelectConf {
} }
@Override
public void populateConfig(MobileTemplateStyle templateStyle) { public void populateConfig(MobileTemplateStyle templateStyle) {
super.populateConfig(templateStyle); super.populateConfig(templateStyle);
this.splitLine = ((DownMenuStyle) templateStyle).getSplitLine(); this.splitLine = ((DownMenuStyle) templateStyle).getSplitLine();

37
designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java

@ -1,6 +1,7 @@
package com.fr.design.mainframe.template.info; package com.fr.design.mainframe.template.info;
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.base.io.XMLReadHelper;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.log.FineLoggerFactory; import com.fr.log.FineLoggerFactory;
import com.fr.stable.ProductConstants; import com.fr.stable.ProductConstants;
@ -12,12 +13,15 @@ import com.fr.stable.xml.XMLTools;
import com.fr.stable.xml.XMLWriter; import com.fr.stable.xml.XMLWriter;
import com.fr.stable.xml.XMLableReader; import com.fr.stable.xml.XMLableReader;
import com.fr.third.javax.xml.stream.XMLStreamException; import com.fr.third.javax.xml.stream.XMLStreamException;
import com.fr.workspace.WorkContext; import com.fr.third.org.apache.commons.io.FileUtils;
import java.io.ByteArrayOutputStream;
import java.io.File; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.IOException;
import java.io.FileReader; import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -132,13 +136,24 @@ public class TemplateInfoCollector implements XMLReadable, XMLWriter {
if (!getInfoFile().exists()) { if (!getInfoFile().exists()) {
return; return;
} }
try {
XMLableReader xmlReader = XMLableReader.createXMLableReader(new FileReader(getInfoFile())); XMLableReader reader = null;
xmlReader.readXMLObject(this); try (InputStream in = new FileInputStream(getInfoFile())) {
} catch (XMLStreamException e) { // XMLableReader 还是应该考虑实现 Closable 接口的,这样就能使用 try-with 语句了
FineLoggerFactory.getLogger().error(e.getMessage(), e); reader = XMLReadHelper.createXMLableReader(in, XMLPrintWriter.XML_ENCODER);
reader.readXMLObject(this);
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
// do nothing // do nothing
} catch (XMLStreamException | IOException e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (XMLStreamException e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
} }
} }
@ -160,8 +175,12 @@ public class TemplateInfoCollector implements XMLReadable, XMLWriter {
*/ */
private void saveInfo() { private void saveInfo() {
try { try {
FileOutputStream out = new FileOutputStream(getInfoFile()); ByteArrayOutputStream out = new ByteArrayOutputStream();
XMLTools.writeOutputStreamXML(this, out); XMLTools.writeOutputStreamXML(this, out);
out.flush();
out.close();
String fileContent = new String(out.toByteArray(), StandardCharsets.UTF_8);
FileUtils.writeStringToFile(getInfoFile(), fileContent, StandardCharsets.UTF_8);
} catch (Exception ex) { } catch (Exception ex) {
FineLoggerFactory.getLogger().error(ex.getMessage()); FineLoggerFactory.getLogger().error(ex.getMessage());
} }

5
designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsHelper.java

@ -44,6 +44,7 @@ public class VcsHelper implements JTemplateActionListener {
public final static Icon VCS_DELETE_PNG = IOUtils.readIcon("/com/fr/design/images/vcs/icon_delete.png"); public final static Icon VCS_DELETE_PNG = IOUtils.readIcon("/com/fr/design/images/vcs/icon_delete.png");
public final static Icon VCS_USER_PNG = IOUtils.readIcon("/com/fr/design/images/vcs/icon_user@1x.png"); public final static Icon VCS_USER_PNG = IOUtils.readIcon("/com/fr/design/images/vcs/icon_user@1x.png");
public final static Icon VCS_REVERT = IOUtils.readIcon("/com/fr/design/images/vcs/icon_revert.png"); public final static Icon VCS_REVERT = IOUtils.readIcon("/com/fr/design/images/vcs/icon_revert.png");
public final static int OFFSET = 2;
private final static String VCS_DIR = "vcs"; private final static String VCS_DIR = "vcs";
public final static String VCS_CACHE_DIR = pathJoin(VCS_DIR, "cache"); public final static String VCS_CACHE_DIR = pathJoin(VCS_DIR, "cache");
private static final int MINUTE = 60 * 1000; private static final int MINUTE = 60 * 1000;
@ -114,7 +115,7 @@ public class VcsHelper implements JTemplateActionListener {
public boolean needInit() { public boolean needInit() {
PluginContext context = PluginManager.getContext(VCS_PLUGIN_ID); PluginContext context = PluginManager.getContext(VCS_PLUGIN_ID);
return context == null || !context.isActive(); return context == null || !context.isRunning();
} }
/** /**
@ -164,7 +165,7 @@ public class VcsHelper implements JTemplateActionListener {
*/ */
@Override @Override
public void templateSaved(JTemplate<?, ?> jt) { public void templateSaved(JTemplate<?, ?> jt) {
if (DesignerEnvManager.getEnvManager().getVcsConfigManager().isVcsEnable() && !FineClusterConfig.getInstance().isCluster()) { if (needInit() && DesignerEnvManager.getEnvManager().getVcsConfigManager().isVcsEnable() && !FineClusterConfig.getInstance().isCluster()) {
fireVcs(jt); fireVcs(jt);
} }
} }

6
designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java

@ -7,8 +7,11 @@ import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.gui.itextarea.UITextArea;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.DesignerFrameFileDealerPane;
import com.fr.design.utils.gui.GUICoreUtils; import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.log.FineLoggerFactory;
import com.fr.report.entity.VcsEntity; import com.fr.report.entity.VcsEntity;
import com.fr.stable.StringUtils;
import com.fr.workspace.WorkContext; import com.fr.workspace.WorkContext;
import com.fr.workspace.server.vcs.VcsOperator; import com.fr.workspace.server.vcs.VcsOperator;
@ -81,6 +84,9 @@ public class EditFileVersionDialog extends UIDialog {
entity.setCommitMsg(msgTestArea.getText()); entity.setCommitMsg(msgTestArea.getText());
WorkContext.getCurrent().get(VcsOperator.class).updateVersion(entity); WorkContext.getCurrent().get(VcsOperator.class).updateVersion(entity);
setVisible(false); setVisible(false);
String path = DesignerFrameFileDealerPane.getInstance().getSelectedOperation().getFilePath();
FileVersionTable table = FileVersionTable.getInstance();
table.updateModel(table.getSelectedRow(), WorkContext.getCurrent().get(VcsOperator.class).getVersions(path.replaceFirst("/", StringUtils.EMPTY)));
} }
}); });

13
designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java

@ -8,6 +8,7 @@ import com.fr.design.mainframe.JTemplate;
import com.fr.design.mainframe.vcs.common.VcsHelper; import com.fr.design.mainframe.vcs.common.VcsHelper;
import com.fr.design.mainframe.vcs.common.VcsCacheFileNodeFile; import com.fr.design.mainframe.vcs.common.VcsCacheFileNodeFile;
import com.fr.file.filetree.FileNode; import com.fr.file.filetree.FileNode;
import com.fr.general.ComparatorUtils;
import com.fr.report.entity.VcsEntity; import com.fr.report.entity.VcsEntity;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.workspace.WorkContext; import com.fr.workspace.WorkContext;
@ -53,9 +54,13 @@ public class FileVersionCellEditor extends AbstractCellEditor implements TableCe
//先关闭当前打开的模板版本 //先关闭当前打开的模板版本
JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate();
jt.stopEditing(); jt.stopEditing();
MutilTempalteTabPane.getInstance().setIsCloseCurrent(true); //只有模板路径一致时关闭当前模板
MutilTempalteTabPane.getInstance().closeFormat(jt); if (ComparatorUtils.equals(fileOfVersion, jt.getPath())) {
MutilTempalteTabPane.getInstance().closeSpecifiedTemplate(jt); MutilTempalteTabPane.getInstance().setIsCloseCurrent(true);
MutilTempalteTabPane.getInstance().closeFormat(jt);
MutilTempalteTabPane.getInstance().closeSpecifiedTemplate(jt);
}
//再打开cache中的模板 //再打开cache中的模板
DesignerContext.getDesignerFrame().openTemplate(new VcsCacheFileNodeFile(new FileNode(fileOfVersion, false))); DesignerContext.getDesignerFrame().openTemplate(new VcsCacheFileNodeFile(new FileNode(fileOfVersion, false)));
@ -63,7 +68,7 @@ public class FileVersionCellEditor extends AbstractCellEditor implements TableCe
double height = editor.getPreferredSize().getHeight(); double height = editor.getPreferredSize().getHeight();
if (table.getRowHeight(row) != height) { if (table.getRowHeight(row) != height) {
table.setRowHeight(row, (int) height); table.setRowHeight(row, (int) height + VcsHelper.OFFSET);
} }
return editor; return editor;
} }

3
designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellRender.java

@ -1,5 +1,6 @@
package com.fr.design.mainframe.vcs.ui; package com.fr.design.mainframe.vcs.ui;
import com.fr.design.mainframe.vcs.common.VcsHelper;
import com.fr.report.entity.VcsEntity; import com.fr.report.entity.VcsEntity;
import javax.swing.JPanel; import javax.swing.JPanel;
@ -34,7 +35,7 @@ public class FileVersionCellRender implements TableCellRenderer {
double height = editor.getPreferredSize().getHeight(); double height = editor.getPreferredSize().getHeight();
if (table.getRowHeight(row) != height) { if (table.getRowHeight(row) != height) {
table.setRowHeight(row, (int) height); table.setRowHeight(row, (int) height + VcsHelper.OFFSET);
} }
return editor; return editor;
} }

2
designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionFirstRowPanel.java

@ -15,7 +15,7 @@ public class FileVersionFirstRowPanel extends JPanel {
super(new BorderLayout()); super(new BorderLayout());
Box upPane = Box.createVerticalBox(); Box upPane = Box.createVerticalBox();
upPane.setBorder(new EmptyBorder(5, 10, 5, 10)); upPane.setBorder(new EmptyBorder(5, 10, 5, 10));
upPane.add(new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Local_User"))); upPane.add(new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Current")));
add(upPane, BorderLayout.CENTER); add(upPane, BorderLayout.CENTER);
} }
} }

4
designer-base/src/main/resources/com/fr/design/ui/update/push/pushUpdate.css

@ -5,7 +5,7 @@ body {
background-size: 100% 100% !important; background-size: 100% 100% !important;
-moz-background-size: 100% 100% !important; -moz-background-size: 100% 100% !important;
font-family: PingFangSC-Regular, Georgia, "Nimbus Roman No9 L", "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif CN", STSong, "AR PL New Sung", "AR PL SungtiL GB", NSimSun, SimSun, "TW\-Sung", "WenQuanYi Bitmap Song", "AR PL UMing CN", "AR PL UMing HK", "AR PL UMing TW", "AR PL UMing TW MBE", PMingLiU, MingLiU, serif !important; font-family: "PingFang SC", "Microsoft YaHei", "Myriad Pro", "OpenSans", Verdana, SimSun, sans-serif !important;
} }
.close-btn { .close-btn {
@ -27,7 +27,7 @@ body {
} }
.font-bold { .font-bold {
font-weight: bold; font-weight: 500;
} }
.title { .title {

2
designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java

@ -73,7 +73,7 @@ public class XTreeEditor extends XWidgetCreator {
crp = (CRPropertyDescriptor[]) ArrayUtils.add(crp, new CRPropertyDescriptor("ajax", this.data.getClass()).setI18NName( crp = (CRPropertyDescriptor[]) ArrayUtils.add(crp, new CRPropertyDescriptor("ajax", this.data.getClass()).setI18NName(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Load_By_Async")).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Load_By_Async")).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY,
"Advanced")); "Fine-Design_Basic_Advanced"));
crp = this.addAllowEdit(crp); crp = this.addAllowEdit(crp);
crp = this.addCustomData(crp); crp = this.addCustomData(crp);

12
designer-realize/src/main/java/com/fr/design/mainframe/ElementCasePane.java

@ -174,6 +174,7 @@ public abstract class ElementCasePane<T extends TemplateElementCase> extends Tar
private CellSelection cellNeedTOFormat = null; private CellSelection cellNeedTOFormat = null;
private FormatBrushAction formatBrushAction; private FormatBrushAction formatBrushAction;
private ActionListener keyListener = new ActionListener() { private ActionListener keyListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
if (!formatBrush.isSelected()) { if (!formatBrush.isSelected()) {
DesignerContext.setFormatState(DesignerContext.FORMAT_STATE_ONCE); DesignerContext.setFormatState(DesignerContext.FORMAT_STATE_ONCE);
@ -188,6 +189,7 @@ public abstract class ElementCasePane<T extends TemplateElementCase> extends Tar
} }
}; };
private ActionListener escKey = new ActionListener() { private ActionListener escKey = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
cancelFormatBrush(); cancelFormatBrush();
} }
@ -212,6 +214,7 @@ public abstract class ElementCasePane<T extends TemplateElementCase> extends Tar
/** /**
* 取消格式化 * 取消格式化
*/ */
@Override
public void cancelFormat() { public void cancelFormat() {
return; return;
} }
@ -240,7 +243,6 @@ public abstract class ElementCasePane<T extends TemplateElementCase> extends Tar
verScrollBar = new DynamicScrollBar(Adjustable.VERTICAL, this, this.resolution); verScrollBar = new DynamicScrollBar(Adjustable.VERTICAL, this, this.resolution);
horScrollBar = new DynamicScrollBar(Adjustable.HORIZONTAL, this, this.resolution); horScrollBar = new DynamicScrollBar(Adjustable.HORIZONTAL, this, this.resolution);
this.add(RGridLayout.VerticalBar, this.verScrollBar); this.add(RGridLayout.VerticalBar, this.verScrollBar);
// this.add(RGridLayout.HorizontalBar, this.horScrollBar);
// Init input/action map defaultly. // Init input/action map defaultly.
initInputActionMap(); initInputActionMap();
@ -253,7 +255,7 @@ public abstract class ElementCasePane<T extends TemplateElementCase> extends Tar
initFormatBrush(); initFormatBrush();
} }
@Override
public int getMenuState() { public int getMenuState() {
return DesignState.WORK_SHEET; return DesignState.WORK_SHEET;
} }
@ -265,6 +267,7 @@ public abstract class ElementCasePane<T extends TemplateElementCase> extends Tar
formatBrush.setSelected(DesignerContext.getFormatState() != DesignerContext.FORMAT_STATE_NULL); formatBrush.setSelected(DesignerContext.getFormatState() != DesignerContext.FORMAT_STATE_NULL);
formatBrush.removeActionListener(formatBrushAction); formatBrush.removeActionListener(formatBrushAction);
formatBrush.addMouseListener(new MouseAdapter() { formatBrush.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) { public void mouseClicked(MouseEvent e) {
//如果没有格式刷,点击时就是想使用格式刷 //如果没有格式刷,点击时就是想使用格式刷
if (e.getClickCount() == 1) { if (e.getClickCount() == 1) {
@ -528,8 +531,8 @@ public abstract class ElementCasePane<T extends TemplateElementCase> extends Tar
FineLoggerFactory.getLogger().info("Nothing to release"); FineLoggerFactory.getLogger().info("Nothing to release");
} }
this.selection = selection; this.selection = selection;
fireSelectionChanged();
} }
fireSelectionChanged();
} }
@ -1210,6 +1213,7 @@ public abstract class ElementCasePane<T extends TemplateElementCase> extends Tar
/** /**
* 请求焦点 * 请求焦点
*/ */
@Override
public void requestFocus() { public void requestFocus() {
super.requestFocus(); super.requestFocus();
this.getGrid().requestFocus(); this.getGrid().requestFocus();
@ -1338,6 +1342,7 @@ public abstract class ElementCasePane<T extends TemplateElementCase> extends Tar
* *
* @return 返回正在编辑的状态. * @return 返回正在编辑的状态.
*/ */
@Override
public EditingState createEditingState() { public EditingState createEditingState() {
return new ElementCaseEditingState(this.selection, this.verScrollBar.getValue(), this.horScrollBar.getValue(), this.resolution); return new ElementCaseEditingState(this.selection, this.verScrollBar.getValue(), this.horScrollBar.getValue(), this.resolution);
} }
@ -1380,7 +1385,6 @@ public abstract class ElementCasePane<T extends TemplateElementCase> extends Tar
ElementCasePane.this.getVerticalScrollBar().setValue(this.verticalValue); ElementCasePane.this.getVerticalScrollBar().setValue(this.verticalValue);
ElementCasePane.this.getHorizontalScrollBar().setValue(this.horizontalValue); ElementCasePane.this.getHorizontalScrollBar().setValue(this.horizontalValue);
// ElementCasePane.this.setResolution(this.resolution);
HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().setScale(this.resolution); HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().setScale(this.resolution);
// 重绘. // 重绘.
ElementCasePane.this.repaint(); ElementCasePane.this.repaint();

2
designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java

@ -27,7 +27,6 @@ import com.fr.base.vcs.DesignerMode;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
import com.fr.design.constants.UIConstants; import com.fr.design.constants.UIConstants;
import com.fr.design.file.HistoryTemplateListCache; import com.fr.design.file.HistoryTemplateListCache;
import com.fr.design.file.HistoryTemplateListPane;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ibutton.UIButtonUI; import com.fr.design.gui.ibutton.UIButtonUI;
import com.fr.design.menu.MenuDef; import com.fr.design.menu.MenuDef;
@ -45,7 +44,6 @@ import com.fr.report.poly.PolyWorkSheet;
import com.fr.report.report.TemplateReport; import com.fr.report.report.TemplateReport;
import com.fr.report.worksheet.WorkSheet; import com.fr.report.worksheet.WorkSheet;
import com.fr.stable.ProductConstants; import com.fr.stable.ProductConstants;
import org.apache.tools.ant.taskdefs.Sleep;
/** /**
* NameTabPane of sheets * NameTabPane of sheets

Loading…
Cancel
Save