From b0b373d279f434084820154da55cff7168ba0f02 Mon Sep 17 00:00:00 2001 From: hzzz Date: Tue, 9 Jan 2018 11:48:56 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=88=E6=9C=AC=E7=AE=A1=E7=90=86=E9=AA=8C?= =?UTF-8?q?=E6=94=B6bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/file/MutilTempalteTabPane.java | 23 ++++++++++++++++--- .../com/fr/design/file/NewTemplatePane.java | 17 +++++++++----- .../mainframe/toolbar/ToolBarMenuDock.java | 17 +------------- 3 files changed, 32 insertions(+), 25 deletions(-) diff --git a/designer_base/src/com/fr/design/file/MutilTempalteTabPane.java b/designer_base/src/com/fr/design/file/MutilTempalteTabPane.java index eb93f09fd3..4e7980d6a4 100644 --- a/designer_base/src/com/fr/design/file/MutilTempalteTabPane.java +++ b/designer_base/src/com/fr/design/file/MutilTempalteTabPane.java @@ -24,8 +24,17 @@ import com.fr.stable.project.ProjectConstants; import javax.swing.*; import javax.swing.plaf.basic.BasicMenuItemUI; import java.awt.*; -import java.awt.event.*; -import java.awt.geom.*; +import java.awt.event.AWTEventListener; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionListener; +import java.awt.geom.Arc2D; +import java.awt.geom.GeneralPath; +import java.awt.geom.Line2D; +import java.awt.geom.Path2D; +import java.awt.geom.RoundRectangle2D; import java.io.File; import java.util.logging.Level; @@ -306,6 +315,15 @@ public class MutilTempalteTabPane extends JComponent implements MouseListener, M } + public void paint(Graphics g) { + //不可见时,按钮.4f透明 + AlphaComposite composite = DesignerMode.isVcsMode() + ? AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f) + : (AlphaComposite) ((Graphics2D) g).getComposite(); + ((Graphics2D) g).setComposite(composite); + super.paint(g); + } + private void paintBackgroundAndLine(Graphics2D g2d, double maxWidth) { paintDefaultBackground(g2d); //最多能画的个数 @@ -635,7 +653,6 @@ public class MutilTempalteTabPane extends JComponent implements MouseListener, M public void mousePressed(MouseEvent e) { //如果在版本管理情况下,不允许切换tab if (DesignerMode.isVcsMode()) { - JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Designer-Vcs_tab_click"), Inter.getLocText("FR-Designer_Alert"), JOptionPane.WARNING_MESSAGE); return; } diff --git a/designer_base/src/com/fr/design/file/NewTemplatePane.java b/designer_base/src/com/fr/design/file/NewTemplatePane.java index fbb6ec8f9d..aeec5a8fdb 100644 --- a/designer_base/src/com/fr/design/file/NewTemplatePane.java +++ b/designer_base/src/com/fr/design/file/NewTemplatePane.java @@ -1,6 +1,7 @@ package com.fr.design.file; import com.fr.base.BaseUtils; +import com.fr.base.vcs.DesignerMode; import com.fr.design.constants.UIConstants; import com.fr.design.mainframe.DesignerContext; @@ -65,7 +66,7 @@ public abstract class NewTemplatePane extends JComponent implements MouseListene * @param e 事件 */ public void mouseClicked(MouseEvent e) { - if (BaseUtils.isAuthorityEditing()) { + if (needGrayNewCpt()) { newWorkBookIconMode = GRAY_NEW_CPT; } } @@ -76,7 +77,7 @@ public abstract class NewTemplatePane extends JComponent implements MouseListene */ public void mousePressed(MouseEvent e) { int evtX = e.getX(); - if (BaseUtils.isAuthorityEditing()) { + if (needGrayNewCpt()) { newWorkBookIconMode = GRAY_NEW_CPT; } if (isOverNewIcon(evtX) && newWorkBookIconMode != GRAY_NEW_CPT) { @@ -92,7 +93,7 @@ public abstract class NewTemplatePane extends JComponent implements MouseListene * @param e 事件 */ public void mouseReleased(MouseEvent e) { - if (BaseUtils.isAuthorityEditing()) { + if (needGrayNewCpt()) { newWorkBookIconMode = GRAY_NEW_CPT; } } @@ -102,7 +103,7 @@ public abstract class NewTemplatePane extends JComponent implements MouseListene * @param e 事件 */ public void mouseEntered(MouseEvent e) { - if (BaseUtils.isAuthorityEditing()) { + if (needGrayNewCpt()) { newWorkBookIconMode = GRAY_NEW_CPT; } } @@ -113,7 +114,7 @@ public abstract class NewTemplatePane extends JComponent implements MouseListene */ public void mouseExited(MouseEvent e) { newIconStartX = PRE_GAP; - if (BaseUtils.isAuthorityEditing()) { + if (needGrayNewCpt()) { newWorkBookIconMode = GRAY_NEW_CPT; } else { newWorkBookIconMode = getNew(); @@ -135,7 +136,7 @@ public abstract class NewTemplatePane extends JComponent implements MouseListene */ public void mouseMoved(MouseEvent e) { int evtX = e.getX(); - if (BaseUtils.isAuthorityEditing()) { + if (needGrayNewCpt()) { newWorkBookIconMode = GRAY_NEW_CPT; } else if (isOverNewIcon(evtX)) { newIconStartX = 0; @@ -146,6 +147,10 @@ public abstract class NewTemplatePane extends JComponent implements MouseListene } + private boolean needGrayNewCpt() { + return BaseUtils.isAuthorityEditing() || DesignerMode.isVcsMode(); + } + private boolean isOverNewIcon(int evtX) { return (evtX >= PRE_GAP && evtX <= PRE_GAP + newWorkBookIconMode.getIconWidth()); diff --git a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java index 3a2aa24419..37eded3911 100644 --- a/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java +++ b/designer_base/src/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java @@ -591,22 +591,7 @@ public abstract class ToolBarMenuDock { } public NewTemplatePane getNewTemplatePane() { - return new NewTemplatePane() { - @Override - public Icon getNew() { - return BaseUtils.readIcon("/com/fr/design/images/buttonicon/addicon.png"); - } - - @Override - public Icon getMouseOverNew() { - return BaseUtils.readIcon("/com/fr/design/images/buttonicon/add_press.png"); - } - - @Override - public Icon getMousePressNew() { - return BaseUtils.readIcon("/com/fr/design/images/buttonicon/add_press.png"); - } - }; + return ToolBarNewTemplatePane.getInstance(); } protected void insertMenu(MenuDef menuDef, String anchor) {