|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package com.fr.design.mainframe; |
|
|
|
|
|
|
|
|
|
import com.fr.base.BaseUtils; |
|
|
|
|
import com.fine.theme.icon.LazyIcon; |
|
|
|
|
import com.formdev.flatlaf.ui.FlatUIUtils; |
|
|
|
|
import com.fr.base.GraphHelper; |
|
|
|
|
import com.fr.base.svg.IconUtils; |
|
|
|
|
import com.fr.base.theme.ReportTheme; |
|
|
|
@ -19,7 +20,6 @@ import com.fr.design.roleAuthority.ReportAndFSManagePane;
|
|
|
|
|
import com.fr.design.roleAuthority.RolesAlreadyEditedPane; |
|
|
|
|
import com.fr.design.utils.gui.GUICoreUtils; |
|
|
|
|
import com.fr.general.ComparatorUtils; |
|
|
|
|
import com.fr.general.IOUtils; |
|
|
|
|
import com.fr.main.impl.WorkBook; |
|
|
|
|
import com.fr.poly.PolyDesigner; |
|
|
|
|
import com.fr.report.poly.PolyWorkSheet; |
|
|
|
@ -37,7 +37,7 @@ import java.awt.BorderLayout;
|
|
|
|
|
import java.awt.Color; |
|
|
|
|
import java.awt.Dimension; |
|
|
|
|
import java.awt.FontMetrics; |
|
|
|
|
import java.awt.GradientPaint; |
|
|
|
|
import java.awt.BasicStroke; |
|
|
|
|
import java.awt.Graphics; |
|
|
|
|
import java.awt.Graphics2D; |
|
|
|
|
import java.awt.Point; |
|
|
|
@ -49,8 +49,7 @@ import java.awt.event.ComponentListener;
|
|
|
|
|
import java.awt.event.MouseEvent; |
|
|
|
|
import java.awt.event.MouseListener; |
|
|
|
|
import java.awt.event.MouseMotionListener; |
|
|
|
|
import java.awt.geom.GeneralPath; |
|
|
|
|
import java.awt.geom.Path2D; |
|
|
|
|
import java.awt.geom.RoundRectangle2D; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
@ -62,29 +61,32 @@ import java.util.List;
|
|
|
|
|
*/ |
|
|
|
|
public class SheetNameTabPane extends JComponent implements MouseListener, MouseMotionListener, RemoveListener { |
|
|
|
|
|
|
|
|
|
private static final Color LINE_COLOR = new Color(0xababab); |
|
|
|
|
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 FONT_COLOR = UIManager.getColor("DarkenedFontColor"); |
|
|
|
|
|
|
|
|
|
private static final Icon ADD_WORK_SHEET = IconUtils.readIcon("/com/fr/design/standard/add_worksheet"); |
|
|
|
|
protected static final Icon ADD_POLY_SHEET = IconUtils.readIcon("/com/fr/design/standard/add_polysheet"); |
|
|
|
|
private static final Icon WORK_SHEET_ICON = IconUtils.readIcon("/com/fr/design/standard/worksheet"); |
|
|
|
|
private static final Icon POLY_SHEET_ICON = IconUtils.readIcon("/com/fr/design/standard/polysheet"); |
|
|
|
|
private static final Icon ADD_WORK_SHEET = new LazyIcon("add_worksheet"); |
|
|
|
|
protected static final Icon ADD_POLY_SHEET = new LazyIcon("add_polysheet"); |
|
|
|
|
|
|
|
|
|
// TODO: 视觉未提供
|
|
|
|
|
private static final Icon LEFT_ICON = IconUtils.readIcon("/com/fr/design/standard/prepage/pre_page"); |
|
|
|
|
private static final Icon RIGHT_ICON = IconUtils.readIcon("/com/fr/design/standard/nextpage/next_page"); |
|
|
|
|
private static final Icon DISABLED_LEFT_ICON = IconUtils.readIcon("/com/fr/design/standard/prepage/pre_page_disabled.svg"); |
|
|
|
|
private static final Icon DISABLED_RIGHT_ICON = IconUtils.readIcon("/com/fr/design/standard/nextpage/next_page_disabled.svg"); |
|
|
|
|
|
|
|
|
|
private static final int NUM = 10; |
|
|
|
|
|
|
|
|
|
private static final int ICON_SEP_DISTANCE = 8; |
|
|
|
|
private static final int TOOLBAR_HEIGHT = 16; |
|
|
|
|
private static final int ADD_WIDTH_BY_SHEETNAME = 20; //sheet名字的文本到图标边框的距离
|
|
|
|
|
private static final int GRID_TOSHEET_RIGHT = 20; // 添加grid按钮右侧距sheet面板右侧的距离
|
|
|
|
|
private static final int POLY_TOSHEET_LEFT = 30; // 添加poly按钮左侧距sheet面板右侧的距离
|
|
|
|
|
private static final int POLY_TOSHEET_RIGHT = 50; // 添加poly按钮右侧距sheet面板右侧的距离
|
|
|
|
|
private static final int SHEET_ICON_GAP = 5; // 每个sheet图标之间的距离
|
|
|
|
|
|
|
|
|
|
private static final int GRAP = 12; // 给两个添加按钮与其他组件预留的间隔
|
|
|
|
|
private static final int LEFT_CORNOR = 0;// 左角落.
|
|
|
|
|
private static final int RIGHT_CORNOR = 0;// 右角落
|
|
|
|
|
private static final int ICON_SEP_DISTANCE = UIManager.getInt("South.SheetIconSepDistance"); |
|
|
|
|
private static final int SHEET_ICON_GAP = UIManager.getInt("South.SheetIconGap"); // 每个sheet图标之间的距离
|
|
|
|
|
private static final int TOOLBAR_HEIGHT = UIManager.getInt("South.SheetBarHeight"); |
|
|
|
|
private static final int ADD_WIDTH_BY_SHEETNAME = UIManager.getInt("South.SheetAddWidth"); //sheet名字的文本到图标边框的距离
|
|
|
|
|
private static final int TAB_BUTTON_GAP = UIManager.getInt("South.SheetTabButtonGap"); // 两个添加按钮与其他组件预留的间隔
|
|
|
|
|
private static final int SHEET_TAB_RADIUS = UIManager.getInt("South.SheetTabRadius"); // sheet标签栏圆角属性
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 左移和右移按钮 |
|
|
|
@ -158,25 +160,14 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
this.addMouseListener(this); |
|
|
|
|
this.addMouseMotionListener(this); |
|
|
|
|
this.setBorder(null); |
|
|
|
|
this.setForeground(new Color(99, 99, 99)); |
|
|
|
|
this.setForeground(FONT_COLOR); |
|
|
|
|
this.setBackground(BACKGROUND_COLOR); |
|
|
|
|
leftButton = new UIButton(LEFT_ICON) { |
|
|
|
|
@Override |
|
|
|
|
public Dimension getPreferredSize() { |
|
|
|
|
return new Dimension(super.getPreferredSize().width, TOOLBAR_HEIGHT); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
// leftButton.setUI(new UIButtonUI() {
|
|
|
|
|
// @Override
|
|
|
|
|
// protected void doExtraPainting(UIButton b, Graphics2D g2d, int w, int h, String selectedRoles) {
|
|
|
|
|
// if (isPressed(b) && b.isPressedPainted()) {
|
|
|
|
|
// GUIPaintUtils.fillPressed(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), UIConstants.PROPERTY_PANE_BACKGROUND);
|
|
|
|
|
// } else if (isRollOver(b)) {
|
|
|
|
|
// GUIPaintUtils.fillRollOver(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted(), UIConstants.PROPERTY_PANE_BACKGROUND);
|
|
|
|
|
// } else if (b.isNormalPainted()) {
|
|
|
|
|
// GUIPaintUtils.fillNormal(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// });
|
|
|
|
|
leftButton.set4ToolbarButton(); |
|
|
|
|
leftButton.setDisabledIcon(DISABLED_LEFT_ICON); |
|
|
|
|
rightButton = new UIButton(RIGHT_ICON) { |
|
|
|
@ -185,18 +176,6 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
return new Dimension(super.getPreferredSize().width, TOOLBAR_HEIGHT); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
// rightButton.setUI(new UIButtonUI() {
|
|
|
|
|
// @Override
|
|
|
|
|
// protected void doExtraPainting(UIButton b, Graphics2D g2d, int w, int h, String selectedRoles) {
|
|
|
|
|
// if (isPressed(b) && b.isPressedPainted()) {
|
|
|
|
|
// GUIPaintUtils.fillPressed(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), UIConstants.PROPERTY_PANE_BACKGROUND);
|
|
|
|
|
// } else if (isRollOver(b)) {
|
|
|
|
|
// GUIPaintUtils.fillRollOver(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted(), UIConstants.PROPERTY_PANE_BACKGROUND);
|
|
|
|
|
// } else if (b.isNormalPainted()) {
|
|
|
|
|
// GUIPaintUtils.fillNormal(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// });
|
|
|
|
|
rightButton.set4ToolbarButton(); |
|
|
|
|
rightButton.setDisabledIcon(DISABLED_RIGHT_ICON); |
|
|
|
|
buttonPane = new JPanel(new BorderLayout(3, 0)); |
|
|
|
@ -347,13 +326,11 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
public Icon getAddWorkSheet(){ |
|
|
|
|
return ADD_WORK_SHEET; |
|
|
|
|
} |
|
|
|
|
public Icon getWorkSheetIcon(){ |
|
|
|
|
return WORK_SHEET_ICON; |
|
|
|
|
} |
|
|
|
|
@Override |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 画Tab |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public void paintComponent(Graphics g) { |
|
|
|
|
super.paintComponent(g); |
|
|
|
|
isAuthorityEditing = DesignerMode.isAuthorityEditing(); |
|
|
|
@ -366,7 +343,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
double textHeight = this.getSize().getHeight() - 1; |
|
|
|
|
|
|
|
|
|
widthArray = calculateWidthArray(); |
|
|
|
|
int operationWidth = GRAP + getAddWorkSheet().getIconWidth() + ICON_SEP_DISTANCE + ADD_POLY_SHEET.getIconWidth(); |
|
|
|
|
int operationWidth = TAB_BUTTON_GAP + getAddWorkSheet().getIconWidth() + ICON_SEP_DISTANCE + ADD_POLY_SHEET.getIconWidth(); |
|
|
|
|
double maxWidth = getWidth() - operationWidth - buttonPane.getWidth();// 最大宽度
|
|
|
|
|
paintBackgroundAndLine(g2d, textHeight, maxWidth, charWidth, textAscent); |
|
|
|
|
checkButton(showCount < widthArray.length); |
|
|
|
@ -389,7 +366,6 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
WorkBook workBook = reportComposite.getEditingWorkBook(); |
|
|
|
|
int reportCount = workBook.getReportCount(); |
|
|
|
|
double textX = 0; |
|
|
|
|
Icon sheeticon; |
|
|
|
|
for (int i = scrollIndex; i < reportCount; i++) { |
|
|
|
|
lastOneIndex = i; |
|
|
|
|
TemplateReport templateReport = workBook.getTemplateReport(i); |
|
|
|
@ -398,13 +374,11 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); |
|
|
|
|
isNeedPaintedAuthority = templateReport.getWorkSheetPrivilegeControl().checkInvisible(selectedRoles); |
|
|
|
|
} |
|
|
|
|
sheeticon = templateReport instanceof WorkSheet ? getWorkSheetIcon() : POLY_SHEET_ICON; |
|
|
|
|
String sheetName = workBook.getReportName(i); |
|
|
|
|
if (i == selectedIndex) { |
|
|
|
|
paintSelectedTab(g2d, sheeticon, textHeight, textX, sheetName, charWidth, textAscent, isNeedPaintedAuthority); |
|
|
|
|
} else { |
|
|
|
|
paintUnSelectedTab(g2d, sheeticon, textHeight, textX, sheetName, charWidth, textAscent, i, isNeedPaintedAuthority); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
boolean selected = i == selectedIndex; |
|
|
|
|
paintTab(g2d, textHeight, textX, sheetName, charWidth, textAscent, i, isNeedPaintedAuthority, selected); |
|
|
|
|
|
|
|
|
|
int width = widthArray[i]; |
|
|
|
|
textX += width + 1; |
|
|
|
|
addIconlocation += width; |
|
|
|
@ -423,7 +397,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 画两个添加sheet图标
|
|
|
|
|
iconLocation = isOvertakeWidth ? (int) (maxWidth) : addIconlocation + GRAP; |
|
|
|
|
iconLocation = isOvertakeWidth ? (int) (maxWidth) : addIconlocation + TAB_BUTTON_GAP; |
|
|
|
|
|
|
|
|
|
paintAddButton(g2d); |
|
|
|
|
} |
|
|
|
@ -433,78 +407,29 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
ADD_POLY_SHEET.paintIcon(this, g2d, iconLocation + getAddWorkSheet().getIconWidth() + ICON_SEP_DISTANCE, 3); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 画选中的tab |
|
|
|
|
* |
|
|
|
|
* @param g2d |
|
|
|
|
* @param sheeticon |
|
|
|
|
* @param textHeight |
|
|
|
|
* @param textX |
|
|
|
|
* @param sheetName |
|
|
|
|
* @param charWidth |
|
|
|
|
* @param textAscent |
|
|
|
|
*/ |
|
|
|
|
private void paintSelectedTab(Graphics2D g2d, Icon sheeticon, double textHeight, double textX, String sheetName, int charWidth, int textAscent, boolean isNeedPaintAuthority) { |
|
|
|
|
double[] x = {textX, textX, textX + LEFT_CORNOR, textX + widthArray[selectedIndex] - RIGHT_CORNOR, textX + widthArray[selectedIndex] + RIGHT_CORNOR}; |
|
|
|
|
double[] y = {0, textHeight - LEFT_CORNOR, textHeight, textHeight, 0}; |
|
|
|
|
if (isNeedPaintAuthority) { |
|
|
|
|
g2d.setPaint(new GradientPaint(1, 1, UIConstants.AUTHORITY_SHEET_LIGHT, 1, getHeight() - 1, UIConstants.AUTHORITY_SHEET_DARK)); |
|
|
|
|
} else { |
|
|
|
|
g2d.setPaint(new GradientPaint(1, 1, getBackground(), 1, getHeight() - 1, getBackground())); |
|
|
|
|
} |
|
|
|
|
GeneralPath generalPath = new GeneralPath(Path2D.WIND_EVEN_ODD, x.length); |
|
|
|
|
generalPath.moveTo((float) x[0], (float) y[0]); |
|
|
|
|
|
|
|
|
|
for (int index = 1; index < x.length; index++) { |
|
|
|
|
generalPath.lineTo((float) x[index], (float) y[index]); |
|
|
|
|
} |
|
|
|
|
generalPath.closePath(); |
|
|
|
|
g2d.fill(generalPath); |
|
|
|
|
sheeticon.paintIcon(this, g2d, (int) textX + charWidth, 2); |
|
|
|
|
// peter:画字符
|
|
|
|
|
g2d.setPaint(getForeground()); |
|
|
|
|
GraphHelper.drawString(g2d, sheetName, (int) textX + charWidth + 14, textAscent); |
|
|
|
|
} |
|
|
|
|
private void paintTab(Graphics2D g2d, double textHeight, double textX, String sheetName, int charWidth, int textAscent, int i, boolean isNeedPaintAuthority, boolean isSelected) { |
|
|
|
|
|
|
|
|
|
Color backgroundColor = isSelected ? SELECTED_COLOR: (isNeedPaintAuthority ? UIConstants.AUTHORITY_SHEET_UNSELECTED : getBackground()); |
|
|
|
|
g2d.setColor(backgroundColor); |
|
|
|
|
|
|
|
|
|
// 绘制圆角矩形背景
|
|
|
|
|
if (isSelected) { |
|
|
|
|
FlatUIUtils.setRenderingHints(g2d); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 画不是选中状态的tab |
|
|
|
|
* |
|
|
|
|
* @param g2d |
|
|
|
|
* @param sheetIcon |
|
|
|
|
* @param textHeight |
|
|
|
|
* @param textX |
|
|
|
|
* @param sheetName |
|
|
|
|
* @param charWidth |
|
|
|
|
* @param textAscent |
|
|
|
|
* @param i |
|
|
|
|
*/ |
|
|
|
|
private void paintUnSelectedTab(Graphics2D g2d, Icon sheetIcon, double textHeight, double textX, String sheetName, int charWidth, int textAscent, int i, boolean isNeedPaintAuthority) { |
|
|
|
|
Color tabBackground = UIConstants.COMBOBOX_BTN_NORMAL; |
|
|
|
|
int width = widthArray[i]; |
|
|
|
|
double[] x = {textX, textX, textX + LEFT_CORNOR, textX + width - RIGHT_CORNOR, textX + width, textX + width}; |
|
|
|
|
double[] y = {0, textHeight - LEFT_CORNOR, textHeight, textHeight, textHeight - RIGHT_CORNOR, 0}; |
|
|
|
|
if (isNeedPaintAuthority) { |
|
|
|
|
g2d.setPaint(UIConstants.AUTHORITY_SHEET_UNSELECTED); |
|
|
|
|
} else{ |
|
|
|
|
g2d.setPaint(getBackground()); |
|
|
|
|
} |
|
|
|
|
GeneralPath generalPath = new GeneralPath(Path2D.WIND_EVEN_ODD, x.length); |
|
|
|
|
generalPath.moveTo((float) x[0], (float) y[0]); |
|
|
|
|
int height = (int) textHeight + SHEET_TAB_RADIUS; |
|
|
|
|
RoundRectangle2D.Double backgroundRect = new RoundRectangle2D.Double(textX, -10, width, height, SHEET_TAB_RADIUS, SHEET_TAB_RADIUS); |
|
|
|
|
g2d.fill(backgroundRect); |
|
|
|
|
|
|
|
|
|
for (int index = 1; index < x.length; index++) { |
|
|
|
|
generalPath.lineTo((float) x[index], (float) y[index]); |
|
|
|
|
g2d.setColor(BORDER_COLOR); |
|
|
|
|
g2d.setStroke(new BasicStroke(1)); |
|
|
|
|
g2d.draw(backgroundRect); |
|
|
|
|
} |
|
|
|
|
generalPath.closePath(); |
|
|
|
|
g2d.fill(generalPath); |
|
|
|
|
|
|
|
|
|
g2d.setPaint(LINE_COLOR); |
|
|
|
|
double startX = textX > 0 ? textX - 1 : textX; |
|
|
|
|
g2d.drawRect((int)startX, 0, width, (int)textHeight); |
|
|
|
|
|
|
|
|
|
sheetIcon.paintIcon(this, g2d, (int) textX + charWidth, 2); |
|
|
|
|
g2d.setPaint(getForeground()); |
|
|
|
|
// REPORT-40495 之前的g2d.drawString(),在windows下默认宋体时,无法绘制韩文字符,而GraphHelper的drawString中对韩文做了额外处理,可以绘制韩文字符
|
|
|
|
|
GraphHelper.drawString(g2d, sheetName, (int) textX + charWidth + 14, textAscent); |
|
|
|
|
// 绘制文本
|
|
|
|
|
g2d.setColor(getForeground()); |
|
|
|
|
GraphHelper.drawString(g2d, sheetName, (int) textX + charWidth + 4, textAscent + 2); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -529,12 +454,8 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
for (int i = 0; i < selectedIndex; i++) { |
|
|
|
|
totalWidth += widthArray[i]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int distance = startPointX - totalWidth; |
|
|
|
|
|
|
|
|
|
int[] x = {(int) lastPoint.getX() - distance, (int) lastPoint.getX() - distance, (int) lastPoint.getX() - distance + width, (int) lastPoint.getX() + width - distance}; |
|
|
|
|
int[] y = {0, (int) (textHeight), (int) (textHeight), 0}; |
|
|
|
|
g2d.drawPolygon(x, y, 4); |
|
|
|
|
// peter:画字符
|
|
|
|
|
g2d.setPaint(getForeground()); |
|
|
|
|
// richie:把当前选中的workSheet的名字画到鼠标拖动产生的图形上.
|
|
|
|
@ -799,7 +720,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
protected abstract class SheetInsertAction extends UpdateAction { |
|
|
|
|
SheetInsertAction() { |
|
|
|
|
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Insert") + getTemplateReportType()); |
|
|
|
|
this.setSmallIcon(IOUtils.readIcon("/com/fr/base/images/cell/control/add.png")); |
|
|
|
|
this.setSmallIcon(new LazyIcon("add")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -838,7 +759,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
widthArray = calculateWidthArray(); |
|
|
|
|
int width = widthArray[i]; |
|
|
|
|
textX += width + 1; |
|
|
|
|
int operationWidth = GRAP + getAddWorkSheet().getIconWidth() + ICON_SEP_DISTANCE + ADD_POLY_SHEET.getIconWidth(); |
|
|
|
|
int operationWidth = TAB_BUTTON_GAP + getAddWorkSheet().getIconWidth() + ICON_SEP_DISTANCE + ADD_POLY_SHEET.getIconWidth(); |
|
|
|
|
double maxWidth = getWidth() - operationWidth - buttonPane.getWidth();// 最大宽度
|
|
|
|
|
if (i < widthArray.length - 1 && textX + widthArray[i + 1] + 1 > maxWidth) { |
|
|
|
|
isOvertakeWidth = true; |
|
|
|
@ -890,7 +811,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
private class RemoveSheetAction extends UpdateAction { |
|
|
|
|
RemoveSheetAction() { |
|
|
|
|
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Remove")); |
|
|
|
|
this.setSmallIcon(BaseUtils.readIcon("/com/fr/base/images/cell/control/remove.png")); |
|
|
|
|
this.setSmallIcon(new LazyIcon("remove")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -947,7 +868,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
private class RenameSheetAction extends UpdateAction { |
|
|
|
|
RenameSheetAction() { |
|
|
|
|
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Rename")); |
|
|
|
|
this.setSmallIcon(BaseUtils.readIcon("/com/fr/base/images/cell/control/rename.png")); |
|
|
|
|
this.setSmallIcon(new LazyIcon("rename")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -981,7 +902,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
|
|
|
|
|
private class CopySheetAction extends UpdateAction { |
|
|
|
|
CopySheetAction() { |
|
|
|
|
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Copy")); |
|
|
|
|
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/m_edit/copy.png")); |
|
|
|
|
this.setSmallIcon(new LazyIcon("copy")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|