From 63e6b7733cbb078fc2ea2f2c086bfd5f7299d1b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Levy=2EXie-=E8=A7=A3=E5=AE=89=E6=A3=AE?= Date: Wed, 6 Dec 2023 16:37:21 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-107972=20=E3=80=90UI=E7=BF=BB=E6=96=B0?= =?UTF-8?q?=E3=80=91=E7=BF=BB=E6=96=B0=E4=B8=BB=E9=9D=A2=E6=9D=BF=E8=BE=B9?= =?UTF-8?q?=E8=B7=9D=E3=80=81=E8=BE=B9=E6=A1=86=E3=80=81=E8=83=8C=E6=99=AF?= =?UTF-8?q?=E8=89=B2=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fine/theme/light/ui/FineLightIconSet.java | 62 +++++++++++-------- .../com/fine/theme/utils/FineUIUtils.java | 29 +++++++++ .../data/datapane/TableDataTreePane.java | 1 - .../icontainer/UIEastResizableContainer.java | 2 +- .../icontainer/UIModeControlContainer.java | 59 ++++++++---------- .../mainframe/CenterRegionContainerPane.java | 20 +++--- .../DesignerFrameFileDealerPane.java | 1 - .../mainframe/EastRegionContainerPane.java | 2 +- .../mainframe/NorthRegionContainerPane.java | 3 + .../com/fine/theme/icon/param/edit.svg | 5 ++ .../fine/theme/icon/param/edit_disable.svg | 5 ++ .../fine/theme/icon/param/edit_pressed.svg | 6 ++ .../com/fine/theme/icon/param/hide.svg | 5 ++ .../fine/theme/icon/param/hide_disable.svg | 5 ++ .../fine/theme/icon/param/hide_pressed.svg | 6 ++ .../com/fine/theme/icon/param/view.svg | 7 +++ .../light/ui/laf/FineLightLaf.properties | 28 ++++++--- .../mainframe/ReportComponentComposite.java | 3 + .../fr/design/mainframe/SheetNameTabPane.java | 8 +-- .../main/java/com/fr/grid/GridColumnUI.java | 16 ++--- .../src/main/java/com/fr/grid/GridCorner.java | 17 +---- .../src/main/java/com/fr/grid/GridRowUI.java | 18 ++---- 22 files changed, 184 insertions(+), 124 deletions(-) create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/param/edit.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/param/edit_disable.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/param/edit_pressed.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/param/hide.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/param/hide_disable.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/param/hide_pressed.svg create mode 100644 designer-base/src/main/resources/com/fine/theme/icon/param/view.svg diff --git a/designer-base/src/main/java/com/fine/theme/light/ui/FineLightIconSet.java b/designer-base/src/main/java/com/fine/theme/light/ui/FineLightIconSet.java index e3082321dd..16aed93baf 100644 --- a/designer-base/src/main/java/com/fine/theme/light/ui/FineLightIconSet.java +++ b/designer-base/src/main/java/com/fine/theme/light/ui/FineLightIconSet.java @@ -69,34 +69,35 @@ public class FineLightIconSet extends AbstractIconSet { new SvgIconSource("new_folder", "com/fine/theme/icon/filetree/new_folder.svg", true), // 属性面板Icon - new SvgIconSource("cellattr", "com/fine/theme/icon/propertiestab/cellattr.svg", false), - new SvgIconSource("cellattr_disabled", "com/fine/theme/icon/propertiestab/cellattr_disabled.svg", false), - new SvgIconSource("cellattr_selected", "com/fine/theme/icon/propertiestab/cellattr_selected.svg", false), - new SvgIconSource("cellelement", "com/fine/theme/icon/propertiestab/cellelement.svg", false), - new SvgIconSource("cellelement_disabled", "com/fine/theme/icon/propertiestab/cellelement_disabled.svg", false), - new SvgIconSource("cellelement_selected", "com/fine/theme/icon/propertiestab/cellelement_selected.svg", false), - new SvgIconSource("conditionattr", "com/fine/theme/icon/propertiestab/conditionattr.svg", false), - new SvgIconSource("conditionattr_disabled", "com/fine/theme/icon/propertiestab/conditionattr_disabled.svg", false), - new SvgIconSource("conditionattr_selected", "com/fine/theme/icon/propertiestab/conditionattr_selected.svg", false), - new SvgIconSource("floatelement", "com/fine/theme/icon/propertiestab/floatelement.svg", false), - new SvgIconSource("floatelement_disabled", "com/fine/theme/icon/propertiestab/floatelement_disabled.svg", false), - new SvgIconSource("floatelement_selected", "com/fine/theme/icon/propertiestab/floatelement_selected.svg", false), - new SvgIconSource("hyperlink", "com/fine/theme/icon/propertiestab/hyperlink.svg", false), - new SvgIconSource("hyperlink_disabled", "com/fine/theme/icon/propertiestab/hyperlink_disabled.svg", false), - new SvgIconSource("hyperlink_selected", "com/fine/theme/icon/propertiestab/hyperlink_selected.svg", false), - new SvgIconSource("widgetlib", "com/fine/theme/icon/propertiestab/widgetlib.svg", false), - new SvgIconSource("widgetlib_disabled", "com/fine/theme/icon/propertiestab/widgetlib_disabled.svg", false), - new SvgIconSource("widgetlib_selected", "com/fine/theme/icon/propertiestab/widgetlib_selected.svg", false), - new SvgIconSource("widgetsettings", "com/fine/theme/icon/propertiestab/widgetsettings.svg", false), - new SvgIconSource("widgetsettings_disabled", "com/fine/theme/icon/propertiestab/widgetsettings_disabled.svg", false), - new SvgIconSource("widgetsettings_selected", "com/fine/theme/icon/propertiestab/widgetsettings_selected.svg", false), + new SvgIconSource("cellattr", "com/fine/theme/icon/propertiestab/cellattr.svg", false, 18), + new SvgIconSource("cellattr_disabled", "com/fine/theme/icon/propertiestab/cellattr_disabled.svg", false, 18), + new SvgIconSource("cellattr_selected", "com/fine/theme/icon/propertiestab/cellattr_selected.svg", false, 18), + new SvgIconSource("cellelement", "com/fine/theme/icon/propertiestab/cellelement.svg", false, 18), + new SvgIconSource("cellelement_disabled", "com/fine/theme/icon/propertiestab/cellelement_disabled.svg", false, 18), + new SvgIconSource("cellelement_selected", "com/fine/theme/icon/propertiestab/cellelement_selected.svg", false, 18), + new SvgIconSource("conditionattr", "com/fine/theme/icon/propertiestab/conditionattr.svg", false, 18), + new SvgIconSource("conditionattr_disabled", "com/fine/theme/icon/propertiestab/conditionattr_disabled.svg", false, 18), + new SvgIconSource("conditionattr_selected", "com/fine/theme/icon/propertiestab/conditionattr_selected.svg", false, 18), + new SvgIconSource("floatelement", "com/fine/theme/icon/propertiestab/floatelement.svg", false, 18), + new SvgIconSource("floatelement_disabled", "com/fine/theme/icon/propertiestab/floatelement_disabled.svg", false, 18), + new SvgIconSource("floatelement_selected", "com/fine/theme/icon/propertiestab/floatelement_selected.svg", false, 18), + new SvgIconSource("hyperlink", "com/fine/theme/icon/propertiestab/hyperlink.svg", false, 18), + new SvgIconSource("hyperlink_disabled", "com/fine/theme/icon/propertiestab/hyperlink_disabled.svg", false, 18), + new SvgIconSource("hyperlink_selected", "com/fine/theme/icon/propertiestab/hyperlink_selected.svg", false, 18), + new SvgIconSource("widgetlib", "com/fine/theme/icon/propertiestab/widgetlib.svg", false, 18), + new SvgIconSource("widgetlib_disabled", "com/fine/theme/icon/propertiestab/widgetlib_disabled.svg", false, 18), + new SvgIconSource("widgetlib_selected", "com/fine/theme/icon/propertiestab/widgetlib_selected.svg", false, 18), + new SvgIconSource("widgetsettings", "com/fine/theme/icon/propertiestab/widgetsettings.svg", false, 18), + new SvgIconSource("widgetsettings_disabled", "com/fine/theme/icon/propertiestab/widgetsettings_disabled.svg", false, 18), + new SvgIconSource("widgetsettings_selected", "com/fine/theme/icon/propertiestab/widgetsettings_selected.svg", false, 18), // TODO: 视觉未提供,先用旧的,待视觉提供后替换 - new SvgIconSource("configuredroles", "com/fine/theme/icon/propertiestab/configuredroles.svg", false), - new SvgIconSource("configuredroles_selected", "com/fine/theme/icon/propertiestab/configuredroles_selected.svg", false), - new SvgIconSource("configuredroles_disabled", "com/fine/theme/icon/propertiestab/configuredroles_disabled.svg", false), - new SvgIconSource("authorityedit", "com/fine/theme/icon/propertiestab/authorityedit.svg", false), - new SvgIconSource("authorityedit_disabled", "com/fine/theme/icon/propertiestab/authorityedit_disabled.svg", false), - new SvgIconSource("authorityedit_selected", "com/fine/theme/icon/propertiestab/authorityedit_selected.svg", false), + new SvgIconSource("configuredroles", "com/fine/theme/icon/propertiestab/configuredroles.svg", false, 18), + new SvgIconSource("configuredroles_selected", "com/fine/theme/icon/propertiestab/configuredroles_selected.svg", false, 18), + new SvgIconSource("configuredroles_disabled", "com/fine/theme/icon/propertiestab/configuredroles_disabled.svg", false, 18), + new SvgIconSource("authorityedit", "com/fine/theme/icon/propertiestab/authorityedit.svg", false, 18), + new SvgIconSource("authorityedit_disabled", "com/fine/theme/icon/propertiestab/authorityedit_disabled.svg", false, 18), + new SvgIconSource("authorityedit_selected", "com/fine/theme/icon/propertiestab/authorityedit_selected.svg", false, 18), + // sheet标签栏相关icon new SvgIconSource("add_worksheet", "com/fine/theme/icon/sheet/add_sheet.svg", true), @@ -133,6 +134,13 @@ public class FineLightIconSet extends AbstractIconSet { new SvgIconSource("popup", "com/fine/theme/icon/popup/popup.svg", true), new SvgIconSource("clear", "com/fine/theme/icon/clear.svg", true), + // 参数面板 + new SvgIconSource("param_edit", "com/fine/theme/icon/param/edit.svg", true, 24), + new SvgIconSource("param_edit_pressed", "com/fine/theme/icon/param/edit_pressed.svg", true, 24), + new SvgIconSource("param_hide", "com/fine/theme/icon/param/hide.svg", true, 24), + new SvgIconSource("param_hide_pressed", "com/fine/theme/icon/param/hide_pressed.svg", true, 24), + new SvgIconSource("param_view", "com/fine/theme/icon/param/view.svg", true, 18), + // 北区菜单栏 new SvgIconSource("notification", "com/fine/theme/icon/notification/notification.svg") diff --git a/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java b/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java index b4b6c9a301..7d696e02b4 100644 --- a/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java +++ b/designer-base/src/main/java/com/fine/theme/utils/FineUIUtils.java @@ -1,12 +1,17 @@ package com.fine.theme.utils; +import com.formdev.flatlaf.ui.FlatUIUtils; import com.fr.stable.os.OperatingSystem; import com.fr.value.AtomicClearableLazyValue; import javax.swing.UIManager; import java.awt.Color; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Composite; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; +import java.awt.geom.RoundRectangle2D; import java.lang.reflect.Field; /** @@ -87,4 +92,28 @@ public class FineUIUtils { Object value = UIManager.get(key); return (value instanceof Integer) ? (Integer) value : UIManager.getInt(defaultKey); } + + /** + * 绘制混合图像,含圆角、背景色设置 + * + * @param g 图像 + * @param composite 混合图像 + * @param background 背景色 + * @param width 宽度 + * @param height 高度 + * @param radius 圆角 + */ + public static void paintWithComposite(Graphics g, Composite composite, Color background, + int width, int height, int radius) { + Graphics2D g2d = (Graphics2D) g; + + FlatUIUtils.setRenderingHints(g2d); + Composite oldComposite = g2d.getComposite(); + g2d.setComposite(composite); + + g2d.setColor(background); + g2d.fill(new RoundRectangle2D.Float(0, 0, width, height, radius, radius)); + g2d.setComposite(oldComposite); + } + } diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java index ff514af9ca..cadb62550a 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java @@ -249,7 +249,6 @@ public class TableDataTreePane extends BasicTableDataTreePane { toolbarDef = new ToolBarDef(); toolbarDef.addShortCut(addMenuDef, SeparatorDef.DEFAULT, editAction, removeAction, SeparatorDef.DEFAULT, previewTableDataAction, connectionTableAction, esdAction, esdOffAction, switchAction); UIToolbar toolBar = ToolBarDef.createJToolBar(); - toolBar.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.TOOLBAR_BORDER_COLOR)); toolBar.setBorderPainted(true); toolbarDef.updateToolBar(toolBar); diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java index a366626153..c997024146 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java +++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java @@ -80,7 +80,7 @@ public class UIEastResizableContainer extends JPanel { this.rightPane = rightPane; this.topToolPane = new TopToolPane(); topToolPane.setLayout(new VerticalFlowLayout(VerticalFlowLayout.TOP, 1, 0)); - topToolPane.setBorder(BorderFactory.createMatteBorder(1 ,1, 0, 1, UIManager.getColor("East.border"))); + topToolPane.setBorder(BorderFactory.createMatteBorder(0 ,1, 0, 1, UIManager.getColor("East.border"))); setLayout(containerLayout); add(topToolPane); diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java index e09f877d3c..c0903f644c 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java +++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java @@ -1,9 +1,12 @@ package com.fr.design.gui.icontainer; +import com.fine.theme.icon.LazyIcon; +import com.fine.theme.utils.FineUIUtils; import com.fr.base.vcs.DesignerMode; import com.fr.design.base.mode.DesignModeContext; import com.fr.design.constants.UIConstants; import com.fr.design.gui.ibutton.UIButton; +import com.fr.design.gui.ibutton.UIButtonUI; import com.fr.design.gui.ilable.UILabel; import com.fr.design.mainframe.DesignerContext; import com.fr.design.utils.gui.GUICoreUtils; @@ -12,17 +15,18 @@ import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLayeredPane; import javax.swing.JPanel; +import javax.swing.Icon; +import javax.swing.UIManager; +import javax.swing.plaf.basic.BasicButtonUI; import java.awt.AlphaComposite; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; -import java.awt.Composite; import java.awt.Container; import java.awt.Cursor; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Graphics; -import java.awt.Graphics2D; import java.awt.LayoutManager; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @@ -47,7 +51,9 @@ public class UIModeControlContainer extends JLayeredPane { private boolean isHideMode = false; private boolean isSheeetCovered = false; - private AlphaComposite composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.3f); + private AlphaComposite composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.2f); + private Color coverBackground = UIManager.getColor("North.coverPane.background"); + private int coverRadius = UIManager.getInt("North.coverPane.radius"); public UIModeControlContainer() { this(new JPanel(), new JPanel()); @@ -67,7 +73,6 @@ public class UIModeControlContainer extends JLayeredPane { add(upPane); add(horizontToolPane); } -// setLayout(new VerticalFlowLayout(CENTER, 10, 10)); add(downPane); add(coverPane = new CoverPane()); add(hidePane = new HidePane()); @@ -112,9 +117,8 @@ public class UIModeControlContainer extends JLayeredPane { horizontToolPane = new JPanel() { @Override public void paint(Graphics g) { - g.drawImage(UIConstants.DRAG_BAR, 0, 0, getWidth(), getHeight(), null); if (upEditMode) { - g.drawImage(UIConstants.DRAG_DOT, (getWidth() - toolPaneHeight) / 2, 3, toolPaneHeight, 5, null); + g.drawImage(UIConstants.DRAG_DOT, (getWidth() - toolPaneHeight) / 2, 3, toolPaneHeight, 8, null); } } }; @@ -283,7 +287,7 @@ public class UIModeControlContainer extends JLayeredPane { setLayout(new FlowLayout(FlowLayout.CENTER, 10, -3)); setBackground(UIConstants.NORMAL_BACKGROUND); add(new UILabel("" + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Parameter_Panel") + "")); - UIButton viewButton = new UIButton(UIConstants.VIEW_NORMAL_ICON, UIConstants.VIEW_NORMAL_ICON, UIConstants.VIEW_NORMAL_ICON) { + UIButton viewButton = new LargeButton(new LazyIcon("param_view"), new LazyIcon("param_view"), new LazyIcon("param_view")) { @Override public Dimension getPreferredSize() { return new Dimension(32, 32); @@ -352,16 +356,10 @@ public class UIModeControlContainer extends JLayeredPane { @Override public void paint(Graphics g) { - Graphics2D g2d = (Graphics2D) g; - Composite oldComposite = g2d.getComposite(); - g2d.setComposite(composite); - g2d.setColor(Color.BLACK); - g2d.fillRect(0, 0, getWidth(), getHeight()); - g2d.setComposite(oldComposite); + FineUIUtils.paintWithComposite(g, composite, coverBackground, getWidth(), getHeight(), coverRadius); super.paint(g); } - } private class CoverPane extends JPanel { @@ -380,18 +378,8 @@ public class UIModeControlContainer extends JLayeredPane { } }); - editButton = new UIButton(UIConstants.EDIT_NORMAL_ICON, UIConstants.EDIT_PRESSED_ICON, UIConstants.EDIT_PRESSED_ICON) { - @Override - public Dimension getPreferredSize() { - return new Dimension(40, 40); - } - }; - hideButton = new UIButton(UIConstants.HIDE_NORMAL_ICON, UIConstants.HIDE_PRESSED_ICON, UIConstants.HIDE_PRESSED_ICON) { - @Override - public Dimension getPreferredSize() { - return new Dimension(40, 40); - } - }; + editButton = new LargeButton(new LazyIcon("param_edit"), new LazyIcon("param_edit_pressed"), new LazyIcon("param_edit_pressed")); + hideButton = new LargeButton(new LazyIcon("param_hide"), new LazyIcon("param_hide_pressed"), new LazyIcon("param_hide_pressed")); editButton.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { @@ -454,16 +442,23 @@ public class UIModeControlContainer extends JLayeredPane { @Override public void paint(Graphics g) { - Graphics2D g2d = (Graphics2D) g; - Composite oldComposite = g2d.getComposite(); - g2d.setComposite(composite); - g2d.setColor(Color.BLACK); - g2d.fillRect(0, 0, getWidth(), getHeight()); - g2d.setComposite(oldComposite); + FineUIUtils.paintWithComposite(g, composite, coverBackground, getWidth(), getHeight(), coverRadius); super.paint(g); } } + static class LargeButton extends UIButton { + public LargeButton(Icon normal, Icon rollOver, Icon pressed) { + super(normal, rollOver, pressed); + setUI(new BasicButtonUI()); + } + + @Override + public Dimension getPreferredSize() { + return new Dimension(40, 40); + } + } + /** * @param args */ diff --git a/designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java index 41bb38e291..96265efcf1 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java @@ -16,6 +16,8 @@ import org.jetbrains.annotations.Nullable; import javax.swing.JComponent; import javax.swing.JPanel; +import javax.swing.BorderFactory; +import javax.swing.UIManager; import javax.swing.border.MatteBorder; import java.awt.BorderLayout; import java.awt.Component; @@ -78,7 +80,9 @@ public class CenterRegionContainerPane extends JPanel { return dim; } }; + toolbarPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); toolbarPane.setLayout(FRGUIPaneFactory.createBorderLayout()); + toolbarPane.setBackground(UIManager.getColor("Center.SpaceColor")); eastPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); eastPane.add(largeToolbar = getToolBarMenuDock().createLargeToolbar(), BorderLayout.WEST); eastCenterPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); @@ -95,7 +99,8 @@ public class CenterRegionContainerPane extends JPanel { this.setLayout(new BorderLayout()); this.add(centerTemplateCardPane = new DesktopCardPane(), BorderLayout.CENTER); this.add(toolbarPane, BorderLayout.NORTH); - + this.setBackground(UIManager.getColor("Center.SpaceColor")); + this.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10)); } public ToolBarMenuDock getToolBarMenuDock() { @@ -228,8 +233,8 @@ public class CenterRegionContainerPane extends JPanel { // 颜色,字体那些按钮的工具栏 toolbarPane.add(toolbarComponent = ad.resetToolBar(toolbarComponent, plus), BorderLayout.CENTER); - JPanel customNorthPane = strategy.customNorthPane(toolbarPane,plus); - if (!isExist(customNorthPane)){ + JPanel customNorthPane = strategy.customNorthPane(toolbarPane, plus); + if (!isExist(customNorthPane)) { this.removeNorth(); this.add(customNorthPane, BorderLayout.NORTH); } @@ -247,10 +252,10 @@ public class CenterRegionContainerPane extends JPanel { resetByDesignMode(); } - private void removeNorth(){ + private void removeNorth() { Component[] components = this.getComponents(); - for(Component c : components){ - if (c!= centerTemplateCardPane){ + for (Component c : components) { + if (c != centerTemplateCardPane) { this.remove(c); } } @@ -280,7 +285,6 @@ public class CenterRegionContainerPane extends JPanel { } - JComponent getToolbarComponent() { return this.toolbarComponent; @@ -312,7 +316,7 @@ public class CenterRegionContainerPane extends JPanel { /** * 重置下RegionContainerpane */ - public void resetCenterRegionContainerPane(){ + public void resetCenterRegionContainerPane() { templateTabPane.add(MultiTemplateTabPane.getInstance(), BorderLayout.CENTER); } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java index 115d4aeaf2..901a37a9c1 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java @@ -166,7 +166,6 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt setLayout(new BorderLayout()); toolBar = ToolBarDef.createJToolBar(); - toolBar.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.TOOLBAR_BORDER_COLOR)); toolBar.setBorderPainted(true); JPanel tooBarPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel parent = new JPanel(new BorderLayout()); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java index 73b37acd6c..f11e37478b 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java @@ -1283,7 +1283,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { setLayout(new BorderLayout()); add(contentPane, BorderLayout.CENTER); - setBorder(BorderFactory.createMatteBorder(1, 0, 1, 0, UIManager.getColor("East.border"))); + setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIManager.getColor("East.border"))); initToolButton(buttonType); } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/NorthRegionContainerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/NorthRegionContainerPane.java index a48be8b034..e1540f9a51 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/NorthRegionContainerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/NorthRegionContainerPane.java @@ -20,9 +20,11 @@ import com.fr.plugin.observer.PluginEventType; import com.fr.stable.os.support.OSBasedAction; import com.fr.stable.os.support.OSSupportCenter; +import javax.swing.BorderFactory; import javax.swing.JMenuBar; import javax.swing.JPanel; import javax.swing.SwingUtilities; +import javax.swing.UIManager; import java.awt.BorderLayout; import java.awt.Component; import java.awt.FlowLayout; @@ -66,6 +68,7 @@ public class NorthRegionContainerPane extends JPanel { this.setLayout(new BorderLayout()); this.add(initNorthEastPane(ad), BorderLayout.EAST); + this.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIManager.getColor("North.border"))); } /** diff --git a/designer-base/src/main/resources/com/fine/theme/icon/param/edit.svg b/designer-base/src/main/resources/com/fine/theme/icon/param/edit.svg new file mode 100644 index 0000000000..18e92aecfb --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/param/edit.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/param/edit_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/param/edit_disable.svg new file mode 100644 index 0000000000..09f0d2e49a --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/param/edit_disable.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/param/edit_pressed.svg b/designer-base/src/main/resources/com/fine/theme/icon/param/edit_pressed.svg new file mode 100644 index 0000000000..31196d10d7 --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/param/edit_pressed.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/param/hide.svg b/designer-base/src/main/resources/com/fine/theme/icon/param/hide.svg new file mode 100644 index 0000000000..11dfc10b36 --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/param/hide.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/param/hide_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/param/hide_disable.svg new file mode 100644 index 0000000000..73a27ff478 --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/param/hide_disable.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/param/hide_pressed.svg b/designer-base/src/main/resources/com/fine/theme/icon/param/hide_pressed.svg new file mode 100644 index 0000000000..2aaf53a1d9 --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/param/hide_pressed.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/designer-base/src/main/resources/com/fine/theme/icon/param/view.svg b/designer-base/src/main/resources/com/fine/theme/icon/param/view.svg new file mode 100644 index 0000000000..8a44f28058 --- /dev/null +++ b/designer-base/src/main/resources/com/fine/theme/icon/param/view.svg @@ -0,0 +1,7 @@ + + + icon 显示 + + + + \ No newline at end of file diff --git a/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties b/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties index 1a368395cf..1574aeb674 100644 --- a/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties +++ b/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties @@ -160,13 +160,6 @@ controlHighlight = lighten($controlShadow,12%) controlLtHighlight = lighten($controlShadow,25%) controlDkShadow = darken($controlShadow,15%) DarkenedFontColor = #091E40 -DesignerSpaceColor = #FFF - -# ---- MainWorkArea ---- - -CenterOuterShadowColor = #F2F4F8 -ZoneBorderColor = #E6E9EF -GridColumnRowColor = #F8F9FC #---- Button ---- @@ -632,7 +625,7 @@ RootPane.inactiveBorderColor = darken(@background,30%,derived) #---- ScrollBar ---- -ScrollBar.width = 10 +ScrollBar.width = 16 ScrollBar.minimumButtonSize = 12,12 ScrollBar.minimumThumbSize = 10,10 ScrollBar.maximumThumbSize = 100000,100000 @@ -642,7 +635,7 @@ ScrollBar.trackArc = 0 ScrollBar.thumbArc = 0 ScrollBar.hoverThumbWithTrack = false ScrollBar.pressedThumbWithTrack = false -ScrollBar.showButtons = false +ScrollBar.showButtons = true ScrollBar.squareButtons = false ScrollBar.buttonArrowColor = @buttonArrowColor ScrollBar.buttonDisabledArrowColor = @buttonDisabledArrowColor @@ -1066,6 +1059,9 @@ Tree.icon.closedColor = @icon Tree.icon.openColor = @icon Tree.hash = darken($Tree.background,10%) +#---- West ---- +West.border = #DADEE7 + #---- East ---- East.border = #DADEE7 East.TabSelectedColor = #B3CFF9 @@ -1077,10 +1073,24 @@ South.SheetIconSepDistance = 16 South.SheetBarHeight = 24 South.SheetAddWidth = 6 South.SheetIconGap = 5 +South.SheetSelectedColor = #FFF + #---- North ---- North.userinfoLabel.borderMargins=2, 16, 2, 16 North.userinfoLabel.width=80 North.userinfoLabel.height=24 +North.border = #DADEE7 +North.coverPane.background = #0a1c38 +North.coverPane.radius = 8 + +# ---- Center ---- + +Center.OuterShadowColor = #F2F4F8 +Center.ZoneBorderColor = #E6E9EF +Center.GridColumnRowColor = #F8F9FC +Center.SpaceColor = #FFF +Center.border = 0, 10, 10, 10 + #---- Styles ------------------------------------------------------------------ diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/ReportComponentComposite.java b/designer-realize/src/main/java/com/fr/design/mainframe/ReportComponentComposite.java index a14573c6e4..5bfc086f37 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/ReportComponentComposite.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/ReportComponentComposite.java @@ -16,8 +16,10 @@ import com.fr.main.impl.WorkBook; import com.fr.report.report.TemplateReport; import com.fr.stable.StringUtils; +import javax.swing.BorderFactory; import javax.swing.JComponent; import javax.swing.JPanel; +import javax.swing.UIManager; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.BorderLayout; @@ -63,6 +65,7 @@ public class ReportComponentComposite extends JComponent implements RemoveListen CellElementRegion = FRGUIPaneFactory.createBorderLayout_S_Pane(); this.add(CellElementRegion, BorderLayout.NORTH); this.add(createSouthControlPane(), BorderLayout.SOUTH); + this.setBorder(BorderFactory.createLineBorder(UIManager.getColor("Center.ZoneBorderColor"))); jSliderContainer.addValueChangeListener(showValSpinnerChangeListener); } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java b/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java index f0f1cbf46c..531e3f08e6 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java @@ -61,9 +61,9 @@ import java.util.List; */ public class SheetNameTabPane extends JComponent implements MouseListener, MouseMotionListener, RemoveListener { - private static final Color BORDER_COLOR = UIManager.getColor("ZoneBorderColor"); - private static final Color BACKGROUND_COLOR = UIManager.getColor("CenterOuterShadowColor"); - private static final Color SELECTED_COLOR = UIManager.getColor("DesignerSpaceColor"); + private static final Color BORDER_COLOR = UIManager.getColor("Center.ZoneBorderColor"); + private static final Color BACKGROUND_COLOR = UIManager.getColor("Center.OuterShadowColor"); + private static final Color SELECTED_COLOR = UIManager.getColor("South.SheetSelectedColor"); private static final Color FONT_COLOR = UIManager.getColor("DarkenedFontColor"); private static final Icon ADD_WORK_SHEET = new LazyIcon("add_worksheet"); @@ -365,7 +365,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse int addIconlocation = 0; WorkBook workBook = reportComposite.getEditingWorkBook(); int reportCount = workBook.getReportCount(); - double textX = 0; + double textX = SHEET_ICON_GAP; for (int i = scrollIndex; i < reportCount; i++) { lastOneIndex = i; TemplateReport templateReport = workBook.getTemplateReport(i); diff --git a/designer-realize/src/main/java/com/fr/grid/GridColumnUI.java b/designer-realize/src/main/java/com/fr/grid/GridColumnUI.java index 6c401e925b..d05f252d42 100644 --- a/designer-realize/src/main/java/com/fr/grid/GridColumnUI.java +++ b/designer-realize/src/main/java/com/fr/grid/GridColumnUI.java @@ -9,10 +9,8 @@ import javax.swing.JComponent; import javax.swing.UIManager; import javax.swing.plaf.ComponentUI; -import com.fr.base.BaseUtils; import com.fr.base.DynamicUnitList; import com.fr.base.GraphHelper; -import com.fr.base.ScreenResolution; import com.fr.base.vcs.DesignerMode; import com.fr.cache.list.IntList; import com.fr.design.constants.UIConstants; @@ -29,7 +27,7 @@ import com.fr.report.elementcase.ElementCase; * @since 2012-3-22下午5:51:10 */ public class GridColumnUI extends ComponentUI { - protected Color withoutDetailsBackground = UIConstants.GRID_COLUMN_DETAILS_BACKGROUND; + protected Color withoutDetailsBackground = UIManager.getColor("Center.GridColumnRowColor"); private int resolution ; public GridColumnUI(int resolution){ @@ -75,21 +73,15 @@ public class GridColumnUI extends ComponentUI { if (gridColumn.getBackground() != null) { g2d.setPaint(this.withoutDetailsBackground); GraphHelper.fill(g2d, new Rectangle2D.Double(0, 0, columnLeftWidth, size.getHeight())); - g2d.setPaint(Color.WHITE); - GraphHelper.fill(g2d, new Rectangle2D.Double(columnLeftWidth, 0, size.getWidth() - columnLeftWidth, size.getHeight())); } // draw left border line. g2d.setPaint(gridColumn.getSeparatorLineColor()); GraphHelper.drawLine(g2d, 0, 0, 0, size.getHeight()); - double tmpWidth2 = 0; - drawColumn(horizontalBeginValue, horizontalEndValue, columnWidthList, tmpWidth2, reportPane, g2d, gridColumn, size); - // 画上边的边框线. - g2d.setColor(gridColumn.getSeparatorLineColor()); - GraphHelper.drawLine(g2d, 0, 0, tmpWidth2, 0); + drawColumn(horizontalBeginValue, horizontalEndValue, columnWidthList, reportPane, g2d, gridColumn, size); } - private void drawColumn(int horizontalBeginValue, int horizontalEndValue, DynamicUnitList columnWidthList, double tmpWidth2, + private void drawColumn(int horizontalBeginValue, int horizontalEndValue, DynamicUnitList columnWidthList, ElementCasePane reportPane, Graphics2D g2d, GridColumn gridColumn, Dimension size) { // draw column. @@ -112,7 +104,7 @@ public class GridColumnUI extends ComponentUI { tmpIncreaseWidth = columnWidthList.get(i).toPixD(resolution); // check these column wich width is zero. - tmpWidth2 = tmpIncreaseWidth <= 0 ? tmpWidth1 + 1 : tmpWidth1 + tmpIncreaseWidth; + double tmpWidth2 = tmpIncreaseWidth <= 0 ? tmpWidth1 + 1 : tmpWidth1 + tmpIncreaseWidth; // marks:画出来多个选中的区域 Selection sel = reportPane.getSelection(); int[] selectedColumn = sel.getSelectedColumns(); diff --git a/designer-realize/src/main/java/com/fr/grid/GridCorner.java b/designer-realize/src/main/java/com/fr/grid/GridCorner.java index 700fd802dc..43ca7fbe5e 100644 --- a/designer-realize/src/main/java/com/fr/grid/GridCorner.java +++ b/designer-realize/src/main/java/com/fr/grid/GridCorner.java @@ -40,24 +40,11 @@ public class GridCorner extends BaseGridComponent { //size Dimension size = this.getSize(); Rectangle2D rect2D = new Rectangle2D.Double(0, 0, size.getWidth(), size.getHeight()); - //paint background. -// if (this.getBackground() != null) { -// g2d.setPaint(this.getBackground()); -// GraphHelper.fill(g2d, rect2D); -// } else { - g2d.setPaint(reportPane.getGrid().getBackground()); - GraphHelper.fill(g2d, rect2D); -// } + g2d.setPaint(reportPane.getGrid().getBackground()); + GraphHelper.fill(g2d, rect2D); paintArc(g2d, size, time); - //画左边的边框线. - g2d.setColor(reportPane.getGridColumn().getSeparatorLineColor()); - GraphHelper.drawLine(g2d, 0, 0, 0, size.getHeight()); - - //画上边的边框线. - g2d.setColor(reportPane.getGridRow().getSeparatorLineColor()); - GraphHelper.drawLine(g2d, 0, 0, size.getWidth(), 0); } /** diff --git a/designer-realize/src/main/java/com/fr/grid/GridRowUI.java b/designer-realize/src/main/java/com/fr/grid/GridRowUI.java index 19f4d76df5..5f88c6c952 100644 --- a/designer-realize/src/main/java/com/fr/grid/GridRowUI.java +++ b/designer-realize/src/main/java/com/fr/grid/GridRowUI.java @@ -10,10 +10,8 @@ import javax.swing.plaf.ComponentUI; import com.fr.design.mainframe.DesignerUIModeConfig; import com.fr.stable.AssistUtils; -import com.fr.base.BaseUtils; import com.fr.base.DynamicUnitList; import com.fr.base.GraphHelper; -import com.fr.base.ScreenResolution; import com.fr.base.vcs.DesignerMode; import com.fr.cache.list.IntList; import com.fr.design.constants.UIConstants; @@ -29,7 +27,7 @@ import com.fr.report.elementcase.ElementCase; * @since 2012-3-22下午5:54:21 */ public class GridRowUI extends ComponentUI { - private Color detailsBackground = UIConstants.GRID_ROW_DETAILS_BACKGROUND; + private Color detailsBackground = UIManager.getColor("Center.GridColumnRowColor"); private int resolution ; GridRowUI(int resolution){ @@ -74,23 +72,17 @@ public class GridRowUI extends ComponentUI { rowTopHeight = Math.min(horizontalLineHeight, rowTopHeight); if (gridRow.getBackground() != null) { g2d.setPaint(this.detailsBackground); - GraphHelper.fill(g2d, new Rectangle2D.Double(0, 0, size.getWidth(), rowTopHeight)); - g2d.setPaint(Color.WHITE); - GraphHelper.fill(g2d, new Rectangle2D.Double(0, rowTopHeight, size.getHeight(), size.getHeight() - rowTopHeight)); + GraphHelper.fill(g2d, new Rectangle2D.Double(0, 0, size.getWidth(), rowTopHeight)); } // draw top border line. g2d.setPaint(gridRow.getSeparatorLineColor()); GraphHelper.drawLine(g2d, 0, 0, size.getWidth(), 0); // draw row - double tmpHeight2 = 0; - drawRow(verticalBeginValue, verticalEndValue, rowHeightList, resolution, tmpHeight2, gridRow, g2d); - // 画左边的边框线. - g2d.setColor(gridRow.getSeparatorLineColor()); - GraphHelper.drawLine(g2d, 0, 0, 0, tmpHeight2); + drawRow(verticalBeginValue, verticalEndValue, rowHeightList, resolution, gridRow, g2d); } private void drawRow(int verticalBeginValue, int verticalEndValue, DynamicUnitList rowHeightList, int resolution, - double tmpHeight2, GridRow gridRow, Graphics2D g2d) { + GridRow gridRow, Graphics2D g2d) { boolean isSelectedBounds; double tmpHeight1 = 0; double tmpIncreaseHeight = 0; @@ -108,7 +100,7 @@ public class GridRowUI extends ComponentUI { tmpHeight1 += tmpIncreaseHeight; tmpIncreaseHeight = rowHeightList.get(i).toPixD(resolution); // check these row wich height is zero. - tmpHeight2 = AssistUtils.equals(tmpIncreaseHeight,0d) ? tmpHeight1 + 1 : tmpHeight1 + tmpIncreaseHeight; + double tmpHeight2 = AssistUtils.equals(tmpIncreaseHeight, 0d) ? tmpHeight1 + 1 : tmpHeight1 + tmpIncreaseHeight; // check selection bound. Selection sel = reportPane.getSelection(); int[] selectedRows = sel.getSelectedRows();