From 12a8c71c60549400ef0ba0465f78ab0ca918c64e Mon Sep 17 00:00:00 2001 From: MoMeak Date: Wed, 2 Aug 2017 16:07:13 +0800 Subject: [PATCH 01/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E6=9D=83=E9=99=90=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E3=80=81=E7=BC=A9=E6=94=BE=E6=9D=A1=E9=83=A8=E5=88=86?= =?UTF-8?q?=E8=A7=86=E8=A7=89=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/cell/CleanAuthorityAction.java | 2 +- .../mainframe/AuthorityEditToolBarPane.java | 65 +++----- .../mainframe/AuthoritySheetEditedPane.java | 2 +- .../mainframe/AuthorityToolBarPane.java | 8 +- .../ElementCasePaneAuthorityEditPane.java | 155 ++++++++++++++---- .../com/fr/design/mainframe/JWorkBook.java | 5 +- .../mainframe/SheetAuthorityEditPane.java | 33 +++- .../fr/design/mainframe/SheetNameTabPane.java | 5 +- .../cell/settingpane/CellExpandAttrPane.java | 4 +- .../cell/settingpane/CellOtherSetPane.java | 2 +- designer/src/com/fr/poly/PolyDesigner.java | 6 +- .../com/fr/poly/creator/ChartBlockEditor.java | 3 +- .../src/com/fr/poly/creator/ECBlockPane.java | 6 +- .../fr/design/foldablepane/HeaderPane.java | 34 ++-- .../com/fr/design/gui/ibutton/UIButton.java | 1 + .../fr/design/gui/style/AlignmentPane.java | 4 +- .../com/fr/design/gui/style/BorderPane.java | 4 +- .../design/images/data/source/hoverDown.png | Bin 0 -> 219 bytes .../design/images/data/source/hoverDown20.png | Bin 0 -> 198 bytes .../images/data/source/hoverDown@2x.png | Bin 0 -> 344 bytes .../fr/design/images/data/source/hoverUp.png | Bin 0 -> 240 bytes .../design/images/data/source/hoverUp20.png | Bin 0 -> 232 bytes .../design/images/data/source/hoverUp@2x.png | Bin 0 -> 406 bytes .../design/images/data/source/normalDown.png | Bin 0 -> 221 bytes .../images/data/source/normalDown20.png | Bin 0 -> 197 bytes .../images/data/source/normalDown@2x.png | Bin 0 -> 326 bytes .../fr/design/images/data/source/normalUp.png | Bin 0 -> 220 bytes .../design/images/data/source/normalUp20.png | Bin 0 -> 235 bytes .../design/images/data/source/normalUp@2x.png | Bin 0 -> 387 bytes .../design/images/data/source/scaleDown.png | Bin 0 -> 118 bytes .../fr/design/images/data/source/scaleUp.png | Bin 0 -> 166 bytes .../com/fr/design/locale/designer.properties | 7 - .../design/locale/designer_en_US.properties | 7 - .../design/locale/designer_ja_JP.properties | 29 +--- .../design/locale/designer_ko_KR.properties | 28 ---- .../design/locale/designer_zh_CN.properties | 5 + .../design/locale/designer_zh_TW.properties | 9 - .../design/mainframe/AuthorityEditPane.java | 2 +- .../mainframe/AuthorityPropertyPane.java | 2 +- .../mainframe/EastRegionContainerPane.java | 7 +- .../com/fr/design/mainframe/JSliderPane.java | 87 +++++----- .../mainframe/NoSupportAuthorityEdit.java | 2 +- .../roleAuthority/RolesAlreadyEditedPane.java | 2 +- .../src/com/fr/start/BaseDesigner.java | 8 +- .../FormWidgetAuthorityEditPane.java | 86 +++++----- .../com/fr/design/mainframe/FormDesigner.java | 14 +- .../src/com/fr/design/mainframe/JForm.java | 8 +- 47 files changed, 338 insertions(+), 304 deletions(-) create mode 100644 designer_base/src/com/fr/design/images/data/source/hoverDown.png create mode 100644 designer_base/src/com/fr/design/images/data/source/hoverDown20.png create mode 100644 designer_base/src/com/fr/design/images/data/source/hoverDown@2x.png create mode 100644 designer_base/src/com/fr/design/images/data/source/hoverUp.png create mode 100644 designer_base/src/com/fr/design/images/data/source/hoverUp20.png create mode 100644 designer_base/src/com/fr/design/images/data/source/hoverUp@2x.png create mode 100644 designer_base/src/com/fr/design/images/data/source/normalDown.png create mode 100644 designer_base/src/com/fr/design/images/data/source/normalDown20.png create mode 100644 designer_base/src/com/fr/design/images/data/source/normalDown@2x.png create mode 100644 designer_base/src/com/fr/design/images/data/source/normalUp.png create mode 100644 designer_base/src/com/fr/design/images/data/source/normalUp20.png create mode 100644 designer_base/src/com/fr/design/images/data/source/normalUp@2x.png create mode 100644 designer_base/src/com/fr/design/images/data/source/scaleDown.png create mode 100644 designer_base/src/com/fr/design/images/data/source/scaleUp.png diff --git a/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java b/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java index f403fcb9c..a7b22cfbe 100644 --- a/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java +++ b/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java @@ -1 +1 @@ -package com.fr.design.actions.cell; import java.awt.Rectangle; import java.awt.event.ActionEvent; import com.fr.design.actions.ElementCaseAction; import com.fr.design.mainframe.AuthorityPropertyPane; import com.fr.design.mainframe.EastRegionContainerPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.roleAuthority.ReportAndFSManagePane; import com.fr.design.roleAuthority.RolesAlreadyEditedPane; import com.fr.general.Inter; import com.fr.grid.selection.CellSelection; import com.fr.grid.selection.FloatSelection; import com.fr.grid.selection.Selection; import com.fr.report.cell.FloatElement; import com.fr.report.cell.TemplateCellElement; import com.fr.report.elementcase.TemplateElementCase; /** * Author : daisy * Date: 13-9-23 * Time: 下午2:41 */ public class CleanAuthorityAction extends ElementCaseAction { public CleanAuthorityAction(ElementCasePane t) { super(t); this.setName(Inter.getLocText(new String[]{"Clear", "DashBoard-Potence"})); } /** * 清楚权限动作 * * @param evt 事件 */ public void actionPerformed(ActionEvent evt) { ElementCasePane reportPane = getEditingComponent(); Selection selection = reportPane.getSelection(); String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); if (selection instanceof FloatSelection) { String name = ((FloatSelection) selection).getSelectedFloatName(); TemplateElementCase ec = reportPane.getEditingElementCase(); FloatElement fe = ec.getFloatElement(name); if (fe.isDoneAuthority(selectedRoles)) { fe.cleanAuthority(selectedRoles); } doAfterAuthority(reportPane); return; } CellSelection cellSelection = (CellSelection) selection; boolean isChooseColumnRow = cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN || cellSelection.getSelectedType() == CellSelection.CHOOSE_ROW; if (isChooseColumnRow && cellSelection.getCellRectangleCount() == 1) { cleanColumnRow(cellSelection, reportPane, selectedRoles); } else { cleanCell(cellSelection, reportPane, selectedRoles); } doAfterAuthority(reportPane); } private void doAfterAuthority(ElementCasePane reportPane) { reportPane.repaint(); reportPane.fireTargetModified(); RolesAlreadyEditedPane.getInstance().refreshDockingView(); RolesAlreadyEditedPane.getInstance().repaint(); if (EastRegionContainerPane.getInstance().getUpPane() instanceof AuthorityPropertyPane) { AuthorityPropertyPane authorityPropertyPane = (AuthorityPropertyPane) EastRegionContainerPane.getInstance().getUpPane(); authorityPropertyPane.populate(); EastRegionContainerPane.getInstance().replaceUpPane(authorityPropertyPane); } } /** * 清除单元格对应的角色的权限 * * @param cellSelection * @param reportPane */ private void cleanCell(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { if (selectedRoles == null) { return; } TemplateElementCase elementCase = reportPane.getEditingElementCase(); int cellRectangleCount = cellSelection.getCellRectangleCount(); for (int rect = 0; rect < cellRectangleCount; rect++) { Rectangle cellRectangle = cellSelection.getCellRectangle(rect); for (int j = 0; j < cellRectangle.height; j++) { for (int i = 0; i < cellRectangle.width; i++) { int column = i + cellRectangle.x; int row = j + cellRectangle.y; TemplateCellElement cellElement = elementCase.getTemplateCellElement(column, row); if (cellElement == null) { continue; } //清除权限 if (cellElement.isDoneAuthority(selectedRoles) || cellElement.isDoneNewValueAuthority(selectedRoles)) { cellElement.cleanAuthority(selectedRoles); } if (cellElement.getWidget() == null) { continue; } boolean isDoneAuthority = cellElement.getWidget().isDoneVisibleAuthority(selectedRoles) || cellElement.getWidget().isDoneUsableAuthority(selectedRoles); if (isDoneAuthority) { cellElement.getWidget().cleanAuthority(selectedRoles); } } } } } private void cleanColumnRow(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { if (selectedRoles == null) { return; } TemplateElementCase elementCase = reportPane.getEditingElementCase(); if (cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN) { for (int col = cellSelection.getColumn(); col < cellSelection.getColumn() + cellSelection.getColumnSpan(); col++) { elementCase.removeColumnPrivilegeControl(col, selectedRoles); } } else { for (int row = cellSelection.getRow(); row < cellSelection.getRow() + cellSelection.getRowSpan(); row++) { elementCase.removeRowPrivilegeControl(row, selectedRoles); } } } /** * 是否需要撤销动作 * * @return 不需要 */ public boolean executeActionReturnUndoRecordNeeded() { return false; } } \ No newline at end of file +package com.fr.design.actions.cell; import java.awt.Rectangle; import java.awt.event.ActionEvent; import com.fr.design.actions.ElementCaseAction; import com.fr.design.mainframe.AuthorityPropertyPane; import com.fr.design.mainframe.EastRegionContainerPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.roleAuthority.ReportAndFSManagePane; import com.fr.design.roleAuthority.RolesAlreadyEditedPane; import com.fr.general.Inter; import com.fr.grid.selection.CellSelection; import com.fr.grid.selection.FloatSelection; import com.fr.grid.selection.Selection; import com.fr.report.cell.FloatElement; import com.fr.report.cell.TemplateCellElement; import com.fr.report.elementcase.TemplateElementCase; /** * Author : daisy * Date: 13-9-23 * Time: 下午2:41 */ public class CleanAuthorityAction extends ElementCaseAction { public CleanAuthorityAction(ElementCasePane t) { super(t); this.setName(Inter.getLocText(new String[]{"Clear", "DashBoard-Potence"})); } /** * 清楚权限动作 * * @param evt 事件 */ public void actionPerformed(ActionEvent evt) { ElementCasePane reportPane = getEditingComponent(); Selection selection = reportPane.getSelection(); String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); if (selection instanceof FloatSelection) { String name = ((FloatSelection) selection).getSelectedFloatName(); TemplateElementCase ec = reportPane.getEditingElementCase(); FloatElement fe = ec.getFloatElement(name); if (fe.isDoneAuthority(selectedRoles)) { fe.cleanAuthority(selectedRoles); } doAfterAuthority(reportPane); return; } CellSelection cellSelection = (CellSelection) selection; boolean isChooseColumnRow = cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN || cellSelection.getSelectedType() == CellSelection.CHOOSE_ROW; if (isChooseColumnRow && cellSelection.getCellRectangleCount() == 1) { cleanColumnRow(cellSelection, reportPane, selectedRoles); } else { cleanCell(cellSelection, reportPane, selectedRoles); } doAfterAuthority(reportPane); } private void doAfterAuthority(ElementCasePane reportPane) { reportPane.repaint(); reportPane.fireTargetModified(); RolesAlreadyEditedPane.getInstance().refreshDockingView(); RolesAlreadyEditedPane.getInstance().repaint(); if (EastRegionContainerPane.getInstance().getUpPane() instanceof AuthorityPropertyPane) { AuthorityPropertyPane authorityPropertyPane = (AuthorityPropertyPane) EastRegionContainerPane.getInstance().getUpPane(); authorityPropertyPane.populate(); EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.AUTHORITY_EDITION); EastRegionContainerPane.getInstance().replaceAuthorityEditionPane(authorityPropertyPane); } } /** * 清除单元格对应的角色的权限 * * @param cellSelection * @param reportPane */ private void cleanCell(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { if (selectedRoles == null) { return; } TemplateElementCase elementCase = reportPane.getEditingElementCase(); int cellRectangleCount = cellSelection.getCellRectangleCount(); for (int rect = 0; rect < cellRectangleCount; rect++) { Rectangle cellRectangle = cellSelection.getCellRectangle(rect); for (int j = 0; j < cellRectangle.height; j++) { for (int i = 0; i < cellRectangle.width; i++) { int column = i + cellRectangle.x; int row = j + cellRectangle.y; TemplateCellElement cellElement = elementCase.getTemplateCellElement(column, row); if (cellElement == null) { continue; } //清除权限 if (cellElement.isDoneAuthority(selectedRoles) || cellElement.isDoneNewValueAuthority(selectedRoles)) { cellElement.cleanAuthority(selectedRoles); } if (cellElement.getWidget() == null) { continue; } boolean isDoneAuthority = cellElement.getWidget().isDoneVisibleAuthority(selectedRoles) || cellElement.getWidget().isDoneUsableAuthority(selectedRoles); if (isDoneAuthority) { cellElement.getWidget().cleanAuthority(selectedRoles); } } } } } private void cleanColumnRow(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { if (selectedRoles == null) { return; } TemplateElementCase elementCase = reportPane.getEditingElementCase(); if (cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN) { for (int col = cellSelection.getColumn(); col < cellSelection.getColumn() + cellSelection.getColumnSpan(); col++) { elementCase.removeColumnPrivilegeControl(col, selectedRoles); } } else { for (int row = cellSelection.getRow(); row < cellSelection.getRow() + cellSelection.getRowSpan(); row++) { elementCase.removeRowPrivilegeControl(row, selectedRoles); } } } /** * 是否需要撤销动作 * * @return 不需要 */ public boolean executeActionReturnUndoRecordNeeded() { return false; } } \ No newline at end of file diff --git a/designer/src/com/fr/design/mainframe/AuthorityEditToolBarPane.java b/designer/src/com/fr/design/mainframe/AuthorityEditToolBarPane.java index a760e0043..317bed8d9 100644 --- a/designer/src/com/fr/design/mainframe/AuthorityEditToolBarPane.java +++ b/designer/src/com/fr/design/mainframe/AuthorityEditToolBarPane.java @@ -31,6 +31,7 @@ import java.util.List; public class AuthorityEditToolBarPane extends AuthorityPropertyPane { private static final int TITLE_HEIGHT = 19; + private static final int RIGHT_GAP = 10; private AuthorityEditPane authorityEditPane = null; private AuthorityToolBarPane authorityToolBarPane; private String[] selectedPathArray; @@ -51,7 +52,7 @@ public class AuthorityEditToolBarPane extends AuthorityPropertyPane { JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); northPane.add(authorityTitle, BorderLayout.CENTER); northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); - this.add(northPane, BorderLayout.NORTH); +// this.add(northPane, BorderLayout.NORTH); authorityEditPane = new AuthorityEditPane(buttonlists); this.add(authorityEditPane, BorderLayout.CENTER); } @@ -81,13 +82,13 @@ public class AuthorityEditToolBarPane extends AuthorityPropertyPane { private class AuthorityEditPane extends JPanel { private static final int TOP_GAP = 11; - private static final int LEFT_GAP = 8; - private static final int ALIGNMENT_GAP = -3; + private static final int LEFT_GAP = 4; + private static final int LEFT_CHECKPANE = 3; private UILabel type = null; private UILabel name = null; private JPanel checkPane = null; private List buttonlists; - private UICheckBox buttonVisible = new UICheckBox(Inter.getLocText("FR-Designer_Visible")); + private UICheckBox buttonVisible = new UICheckBox(Inter.getLocText("FR-Designer_Widget_Visible")); private ItemListener itemListener = new ItemListener() { public void itemStateChanged(ItemEvent e) { String selectedRole = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); @@ -143,43 +144,30 @@ public class AuthorityEditToolBarPane extends AuthorityPropertyPane { public AuthorityEditPane(List buttonlists) { setLayout(new BorderLayout()); type = new UILabel(); + type.setBorder(BorderFactory.createLineBorder(Color.lightGray)); name = new UILabel(); + name.setBorder(BorderFactory.createLineBorder(Color.lightGray)); checkPane = new JPanel(); checkPane.setLayout(new BorderLayout()); - this.add(layoutText(), BorderLayout.WEST); - this.add(layoutPane(), BorderLayout.CENTER); - this.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, 0)); + this.add(centerPane(), BorderLayout.NORTH); + this.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, RIGHT_GAP)); this.buttonlists = buttonlists; buttonVisible.addItemListener(itemListener); } - private JPanel layoutText() { - double p = TableLayout.PREFERRED; - Component[][] components = new Component[][]{ - new Component[]{new UILabel(Inter.getLocText("FR-Designer_Type") + ":", SwingConstants.RIGHT)}, - new Component[]{new UILabel(Inter.getLocText("FR-Designer_WF_Name") + ":", SwingConstants.RIGHT)}, - new Component[]{new UILabel(Inter.getLocText("FR-Designer_Permissions") + ":", SwingConstants - .RIGHT)}, - }; - double[] rowSize = {p, p, p}; - double[] columnSize = {p}; - int[][] rowCount = {{1}, {1}, {1}}; - return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); - } - - - private JPanel layoutPane() { + private JPanel centerPane() { double f = TableLayout.FILL; double p = TableLayout.PREFERRED; + double[] rowSize = {p, p, p}; + double[] columnSize = {p, f}; + int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; Component[][] components = new Component[][]{ - new Component[]{type}, - new Component[]{name}, - new Component[]{checkPane}, + new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), type}, + new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), name}, + new Component[]{checkPane, null}, }; - double[] rowSize = {p, p, p}; - double[] columnSize = {f}; - int[][] rowCount = {{1}, {1}, {1}}; - return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); + + return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_MEDIUM); } /** @@ -212,7 +200,7 @@ public class AuthorityEditToolBarPane extends AuthorityPropertyPane { if (name.getText() == "") { type.setText(""); } else { - type.setText(Inter.getLocText(new String[]{"ReportServerP-Toolbar", "FR-Designer_Form_Button"})); + type.setText(" " + Inter.getLocText(new String[]{"ReportServerP-Toolbar", "FR-Designer_Form_Button"})); } } @@ -226,7 +214,7 @@ public class AuthorityEditToolBarPane extends AuthorityPropertyPane { if (names != "") { names = names.substring(1); } - name.setText(names); + name.setText(" " + names); } public void populateCheckPane() { @@ -237,15 +225,14 @@ public class AuthorityEditToolBarPane extends AuthorityPropertyPane { double f = TableLayout.FILL; double p = TableLayout.PREFERRED; Component[][] components = new Component[][]{ - new Component[]{new UILabel(Inter.getLocText("FR-Designer_Form_Button"), SwingConstants.LEFT), - buttonVisible}, + new Component[]{buttonVisible}, }; - double[] rowSize = {p, p}; - double[] columnSize = {p, p, f}; - int[][] rowCount = {{1, 1, 1}, {1, 1, 1}}; - JPanel check = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); + double[] rowSize = {p}; + double[] columnSize = {p}; + int[][] rowCount = {{1}}; + JPanel check = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_SMALL); checkPane.add(check, BorderLayout.CENTER); - checkPane.setBorder(BorderFactory.createEmptyBorder(ALIGNMENT_GAP, 0, 0, 0)); + checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0)); } } } \ No newline at end of file diff --git a/designer/src/com/fr/design/mainframe/AuthoritySheetEditedPane.java b/designer/src/com/fr/design/mainframe/AuthoritySheetEditedPane.java index aba809df5..7d4aca1a6 100644 --- a/designer/src/com/fr/design/mainframe/AuthoritySheetEditedPane.java +++ b/designer/src/com/fr/design/mainframe/AuthoritySheetEditedPane.java @@ -41,7 +41,7 @@ public class AuthoritySheetEditedPane extends AuthorityPropertyPane { JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); northPane.add(authorityTitle, BorderLayout.CENTER); northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); - this.add(northPane, BorderLayout.NORTH); +// this.add(northPane, BorderLayout.NORTH); authorityEditPane = new SheetAuthorityEditPane(editingWorkBook, selectedIndex); this.add(authorityEditPane, BorderLayout.CENTER); diff --git a/designer/src/com/fr/design/mainframe/AuthorityToolBarPane.java b/designer/src/com/fr/design/mainframe/AuthorityToolBarPane.java index fcb6988b9..79e52bfe1 100644 --- a/designer/src/com/fr/design/mainframe/AuthorityToolBarPane.java +++ b/designer/src/com/fr/design/mainframe/AuthorityToolBarPane.java @@ -76,7 +76,9 @@ public class AuthorityToolBarPane extends BasicBeanPane extends BasicBeanPane { } } if (BaseUtils.isAuthorityEditing()) { - EastRegionContainerPane.getInstance().replaceUpPane(allowAuthorityUpPane()); - EastRegionContainerPane.getInstance().replaceDownPane(RolesAlreadyEditedPane.getInstance()); + EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.AUTHORITY_EDITION); + EastRegionContainerPane.getInstance().replaceAuthorityEditionPane(allowAuthorityUpPane()); + EastRegionContainerPane.getInstance().replaceConfiguredRolesPane(RolesAlreadyEditedPane.getInstance()); } centerPane.needToShowCoverAndHidPane(); diff --git a/designer/src/com/fr/design/mainframe/SheetAuthorityEditPane.java b/designer/src/com/fr/design/mainframe/SheetAuthorityEditPane.java index c6ed73719..871b51cc6 100644 --- a/designer/src/com/fr/design/mainframe/SheetAuthorityEditPane.java +++ b/designer/src/com/fr/design/mainframe/SheetAuthorityEditPane.java @@ -28,10 +28,10 @@ import java.awt.event.ItemListener; */ public class SheetAuthorityEditPane extends AuthorityEditPane { private static final int TOP_GAP = 11; - private static final int LEFT_GAP = 8; + private static final int LEFT_GAP = 4; private static final int ALIGNMENT_GAP = -3; - private UICheckBox sheetVisible = new UICheckBox(Inter.getLocText("Widget-Visible")); + private UICheckBox sheetVisible = new UICheckBox("sheet" + Inter.getLocText("Widget-Visible")); private WorkBook workBook = null; private int selectedIndex = -1; @@ -66,17 +66,34 @@ public class SheetAuthorityEditPane extends AuthorityEditPane { super(HistoryTemplateListPane.getInstance().getCurrentEditingTemplate()); setLayout(new BorderLayout()); type = new UILabel(); + type.setBorder(BorderFactory.createLineBorder(Color.lightGray)); name = new UILabel(); + name.setBorder(BorderFactory.createLineBorder(Color.lightGray)); checkPane = new JPanel(); checkPane.setLayout(new BorderLayout()); - this.add(layoutText(), BorderLayout.WEST); - this.add(layoutPane(), BorderLayout.CENTER); - this.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, 0)); +// this.add(layoutText(), BorderLayout.WEST); +// this.add(layoutPane(), BorderLayout.CENTER); + this.add(centerPane(), BorderLayout.CENTER); + this.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, RIGHT_GAP)); this.workBook = editingWorkBook; sheetVisible.addItemListener(itemListener); this.selectedIndex = selectedIndex; } + private JPanel centerPane() { + double f = TableLayout.FILL; + double p = TableLayout.PREFERRED; + double[] rowSize = {p, p, p}; + double[] columnSize = {p, f}; + int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; + Component[][] components = new Component[][]{ + new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), type}, + new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), name}, + new Component[]{checkPane, null}, + }; + + return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_MEDIUM); + } private JPanel layoutText() { double p = TableLayout.PREFERRED; @@ -121,7 +138,7 @@ public class SheetAuthorityEditPane extends AuthorityEditPane { return; } checkPane.add(populateCheckPane(), BorderLayout.CENTER); - checkPane.setBorder(BorderFactory.createEmptyBorder(ALIGNMENT_GAP, 0, 0, 0)); + checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0)); checkVisibleCheckBoxes(); } @@ -129,14 +146,14 @@ public class SheetAuthorityEditPane extends AuthorityEditPane { * 刷新类型 */ public void populateType() { - type.setText("sheet"); + type.setText(" " + "sheet"); } /** * 更新名字 */ public void populateName() { - name.setText(workBook.getReportName(selectedIndex)); + name.setText(" " + workBook.getReportName(selectedIndex)); } /** diff --git a/designer/src/com/fr/design/mainframe/SheetNameTabPane.java b/designer/src/com/fr/design/mainframe/SheetNameTabPane.java index aac628037..cbb0309ee 100644 --- a/designer/src/com/fr/design/mainframe/SheetNameTabPane.java +++ b/designer/src/com/fr/design/mainframe/SheetNameTabPane.java @@ -215,8 +215,9 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse private void doWithAuthority() { AuthoritySheetEditedPane sheetEditedPane = new AuthoritySheetEditedPane(reportComposite.getEditingWorkBook(), selectedIndex); sheetEditedPane.populate(); - EastRegionContainerPane.getInstance().replaceUpPane(sheetEditedPane); - EastRegionContainerPane.getInstance().replaceDownPane(RolesAlreadyEditedPane.getInstance()); + EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.AUTHORITY_EDITION); + EastRegionContainerPane.getInstance().replaceAuthorityEditionPane(sheetEditedPane); + EastRegionContainerPane.getInstance().replaceConfiguredRolesPane(RolesAlreadyEditedPane.getInstance()); } diff --git a/designer/src/com/fr/design/mainframe/cell/settingpane/CellExpandAttrPane.java b/designer/src/com/fr/design/mainframe/cell/settingpane/CellExpandAttrPane.java index 3ca8bff0c..9de87e092 100644 --- a/designer/src/com/fr/design/mainframe/cell/settingpane/CellExpandAttrPane.java +++ b/designer/src/com/fr/design/mainframe/cell/settingpane/CellExpandAttrPane.java @@ -84,8 +84,8 @@ public class CellExpandAttrPane extends AbstractCellAttrPane { layoutPane = new JPanel(new BorderLayout()); basicPane = new JPanel(); seniorPane = new JPanel(); - basicPane = new UIExpandablePane(Inter.getLocText("FR-Designer_Basic"),290,20,basicPane()); - seniorPane = new UIExpandablePane(Inter.getLocText("FR-Designer_Advanced"),290,20,seniorPane()); + basicPane = new UIExpandablePane(Inter.getLocText("FR-Designer_Basic"),290,24,basicPane()); + seniorPane = new UIExpandablePane(Inter.getLocText("FR-Designer_Advanced"),290,24,seniorPane()); layoutPane.add(basicPane,BorderLayout.NORTH); layoutPane.add(seniorPane,BorderLayout.CENTER); return layoutPane; diff --git a/designer/src/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java b/designer/src/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java index 33d11b5e5..26f4918ff 100644 --- a/designer/src/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java +++ b/designer/src/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java @@ -36,7 +36,7 @@ import java.awt.event.ItemListener; public class CellOtherSetPane extends AbstractCellAttrPane { private static final int HEAD_WDITH = 290; - private static final int HEAD_HEIGTH = 20; + private static final int HEAD_HEIGTH = 24; // normal private UIButtonGroup autoshrik; diff --git a/designer/src/com/fr/poly/PolyDesigner.java b/designer/src/com/fr/poly/PolyDesigner.java index 088ef95e0..d5d1b063a 100644 --- a/designer/src/com/fr/poly/PolyDesigner.java +++ b/designer/src/com/fr/poly/PolyDesigner.java @@ -395,7 +395,8 @@ public class PolyDesigner extends ReportComponentqVep#gQYE{FC(`x?>w+!4IvwW?BH|7#Z&R^kSel?I9gw9w Q2k1ZsPgg&ebxsLQ0QnkEbN~PV literal 0 HcmV?d00001 diff --git a/designer_base/src/com/fr/design/images/data/source/hoverDown20.png b/designer_base/src/com/fr/design/images/data/source/hoverDown20.png new file mode 100644 index 0000000000000000000000000000000000000000..815dae49683e2b6cc6185645c0953e4d03764b83 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1Ig22U5q5DUTN zJ;l!(pYQ))pZ@p%d45Fl4LUyNf8r1Q<8OY zFPx$5=lfsR9Fe^SFsL)Fc7^XMt3$7HiM4JANWe9-nLV&%R%LH=Nf3G?M zGI%G&6gK}6HK@m zBAJ5tg;}HZoOcbCVt`Q$!E+Atej>NGaOaLfUainboFyt=akR{0Gvl#IRF3v literal 0 HcmV?d00001 diff --git a/designer_base/src/com/fr/design/images/data/source/hoverUp20.png b/designer_base/src/com/fr/design/images/data/source/hoverUp20.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b2ad6c5276a9ca9e2b1751cb848ea5840293e9 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1IgMV>B>Ar^wk zdy1boKHvYpKK<|i^9qL@7!y)bDh?evG3Qvt>u-0DPmy9PX1@`TCCO$ak|HL2rX=ek zbNYjei`_dvv0T)fW0fjY%Byn9WP#G6Sc?QUqkDTwzuWJ6yMRMM?aZd)PZDd^t_|Fh zY%1W&Iz?Di^4x};pI$jZ8cEIeJnZLMfvVU9WHpaSumw5S>Nj(_CgrLx;fp!Y)Sas( d!L^!+LGFc-)RFmjl7Oyd@O1TaS?83{1OQ&WQ=I?+ literal 0 HcmV?d00001 diff --git a/designer_base/src/com/fr/design/images/data/source/hoverUp@2x.png b/designer_base/src/com/fr/design/images/data/source/hoverUp@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cff495dd24cb4439a1ffe86119c6eec06bcddd0c GIT binary patch literal 406 zcmV;H0crk;P)Px$P)S5VR9Fe^SIvsTFc6**(Yv<=Z=!p2eFNWO(FZ9$g7iTw`xd@|yGIpog16rF zV9Z!D%`{q!bQLs#lFU!$n|?`$DL@$S&H&m3tk>JNQu|l|4gu7MZM%PsI|MaHY)0K~ zds~dd2@v>E9sV?MtLRjXjA;!U{bCX|6P(`s|G)`FwK5EYn9X?tXWFH)Op4P(+9>mdQGvPdJ2w&X`D-wMD4MY1 zv)5rvQa<1a1Rf`17HqW{FvhZZJo-MHXUR{Qn`3(d15OS?@qi-`c#aSf2n;-(0jndz zolhrB6%K&Qh;zFyD+oglPJmixU5iK3d|k53>vb<_Aq=UpN-_2A`i;_}Lv=Ey8HS9= zcYykJ>f1G`iB80!N^bL!=*I+-OaBBuQC`>g1RE7jX^40$FaQ7m07*qoM6N<$g7WvR AaR2}S literal 0 HcmV?d00001 diff --git a/designer_base/src/com/fr/design/images/data/source/normalDown.png b/designer_base/src/com/fr/design/images/data/source/normalDown.png new file mode 100644 index 0000000000000000000000000000000000000000..47925133888aaa6b4dd90f2556eb2491fb410257 GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|rhB?LhFAzD zCrD%*;3zuKFK=)2|L<@6*Z=F;B%Sz@Qc@}o9XT@N*ujGvWtWKM9N3#@gOsn4qvT;Q?<#qh;;)cXxTtp7k}*^V_v;Ti?N}S4H*s`&!q> z@BiQ4EpYO|vu7-?Wq%kf=;LPx$07*naR9FdPU>F4>Jp>q$1K``Y|1t~=Kf3<^XK(t5A#_Dl;=f~LZ3yxz^faqj)2R4{rdesRuxnhKz0pa1{> literal 0 HcmV?d00001 diff --git a/designer_base/src/com/fr/design/images/data/source/normalUp.png b/designer_base/src/com/fr/design/images/data/source/normalUp.png new file mode 100644 index 0000000000000000000000000000000000000000..3daa63733f5cb4c488bf51a5770e21f907062026 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|rg^$JhFAzD zCrD%*;3zuKFK=)2|L<@6*Z=F;B%Sz@Qc@}o9XT@N*ujGvWtU9jba`-TPxbe_2_{?& zkxW7S!YsQVyuSYaeyHVq*iH z7*;oGXf2SjwvKLdZs$v$>?A1tC()unkHwY2u;GP=;xU5>Qm?8dLo|f4trbfr1WAYF g1Ro6ONbJdExXoj1xk|KWC(ywRp00i_>zopr0N)H(0RR91 literal 0 HcmV?d00001 diff --git a/designer_base/src/com/fr/design/images/data/source/normalUp@2x.png b/designer_base/src/com/fr/design/images/data/source/normalUp@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..901f6a1db1a01373ed4b490a4d4b726694aa6528 GIT binary patch literal 387 zcmV-}0et?6P)Px$JxN4CR9Fe^S4|GVKoou>7Fs(yi96V`(6|Qoz!`84y@s%0>kbk-yH1vkxCLGN{T|HcOY)mdhcGetg)PwV zh)8TumMah^v#y>uxTQCnZC06)t3UyRgBJM07HD{eV+mLVDp!C{L?`u#8WW50*xmzp z!U51R@~kWwM+|LIhcLXX)XX;0vL!oeJojDK8S}P`K*eJ@&g(e0BTL25kczV|Xyb>8 hpY}~qu+NW{UjZChNj$R3Z!`b^002ovPDHLkV1iHTpH%<= literal 0 HcmV?d00001 diff --git a/designer_base/src/com/fr/design/images/data/source/scaleDown.png b/designer_base/src/com/fr/design/images/data/source/scaleDown.png new file mode 100644 index 0000000000000000000000000000000000000000..32cd12b8007f8fb002f2da8b49d63498f24a05c0 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|3_M*NLo5W7 z6C_vyONsnN1EsH<3<1fr^i))d-L(ML8Y2R@)Ws?iVO@)3>+*T2TVnP PdKo-j{an^LB{Ts5)lMP? literal 0 HcmV?d00001 diff --git a/designer_base/src/com/fr/design/images/data/source/scaleUp.png b/designer_base/src/com/fr/design/images/data/source/scaleUp.png new file mode 100644 index 0000000000000000000000000000000000000000..d4b553694589d212139a228330fb29395cbc95de GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|55icDuGPgG#)hoYL-Zhk$l5 Nc)I$ztaD0e0sufhIQako literal 0 HcmV?d00001 diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 9bee11543..968e44ba6 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2092,16 +2092,9 @@ FR-Designer_CellWrite_Show_As_HTML=CellWrite_Show_As_HTML FR-Designer_Datasource_Other_Attributes=Other_Attributes FR-Designer_Not_use_a_cell_attribute_table_editing=Not_use_a_cell_attribute_table_editing FR-Designer_CellElement_Property_Table=CellElement_Property_Table -FR-Designer_Add_Condition=Add Condition -FR-Designer_Use_Params_Template= -FR-Designer_Label_Name= FR-Designer_T_Insert_Float=Insert_Float FR-Designer_Add_FloatElement=Add_FloatElement FR-Designer_Insert_Image=Insert_Image FR-Designer_Insert-Chart=Insert-Chart FR-Designer_Insert-Text=Insert-Text FR-Designer_Insert_Formula=Insert_Formula - -FR-Designer_Insert_Chart= -FR-Designer_Insert_Text= -FR-Designer_Double= diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index 6a96057ed..c72a2b294 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2093,16 +2093,9 @@ FR-Designer_CellWrite_Show_As_HTML=CellWrite_Show_As_HTML FR-Designer_Datasource_Other_Attributes=Other_Attributes FR-Designer_Not_use_a_cell_attribute_table_editing=Not_use_a_cell_attribute_table_editing FR-Designer_CellElement_Property_Table=CellElement_Property_Table -FR-Designer_Add_Condition=Add Condition -FR-Designer_Use_Params_Template=use parameter template -FR-Designer_Label_Name=label name FR-Designer_T_Insert_Float=Insert_Float FR-Designer_Add_FloatElement=Add_FloatElement FR-Designer_Insert_Image=Insert_Image FR-Designer_Insert_Chart=Insert-Chart FR-Designer_Insert_Text=Insert-Text FR-Designer_Insert_Formula=Insert_Formula - -FR-Designer_Insert-Chart= -FR-Designer_Insert-Text= -FR-Designer_Double= diff --git a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties index 991092322..d299a9093 100644 --- a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties +++ b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties @@ -1982,6 +1982,7 @@ FR-Base_UnSignIn=\ \u672A\u30ED\u30B0\u30A4\u30F3 Every=\u6BCE CellWrite-Preview_Cell_Content=\u30BB\u30EB\u5185\u5BB9 FormulaD-Data_Fields=\u30C7\u30FC\u30BF\u30D5\u30A3\u30FC\u30EB\u30C9 +FormulaD-Data_Fields=\u30C7\u30FC\u30BF\u30D5\u30A3\u30FC\u30EB\u30C9 FR-Designer_Permissions=\u6A29\u9650 FR-Designer_Form_Button=\u30DC\u30BF\u30F3 FR-Designer_WF_Name=\u540D @@ -2074,36 +2075,8 @@ FR-Designer_CellWrite_Show_As_HTML= FR-Designer_Datasource_Other_Attributes= FR-Designer_Not_use_a_cell_attribute_table_editing= FR-Designer_CellElement_Property_Table= -FR-Designer_Add_Condition= FR-Designer_T_Insert_Float= FR-Designer_Add_FloatElement= FR-Designer_Insert_Image= FR-Designer_Insert_Chart= FR-Designer_Insert_Text= - -FR-Designer_AlphaFine_Enable= -FR-Designer_AlphaFine_EnableAlphaFine= -FR-Designer_AlphaFine_EnableInternet= -FR-Designer_AlphaFine_EnableInternetSearch= -FR-Designer_AlphaFine_Shortcut_Config= -FR-Designer_AlphaFine_SearchRange= -FR-Designer_AlphaFine_Recommend= -FR-Designer-Plugin_Addon= -FR-Designer_Templates= -FR-Designer_Templates_Content= -FR-Designer_AlphaFine_ShowAll= -FR-Designer_AlphaFine_Latest= -FR-Designer_AlphaFine_ShowLess= -FR-Designer_AlphaFine= -FR-Designer-Alphafine_No_Remind= -FR-Designer_AlphaFine_NoResult= -FR-Designer_ConnectionFailed= -FR-Designer_NoResult= -FR-Designer-AlphaFine_SetShortcuts= -FR-Designer_Write_Enhance_Preview= -FR-Designer-StyleAlignment_Style_PartSpacing= -FR-Designer_Use_Params_Template= -FR-Designer_Label_Name= -FR-Designer_Insert-Chart= -FR-Designer_Insert-Text= -FR-Designer_Insert_Formula= diff --git a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties index 521e8e401..bf72a516b 100644 --- a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties +++ b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties @@ -2073,37 +2073,9 @@ FR-Designer_CellWrite_Show_As_HTML= FR-Designer_Datasource_Other_Attributes= FR-Designer_Not_use_a_cell_attribute_table_editing= FR-Designer_CellElement_Property_Table= -FR-Designer_Add_Condition= FR-Designer_T_Insert_Float= FR-Designer_Add_FloatElement= FR-Designer_Insert_Image= FR-Designer_Insert_Chart= FR-Designer_Insert_Text= FR-Designer_Insert_Formula= - -FR-Designer_AlphaFine_Enable= -FR-Designer_AlphaFine_EnableAlphaFine= -FR-Designer_AlphaFine_EnableInternet= -FR-Designer_AlphaFine_EnableInternetSearch= -FR-Designer_AlphaFine_Shortcut_Config= -FR-Designer_AlphaFine_SearchRange= -FR-Designer_AlphaFine_Recommend= -FR-Designer-Plugin_Addon= -FR-Designer_Templates= -FR-Designer_Templates_Content= -FR-Designer_AlphaFine_ShowAll= -FR-Designer_AlphaFine_Latest= -FR-Designer_AlphaFine_ShowLess= -FR-Designer_AlphaFine= -FR-Designer-Alphafine_No_Remind= -FR-Designer_AlphaFine_NoResult= -FR-Designer_ConnectionFailed= -FR-Designer_NoResult= -FR-Designer-AlphaFine_SetShortcuts= -FR-Designer_Write_Enhance_Preview= -FR-Designer_Scale_customButton= -FR-Designer-StyleAlignment_Style_PartSpacing= -FR-Designer_Use_Params_Template= -FR-Designer_Label_Name= -FR-Designer_Insert-Chart= -FR-Designer_Insert-Text= diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index 10506bc89..7d1d62e97 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -2101,3 +2101,8 @@ FR-Designer_Insert_Image=\u63D2\u5165\u56FE\u7247 FR-Designer_Insert_Chart=\u63D2\u5165\u56FE\u8868 FR-Designer_Insert_Text=\u63D2\u5165\u666E\u901A\u6587\u672C FR-Designer_Insert_Formula=\u63D2\u5165\u516C\u5F0F +FR-Designer_Cell_Visible=\u5355\u5143\u683C\u53EF\u89C1 +FR-Designer_Float_Visible=\u60AC\u6D6E\u5143\u7D20\u53EF\u89C1 +FR-Designer_Cell_Value=\u5355\u5143\u683C\u503C +FR-Designer_Widget_Visible=\u63A7\u4EF6\u53EF\u89C1 +FR-Designer_Widget_Enabled=\u63A7\u4EF6\u53EF\u7528 diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index bfd296c08..186bc20bc 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -2092,18 +2092,9 @@ FR-Designer_CellWrite_Show_As_HTML= FR-Designer_Datasource_Other_Attributes= FR-Designer_Not_use_a_cell_attribute_table_editing= FR-Designer_CellElement_Property_Table= -FR-Designer_Add_Condition= FR-Designer_T_Insert_Float= FR-Designer_Add_FloatElement= FR-Designer_Insert_Image= FR-Designer_Insert_Chart= FR-Designer_Insert_Text= FR-Designer_Insert_Formula= - -FR-Designer_AlphaFine_EnableInternet= -FR-Designer_Scale_EnlargeOrReduce= -FR-Designer-StyleAlignment_Style_PartSpacing= -FR-Designer_Use_Params_Template= -FR-Designer_Label_Name= -FR-Designer_Insert-Chart= -FR-Designer_Insert-Text= diff --git a/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java b/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java index 18d223518..ce6a90543 100644 --- a/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java +++ b/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java @@ -1 +1 @@ -package com.fr.design.mainframe; import com.fr.design.constants.LayoutConstants; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-12 * Time: 下午6:21 */ public abstract class AuthorityEditPane extends JPanel { protected static final int TOP_GAP = 11; protected static final int LEFT_GAP = 8; protected static final int ALIGNMENT_GAP = -3; protected UILabel type = null; protected UILabel name = null; protected JPanel checkPane = null; private TargetComponent target; public AuthorityEditPane(TargetComponent target) { this.target = target; setLayout(new BorderLayout()); type = new UILabel(); name = new UILabel(); checkPane = new JPanel(); checkPane.setLayout(new BorderLayout()); this.add(layoutText(), BorderLayout.WEST); this.add(layoutPane(), BorderLayout.CENTER); this.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, 0)); } private JPanel layoutText() { double p = TableLayout.PREFERRED; Component[][] components = new Component[][]{ new Component[]{new UILabel(Inter.getLocText("Type") + ":", SwingConstants.RIGHT)}, new Component[]{new UILabel(Inter.getLocText("WF-Name") + ":", SwingConstants.RIGHT)}, new Component[]{new UILabel(Inter.getLocText("DashBoard-Potence") + ":", SwingConstants.RIGHT)}, }; double[] rowSize = {p, p, p}; double[] columnSize = {p}; int[][] rowCount = {{1}, {1}, {1}}; return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); } private JPanel layoutPane() { double f = TableLayout.FILL; double p = TableLayout.PREFERRED; Component[][] components = new Component[][]{ new Component[]{type}, new Component[]{name}, new Component[]{checkPane}, }; double[] rowSize = {p, p, p}; double[] columnSize = {f}; int[][] rowCount = {{1}, {1}, {1}}; return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); } /** * 更新权限编辑面板的具体内容:类型、名称、权限面板 */ public void populateDetials() { populateType(); populateName(); checkPane.removeAll(); populateCheckPane(); checkPane.setBorder(BorderFactory.createEmptyBorder(ALIGNMENT_GAP, 0, 0, 0)); } public abstract void populateType(); public abstract void populateName(); public abstract JPanel populateCheckPane(); } \ No newline at end of file +package com.fr.design.mainframe; import com.fr.design.constants.LayoutConstants; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-12 * Time: 下午6:21 */ public abstract class AuthorityEditPane extends JPanel { protected static final int TOP_GAP = 11; protected static final int LEFT_GAP = 4; protected static final int RIGHT_GAP = 10; protected static final int ALIGNMENT_GAP = -3; protected static final int LEFT_CHECKPANE = 3; protected UILabel type = null; protected UILabel name = null; protected JPanel checkPane = null; private TargetComponent target; public AuthorityEditPane(TargetComponent target) { this.target = target; setLayout(new BorderLayout()); type = new UILabel(); type.setBorder(BorderFactory.createLineBorder(Color.lightGray)); name = new UILabel(); name.setBorder(BorderFactory.createLineBorder(Color.lightGray)); checkPane = new JPanel(); checkPane.setLayout(new BorderLayout()); // this.add(layoutText(), BorderLayout.WEST); // this.add(layoutPane(), BorderLayout.CENTER); this.add(centerPane(), BorderLayout.NORTH); this.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, RIGHT_GAP)); } private JPanel centerPane() { double f = TableLayout.FILL; double p = TableLayout.PREFERRED; double[] rowSize = {p, p, p}; double[] columnSize = {p, f}; int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; Component[][] components = new Component[][]{ new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), type}, new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), name}, new Component[]{checkPane, null}, }; return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_MEDIUM); } /** * 更新权限编辑面板的具体内容:类型、名称、权限面板 */ public void populateDetials() { populateType(); populateName(); checkPane.removeAll(); populateCheckPane(); checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0)); } public abstract void populateType(); public abstract void populateName(); public abstract JPanel populateCheckPane(); } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/mainframe/AuthorityPropertyPane.java b/designer_base/src/com/fr/design/mainframe/AuthorityPropertyPane.java index 62b356927..162e2603c 100644 --- a/designer_base/src/com/fr/design/mainframe/AuthorityPropertyPane.java +++ b/designer_base/src/com/fr/design/mainframe/AuthorityPropertyPane.java @@ -1 +1 @@ -package com.fr.design.mainframe; import com.fr.design.constants.UIConstants; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-12 * Time: 下午6:14 */ public class AuthorityPropertyPane extends JPanel { private static final int TITLE_HEIGHT = 19; private AuthorityEditPane authorityEditPane = null; public AuthorityPropertyPane(TargetComponent t) { this.setLayout(new BorderLayout()); this.setBorder(null); UILabel authorityTitle = new UILabel(Inter.getLocText(new String[]{"DashBoard-Potence", "Edit"})) { @Override public Dimension getPreferredSize() { return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); } }; authorityTitle.setHorizontalAlignment(SwingConstants.CENTER); authorityTitle.setVerticalAlignment(SwingConstants.CENTER); JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); northPane.add(authorityTitle, BorderLayout.CENTER); northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); this.add(northPane, BorderLayout.NORTH); authorityEditPane = t.createAuthorityEditPane(); UIScrollPane scrollPane = new UIScrollPane(authorityEditPane); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); this.add(scrollPane, BorderLayout.CENTER); } public void populate() { authorityEditPane.populateDetials(); } } \ No newline at end of file +package com.fr.design.mainframe; import com.fr.design.constants.UIConstants; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-12 * Time: 下午6:14 */ public class AuthorityPropertyPane extends JPanel { private static final int TITLE_HEIGHT = 19; private AuthorityEditPane authorityEditPane = null; public AuthorityPropertyPane(TargetComponent t) { this.setLayout(new BorderLayout()); this.setBorder(null); UILabel authorityTitle = new UILabel(Inter.getLocText(new String[]{"DashBoard-Potence", "Edit"})) { @Override public Dimension getPreferredSize() { return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); } }; authorityTitle.setHorizontalAlignment(SwingConstants.CENTER); authorityTitle.setVerticalAlignment(SwingConstants.CENTER); JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); northPane.add(authorityTitle, BorderLayout.CENTER); northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); // this.add(northPane, BorderLayout.NORTH); authorityEditPane = t.createAuthorityEditPane(); UIScrollPane scrollPane = new UIScrollPane(authorityEditPane); scrollPane.setBorder(null); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); this.add(scrollPane, BorderLayout.CENTER); } public void populate() { authorityEditPane.populateDetials(); } } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java b/designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java index b0d87fc85..ddad370b2 100644 --- a/designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java +++ b/designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java @@ -54,7 +54,8 @@ public class EastRegionContainerPane extends UIEastResizableContainer { POLY, // 聚合报表 POLY_REPORT, // 聚合报表-报表块 POLY_CHART, // 聚合报表-图表块 - AUTHORITY_EDITION // 权限编辑 + AUTHORITY_EDITION, // 权限编辑 + AUTHORITY_EDITION_DISABLED // 权限编辑 } private PropertyMode currentMode; // 当前模式(根据不同模式,显示不同的可用面板) @@ -115,11 +116,11 @@ public class EastRegionContainerPane extends UIEastResizableContainer { new PropertyMode[]{PropertyMode.FORM}); // 权限编辑 PropertyItem authorityEdition = new PropertyItem(KEY_AUTHORITY_EDITION, Inter.getLocText("FR-Designer_Permissions_Edition"), - "authorityedit", new PropertyMode[]{PropertyMode.AUTHORITY_EDITION}, + "authorityedit", new PropertyMode[]{PropertyMode.AUTHORITY_EDITION_DISABLED}, new PropertyMode[]{PropertyMode.AUTHORITY_EDITION}); // 已配置角色 PropertyItem configuredRoles = new PropertyItem(KEY_CONFIGURED_ROLES, Inter.getLocText("FR-Designer_Configured_Roles"), - "configuredroles", new PropertyMode[]{PropertyMode.AUTHORITY_EDITION}, + "configuredroles", new PropertyMode[]{PropertyMode.AUTHORITY_EDITION_DISABLED}, new PropertyMode[]{PropertyMode.AUTHORITY_EDITION}); propertyItemMap.put(KEY_CELL_ELEMENT, cellElement); diff --git a/designer_base/src/com/fr/design/mainframe/JSliderPane.java b/designer_base/src/com/fr/design/mainframe/JSliderPane.java index 3feba5efa..dff24b1a2 100644 --- a/designer_base/src/com/fr/design/mainframe/JSliderPane.java +++ b/designer_base/src/com/fr/design/mainframe/JSliderPane.java @@ -16,12 +16,14 @@ import javax.swing.*; import javax.swing.border.MatteBorder; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.basic.BasicSliderUI; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; +import java.awt.geom.RoundRectangle2D; import java.math.BigDecimal; /** @@ -35,7 +37,7 @@ public class JSliderPane extends JPanel { private static final int ONE_EIGHT = 18; private static final int FONT_SIZE = 14; private static final int SPINNER_WIDTH = 45; - private static final int SPINNER_HEIGHT = 20; + private static final int SPINNER_HEIGHT = 16; private static final int HALF_HUNDRED = 50; private static final int HUNDRED = 100; private static final int TWO_HUNDRED = 200; @@ -43,8 +45,12 @@ public class JSliderPane extends JPanel { private static final int FOUR_HUNDRED = 400; private static final int DIALOG_WIDTH = 150; private static final int DIALOG_HEIGHT = 240; - private static final int SHOWVALBUTTON_WIDTH = 70; - private static final int SHOWVALBUTTON_HEIGHTH = 25; + private static final int SLIDER_WIDTH = 220; + private static final int SLIDER_HEIGHT = 20; + private static final int SHOWVALBUTTON_WIDTH = 40; + private static final int SHOWVALBUTTON_HEIGHTH = 20; + private static final int SLIDER_GAP = 5; + private static final Color BACK_COLOR = new Color(245,245,247); public int showValue = 100; public double resolutionTimes = 1.0; private static JSliderPane THIS; @@ -55,7 +61,7 @@ public class JSliderPane extends JPanel { private int sliderValue; private UIButton downButton; private UIButton upButton; - private UIButton showValButton; + private JButton showValButton; private UIRadioButton twoHundredButton; private UIRadioButton oneHundredButton; private UIRadioButton SevenFiveButton; @@ -75,7 +81,9 @@ public class JSliderPane extends JPanel { slider = new UISlider(0, HUNDRED, HALF_HUNDRED); slider.setUI(new JSliderPaneUI(slider)); slider.addChangeListener(listener); - + slider.setPreferredSize(new Dimension(220, 20)); + //去掉虚线框 + slider.setFocusable(false); showValSpinner = new UIBasicSpinner(new SpinnerNumberModel(HUNDRED, TEN, FOUR_HUNDRED, 1)); showValSpinner.setEnabled(true); showValSpinner.addChangeListener(showValSpinnerChangeListener); @@ -88,26 +96,37 @@ public class JSliderPane extends JPanel { // DefaultFormatterFactory factory = (DefaultFormatterFactory) textField .getFormatterFactory(); // NumberFormatter formatter = (NumberFormatter) factory.getDefaultFormatter(); // formatter.setAllowsInvalid(false); - downButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/moveDown.png")); - upButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/moveUp.png")); + downButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalDown20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png")); +// downButton.setPreferredSize(new Dimension(16,16)); + downButton.setOpaque(false); + downButton.setBorderPainted(false); + upButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalUp20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png")); +// upButton.setPreferredSize(new Dimension(21,21)); + upButton.setOpaque(false); + upButton.setBorderPainted(false); downButton.setActionCommand("less"); upButton.setActionCommand("more"); downButton.addActionListener(buttonActionListener); upButton.addActionListener(buttonActionListener); - showValButton = new UIButton(showValSpinner.getValue() + "%"); + showValButton = new JButton(showValSpinner.getValue() + "%"); + showValButton.setOpaque(false); + showValButton.setMargin(new Insets(0,0,0,0)); + showValButton.setFont(new Font("OpenSans", Font.PLAIN, 12)); + showValButton.setBackground(BACK_COLOR); showValButton.setBorderPainted(false); showValButton.setPreferredSize(new Dimension(SHOWVALBUTTON_WIDTH, SHOWVALBUTTON_HEIGHTH)); showValButton.addActionListener(showValButtonActionListener); initUIRadioButton(); initPane(); - JPanel panel = new JPanel(new FlowLayout(1, 1, 0)); + JPanel panel = new JPanel(new FlowLayout(1, 5, 0)); panel.add(downButton); panel.add(slider); panel.add(upButton); panel.add(showValButton); + panel.setBackground(BACK_COLOR); this.add(panel, BorderLayout.NORTH); - this.setBounds(0, 0, THREE_HUNDRED, ONE_EIGHT); +// this.setBounds(0, 0, THREE_HUNDRED, ONE_EIGHT); } public static final JSliderPane getInstance() { @@ -314,14 +333,14 @@ public class JSliderPane extends JPanel { dialog = new PopupPane(upButton, dialogContentPanel); if (upButtonX == 0) { upButtonX = btnCoords.x; - GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH, -DIALOG_HEIGHT); + GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH + SLIDER_GAP * 2, -DIALOG_HEIGHT); } } else { if (upButtonX == 0) { upButtonX = btnCoords.x; - GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH, -DIALOG_HEIGHT); + GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH + SLIDER_GAP * 2, -DIALOG_HEIGHT); } else { - GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH, -DIALOG_HEIGHT); + GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH + SLIDER_GAP * 2, -DIALOG_HEIGHT); } } } @@ -341,6 +360,7 @@ public class JSliderPane extends JPanel { class JSliderPaneUI extends BasicSliderUI { + private static final Color BACK_COLOR = new Color(245,245,247); private static final int VERTICAL_WIDTH = 11; private static final int VERTICAL_HEIGHT = 16; private static final int FOUR = 4; @@ -356,33 +376,18 @@ class JSliderPaneUI extends BasicSliderUI { * 绘制指示物 */ - public Dimension getThumbSize() { - Dimension size = new Dimension(); - - if (slider.getOrientation() == JSlider.VERTICAL) { - size.width = VERTICAL_WIDTH; - size.height = VERTICAL_HEIGHT; - } else { - size.width = VERTICAL_WIDTH; - size.height = VERTICAL_HEIGHT; - } - - return size; - } - public void paintThumb(Graphics g) { Rectangle knobBounds = thumbRect; int w = knobBounds.width; int h = knobBounds.height; - - g.translate(knobBounds.x, knobBounds.y); - if (slider.isEnabled()) { - g.setColor(slider.getBackground()); - } else { - g.setColor(slider.getBackground().darker()); - } - g.setColor(Color.darkGray); - g.fillRect(0, 1, w - SIX, h + 1); + Graphics2D g2d = (Graphics2D) g; + + g2d.translate(knobBounds.x, knobBounds.y); +// g2d.setColor(slider.getBackground()); +// g2d.fillRect(0, FOUR, FOUR, 9); + g2d.setColor(new Color(51,51,52)); + g2d.drawRoundRect(0,SIX,FOUR,9,2,2); + g2d.fillRoundRect(0,SIX,FOUR,9,2,2); } /** */ @@ -396,8 +401,10 @@ class JSliderPaneUI extends BasicSliderUI { Graphics2D g2 = (Graphics2D) g; cy = (trackBounds.height / 2); cw = trackBounds.width; - g.setColor(Color.lightGray); - g.drawLine(0, cy, cw + FIVE, cy); + g2.setPaint(BACK_COLOR); + g2.fillRect(0, -cy, cw + 10, cy * 4); + g.setColor(new Color(216,216,216)); + g.drawLine(0, cy, cw +3, cy); g.drawLine(FIVE + cw / 2, cy - FOUR, FIVE + cw / 2, cy + FOUR); } else { super.paintTrack(g); @@ -409,13 +416,13 @@ class JSliderPaneUI extends BasicSliderUI { class PopupPane extends JPopupMenu { private JComponent contentPane; private static final int UPLABEL_HEIGHT = 25; - private static final int DIALOG_WIDTH = 150; + private static final int DIALOG_WIDTH = 157; private static final int DIALOG_HEIGHT = 240; private static final int UPLABEL_WIDTH = 300; private JComponent centerPane; private UILabel upLabel; - PopupPane(UIButton b, JPanel dialogContentPanel) { + PopupPane(JButton b, JPanel dialogContentPanel) { contentPane = new JPanel(new BorderLayout()); centerPane = new JPanel(new BorderLayout()); upLabel = new UILabel(" " + Inter.getLocText("FR-Designer_Scale_EnlargeOrReduce")); diff --git a/designer_base/src/com/fr/design/mainframe/NoSupportAuthorityEdit.java b/designer_base/src/com/fr/design/mainframe/NoSupportAuthorityEdit.java index 893d63425..da3c49782 100644 --- a/designer_base/src/com/fr/design/mainframe/NoSupportAuthorityEdit.java +++ b/designer_base/src/com/fr/design/mainframe/NoSupportAuthorityEdit.java @@ -1 +1 @@ -package com.fr.design.mainframe; import com.fr.design.constants.UIConstants; import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-22 * Time: 上午10:05 */ public class NoSupportAuthorityEdit extends AuthorityEditPane { private static final int TITLE_HEIGHT = 19; public NoSupportAuthorityEdit() { super(HistoryTemplateListPane.getInstance().getCurrentEditingTemplate()); this.setLayout(new BorderLayout()); this.setBorder(null); UILabel title = new UILabel(Inter.getLocText(new String[]{"DashBoard-Potence", "Edit"})) { @Override public Dimension getPreferredSize() { return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); } }; title.setHorizontalAlignment(SwingConstants.CENTER); title.setVerticalAlignment(SwingConstants.CENTER); JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); northPane.add(title, BorderLayout.CENTER); northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); this.add(northPane, BorderLayout.NORTH); this.add(createTextPane(), BorderLayout.CENTER); } private JPanel createTextPane() { JPanel panel = new JPanel(new BorderLayout()); UILabel uiLabel = new UILabel(Inter.getLocText("not_support_authority_edit")); uiLabel.setHorizontalAlignment(SwingConstants.CENTER); uiLabel.setVerticalAlignment(SwingConstants.CENTER); panel.add(uiLabel, BorderLayout.CENTER); return panel; } @Override public void populateType() { } @Override public void populateName() { } @Override public JPanel populateCheckPane() { return null; } } \ No newline at end of file +package com.fr.design.mainframe; import com.fr.design.constants.UIConstants; import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-22 * Time: 上午10:05 */ public class NoSupportAuthorityEdit extends AuthorityEditPane { private static final int TITLE_HEIGHT = 19; public NoSupportAuthorityEdit() { super(HistoryTemplateListPane.getInstance().getCurrentEditingTemplate()); this.setLayout(new BorderLayout()); this.setBorder(null); UILabel title = new UILabel(Inter.getLocText(new String[]{"DashBoard-Potence", "Edit"})) { @Override public Dimension getPreferredSize() { return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); } }; title.setHorizontalAlignment(SwingConstants.CENTER); title.setVerticalAlignment(SwingConstants.CENTER); JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); northPane.add(title, BorderLayout.CENTER); northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); // this.add(northPane, BorderLayout.NORTH); this.add(createTextPane(), BorderLayout.CENTER); } private JPanel createTextPane() { JPanel panel = new JPanel(new BorderLayout()); UILabel uiLabel = new UILabel(Inter.getLocText("not_support_authority_edit")); uiLabel.setHorizontalAlignment(SwingConstants.CENTER); uiLabel.setVerticalAlignment(SwingConstants.CENTER); panel.add(uiLabel, BorderLayout.CENTER); return panel; } @Override public void populateType() { } @Override public void populateName() { } @Override public JPanel populateCheckPane() { return null; } } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/roleAuthority/RolesAlreadyEditedPane.java b/designer_base/src/com/fr/design/roleAuthority/RolesAlreadyEditedPane.java index 540c3bd8f..4dd2450c4 100644 --- a/designer_base/src/com/fr/design/roleAuthority/RolesAlreadyEditedPane.java +++ b/designer_base/src/com/fr/design/roleAuthority/RolesAlreadyEditedPane.java @@ -1 +1 @@ -package com.fr.design.roleAuthority; import com.fr.base.BaseUtils; import com.fr.general.NameObject; import com.fr.design.constants.UIConstants; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.DockingView; import com.fr.general.Inter; import javax.swing.*; import javax.swing.tree.DefaultTreeCellRenderer; import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath; import java.awt.*; import java.util.Enumeration; /** * Author : daisy * Date: 13-9-25 * Time: 下午4:34 */ public class RolesAlreadyEditedPane extends JPanel { private static final int TITLE_HEIGHT = 19; private static final int LEFT_GAP = 11; private static final int TOP_GAP = -1; private static RolesAlreadyEditedPane THIS; private RolesEditedPane rolesEditedPane; /** * 得到实例 * * @return */ public static final RolesAlreadyEditedPane getInstance() { if (THIS == null) { THIS = new RolesAlreadyEditedPane(); } return THIS; } public RolesAlreadyEditedPane() { this.setLayout(new BorderLayout()); this.setBorder(null); UILabel authorityTitle = new UILabel(Inter.getLocText("roles_already_authority_edited")) { @Override public Dimension getPreferredSize() { return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); } }; authorityTitle.setHorizontalAlignment(SwingConstants.CENTER); authorityTitle.setVerticalAlignment(SwingConstants.CENTER); JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); northPane.add(authorityTitle, BorderLayout.CENTER); northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); this.add(northPane, BorderLayout.NORTH); rolesEditedPane = new RolesEditedPane(); this.add(rolesEditedPane, BorderLayout.CENTER); } public RoleTree getRoleTree() { return rolesEditedPane.roleTree; } public void refreshDockingView() { rolesEditedPane.refreshDockingView(); } public void setReportAndFSSelectedRoles() { rolesEditedPane.setSelectedRole(); } private class RolesEditedPane extends DockingView { private RoleTree roleTree; private RolesEditedSourceOP op; private DefaultTreeCellRenderer roleTreeRenderer = new DefaultTreeCellRenderer() { private static final long serialVersionUID = 2L; public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); ExpandMutableTreeNode treeNode = (ExpandMutableTreeNode) value; Object userObj = treeNode.getUserObject(); if (userObj instanceof String) { // p:这个是column field. this.setIcon(null); this.setText((String) userObj); } else if (userObj instanceof NameObject) { NameObject nameObject = (NameObject) userObj; this.setText(nameObject.getName()); if (nameObject.getName() == Inter.getLocText("M_Server-Platform_Manager")) { this.setIcon(BaseUtils.readIcon("/com/fr/web/images/platform/platform_16_16.png")); } else { this.setIcon(BaseUtils.readIcon("/com/fr/web/images/platform/demo.png")); } } // 这里新建一个Label作为render是因为JTree在动态刷新的时候,节点上render画布的的宽度不会变,会使得一部分比较长的数据显示为"..." this.setBackgroundNonSelectionColor(UIConstants.NORMAL_BACKGROUND); this.setForeground(UIConstants.FONT_COLOR); this.setBackgroundSelectionColor(UIConstants.FLESH_BLUE); return this; } }; public RolesEditedPane() { roleTree = new RoleTree() { public void refreshRoleTree(String selectedRole) { super.refreshRoleTree(selectedRole); RoleTree roleTree = ReportAndFSManagePane.getInstance().getRoleTree(); TreeNode root = (TreeNode) roleTree.getModel().getRoot(); TreePath parent = new TreePath(root); roleTree.setSelectedRole(selectedRole, parent); } }; roleTree.setCellRenderer(roleTreeRenderer); roleTree.setEditable(false); op = new RolesEditedSourceOP(); UIScrollPane scrollPane = new UIScrollPane(roleTree) { public Dimension getPreferredSize() { return new Dimension(RolesEditedPane.this.getWidth(), RolesEditedPane.this.getHeight()); } }; scrollPane.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, 0)); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); this.add(scrollPane, BorderLayout.CENTER); } public void refreshDockingView() { this.op = new RolesEditedSourceOP(); roleTree.populate(op); expandTree(roleTree, true); } private void setSelectedRole() { String name = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); TreeNode root = (TreeNode) roleTree.getModel().getRoot(); TreePath parent = new TreePath(root); roleTree.setSelectedRole(name, parent); } public String getViewTitle() { return null; } public Icon getViewIcon() { return null; } public Location preferredLocation() { return null; } public void expandTree(JTree tree, boolean isExpand) { TreeNode root = (TreeNode) tree.getModel().getRoot(); expandAll(tree, new TreePath(root), isExpand); } private void expandAll(JTree tree, TreePath parent, boolean expand) { TreeNode node = (TreeNode) parent.getLastPathComponent(); if (node.getChildCount() >= 0) { for (Enumeration e = node.children(); e.hasMoreElements(); ) { TreeNode n = (TreeNode) e.nextElement(); TreePath path = parent.pathByAddingChild(n); expandAll(tree, path, expand); } } if (expand) { tree.expandPath(parent); } else { tree.collapsePath(parent); } } } } \ No newline at end of file +package com.fr.design.roleAuthority; import com.fr.base.BaseUtils; import com.fr.design.constants.UIConstants; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.DockingView; import com.fr.general.Inter; import com.fr.general.NameObject; import javax.swing.*; import javax.swing.tree.DefaultTreeCellRenderer; import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath; import java.awt.*; import java.util.Enumeration; /** * Author : daisy * Date: 13-9-25 * Time: 下午4:34 */ public class RolesAlreadyEditedPane extends JPanel { private static final int TITLE_HEIGHT = 19; private static final int LEFT_GAP = 8; private static final int TOP_GAP = -1; private static RolesAlreadyEditedPane THIS; private RolesEditedPane rolesEditedPane; /** * 得到实例 * * @return */ public static final RolesAlreadyEditedPane getInstance() { if (THIS == null) { THIS = new RolesAlreadyEditedPane(); } return THIS; } public RolesAlreadyEditedPane() { this.setLayout(new BorderLayout()); this.setBorder(null); UILabel authorityTitle = new UILabel(Inter.getLocText("roles_already_authority_edited")) { @Override public Dimension getPreferredSize() { return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); } }; authorityTitle.setHorizontalAlignment(SwingConstants.CENTER); authorityTitle.setVerticalAlignment(SwingConstants.CENTER); JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); northPane.add(authorityTitle, BorderLayout.CENTER); northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); // this.add(northPane, BorderLayout.NORTH); rolesEditedPane = new RolesEditedPane(); this.add(rolesEditedPane, BorderLayout.CENTER); } public RoleTree getRoleTree() { return rolesEditedPane.roleTree; } public void refreshDockingView() { rolesEditedPane.refreshDockingView(); } public void setReportAndFSSelectedRoles() { rolesEditedPane.setSelectedRole(); } private class RolesEditedPane extends DockingView { private RoleTree roleTree; private RolesEditedSourceOP op; private DefaultTreeCellRenderer roleTreeRenderer = new DefaultTreeCellRenderer() { private static final long serialVersionUID = 2L; public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); ExpandMutableTreeNode treeNode = (ExpandMutableTreeNode) value; Object userObj = treeNode.getUserObject(); if (userObj instanceof String) { // p:这个是column field. this.setIcon(null); this.setText((String) userObj); } else if (userObj instanceof NameObject) { NameObject nameObject = (NameObject) userObj; this.setText(nameObject.getName()); if (nameObject.getName() == Inter.getLocText("M_Server-Platform_Manager")) { this.setIcon(BaseUtils.readIcon("/com/fr/web/images/platform/platform_16_16.png")); } else { this.setIcon(BaseUtils.readIcon("/com/fr/web/images/platform/demo.png")); } } // 这里新建一个Label作为render是因为JTree在动态刷新的时候,节点上render画布的的宽度不会变,会使得一部分比较长的数据显示为"..." this.setBackgroundNonSelectionColor(UIConstants.NORMAL_BACKGROUND); this.setForeground(UIConstants.FONT_COLOR); this.setBackgroundSelectionColor(UIConstants.FLESH_BLUE); return this; } }; public RolesEditedPane() { roleTree = new RoleTree() { public void refreshRoleTree(String selectedRole) { super.refreshRoleTree(selectedRole); RoleTree roleTree = ReportAndFSManagePane.getInstance().getRoleTree(); TreeNode root = (TreeNode) roleTree.getModel().getRoot(); TreePath parent = new TreePath(root); roleTree.setSelectedRole(selectedRole, parent); } }; roleTree.setCellRenderer(roleTreeRenderer); roleTree.setEditable(false); op = new RolesEditedSourceOP(); UIScrollPane scrollPane = new UIScrollPane(roleTree) { public Dimension getPreferredSize() { return new Dimension(RolesEditedPane.this.getWidth(), RolesEditedPane.this.getHeight()); } }; scrollPane.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, 0)); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); this.add(scrollPane, BorderLayout.CENTER); } public void refreshDockingView() { this.op = new RolesEditedSourceOP(); roleTree.populate(op); expandTree(roleTree, true); } private void setSelectedRole() { String name = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); TreeNode root = (TreeNode) roleTree.getModel().getRoot(); TreePath parent = new TreePath(root); roleTree.setSelectedRole(name, parent); } public String getViewTitle() { return null; } public Icon getViewIcon() { return null; } public Location preferredLocation() { return null; } public void expandTree(JTree tree, boolean isExpand) { TreeNode root = (TreeNode) tree.getModel().getRoot(); expandAll(tree, new TreePath(root), isExpand); } private void expandAll(JTree tree, TreePath parent, boolean expand) { TreeNode node = (TreeNode) parent.getLastPathComponent(); if (node.getChildCount() >= 0) { for (Enumeration e = node.children(); e.hasMoreElements(); ) { TreeNode n = (TreeNode) e.nextElement(); TreePath path = parent.pathByAddingChild(n); expandAll(tree, path, expand); } } if (expand) { tree.expandPath(parent); } else { tree.collapsePath(parent); } } } } \ No newline at end of file diff --git a/designer_base/src/com/fr/start/BaseDesigner.java b/designer_base/src/com/fr/start/BaseDesigner.java index f79baf460..76d7aec45 100644 --- a/designer_base/src/com/fr/start/BaseDesigner.java +++ b/designer_base/src/com/fr/start/BaseDesigner.java @@ -57,10 +57,10 @@ public abstract class BaseDesigner extends ToolBarMenuDock { DesignUtils.setPort(getStartPort()); // 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了 - if (DesignUtils.isStarted()) { - DesignUtils.clientSend(args); - return; - } +// if (DesignUtils.isStarted()) { +// DesignUtils.clientSend(args); +// return; +// } BuildContext.setBuildFilePath(buildPropertiesPath()); //下面这两句的位置不能随便调换,因为会影响语言切换的问题 diff --git a/designer_form/src/com/fr/design/designer/properties/FormWidgetAuthorityEditPane.java b/designer_form/src/com/fr/design/designer/properties/FormWidgetAuthorityEditPane.java index 64decd2af..38c33c444 100644 --- a/designer_form/src/com/fr/design/designer/properties/FormWidgetAuthorityEditPane.java +++ b/designer_form/src/com/fr/design/designer/properties/FormWidgetAuthorityEditPane.java @@ -34,8 +34,8 @@ import com.fr.general.Inter; public class FormWidgetAuthorityEditPane extends AuthorityEditPane { private FormDesigner designer; private Widget[] widgets = null; - private UICheckBox widgetVisible = new UICheckBox(Inter.getLocText("FR-Designer_Visible")); - private UICheckBox widgetAvailable = new UICheckBox(Inter.getLocText("FR-Designer_Enabled")); + private UICheckBox widgetVisible = new UICheckBox(Inter.getLocText("FR-Designer_Widget_Visible")); + private UICheckBox widgetAvailable = new UICheckBox(Inter.getLocText("FR-Designer_Widget_Enabled")); private ItemListener visibleItemListener = new ItemListener() { public void itemStateChanged(ItemEvent e) { String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); @@ -88,23 +88,19 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane { } /** - * 更新类型面板 - * - * - * @date 2014-12-21-下午6:19:43 - * - */ + * 更新类型面板 + * + * @date 2014-12-21-下午6:19:43 + */ public void populateType() { - type.setText(Inter.getLocText("Widget-Form_Widget_Config")); + type.setText(" " + Inter.getLocText("Widget-Form_Widget_Config")); } /** - * 更新名称面板 - * - * - * @date 2014-12-21-下午7:12:27 - * - */ + * 更新名称面板 + * + * @date 2014-12-21-下午7:12:27 + */ public void populateName() { String nameText = ""; if (widgets == null || widgets.length <= 0) { @@ -113,33 +109,31 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane { for (int i = 0; i < widgets.length; i++) { nameText += "," + widgets[i].getClass().getSimpleName(); } - name.setText(nameText.substring(1)); + name.setText(" " + nameText.substring(1)); } /** - * 更新checkbox所在的面板 - * - * @return 面板 - * - * - * @date 2014-12-21-下午6:19:03 - * - */ + * 更新checkbox所在的面板 + * + * @return 面板 + * @date 2014-12-21-下午6:19:03 + */ public JPanel populateCheckPane() { - checkPane.add(populateWidgetCheckPane(), BorderLayout.WEST); + checkPane.add(populateWidgetCheckPane(), BorderLayout.CENTER); + checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0)); return checkPane; } private JPanel populateWidgetCheckPane() { - double f = TableLayout.FILL; double p = TableLayout.PREFERRED; Component[][] components = new Component[][]{ - new Component[]{new UILabel(Inter.getLocText("FR-Designer_Widget"), SwingConstants.LEFT), widgetVisible, widgetAvailable} + new Component[]{widgetVisible}, + new Component[]{widgetAvailable} }; - double[] rowSize = {p}; - double[] columnSize = {p, p, f}; - int[][] rowCount = {{1, 1, 1}}; - return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); + double[] rowSize = {p, p}; + double[] columnSize = {p}; + int[][] rowCount = {{1},{1}}; + return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_SMALL); } @@ -157,7 +151,7 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane { populateName(); checkPane.removeAll(); populateCheckPane(); - checkPane.setBorder(BorderFactory.createEmptyBorder(ALIGNMENT_GAP, 0, 0, 0)); + checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0)); checkCheckBoxes(); } @@ -169,25 +163,25 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane { widgetVisible.addItemListener(visibleItemListener); widgetAvailable.addItemListener(usableItemListener); } - - private void populateWidgetButton(String selected){ + + private void populateWidgetButton(String selected) { if (widgets == null || widgets.length == 0) { - return; + return; } - + //选中多个, 界面上只取第一个 Widget widget = widgets[0]; - - if(widget.isVisible()){ - widgetVisible.setSelected(!widget.isDoneVisibleAuthority(selected)); - }else{ - widgetVisible.setSelected(widget.isVisibleAuthority(selected)); + + if (widget.isVisible()) { + widgetVisible.setSelected(!widget.isDoneVisibleAuthority(selected)); + } else { + widgetVisible.setSelected(widget.isVisibleAuthority(selected)); } - - if(widget.isEnabled()){ - widgetAvailable.setSelected(!widget.isDoneUsableAuthority(selected)); - }else{ - widgetAvailable.setSelected(widget.isUsableAuthority(selected)); + + if (widget.isEnabled()) { + widgetAvailable.setSelected(!widget.isDoneUsableAuthority(selected)); + } else { + widgetAvailable.setSelected(widget.isUsableAuthority(selected)); } } diff --git a/designer_form/src/com/fr/design/mainframe/FormDesigner.java b/designer_form/src/com/fr/design/mainframe/FormDesigner.java index 986b91f0b..7572cc204 100644 --- a/designer_form/src/com/fr/design/mainframe/FormDesigner.java +++ b/designer_form/src/com/fr/design/mainframe/FormDesigner.java @@ -475,7 +475,7 @@ public class FormDesigner extends TargetComponent
implements TreeSelection paraHeight = 0; paraComponent = null; formLayoutContainer.setSize(rootComponent.getWidth(), rootComponent.getHeight()); - EastRegionContainerPane.getInstance().replaceDownPane(this.getEastDownPane()); + EastRegionContainerPane.getInstance().replaceConfiguredRolesPane(this.getEastDownPane()); //atat //EastRegionContainerPane.getInstance().addTitlePane(ParameterPropertyPane.getInstance(FormDesigner.this)); //删除后重绘下 @@ -1042,11 +1042,13 @@ public class FormDesigner extends TargetComponent implements TreeSelection if (isSupportAuthority()) { AuthorityPropertyPane authorityPropertyPane = new AuthorityPropertyPane(this); authorityPropertyPane.populate(); - EastRegionContainerPane.getInstance().replaceUpPane(authorityPropertyPane); + EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.AUTHORITY_EDITION); + EastRegionContainerPane.getInstance().replaceAuthorityEditionPane(authorityPropertyPane); } else { - EastRegionContainerPane.getInstance().replaceUpPane(new NoSupportAuthorityEdit()); + EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.AUTHORITY_EDITION_DISABLED); + EastRegionContainerPane.getInstance().replaceAuthorityEditionPane(new NoSupportAuthorityEdit()); } - EastRegionContainerPane.getInstance().replaceDownPane(RolesAlreadyEditedPane.getInstance()); + EastRegionContainerPane.getInstance().replaceConfiguredRolesPane(RolesAlreadyEditedPane.getInstance()); } /** @@ -1259,13 +1261,13 @@ public class FormDesigner extends TargetComponent implements TreeSelection pane.setLayout(new BorderLayout()); pane.add(FormWidgetDetailPane.getInstance(FormDesigner.this), BorderLayout.CENTER); - EastRegionContainerPane.getInstance().replaceDownPane(pane); + EastRegionContainerPane.getInstance().replaceConfiguredRolesPane(pane); } }.start(); } else { pane.setLayout(new BorderLayout()); pane.add(FormWidgetDetailPane.getInstance(this), BorderLayout.CENTER); - EastRegionContainerPane.getInstance().replaceDownPane(pane); + EastRegionContainerPane.getInstance().replaceConfiguredRolesPane(pane); } return pane; diff --git a/designer_form/src/com/fr/design/mainframe/JForm.java b/designer_form/src/com/fr/design/mainframe/JForm.java index 23299f30b..93b51fbf6 100644 --- a/designer_form/src/com/fr/design/mainframe/JForm.java +++ b/designer_form/src/com/fr/design/mainframe/JForm.java @@ -649,11 +649,13 @@ public class JForm extends JTemplate implements BaseJForm { WidgetToolBarPane.getInstance(formDesign); if (BaseUtils.isAuthorityEditing()) { if (formDesign.isSupportAuthority()) { - EastRegionContainerPane.getInstance().replaceUpPane(new AuthorityPropertyPane(this)); + EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.AUTHORITY_EDITION); + EastRegionContainerPane.getInstance().replaceAuthorityEditionPane(new AuthorityPropertyPane(this)); } else { - EastRegionContainerPane.getInstance().replaceUpPane(new NoSupportAuthorityEdit()); + EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.AUTHORITY_EDITION_DISABLED); + EastRegionContainerPane.getInstance().replaceAuthorityEditionPane(new NoSupportAuthorityEdit()); } - EastRegionContainerPane.getInstance().replaceDownPane(RolesAlreadyEditedPane.getInstance()); + EastRegionContainerPane.getInstance().replaceConfiguredRolesPane(RolesAlreadyEditedPane.getInstance()); return; } From 3ac3f2df15da1b968248a3b2d242e11ec833b7cf Mon Sep 17 00:00:00 2001 From: MoMeak Date: Wed, 2 Aug 2017 17:07:32 +0800 Subject: [PATCH 02/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E6=9D=83=E9=99=90=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E3=80=81=E7=BC=A9=E6=94=BE=E6=9D=A1=E9=83=A8=E5=88=86?= =?UTF-8?q?=E8=A7=86=E8=A7=89=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/foldablepane/HeaderPane.java | 2 +- .../design/images/data/source/hoverDown20.png | Bin 198 -> 0 bytes .../fr/design/images/data/source/hoverUp.png | Bin 240 -> 0 bytes .../design/images/data/source/hoverUp20.png | Bin 232 -> 0 bytes .../design/images/data/source/hoverUp@2x.png | Bin 406 -> 0 bytes .../images/data/source/normalDown20.png | Bin 197 -> 0 bytes .../fr/design/images/data/source/normalUp.png | Bin 220 -> 0 bytes .../design/images/data/source/normalUp20.png | Bin 235 -> 0 bytes .../design/images/data/source/normalUp@2x.png | Bin 387 -> 0 bytes .../com/fr/design/mainframe/JSliderPane.java | 22 ++++++++---------- 10 files changed, 11 insertions(+), 13 deletions(-) delete mode 100644 designer_base/src/com/fr/design/images/data/source/hoverDown20.png delete mode 100644 designer_base/src/com/fr/design/images/data/source/hoverUp.png delete mode 100644 designer_base/src/com/fr/design/images/data/source/hoverUp20.png delete mode 100644 designer_base/src/com/fr/design/images/data/source/hoverUp@2x.png delete mode 100644 designer_base/src/com/fr/design/images/data/source/normalDown20.png delete mode 100644 designer_base/src/com/fr/design/images/data/source/normalUp.png delete mode 100644 designer_base/src/com/fr/design/images/data/source/normalUp20.png delete mode 100644 designer_base/src/com/fr/design/images/data/source/normalUp@2x.png diff --git a/designer_base/src/com/fr/design/foldablepane/HeaderPane.java b/designer_base/src/com/fr/design/foldablepane/HeaderPane.java index 0b7d92ab6..929b3b9d3 100644 --- a/designer_base/src/com/fr/design/foldablepane/HeaderPane.java +++ b/designer_base/src/com/fr/design/foldablepane/HeaderPane.java @@ -55,7 +55,7 @@ public class HeaderPane extends JPanel { g2d.fillRect(0, 0, headWidth, headHeight); g2d.drawImage(UIConstants.DRAG_BAR, 0, 0, headWidth, headHeight, null); - g2d.setFont(new Font("OpenSans", 0, fontSize)); + g2d.setFont(new Font("SimSun", 0, fontSize)); g2d.setPaint(bgColor); // g2d.drawString(this.title, fontSize/2, headHeight-fontSize/3); g2d.drawString(this.title, 0, headHeight - fontSize / 2 - 1); diff --git a/designer_base/src/com/fr/design/images/data/source/hoverDown20.png b/designer_base/src/com/fr/design/images/data/source/hoverDown20.png deleted file mode 100644 index 815dae49683e2b6cc6185645c0953e4d03764b83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1Ig22U5q5DUTN zJ;l!(pYQ))pZ@p%d45Fl4LUyNf8r1Q<8OY zFGI%G&6gK}6HK@m zBAJ5tg;}HZoOcbCVt`Q$!E+Atej>NGaOaLfUainboFyt=akR{0Gvl#IRF3v diff --git a/designer_base/src/com/fr/design/images/data/source/hoverUp20.png b/designer_base/src/com/fr/design/images/data/source/hoverUp20.png deleted file mode 100644 index f5b2ad6c5276a9ca9e2b1751cb848ea5840293e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1IgMV>B>Ar^wk zdy1boKHvYpKK<|i^9qL@7!y)bDh?evG3Qvt>u-0DPmy9PX1@`TCCO$ak|HL2rX=ek zbNYjei`_dvv0T)fW0fjY%Byn9WP#G6Sc?QUqkDTwzuWJ6yMRMM?aZd)PZDd^t_|Fh zY%1W&Iz?Di^4x};pI$jZ8cEIeJnZLMfvVU9WHpaSumw5S>Nj(_CgrLx;fp!Y)Sas( d!L^!+LGFc-)RFmjl7Oyd@O1TaS?83{1OQ&WQ=I?+ diff --git a/designer_base/src/com/fr/design/images/data/source/hoverUp@2x.png b/designer_base/src/com/fr/design/images/data/source/hoverUp@2x.png deleted file mode 100644 index cff495dd24cb4439a1ffe86119c6eec06bcddd0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk;P)Px$P)S5VR9Fe^SIvsTFc6**(Yv<=Z=!p2eFNWO(FZ9$g7iTw`xd@|yGIpog16rF zV9Z!D%`{q!bQLs#lFU!$n|?`$DL@$S&H&m3tk>JNQu|l|4gu7MZM%PsI|MaHY)0K~ zds~dd2@v>E9sV?MtLRjXjA;!U{bCX|6P(`s|G)`FwK5EYn9X?tXWFH)Op4P(+9>mdQGvPdJ2w&X`D-wMD4MY1 zv)5rvQa<1a1Rf`17HqW{FvhZZJo-MHXUR{Qn`3(d15OS?@qi-`c#aSf2n;-(0jndz zolhrB6%K&Qh;zFyD+oglPJmixU5iK3d|k53>vb<_Aq=UpN-_2A`i;_}Lv=Ey8HS9= zcYykJ>f1G`iB80!N^bL!=*I+-OaBBuQC`>g1RE7jX^40$FaQ7m07*qoM6N<$g7WvR AaR2}S diff --git a/designer_base/src/com/fr/design/images/data/source/normalDown20.png b/designer_base/src/com/fr/design/images/data/source/normalDown20.png deleted file mode 100644 index 0e4e114e0217f53b9bdcb19634bae91d083e691c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1IgdQTU}5DUTN zKOY~rKi^;fKmG6j^9qL@7!y)bDh?evGUM2fx3|9^pCZLp%zh%^*!uYW|JykOn$s4w zDV|8{k?N3yHVq*iH z7*;oGXf2SjwvKLdZs$v$>?A1tC()unkHwY2u;GP=;xU5>Qm?8dLo|f4trbfr1WAYF g1Ro6ONbJdExXoj1xk|KWC(ywRp00i_>zopr0N)H(0RR91 diff --git a/designer_base/src/com/fr/design/images/data/source/normalUp@2x.png b/designer_base/src/com/fr/design/images/data/source/normalUp@2x.png deleted file mode 100644 index 901f6a1db1a01373ed4b490a4d4b726694aa6528..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 387 zcmV-}0et?6P)Px$JxN4CR9Fe^S4|GVKoou>7Fs(yi96V`(6|Qoz!`84y@s%0>kbk-yH1vkxCLGN{T|HcOY)mdhcGetg)PwV zh)8TumMah^v#y>uxTQCnZC06)t3UyRgBJM07HD{eV+mLVDp!C{L?`u#8WW50*xmzp z!U51R@~kWwM+|LIhcLXX)XX;0vL!oeJojDK8S}P`K*eJ@&g(e0BTL25kczV|Xyb>8 hpY}~qu+NW{UjZChNj$R3Z!`b^002ovPDHLkV1iHTpH%<= diff --git a/designer_base/src/com/fr/design/mainframe/JSliderPane.java b/designer_base/src/com/fr/design/mainframe/JSliderPane.java index dff24b1a2..2d17bd43c 100644 --- a/designer_base/src/com/fr/design/mainframe/JSliderPane.java +++ b/designer_base/src/com/fr/design/mainframe/JSliderPane.java @@ -1,6 +1,7 @@ package com.fr.design.mainframe; import com.fr.base.BaseUtils; +import com.fr.design.constants.LayoutConstants; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIRadioButton; import com.fr.design.gui.ilable.UILabel; @@ -35,16 +36,16 @@ public class JSliderPane extends JPanel { private static final int SIX = 6; private static final int TEN = 10; private static final int ONE_EIGHT = 18; - private static final int FONT_SIZE = 14; + private static final int FONT_SIZE = 12; private static final int SPINNER_WIDTH = 45; - private static final int SPINNER_HEIGHT = 16; + private static final int SPINNER_HEIGHT = 20; private static final int HALF_HUNDRED = 50; private static final int HUNDRED = 100; private static final int TWO_HUNDRED = 200; private static final int THREE_HUNDRED = 300; private static final int FOUR_HUNDRED = 400; private static final int DIALOG_WIDTH = 150; - private static final int DIALOG_HEIGHT = 240; + private static final int DIALOG_HEIGHT = 200; private static final int SLIDER_WIDTH = 220; private static final int SLIDER_HEIGHT = 20; private static final int SHOWVALBUTTON_WIDTH = 40; @@ -97,22 +98,19 @@ public class JSliderPane extends JPanel { // NumberFormatter formatter = (NumberFormatter) factory.getDefaultFormatter(); // formatter.setAllowsInvalid(false); downButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalDown20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png")); -// downButton.setPreferredSize(new Dimension(16,16)); downButton.setOpaque(false); downButton.setBorderPainted(false); upButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalUp20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png")); -// upButton.setPreferredSize(new Dimension(21,21)); upButton.setOpaque(false); upButton.setBorderPainted(false); downButton.setActionCommand("less"); upButton.setActionCommand("more"); downButton.addActionListener(buttonActionListener); upButton.addActionListener(buttonActionListener); - showValButton = new JButton(showValSpinner.getValue() + "%"); showValButton.setOpaque(false); showValButton.setMargin(new Insets(0,0,0,0)); - showValButton.setFont(new Font("OpenSans", Font.PLAIN, 12)); + showValButton.setFont(new Font("SimSun", Font.PLAIN, 12)); showValButton.setBackground(BACK_COLOR); showValButton.setBorderPainted(false); showValButton.setPreferredSize(new Dimension(SHOWVALBUTTON_WIDTH, SHOWVALBUTTON_HEIGHTH)); @@ -126,7 +124,6 @@ public class JSliderPane extends JPanel { panel.add(showValButton); panel.setBackground(BACK_COLOR); this.add(panel, BorderLayout.NORTH); -// this.setBounds(0, 0, THREE_HUNDRED, ONE_EIGHT); } public static final JSliderPane getInstance() { @@ -144,7 +141,9 @@ public class JSliderPane extends JPanel { fiveTenButton = new UIRadioButton("50%"); twoFiveButton = new UIRadioButton("25%"); selfAdaptButton = new UIRadioButton(Inter.getLocText("FR-Designer_Scale_selfAdaptButton")); + selfAdaptButton.setFont(new Font("SimSun", Font.PLAIN, FONT_SIZE)); customButton = new UIRadioButton(Inter.getLocText("FR-Designer_Scale_customButton")); + customButton.setFont(new Font("SimSun", Font.PLAIN, FONT_SIZE)); twoHundredButton.addItemListener(radioButtonItemListener); oneHundredButton.addItemListener(radioButtonItemListener); SevenFiveButton.addItemListener(radioButtonItemListener); @@ -178,14 +177,14 @@ public class JSliderPane extends JPanel { new Component[]{selfAdaptButton, null}, new Component[]{customButton, createSpinnerPanel()} }; - dialogContentPanel = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); + dialogContentPanel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, LayoutConstants.VGAP_MEDIUM, 0); } private JPanel createSpinnerPanel() { JPanel spinnerPanel = new JPanel(new FlowLayout()); spinnerPanel.add(showValSpinner); UILabel percent = new UILabel("%"); - percent.setFont(new Font("Dialog", Font.PLAIN, FONT_SIZE)); + percent.setFont(new Font("SimSun", Font.PLAIN, FONT_SIZE)); spinnerPanel.add(percent); return spinnerPanel; } @@ -417,7 +416,7 @@ class PopupPane extends JPopupMenu { private JComponent contentPane; private static final int UPLABEL_HEIGHT = 25; private static final int DIALOG_WIDTH = 157; - private static final int DIALOG_HEIGHT = 240; + private static final int DIALOG_HEIGHT = 200; private static final int UPLABEL_WIDTH = 300; private JComponent centerPane; private UILabel upLabel; @@ -433,7 +432,6 @@ class PopupPane extends JPopupMenu { centerPane.add(dialogContentPanel, BorderLayout.NORTH); contentPane.add(upLabel, BorderLayout.NORTH); contentPane.add(centerPane, BorderLayout.CENTER); -// contentPane.setBorder(new MatteBorder(1,1,1,1,Color.darkGray)); this.add(contentPane, BorderLayout.CENTER); this.setPreferredSize(new Dimension(DIALOG_WIDTH, DIALOG_HEIGHT)); this.setOpaque(false); From e1f026dc7c9131d73c78200923831d24fa5052c9 Mon Sep 17 00:00:00 2001 From: MoMeak Date: Wed, 2 Aug 2017 17:54:37 +0800 Subject: [PATCH 03/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E7=BC=A9=E6=94=BE=E6=9D=A1?= =?UTF-8?q?=E9=83=A8=E5=88=86=E8=A7=86=E8=A7=89png?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/images/data/source/hoverDown20.png | Bin 0 -> 198 bytes .../design/images/data/source/hoverUp20.png | Bin 0 -> 232 bytes .../images/data/source/normalDown20.png | Bin 0 -> 197 bytes .../design/images/data/source/normalUp20.png | Bin 0 -> 235 bytes .../com/fr/design/mainframe/JSliderPane.java | 45 ++++++++++-------- 5 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 designer_base/src/com/fr/design/images/data/source/hoverDown20.png create mode 100644 designer_base/src/com/fr/design/images/data/source/hoverUp20.png create mode 100644 designer_base/src/com/fr/design/images/data/source/normalDown20.png create mode 100644 designer_base/src/com/fr/design/images/data/source/normalUp20.png diff --git a/designer_base/src/com/fr/design/images/data/source/hoverDown20.png b/designer_base/src/com/fr/design/images/data/source/hoverDown20.png new file mode 100644 index 0000000000000000000000000000000000000000..815dae49683e2b6cc6185645c0953e4d03764b83 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1Ig22U5q5DUTN zJ;l!(pYQ))pZ@p%d45Fl4LUyNf8r1Q<8OY zFB>Ar^wk zdy1boKHvYpKK<|i^9qL@7!y)bDh?evG3Qvt>u-0DPmy9PX1@`TCCO$ak|HL2rX=ek zbNYjei`_dvv0T)fW0fjY%Byn9WP#G6Sc?QUqkDTwzuWJ6yMRMM?aZd)PZDd^t_|Fh zY%1W&Iz?Di^4x};pI$jZ8cEIeJnZLMfvVU9WHpaSumw5S>Nj(_CgrLx;fp!Y)Sas( d!L^!+LGFc-)RFmjl7Oyd@O1TaS?83{1OQ&WQ=I?+ literal 0 HcmV?d00001 diff --git a/designer_base/src/com/fr/design/images/data/source/normalDown20.png b/designer_base/src/com/fr/design/images/data/source/normalDown20.png new file mode 100644 index 0000000000000000000000000000000000000000..0e4e114e0217f53b9bdcb19634bae91d083e691c GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1IgdQTU}5DUTN zKOY~rKi^;fKmG6j^9qL@7!y)bDh?evGUM2fx3|9^pCZLp%zh%^*!uYW|JykOn$s4w zDV|8{k?N3yHVq*iH z7*;oGXf2SjwvKLdZs$v$>?A1tC()unkHwY2u;GP=;xU5>Qm?8dLo|f4trbfr1WAYF g1Ro6ONbJdExXoj1xk|KWC(ywRp00i_>zopr0N)H(0RR91 literal 0 HcmV?d00001 diff --git a/designer_base/src/com/fr/design/mainframe/JSliderPane.java b/designer_base/src/com/fr/design/mainframe/JSliderPane.java index 2d17bd43c..de0aca734 100644 --- a/designer_base/src/com/fr/design/mainframe/JSliderPane.java +++ b/designer_base/src/com/fr/design/mainframe/JSliderPane.java @@ -44,8 +44,8 @@ public class JSliderPane extends JPanel { private static final int TWO_HUNDRED = 200; private static final int THREE_HUNDRED = 300; private static final int FOUR_HUNDRED = 400; - private static final int DIALOG_WIDTH = 150; - private static final int DIALOG_HEIGHT = 200; + private static final int DIALOG_WIDTH = 157; + private static final int DIALOG_HEIGHT = 192; private static final int SLIDER_WIDTH = 220; private static final int SLIDER_HEIGHT = 20; private static final int SHOWVALBUTTON_WIDTH = 40; @@ -167,8 +167,24 @@ public class JSliderPane extends JPanel { double p = TableLayout.PREFERRED; double f = TableLayout.FILL; double[] columnSize = {p, f}; - double[] rowSize = {p, p, p, p, p, p, p}; + double[] rowSize = {p, p, p, p, p, p, p, p, p}; + UILabel upLabel = new UILabel(" " + Inter.getLocText("FR-Designer_Scale_EnlargeOrReduce")); + upLabel.setOpaque(false); + JPanel septPane = new JPanel(new BorderLayout()); + JSeparator sept = new JSeparator(); + sept.setBackground(new Color(232,232,233)); + septPane.add(sept,BorderLayout.NORTH); + septPane.setBorder(BorderFactory.createEmptyBorder(2, 5, 1, 5)); + twoHundredButton.setBackground(BACK_COLOR); + oneHundredButton.setBackground(BACK_COLOR); + SevenFiveButton.setBackground(BACK_COLOR); + fiveTenButton.setBackground(BACK_COLOR); + twoFiveButton.setBackground(BACK_COLOR); + selfAdaptButton.setBackground(BACK_COLOR); + customButton.setBackground(BACK_COLOR); Component[][] components = new Component[][]{ + new Component[]{upLabel, null}, + new Component[]{septPane, null}, new Component[]{twoHundredButton, null}, new Component[]{oneHundredButton, null}, new Component[]{SevenFiveButton, null}, @@ -178,6 +194,7 @@ public class JSliderPane extends JPanel { new Component[]{customButton, createSpinnerPanel()} }; dialogContentPanel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, LayoutConstants.VGAP_MEDIUM, 0); + dialogContentPanel.setBackground(BACK_COLOR); } private JPanel createSpinnerPanel() { @@ -186,6 +203,7 @@ public class JSliderPane extends JPanel { UILabel percent = new UILabel("%"); percent.setFont(new Font("SimSun", Font.PLAIN, FONT_SIZE)); spinnerPanel.add(percent); + spinnerPanel.setBackground(BACK_COLOR); return spinnerPanel; } @@ -414,27 +432,14 @@ class JSliderPaneUI extends BasicSliderUI { class PopupPane extends JPopupMenu { private JComponent contentPane; - private static final int UPLABEL_HEIGHT = 25; private static final int DIALOG_WIDTH = 157; - private static final int DIALOG_HEIGHT = 200; - private static final int UPLABEL_WIDTH = 300; - private JComponent centerPane; - private UILabel upLabel; + private static final int DIALOG_HEIGHT = 192; PopupPane(JButton b, JPanel dialogContentPanel) { - contentPane = new JPanel(new BorderLayout()); - centerPane = new JPanel(new BorderLayout()); - upLabel = new UILabel(" " + Inter.getLocText("FR-Designer_Scale_EnlargeOrReduce")); - upLabel.setOpaque(true); - upLabel.setPreferredSize(new Dimension(UPLABEL_WIDTH, UPLABEL_HEIGHT)); - upLabel.setBackground(Color.LIGHT_GRAY); - upLabel.setBorder(new MatteBorder(0, 0, 1, 0, Color.gray)); - centerPane.add(dialogContentPanel, BorderLayout.NORTH); - contentPane.add(upLabel, BorderLayout.NORTH); - contentPane.add(centerPane, BorderLayout.CENTER); - this.add(contentPane, BorderLayout.CENTER); + this.add(dialogContentPanel, BorderLayout.CENTER); this.setPreferredSize(new Dimension(DIALOG_WIDTH, DIALOG_HEIGHT)); - this.setOpaque(false); + this.setBackground(new Color(245,245,247)); +// this.setOpaque(false); } From 010b07270f525be6ea3837656a51381a96964539 Mon Sep 17 00:00:00 2001 From: MoMeak Date: Wed, 2 Aug 2017 20:00:59 +0800 Subject: [PATCH 04/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E7=BC=A9=E6=94=BE=E6=9D=A1?= =?UTF-8?q?=E9=83=A8=E5=88=86=E8=A7=86=E8=A7=89=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/locale/designer.properties | 4 + .../design/locale/designer_en_US.properties | 4 + .../design/locale/designer_ja_JP.properties | 4 + .../design/locale/designer_ko_KR.properties | 4 + .../design/locale/designer_zh_CN.properties | 4 + .../design/locale/designer_zh_TW.properties | 4 + .../fr/design/mainframe/JFormSliderPane.java | 120 ++++++++++-------- .../com/fr/design/mainframe/JSliderPane.java | 54 ++++---- 8 files changed, 118 insertions(+), 80 deletions(-) diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index 968e44ba6..8836399b6 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -2098,3 +2098,7 @@ FR-Designer_Insert_Image=Insert_Image FR-Designer_Insert-Chart=Insert-Chart FR-Designer_Insert-Text=Insert-Text FR-Designer_Insert_Formula=Insert_Formula +FR-Designer_Scale_Down=Scale_Down +FR-Designer_Scale_Up=Scale_Up +FR-Designer_Scale_Slider=Scale_Slider +FR-Designer_Scale_Grade=Scale_Grade diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index c72a2b294..695c42724 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2099,3 +2099,7 @@ FR-Designer_Insert_Image=Insert_Image FR-Designer_Insert_Chart=Insert-Chart FR-Designer_Insert_Text=Insert-Text FR-Designer_Insert_Formula=Insert_Formula +FR-Designer_Scale_Down=Scale_Down +FR-Designer_Scale_Up=Scale_Up +FR-Designer_Scale_Slider=Scale_Slider +FR-Designer_Scale_Grade=Scale_Grade diff --git a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties index d299a9093..c89b90b0a 100644 --- a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties +++ b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties @@ -2080,3 +2080,7 @@ FR-Designer_Add_FloatElement= FR-Designer_Insert_Image= FR-Designer_Insert_Chart= FR-Designer_Insert_Text= +FR-Designer_Scale_Down= +FR-Designer_Scale_Up= +FR-Designer_Scale_Slider= +FR-Designer_Scale_Grade= diff --git a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties index bf72a516b..08aaa5c65 100644 --- a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties +++ b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties @@ -2079,3 +2079,7 @@ FR-Designer_Insert_Image= FR-Designer_Insert_Chart= FR-Designer_Insert_Text= FR-Designer_Insert_Formula= +FR-Designer_Scale_Down= +FR-Designer_Scale_Up= +FR-Designer_Scale_Slider= +FR-Designer_Scale_Grade= diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index 7d1d62e97..6add40ade 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -2106,3 +2106,7 @@ FR-Designer_Float_Visible=\u60AC\u6D6E\u5143\u7D20\u53EF\u89C1 FR-Designer_Cell_Value=\u5355\u5143\u683C\u503C FR-Designer_Widget_Visible=\u63A7\u4EF6\u53EF\u89C1 FR-Designer_Widget_Enabled=\u63A7\u4EF6\u53EF\u7528 +FR-Designer_Scale_Down=\u7F29\u5C0F +FR-Designer_Scale_Up=\u653E\u5927 +FR-Designer_Scale_Slider=\u7F29\u653E\u6ED1\u5757 +FR-Designer_Scale_Grade=\u7F29\u653E\u7EA7\u522B\uFF0C\u5355\u51FB\u540E\u8C03\u8282\u663E\u793A\u6BD4\u4F8B\u3002 diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 186bc20bc..899a75203 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -2098,3 +2098,7 @@ FR-Designer_Insert_Image= FR-Designer_Insert_Chart= FR-Designer_Insert_Text= FR-Designer_Insert_Formula= +FR-Designer_Scale_Down= +FR-Designer_Scale_Up= +FR-Designer_Scale_Slider= +FR-Designer_Scale_Grade= diff --git a/designer_base/src/com/fr/design/mainframe/JFormSliderPane.java b/designer_base/src/com/fr/design/mainframe/JFormSliderPane.java index 6088ac01e..b3be6c760 100644 --- a/designer_base/src/com/fr/design/mainframe/JFormSliderPane.java +++ b/designer_base/src/com/fr/design/mainframe/JFormSliderPane.java @@ -1,6 +1,7 @@ package com.fr.design.mainframe; import com.fr.base.BaseUtils; +import com.fr.design.constants.LayoutConstants; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIRadioButton; import com.fr.design.gui.ilable.UILabel; @@ -13,7 +14,6 @@ import com.fr.design.utils.gui.GUICoreUtils; import com.fr.general.Inter; import javax.swing.*; -import javax.swing.border.MatteBorder; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.*; @@ -32,7 +32,7 @@ public class JFormSliderPane extends JPanel { private static final int SIX = 6; private static final int TEN = 10; private static final int ONE_EIGHT = 18; - private static final int FONT_SIZE = 14; + private static final int FONT_SIZE = 12; private static final int SPINNER_WIDTH = 45; private static final int SPINNER_HEIGHT = 20; private static final int HALF_HUNDRED = 50; @@ -40,10 +40,14 @@ public class JFormSliderPane extends JPanel { private static final int TWO_HUNDRED = 200; private static final int THREE_HUNDRED = 300; private static final int FOUR_HUNDRED = 400; - private static final int DIALOG_WIDTH = 150; - private static final int DIALOG_HEIGHT = 220; - private static final int SHOWVALBUTTON_WIDTH = 70; - private static final int SHOWVALBUTTON_HEIGHTH = 25; + private static final int DIALOG_WIDTH = 157; + private static final int DIALOG_HEIGHT = 172; + private static final int SLIDER_WIDTH = 220; + private static final int SLIDER_HEIGHT = 20; + private static final int SHOWVALBUTTON_WIDTH = 40; + private static final int SHOWVALBUTTON_HEIGHTH = 20; + private static final int SLIDER_GAP = 5; + private static final Color BACK_COLOR = new Color(245, 245, 247); public int showValue = 100; public double resolutionTimes = 1.0; private static JFormSliderPane THIS; @@ -54,7 +58,7 @@ public class JFormSliderPane extends JPanel { private int sliderValue; private UIButton downButton; private UIButton upButton; - private UIButton showValButton; + private JButton showValButton; private UIRadioButton twoHundredButton; private UIRadioButton oneHundredButton; private UIRadioButton SevenFiveButton; @@ -74,45 +78,50 @@ public class JFormSliderPane extends JPanel { slider = new UISlider(0, HUNDRED, HALF_HUNDRED); slider.setUI(new JSliderPaneUI(slider)); slider.addChangeListener(listener); - + slider.setPreferredSize(new Dimension(220, 20)); + //去掉虚线框 + slider.setFocusable(false); + slider.setToolTipText(Inter.getLocText("FR-Designer_Scale_Slider")); showValSpinner = new UIBasicSpinner(new SpinnerNumberModel(HUNDRED, TEN, FOUR_HUNDRED, 1)); showValSpinner.setEnabled(true); showValSpinner.addChangeListener(showValSpinnerChangeListener); showValSpinner.setPreferredSize(new Dimension(SPINNER_WIDTH, SPINNER_HEIGHT)); - //MoMeak:控制只能输入10-400,但是用起来感觉不舒服,先注释掉吧 -// JSpinner.NumberEditor editor = new JSpinner.NumberEditor(showValSpinner, "0"); -// showValSpinner.setEditor(editor); -// JFormattedTextField textField = ((JSpinner.NumberEditor) showValSpinner.getEditor()).getTextField(); -// textField.setEditable(true); -// DefaultFormatterFactory factory = (DefaultFormatterFactory) textField .getFormatterFactory(); -// NumberFormatter formatter = (NumberFormatter) factory.getDefaultFormatter(); -// formatter.setAllowsInvalid(false); - downButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/moveDown.png")); - upButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/moveUp.png")); + downButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png")); + downButton.setOpaque(false); + downButton.setBorderPainted(false); + downButton.setToolTipText(Inter.getLocText("FR-Designer_Scale_Down")); + upButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png")); + upButton.setOpaque(false); + upButton.setBorderPainted(false); + upButton.setToolTipText(Inter.getLocText("FR-Designer_Scale_Up")); downButton.setActionCommand("less"); upButton.setActionCommand("more"); downButton.addActionListener(buttonActionListener); upButton.addActionListener(buttonActionListener); - - showValButton = new UIButton(showValSpinner.getValue() + "%"); + showValButton = new JButton(showValSpinner.getValue() + "%"); + showValButton.setOpaque(false); + showValButton.setMargin(new Insets(0, 0, 0, 0)); + showValButton.setFont(new Font("SimSun", Font.PLAIN, 12)); + showValButton.setBackground(BACK_COLOR); showValButton.setBorderPainted(false); showValButton.setPreferredSize(new Dimension(SHOWVALBUTTON_WIDTH, SHOWVALBUTTON_HEIGHTH)); showValButton.addActionListener(showValButtonActionListener); - + //TODO 先注释,需要自定义tooltip + showValButton.setToolTipText(Inter.getLocText("FR-Designer_Scale_Grade")); initUIRadioButton(); initPane(); - JPanel panel = new JPanel(new FlowLayout(1, 1, 0)); + JPanel panel = new JPanel(new FlowLayout(1, 5, 0)); panel.add(downButton); panel.add(slider); panel.add(upButton); panel.add(showValButton); + panel.setBackground(BACK_COLOR); this.add(panel, BorderLayout.NORTH); - this.setBounds(0, 0, THREE_HUNDRED, ONE_EIGHT); } public static final JFormSliderPane getInstance() { // if (THIS == null) { -// THIS = new JFormSliderPane(); +// THIS = new JSliderPane(); // } THIS = new JFormSliderPane(); return THIS; @@ -124,8 +133,10 @@ public class JFormSliderPane extends JPanel { SevenFiveButton = new UIRadioButton("75%"); fiveTenButton = new UIRadioButton("50%"); twoFiveButton = new UIRadioButton("25%"); -// selfAdaptButton = new UIRadioButton(Inter.getLocText("FR-Designer_Scale_selfAdaptButton")); + selfAdaptButton = new UIRadioButton(Inter.getLocText("FR-Designer_Scale_selfAdaptButton")); + selfAdaptButton.setFont(new Font("SimSun", Font.PLAIN, FONT_SIZE)); customButton = new UIRadioButton(Inter.getLocText("FR-Designer_Scale_customButton")); + customButton.setFont(new Font("SimSun", Font.PLAIN, FONT_SIZE)); twoHundredButton.addItemListener(radioButtonItemListener); oneHundredButton.addItemListener(radioButtonItemListener); SevenFiveButton.addItemListener(radioButtonItemListener); @@ -140,7 +151,7 @@ public class JFormSliderPane extends JPanel { bg.add(SevenFiveButton); bg.add(fiveTenButton); bg.add(twoFiveButton); -// bg.add(selfAdaptButton); + bg.add(selfAdaptButton); bg.add(customButton); customButton.setSelected(true); } @@ -149,25 +160,44 @@ public class JFormSliderPane extends JPanel { double p = TableLayout.PREFERRED; double f = TableLayout.FILL; double[] columnSize = {p, f}; - double[] rowSize = {p, p, p, p, p, p, p}; + double[] rowSize = {p, p, p, p, p, p, p, p}; + UILabel upLabel = new UILabel(" " + Inter.getLocText("FR-Designer_Scale_EnlargeOrReduce")); + upLabel.setOpaque(false); + JPanel septPane = new JPanel(new BorderLayout()); + JSeparator sept = new JSeparator(); + sept.setBackground(new Color(232, 232, 233)); + septPane.add(sept, BorderLayout.NORTH); + septPane.setBorder(BorderFactory.createEmptyBorder(2, 5, 1, 10)); + septPane.setBackground(BACK_COLOR); + twoHundredButton.setBackground(BACK_COLOR); + oneHundredButton.setBackground(BACK_COLOR); + SevenFiveButton.setBackground(BACK_COLOR); + fiveTenButton.setBackground(BACK_COLOR); + twoFiveButton.setBackground(BACK_COLOR); +// selfAdaptButton.setBackground(BACK_COLOR); + customButton.setBackground(BACK_COLOR); Component[][] components = new Component[][]{ + new Component[]{upLabel, null}, + new Component[]{septPane, null}, new Component[]{twoHundredButton, null}, new Component[]{oneHundredButton, null}, new Component[]{SevenFiveButton, null}, new Component[]{fiveTenButton, null}, new Component[]{twoFiveButton, null}, -// new Component[]{selfAdaptButton,null}, new Component[]{customButton, createSpinnerPanel()} }; - dialogContentPanel = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); + dialogContentPanel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, LayoutConstants.VGAP_MEDIUM, 0); + dialogContentPanel.setBackground(BACK_COLOR); + dialogContentPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); } private JPanel createSpinnerPanel() { JPanel spinnerPanel = new JPanel(new FlowLayout()); spinnerPanel.add(showValSpinner); UILabel percent = new UILabel("%"); - percent.setFont(new Font("Dialog", Font.PLAIN, FONT_SIZE)); + percent.setFont(new Font("SimSun", Font.PLAIN, FONT_SIZE)); spinnerPanel.add(percent); + spinnerPanel.setBackground(BACK_COLOR); return spinnerPanel; } @@ -314,14 +344,14 @@ public class JFormSliderPane extends JPanel { dialog = new FormPopupPane(upButton, dialogContentPanel); if (upButtonX == 0) { upButtonX = btnCoords.x; - GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH, -DIALOG_HEIGHT); + GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH + SLIDER_GAP, -DIALOG_HEIGHT); } } else { if (upButtonX == 0) { upButtonX = btnCoords.x; - GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH, -DIALOG_HEIGHT); + GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH + SLIDER_GAP, -DIALOG_HEIGHT); } else { - GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH, -DIALOG_HEIGHT); + GUICoreUtils.showPopupMenu(dialog, upButton, -DIALOG_WIDTH + upButton.getWidth() + SHOWVALBUTTON_WIDTH + SLIDER_GAP, -DIALOG_HEIGHT); } } } @@ -341,29 +371,13 @@ public class JFormSliderPane extends JPanel { class FormPopupPane extends JPopupMenu { - private JComponent contentPane; - private static final int UPLABEL_HEIGHT = 25; - private static final int DIALOG_WIDTH = 150; - private static final int DIALOG_HEIGHT = 220; - private static final int UPLABEL_WIDTH = 300; - private JComponent centerPane; - private UILabel upLabel; + private static final int DIALOG_WIDTH = 157; + private static final int DIALOG_HEIGHT = 172; FormPopupPane(UIButton b, JPanel dialogContentPanel) { - contentPane = new JPanel(new BorderLayout()); - centerPane = new JPanel(new BorderLayout()); - upLabel = new UILabel(" " + Inter.getLocText("FR-Designer_Scale_EnlargeOrReduce")); - upLabel.setOpaque(true); - upLabel.setPreferredSize(new Dimension(UPLABEL_WIDTH, UPLABEL_HEIGHT)); - upLabel.setBackground(Color.LIGHT_GRAY); - upLabel.setBorder(new MatteBorder(0, 0, 1, 0, Color.gray)); - centerPane.add(dialogContentPanel, BorderLayout.NORTH); - contentPane.add(upLabel, BorderLayout.NORTH); - contentPane.add(centerPane, BorderLayout.CENTER); -// contentPane.setBorder(new MatteBorder(1,1,1,1,Color.darkGray)); - this.add(contentPane, BorderLayout.CENTER); + this.add(dialogContentPanel, BorderLayout.CENTER); this.setPreferredSize(new Dimension(DIALOG_WIDTH, DIALOG_HEIGHT)); - this.setOpaque(false); + this.setBackground(new Color(245, 245, 247)); } diff --git a/designer_base/src/com/fr/design/mainframe/JSliderPane.java b/designer_base/src/com/fr/design/mainframe/JSliderPane.java index de0aca734..50ca69a9e 100644 --- a/designer_base/src/com/fr/design/mainframe/JSliderPane.java +++ b/designer_base/src/com/fr/design/mainframe/JSliderPane.java @@ -14,17 +14,14 @@ import com.fr.design.utils.gui.GUICoreUtils; import com.fr.general.Inter; import javax.swing.*; -import javax.swing.border.MatteBorder; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.basic.BasicSliderUI; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; -import java.awt.geom.RoundRectangle2D; import java.math.BigDecimal; /** @@ -51,7 +48,7 @@ public class JSliderPane extends JPanel { private static final int SHOWVALBUTTON_WIDTH = 40; private static final int SHOWVALBUTTON_HEIGHTH = 20; private static final int SLIDER_GAP = 5; - private static final Color BACK_COLOR = new Color(245,245,247); + private static final Color BACK_COLOR = new Color(245, 245, 247); public int showValue = 100; public double resolutionTimes = 1.0; private static JSliderPane THIS; @@ -85,36 +82,33 @@ public class JSliderPane extends JPanel { slider.setPreferredSize(new Dimension(220, 20)); //去掉虚线框 slider.setFocusable(false); + slider.setToolTipText(Inter.getLocText("FR-Designer_Scale_Slider")); showValSpinner = new UIBasicSpinner(new SpinnerNumberModel(HUNDRED, TEN, FOUR_HUNDRED, 1)); showValSpinner.setEnabled(true); showValSpinner.addChangeListener(showValSpinnerChangeListener); showValSpinner.setPreferredSize(new Dimension(SPINNER_WIDTH, SPINNER_HEIGHT)); - //MoMeak:控制只能输入10-400,但是用起来感觉不舒服,先注释掉吧 -// JSpinner.NumberEditor editor = new JSpinner.NumberEditor(showValSpinner, "0"); -// showValSpinner.setEditor(editor); -// JFormattedTextField textField = ((JSpinner.NumberEditor) showValSpinner.getEditor()).getTextField(); -// textField.setEditable(true); -// DefaultFormatterFactory factory = (DefaultFormatterFactory) textField .getFormatterFactory(); -// NumberFormatter formatter = (NumberFormatter) factory.getDefaultFormatter(); -// formatter.setAllowsInvalid(false); - downButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalDown20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png")); + downButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png")); downButton.setOpaque(false); downButton.setBorderPainted(false); - upButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalUp20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png"),BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png")); + downButton.setToolTipText(Inter.getLocText("FR-Designer_Scale_Down")); + upButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png")); upButton.setOpaque(false); upButton.setBorderPainted(false); + upButton.setToolTipText(Inter.getLocText("FR-Designer_Scale_Up")); downButton.setActionCommand("less"); upButton.setActionCommand("more"); downButton.addActionListener(buttonActionListener); upButton.addActionListener(buttonActionListener); showValButton = new JButton(showValSpinner.getValue() + "%"); showValButton.setOpaque(false); - showValButton.setMargin(new Insets(0,0,0,0)); + showValButton.setMargin(new Insets(0, 0, 0, 0)); showValButton.setFont(new Font("SimSun", Font.PLAIN, 12)); showValButton.setBackground(BACK_COLOR); showValButton.setBorderPainted(false); showValButton.setPreferredSize(new Dimension(SHOWVALBUTTON_WIDTH, SHOWVALBUTTON_HEIGHTH)); showValButton.addActionListener(showValButtonActionListener); + //TODO 先注释,需要自定义tooltip +// showValButton.setToolTipText(Inter.getLocText("FR-Designer_Scale_Grade")); initUIRadioButton(); initPane(); JPanel panel = new JPanel(new FlowLayout(1, 5, 0)); @@ -126,6 +120,12 @@ public class JSliderPane extends JPanel { this.add(panel, BorderLayout.NORTH); } + public JToolTip createToolTip() { + JToolTip tip = new JToolTip(); + tip.setComponent(this); + return tip; + } + public static final JSliderPane getInstance() { // if (THIS == null) { // THIS = new JSliderPane(); @@ -172,9 +172,10 @@ public class JSliderPane extends JPanel { upLabel.setOpaque(false); JPanel septPane = new JPanel(new BorderLayout()); JSeparator sept = new JSeparator(); - sept.setBackground(new Color(232,232,233)); - septPane.add(sept,BorderLayout.NORTH); - septPane.setBorder(BorderFactory.createEmptyBorder(2, 5, 1, 5)); + sept.setBackground(new Color(232, 232, 233)); + septPane.add(sept, BorderLayout.NORTH); + septPane.setBorder(BorderFactory.createEmptyBorder(2, 5, 1, 10)); + septPane.setBackground(BACK_COLOR); twoHundredButton.setBackground(BACK_COLOR); oneHundredButton.setBackground(BACK_COLOR); SevenFiveButton.setBackground(BACK_COLOR); @@ -195,6 +196,7 @@ public class JSliderPane extends JPanel { }; dialogContentPanel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, LayoutConstants.VGAP_MEDIUM, 0); dialogContentPanel.setBackground(BACK_COLOR); + dialogContentPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); } private JPanel createSpinnerPanel() { @@ -377,7 +379,7 @@ public class JSliderPane extends JPanel { class JSliderPaneUI extends BasicSliderUI { - private static final Color BACK_COLOR = new Color(245,245,247); + private static final Color BACK_COLOR = new Color(245, 245, 247); private static final int VERTICAL_WIDTH = 11; private static final int VERTICAL_HEIGHT = 16; private static final int FOUR = 4; @@ -402,9 +404,9 @@ class JSliderPaneUI extends BasicSliderUI { g2d.translate(knobBounds.x, knobBounds.y); // g2d.setColor(slider.getBackground()); // g2d.fillRect(0, FOUR, FOUR, 9); - g2d.setColor(new Color(51,51,52)); - g2d.drawRoundRect(0,SIX,FOUR,9,2,2); - g2d.fillRoundRect(0,SIX,FOUR,9,2,2); + g2d.setColor(new Color(51, 51, 52)); + g2d.drawRoundRect(0, SIX, FOUR, 9, 2, 2); + g2d.fillRoundRect(0, SIX, FOUR, 9, 2, 2); } /** */ @@ -420,8 +422,8 @@ class JSliderPaneUI extends BasicSliderUI { cw = trackBounds.width; g2.setPaint(BACK_COLOR); g2.fillRect(0, -cy, cw + 10, cy * 4); - g.setColor(new Color(216,216,216)); - g.drawLine(0, cy, cw +3, cy); + g.setColor(new Color(216, 216, 216)); + g.drawLine(0, cy, cw + 3, cy); g.drawLine(FIVE + cw / 2, cy - FOUR, FIVE + cw / 2, cy + FOUR); } else { super.paintTrack(g); @@ -431,15 +433,13 @@ class JSliderPaneUI extends BasicSliderUI { } class PopupPane extends JPopupMenu { - private JComponent contentPane; private static final int DIALOG_WIDTH = 157; private static final int DIALOG_HEIGHT = 192; PopupPane(JButton b, JPanel dialogContentPanel) { this.add(dialogContentPanel, BorderLayout.CENTER); this.setPreferredSize(new Dimension(DIALOG_WIDTH, DIALOG_HEIGHT)); - this.setBackground(new Color(245,245,247)); -// this.setOpaque(false); + this.setBackground(new Color(245, 245, 247)); } From 3dfeeccbd3032880d6a8af6a5e73ead9a72333ab Mon Sep 17 00:00:00 2001 From: MoMeak Date: Thu, 3 Aug 2017 10:40:37 +0800 Subject: [PATCH 05/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E7=BC=A9=E6=94=BE=E6=9D=A1toolti?= =?UTF-8?q?p=E9=83=A8=E5=88=86=E8=A7=86=E8=A7=89=E4=BC=98=E5=8C=96=20pr?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/cell/CleanAuthorityAction.java | 2 +- .../mainframe/AuthorityEditToolBarPane.java | 20 ++-- .../ElementCasePaneAuthorityEditPane.java | 14 +-- .../mainframe/SheetAuthorityEditPane.java | 47 +++------ .../design/mainframe/AuthorityEditPane.java | 2 +- .../com/fr/design/mainframe/JSliderPane.java | 98 ++++++++++++------- 6 files changed, 101 insertions(+), 82 deletions(-) diff --git a/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java b/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java index a7b22cfbe..0251654f4 100644 --- a/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java +++ b/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java @@ -1 +1 @@ -package com.fr.design.actions.cell; import java.awt.Rectangle; import java.awt.event.ActionEvent; import com.fr.design.actions.ElementCaseAction; import com.fr.design.mainframe.AuthorityPropertyPane; import com.fr.design.mainframe.EastRegionContainerPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.roleAuthority.ReportAndFSManagePane; import com.fr.design.roleAuthority.RolesAlreadyEditedPane; import com.fr.general.Inter; import com.fr.grid.selection.CellSelection; import com.fr.grid.selection.FloatSelection; import com.fr.grid.selection.Selection; import com.fr.report.cell.FloatElement; import com.fr.report.cell.TemplateCellElement; import com.fr.report.elementcase.TemplateElementCase; /** * Author : daisy * Date: 13-9-23 * Time: 下午2:41 */ public class CleanAuthorityAction extends ElementCaseAction { public CleanAuthorityAction(ElementCasePane t) { super(t); this.setName(Inter.getLocText(new String[]{"Clear", "DashBoard-Potence"})); } /** * 清楚权限动作 * * @param evt 事件 */ public void actionPerformed(ActionEvent evt) { ElementCasePane reportPane = getEditingComponent(); Selection selection = reportPane.getSelection(); String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); if (selection instanceof FloatSelection) { String name = ((FloatSelection) selection).getSelectedFloatName(); TemplateElementCase ec = reportPane.getEditingElementCase(); FloatElement fe = ec.getFloatElement(name); if (fe.isDoneAuthority(selectedRoles)) { fe.cleanAuthority(selectedRoles); } doAfterAuthority(reportPane); return; } CellSelection cellSelection = (CellSelection) selection; boolean isChooseColumnRow = cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN || cellSelection.getSelectedType() == CellSelection.CHOOSE_ROW; if (isChooseColumnRow && cellSelection.getCellRectangleCount() == 1) { cleanColumnRow(cellSelection, reportPane, selectedRoles); } else { cleanCell(cellSelection, reportPane, selectedRoles); } doAfterAuthority(reportPane); } private void doAfterAuthority(ElementCasePane reportPane) { reportPane.repaint(); reportPane.fireTargetModified(); RolesAlreadyEditedPane.getInstance().refreshDockingView(); RolesAlreadyEditedPane.getInstance().repaint(); if (EastRegionContainerPane.getInstance().getUpPane() instanceof AuthorityPropertyPane) { AuthorityPropertyPane authorityPropertyPane = (AuthorityPropertyPane) EastRegionContainerPane.getInstance().getUpPane(); authorityPropertyPane.populate(); EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.AUTHORITY_EDITION); EastRegionContainerPane.getInstance().replaceAuthorityEditionPane(authorityPropertyPane); } } /** * 清除单元格对应的角色的权限 * * @param cellSelection * @param reportPane */ private void cleanCell(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { if (selectedRoles == null) { return; } TemplateElementCase elementCase = reportPane.getEditingElementCase(); int cellRectangleCount = cellSelection.getCellRectangleCount(); for (int rect = 0; rect < cellRectangleCount; rect++) { Rectangle cellRectangle = cellSelection.getCellRectangle(rect); for (int j = 0; j < cellRectangle.height; j++) { for (int i = 0; i < cellRectangle.width; i++) { int column = i + cellRectangle.x; int row = j + cellRectangle.y; TemplateCellElement cellElement = elementCase.getTemplateCellElement(column, row); if (cellElement == null) { continue; } //清除权限 if (cellElement.isDoneAuthority(selectedRoles) || cellElement.isDoneNewValueAuthority(selectedRoles)) { cellElement.cleanAuthority(selectedRoles); } if (cellElement.getWidget() == null) { continue; } boolean isDoneAuthority = cellElement.getWidget().isDoneVisibleAuthority(selectedRoles) || cellElement.getWidget().isDoneUsableAuthority(selectedRoles); if (isDoneAuthority) { cellElement.getWidget().cleanAuthority(selectedRoles); } } } } } private void cleanColumnRow(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { if (selectedRoles == null) { return; } TemplateElementCase elementCase = reportPane.getEditingElementCase(); if (cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN) { for (int col = cellSelection.getColumn(); col < cellSelection.getColumn() + cellSelection.getColumnSpan(); col++) { elementCase.removeColumnPrivilegeControl(col, selectedRoles); } } else { for (int row = cellSelection.getRow(); row < cellSelection.getRow() + cellSelection.getRowSpan(); row++) { elementCase.removeRowPrivilegeControl(row, selectedRoles); } } } /** * 是否需要撤销动作 * * @return 不需要 */ public boolean executeActionReturnUndoRecordNeeded() { return false; } } \ No newline at end of file +package com.fr.design.actions.cell; import com.fr.design.actions.ElementCaseAction; import com.fr.design.mainframe.AuthorityPropertyPane; import com.fr.design.mainframe.EastRegionContainerPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.roleAuthority.ReportAndFSManagePane; import com.fr.design.roleAuthority.RolesAlreadyEditedPane; import com.fr.general.Inter; import com.fr.grid.selection.CellSelection; import com.fr.grid.selection.FloatSelection; import com.fr.grid.selection.Selection; import com.fr.report.cell.FloatElement; import com.fr.report.cell.TemplateCellElement; import com.fr.report.elementcase.TemplateElementCase; import java.awt.*; import java.awt.event.ActionEvent; /** * Author : daisy * Date: 13-9-23 * Time: 下午2:41 */ public class CleanAuthorityAction extends ElementCaseAction { public CleanAuthorityAction(ElementCasePane t) { super(t); this.setName(Inter.getLocText(new String[]{"Clear", "DashBoard-Potence"})); } /** * 清楚权限动作 * * @param evt 事件 */ public void actionPerformed(ActionEvent evt) { ElementCasePane reportPane = getEditingComponent(); Selection selection = reportPane.getSelection(); String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); if (selection instanceof FloatSelection) { String name = ((FloatSelection) selection).getSelectedFloatName(); TemplateElementCase ec = reportPane.getEditingElementCase(); FloatElement fe = ec.getFloatElement(name); if (fe.isDoneAuthority(selectedRoles)) { fe.cleanAuthority(selectedRoles); } doAfterAuthority(reportPane); return; } CellSelection cellSelection = (CellSelection) selection; boolean isChooseColumnRow = cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN || cellSelection.getSelectedType() == CellSelection.CHOOSE_ROW; if (isChooseColumnRow && cellSelection.getCellRectangleCount() == 1) { cleanColumnRow(cellSelection, reportPane, selectedRoles); } else { cleanCell(cellSelection, reportPane, selectedRoles); } doAfterAuthority(reportPane); } private void doAfterAuthority(ElementCasePane reportPane) { reportPane.repaint(); reportPane.fireTargetModified(); RolesAlreadyEditedPane.getInstance().refreshDockingView(); RolesAlreadyEditedPane.getInstance().repaint(); if (EastRegionContainerPane.getInstance().getUpPane() instanceof AuthorityPropertyPane) { AuthorityPropertyPane authorityPropertyPane = (AuthorityPropertyPane) EastRegionContainerPane.getInstance().getUpPane(); authorityPropertyPane.populate(); EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.AUTHORITY_EDITION); EastRegionContainerPane.getInstance().replaceAuthorityEditionPane(authorityPropertyPane); } } /** * 清除单元格对应的角色的权限 * * @param cellSelection * @param reportPane */ private void cleanCell(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { if (selectedRoles == null) { return; } TemplateElementCase elementCase = reportPane.getEditingElementCase(); int cellRectangleCount = cellSelection.getCellRectangleCount(); for (int rect = 0; rect < cellRectangleCount; rect++) { Rectangle cellRectangle = cellSelection.getCellRectangle(rect); for (int j = 0; j < cellRectangle.height; j++) { for (int i = 0; i < cellRectangle.width; i++) { int column = i + cellRectangle.x; int row = j + cellRectangle.y; TemplateCellElement cellElement = elementCase.getTemplateCellElement(column, row); if (cellElement == null) { continue; } //清除权限 if (cellElement.isDoneAuthority(selectedRoles) || cellElement.isDoneNewValueAuthority(selectedRoles)) { cellElement.cleanAuthority(selectedRoles); } if (cellElement.getWidget() == null) { continue; } boolean isDoneAuthority = cellElement.getWidget().isDoneVisibleAuthority(selectedRoles) || cellElement.getWidget().isDoneUsableAuthority(selectedRoles); if (isDoneAuthority) { cellElement.getWidget().cleanAuthority(selectedRoles); } } } } } private void cleanColumnRow(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { if (selectedRoles == null) { return; } TemplateElementCase elementCase = reportPane.getEditingElementCase(); if (cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN) { for (int col = cellSelection.getColumn(); col < cellSelection.getColumn() + cellSelection.getColumnSpan(); col++) { elementCase.removeColumnPrivilegeControl(col, selectedRoles); } } else { for (int row = cellSelection.getRow(); row < cellSelection.getRow() + cellSelection.getRowSpan(); row++) { elementCase.removeRowPrivilegeControl(row, selectedRoles); } } } /** * 是否需要撤销动作 * * @return 不需要 */ public boolean executeActionReturnUndoRecordNeeded() { return false; } } \ No newline at end of file diff --git a/designer/src/com/fr/design/mainframe/AuthorityEditToolBarPane.java b/designer/src/com/fr/design/mainframe/AuthorityEditToolBarPane.java index 317bed8d9..263231677 100644 --- a/designer/src/com/fr/design/mainframe/AuthorityEditToolBarPane.java +++ b/designer/src/com/fr/design/mainframe/AuthorityEditToolBarPane.java @@ -84,6 +84,8 @@ public class AuthorityEditToolBarPane extends AuthorityPropertyPane { private static final int TOP_GAP = 11; private static final int LEFT_GAP = 4; private static final int LEFT_CHECKPANE = 3; + private JPanel typePane; + private JPanel namePane; private UILabel type = null; private UILabel name = null; private JPanel checkPane = null; @@ -144,9 +146,15 @@ public class AuthorityEditToolBarPane extends AuthorityPropertyPane { public AuthorityEditPane(List buttonlists) { setLayout(new BorderLayout()); type = new UILabel(); - type.setBorder(BorderFactory.createLineBorder(Color.lightGray)); + typePane = new JPanel(new BorderLayout()); + typePane.add(type, BorderLayout.CENTER); + type.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); + typePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); name = new UILabel(); - name.setBorder(BorderFactory.createLineBorder(Color.lightGray)); + namePane = new JPanel(new BorderLayout()); + namePane.add(name, BorderLayout.CENTER); + name.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); + namePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); checkPane = new JPanel(); checkPane.setLayout(new BorderLayout()); this.add(centerPane(), BorderLayout.NORTH); @@ -162,8 +170,8 @@ public class AuthorityEditToolBarPane extends AuthorityPropertyPane { double[] columnSize = {p, f}; int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; Component[][] components = new Component[][]{ - new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), type}, - new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), name}, + new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), typePane}, + new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), namePane}, new Component[]{checkPane, null}, }; @@ -200,7 +208,7 @@ public class AuthorityEditToolBarPane extends AuthorityPropertyPane { if (name.getText() == "") { type.setText(""); } else { - type.setText(" " + Inter.getLocText(new String[]{"ReportServerP-Toolbar", "FR-Designer_Form_Button"})); + type.setText(Inter.getLocText(new String[]{"ReportServerP-Toolbar", "FR-Designer_Form_Button"})); } } @@ -214,7 +222,7 @@ public class AuthorityEditToolBarPane extends AuthorityPropertyPane { if (names != "") { names = names.substring(1); } - name.setText(" " + names); + name.setText(names); } public void populateCheckPane() { diff --git a/designer/src/com/fr/design/mainframe/ElementCasePaneAuthorityEditPane.java b/designer/src/com/fr/design/mainframe/ElementCasePaneAuthorityEditPane.java index 59df5f06f..ef9e6610c 100644 --- a/designer/src/com/fr/design/mainframe/ElementCasePaneAuthorityEditPane.java +++ b/designer/src/com/fr/design/mainframe/ElementCasePaneAuthorityEditPane.java @@ -427,13 +427,13 @@ public class ElementCasePaneAuthorityEditPane extends AuthorityEditPane { */ public void populateType() { if (selectionType == CellSelection.NORMAL) { - type.setText(" "+Inter.getLocText("FR-Designer_Cell")); + type.setText(Inter.getLocText("FR-Designer_Cell")); } else if (selectionType == CellSelection.CHOOSE_ROW) { - type.setText(" "+Inter.getLocText("FR-Designer_Row")); + type.setText(Inter.getLocText("FR-Designer_Row")); } else if (selectionType == CellSelection.CHOOSE_COLUMN) { - type.setText(" "+Inter.getLocText("FR-Designer_Column")); + type.setText(Inter.getLocText("FR-Designer_Column")); } else { - type.setText(" "+Inter.getLocText("M_Insert-Float")); + type.setText(Inter.getLocText("M_Insert-Float")); } } @@ -442,11 +442,11 @@ public class ElementCasePaneAuthorityEditPane extends AuthorityEditPane { */ public void populateName() { if (selectionType == CellSelection.NORMAL) { - name.setText(" "+getCellSelectionName()); + name.setText(getCellSelectionName()); } else if (selectionType == CellSelection.CHOOSE_ROW || selectionType == CellSelection.CHOOSE_COLUMN) { - name.setText(" "+getCellColumnRowName()); + name.setText(getCellColumnRowName()); } else { - name.setText(" "+getFloatSelectionName()); + name.setText(getFloatSelectionName()); } } diff --git a/designer/src/com/fr/design/mainframe/SheetAuthorityEditPane.java b/designer/src/com/fr/design/mainframe/SheetAuthorityEditPane.java index 871b51cc6..66d9f8d95 100644 --- a/designer/src/com/fr/design/mainframe/SheetAuthorityEditPane.java +++ b/designer/src/com/fr/design/mainframe/SheetAuthorityEditPane.java @@ -34,6 +34,8 @@ public class SheetAuthorityEditPane extends AuthorityEditPane { private UICheckBox sheetVisible = new UICheckBox("sheet" + Inter.getLocText("Widget-Visible")); private WorkBook workBook = null; private int selectedIndex = -1; + private JPanel typePane; + private JPanel namePane; private ItemListener itemListener = new ItemListener() { @Override @@ -66,9 +68,15 @@ public class SheetAuthorityEditPane extends AuthorityEditPane { super(HistoryTemplateListPane.getInstance().getCurrentEditingTemplate()); setLayout(new BorderLayout()); type = new UILabel(); - type.setBorder(BorderFactory.createLineBorder(Color.lightGray)); + typePane = new JPanel(new BorderLayout()); + typePane.add(type, BorderLayout.CENTER); + type.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); + typePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); name = new UILabel(); - name.setBorder(BorderFactory.createLineBorder(Color.lightGray)); + namePane = new JPanel(new BorderLayout()); + namePane.add(name, BorderLayout.CENTER); + name.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); + namePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); checkPane = new JPanel(); checkPane.setLayout(new BorderLayout()); // this.add(layoutText(), BorderLayout.WEST); @@ -87,41 +95,14 @@ public class SheetAuthorityEditPane extends AuthorityEditPane { double[] columnSize = {p, f}; int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; Component[][] components = new Component[][]{ - new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), type}, - new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), name}, + new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), typePane}, + new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), namePane}, new Component[]{checkPane, null}, }; return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_MEDIUM); } - private JPanel layoutText() { - double p = TableLayout.PREFERRED; - Component[][] components = new Component[][]{ - new Component[]{new UILabel(Inter.getLocText("Type") + ":", SwingConstants.RIGHT)}, - new Component[]{new UILabel(Inter.getLocText("WF-Name") + ":", SwingConstants.RIGHT)}, - new Component[]{new UILabel(Inter.getLocText("DashBoard-Potence") + ":", SwingConstants.RIGHT)}, - }; - double[] rowSize = {p, p, p}; - double[] columnSize = {p}; - int[][] rowCount = {{1}, {1}, {1}}; - return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); - } - - - private JPanel layoutPane() { - double f = TableLayout.FILL; - double p = TableLayout.PREFERRED; - Component[][] components = new Component[][]{ - new Component[]{type}, - new Component[]{name}, - new Component[]{checkPane}, - }; - double[] rowSize = {p, p, p}; - double[] columnSize = {f}; - int[][] rowCount = {{1}, {1}, {1}}; - return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); - } /** @@ -146,14 +127,14 @@ public class SheetAuthorityEditPane extends AuthorityEditPane { * 刷新类型 */ public void populateType() { - type.setText(" " + "sheet"); + type.setText("sheet"); } /** * 更新名字 */ public void populateName() { - name.setText(" " + workBook.getReportName(selectedIndex)); + name.setText(workBook.getReportName(selectedIndex)); } /** diff --git a/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java b/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java index ce6a90543..25b591255 100644 --- a/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java +++ b/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java @@ -1 +1 @@ -package com.fr.design.mainframe; import com.fr.design.constants.LayoutConstants; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-12 * Time: 下午6:21 */ public abstract class AuthorityEditPane extends JPanel { protected static final int TOP_GAP = 11; protected static final int LEFT_GAP = 4; protected static final int RIGHT_GAP = 10; protected static final int ALIGNMENT_GAP = -3; protected static final int LEFT_CHECKPANE = 3; protected UILabel type = null; protected UILabel name = null; protected JPanel checkPane = null; private TargetComponent target; public AuthorityEditPane(TargetComponent target) { this.target = target; setLayout(new BorderLayout()); type = new UILabel(); type.setBorder(BorderFactory.createLineBorder(Color.lightGray)); name = new UILabel(); name.setBorder(BorderFactory.createLineBorder(Color.lightGray)); checkPane = new JPanel(); checkPane.setLayout(new BorderLayout()); // this.add(layoutText(), BorderLayout.WEST); // this.add(layoutPane(), BorderLayout.CENTER); this.add(centerPane(), BorderLayout.NORTH); this.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, RIGHT_GAP)); } private JPanel centerPane() { double f = TableLayout.FILL; double p = TableLayout.PREFERRED; double[] rowSize = {p, p, p}; double[] columnSize = {p, f}; int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; Component[][] components = new Component[][]{ new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), type}, new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), name}, new Component[]{checkPane, null}, }; return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_MEDIUM); } /** * 更新权限编辑面板的具体内容:类型、名称、权限面板 */ public void populateDetials() { populateType(); populateName(); checkPane.removeAll(); populateCheckPane(); checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0)); } public abstract void populateType(); public abstract void populateName(); public abstract JPanel populateCheckPane(); } \ No newline at end of file +package com.fr.design.mainframe; import com.fr.design.constants.LayoutConstants; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-12 * Time: 下午6:21 */ public abstract class AuthorityEditPane extends JPanel { protected static final int TOP_GAP = 11; protected static final int LEFT_GAP = 4; protected static final int RIGHT_GAP = 10; protected static final int ALIGNMENT_GAP = -3; protected static final int LEFT_CHECKPANE = 3; protected UILabel type = null; protected UILabel name = null; protected JPanel checkPane = null; private TargetComponent target; private JPanel typePane; private JPanel namePane; public AuthorityEditPane(TargetComponent target) { this.target = target; setLayout(new BorderLayout()); type = new UILabel(); typePane = new JPanel(new BorderLayout()); typePane.add(type, BorderLayout.CENTER); type.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); typePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); name = new UILabel(); namePane = new JPanel(new BorderLayout()); namePane.add(name, BorderLayout.CENTER); name.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); namePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); checkPane = new JPanel(); checkPane.setLayout(new BorderLayout()); // this.add(layoutText(), BorderLayout.WEST); // this.add(layoutPane(), BorderLayout.CENTER); this.add(centerPane(), BorderLayout.NORTH); this.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, RIGHT_GAP)); } private JPanel centerPane() { double f = TableLayout.FILL; double p = TableLayout.PREFERRED; double[] rowSize = {p, p, p}; double[] columnSize = {p, f}; int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; Component[][] components = new Component[][]{ new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), typePane}, new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), namePane}, new Component[]{checkPane, null}, }; return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_MEDIUM); } /** * 更新权限编辑面板的具体内容:类型、名称、权限面板 */ public void populateDetials() { populateType(); populateName(); checkPane.removeAll(); populateCheckPane(); checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0)); } public abstract void populateType(); public abstract void populateName(); public abstract JPanel populateCheckPane(); } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/mainframe/JSliderPane.java b/designer_base/src/com/fr/design/mainframe/JSliderPane.java index 50ca69a9e..2e54054ea 100644 --- a/designer_base/src/com/fr/design/mainframe/JSliderPane.java +++ b/designer_base/src/com/fr/design/mainframe/JSliderPane.java @@ -18,10 +18,7 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.plaf.basic.BasicSliderUI; import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; +import java.awt.event.*; import java.math.BigDecimal; /** @@ -48,6 +45,8 @@ public class JSliderPane extends JPanel { private static final int SHOWVALBUTTON_WIDTH = 40; private static final int SHOWVALBUTTON_HEIGHTH = 20; private static final int SLIDER_GAP = 5; + private static final int TOOLTIP_Y = 25; + private static final Color BACK_COLOR = new Color(245, 245, 247); public int showValue = 100; public double resolutionTimes = 1.0; @@ -76,22 +75,70 @@ public class JSliderPane extends JPanel { public JSliderPane() { this.setLayout(new BorderLayout()); - slider = new UISlider(0, HUNDRED, HALF_HUNDRED); + initSlider(); + initShowValSpinner(); + initDownUpButton(); + initShowValButton(); + initUIRadioButton(); + initPane(); + JPanel panel = new JPanel(new FlowLayout(1, 5, 0)); + panel.add(downButton); + panel.add(slider); + panel.add(upButton); + panel.add(showValButton); + panel.setBackground(BACK_COLOR); + this.add(panel, BorderLayout.NORTH); + } + + + + public static final JSliderPane getInstance() { +// if (THIS == null) { +// THIS = new JSliderPane(); +// } + THIS = new JSliderPane(); + return THIS; + } + + private void initSlider() { + slider = new UISlider(0, HUNDRED, HALF_HUNDRED){ + public Point getToolTipLocation(MouseEvent event){ + return new Point(event.getX(), event.getY() - TOOLTIP_Y); + } + }; slider.setUI(new JSliderPaneUI(slider)); slider.addChangeListener(listener); slider.setPreferredSize(new Dimension(220, 20)); //去掉虚线框 slider.setFocusable(false); slider.setToolTipText(Inter.getLocText("FR-Designer_Scale_Slider")); - showValSpinner = new UIBasicSpinner(new SpinnerNumberModel(HUNDRED, TEN, FOUR_HUNDRED, 1)); + } + + private void initShowValSpinner() { + showValSpinner = new UIBasicSpinner(new SpinnerNumberModel(HUNDRED, TEN, FOUR_HUNDRED, 1)){ + public Point getToolTipLocation(MouseEvent event){ + return new Point(event.getX(), event.getY() - TOOLTIP_Y); + } + }; showValSpinner.setEnabled(true); showValSpinner.addChangeListener(showValSpinnerChangeListener); showValSpinner.setPreferredSize(new Dimension(SPINNER_WIDTH, SPINNER_HEIGHT)); - downButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png")); + } + + private void initDownUpButton() { + downButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png")){ + public Point getToolTipLocation(MouseEvent event){ + return new Point(event.getX(), event.getY() - TOOLTIP_Y); + } + }; downButton.setOpaque(false); downButton.setBorderPainted(false); downButton.setToolTipText(Inter.getLocText("FR-Designer_Scale_Down")); - upButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png")); + upButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png")){ + public Point getToolTipLocation(MouseEvent event){ + return new Point(event.getX(), event.getY() - TOOLTIP_Y); + } + }; upButton.setOpaque(false); upButton.setBorderPainted(false); upButton.setToolTipText(Inter.getLocText("FR-Designer_Scale_Up")); @@ -99,7 +146,14 @@ public class JSliderPane extends JPanel { upButton.setActionCommand("more"); downButton.addActionListener(buttonActionListener); upButton.addActionListener(buttonActionListener); - showValButton = new JButton(showValSpinner.getValue() + "%"); + } + + private void initShowValButton() { + showValButton = new JButton(showValSpinner.getValue() + "%"){ + public Point getToolTipLocation(MouseEvent event){ + return new Point(event.getX(), event.getY() - TOOLTIP_Y); + } + }; showValButton.setOpaque(false); showValButton.setMargin(new Insets(0, 0, 0, 0)); showValButton.setFont(new Font("SimSun", Font.PLAIN, 12)); @@ -107,31 +161,7 @@ public class JSliderPane extends JPanel { showValButton.setBorderPainted(false); showValButton.setPreferredSize(new Dimension(SHOWVALBUTTON_WIDTH, SHOWVALBUTTON_HEIGHTH)); showValButton.addActionListener(showValButtonActionListener); - //TODO 先注释,需要自定义tooltip -// showValButton.setToolTipText(Inter.getLocText("FR-Designer_Scale_Grade")); - initUIRadioButton(); - initPane(); - JPanel panel = new JPanel(new FlowLayout(1, 5, 0)); - panel.add(downButton); - panel.add(slider); - panel.add(upButton); - panel.add(showValButton); - panel.setBackground(BACK_COLOR); - this.add(panel, BorderLayout.NORTH); - } - - public JToolTip createToolTip() { - JToolTip tip = new JToolTip(); - tip.setComponent(this); - return tip; - } - - public static final JSliderPane getInstance() { -// if (THIS == null) { -// THIS = new JSliderPane(); -// } - THIS = new JSliderPane(); - return THIS; + showValButton.setToolTipText(Inter.getLocText("FR-Designer_Scale_Grade")); } private void initUIRadioButton() { From c4a82d0ea0251db5a7c0d586e4210edb5feed09d Mon Sep 17 00:00:00 2001 From: MoMeak Date: Thu, 3 Aug 2017 10:50:02 +0800 Subject: [PATCH 06/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/properties/FormWidgetAuthorityEditPane.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/properties/FormWidgetAuthorityEditPane.java b/designer_form/src/com/fr/design/designer/properties/FormWidgetAuthorityEditPane.java index 38c33c444..d156636da 100644 --- a/designer_form/src/com/fr/design/designer/properties/FormWidgetAuthorityEditPane.java +++ b/designer_form/src/com/fr/design/designer/properties/FormWidgetAuthorityEditPane.java @@ -93,7 +93,7 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane { * @date 2014-12-21-下午6:19:43 */ public void populateType() { - type.setText(" " + Inter.getLocText("Widget-Form_Widget_Config")); + type.setText(Inter.getLocText("Widget-Form_Widget_Config")); } /** @@ -109,7 +109,7 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane { for (int i = 0; i < widgets.length; i++) { nameText += "," + widgets[i].getClass().getSimpleName(); } - name.setText(" " + nameText.substring(1)); + name.setText(nameText.substring(1)); } /** From 864d41a7a39008a169bd558149f1aa1ee94a420b Mon Sep 17 00:00:00 2001 From: MoMeak Date: Thu, 3 Aug 2017 10:54:10 +0800 Subject: [PATCH 07/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E6=8D=A2=E8=A1=8C=E7=AC=A6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/cell/CleanAuthorityAction.java | 142 +++++++++++++++++- 1 file changed, 141 insertions(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java b/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java index 0251654f4..e941068d4 100644 --- a/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java +++ b/designer/src/com/fr/design/actions/cell/CleanAuthorityAction.java @@ -1 +1,141 @@ -package com.fr.design.actions.cell; import com.fr.design.actions.ElementCaseAction; import com.fr.design.mainframe.AuthorityPropertyPane; import com.fr.design.mainframe.EastRegionContainerPane; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.roleAuthority.ReportAndFSManagePane; import com.fr.design.roleAuthority.RolesAlreadyEditedPane; import com.fr.general.Inter; import com.fr.grid.selection.CellSelection; import com.fr.grid.selection.FloatSelection; import com.fr.grid.selection.Selection; import com.fr.report.cell.FloatElement; import com.fr.report.cell.TemplateCellElement; import com.fr.report.elementcase.TemplateElementCase; import java.awt.*; import java.awt.event.ActionEvent; /** * Author : daisy * Date: 13-9-23 * Time: 下午2:41 */ public class CleanAuthorityAction extends ElementCaseAction { public CleanAuthorityAction(ElementCasePane t) { super(t); this.setName(Inter.getLocText(new String[]{"Clear", "DashBoard-Potence"})); } /** * 清楚权限动作 * * @param evt 事件 */ public void actionPerformed(ActionEvent evt) { ElementCasePane reportPane = getEditingComponent(); Selection selection = reportPane.getSelection(); String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); if (selection instanceof FloatSelection) { String name = ((FloatSelection) selection).getSelectedFloatName(); TemplateElementCase ec = reportPane.getEditingElementCase(); FloatElement fe = ec.getFloatElement(name); if (fe.isDoneAuthority(selectedRoles)) { fe.cleanAuthority(selectedRoles); } doAfterAuthority(reportPane); return; } CellSelection cellSelection = (CellSelection) selection; boolean isChooseColumnRow = cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN || cellSelection.getSelectedType() == CellSelection.CHOOSE_ROW; if (isChooseColumnRow && cellSelection.getCellRectangleCount() == 1) { cleanColumnRow(cellSelection, reportPane, selectedRoles); } else { cleanCell(cellSelection, reportPane, selectedRoles); } doAfterAuthority(reportPane); } private void doAfterAuthority(ElementCasePane reportPane) { reportPane.repaint(); reportPane.fireTargetModified(); RolesAlreadyEditedPane.getInstance().refreshDockingView(); RolesAlreadyEditedPane.getInstance().repaint(); if (EastRegionContainerPane.getInstance().getUpPane() instanceof AuthorityPropertyPane) { AuthorityPropertyPane authorityPropertyPane = (AuthorityPropertyPane) EastRegionContainerPane.getInstance().getUpPane(); authorityPropertyPane.populate(); EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.AUTHORITY_EDITION); EastRegionContainerPane.getInstance().replaceAuthorityEditionPane(authorityPropertyPane); } } /** * 清除单元格对应的角色的权限 * * @param cellSelection * @param reportPane */ private void cleanCell(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { if (selectedRoles == null) { return; } TemplateElementCase elementCase = reportPane.getEditingElementCase(); int cellRectangleCount = cellSelection.getCellRectangleCount(); for (int rect = 0; rect < cellRectangleCount; rect++) { Rectangle cellRectangle = cellSelection.getCellRectangle(rect); for (int j = 0; j < cellRectangle.height; j++) { for (int i = 0; i < cellRectangle.width; i++) { int column = i + cellRectangle.x; int row = j + cellRectangle.y; TemplateCellElement cellElement = elementCase.getTemplateCellElement(column, row); if (cellElement == null) { continue; } //清除权限 if (cellElement.isDoneAuthority(selectedRoles) || cellElement.isDoneNewValueAuthority(selectedRoles)) { cellElement.cleanAuthority(selectedRoles); } if (cellElement.getWidget() == null) { continue; } boolean isDoneAuthority = cellElement.getWidget().isDoneVisibleAuthority(selectedRoles) || cellElement.getWidget().isDoneUsableAuthority(selectedRoles); if (isDoneAuthority) { cellElement.getWidget().cleanAuthority(selectedRoles); } } } } } private void cleanColumnRow(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { if (selectedRoles == null) { return; } TemplateElementCase elementCase = reportPane.getEditingElementCase(); if (cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN) { for (int col = cellSelection.getColumn(); col < cellSelection.getColumn() + cellSelection.getColumnSpan(); col++) { elementCase.removeColumnPrivilegeControl(col, selectedRoles); } } else { for (int row = cellSelection.getRow(); row < cellSelection.getRow() + cellSelection.getRowSpan(); row++) { elementCase.removeRowPrivilegeControl(row, selectedRoles); } } } /** * 是否需要撤销动作 * * @return 不需要 */ public boolean executeActionReturnUndoRecordNeeded() { return false; } } \ No newline at end of file +package com.fr.design.actions.cell; + +import com.fr.design.actions.ElementCaseAction; +import com.fr.design.mainframe.AuthorityPropertyPane; +import com.fr.design.mainframe.EastRegionContainerPane; +import com.fr.design.mainframe.ElementCasePane; +import com.fr.design.roleAuthority.ReportAndFSManagePane; +import com.fr.design.roleAuthority.RolesAlreadyEditedPane; +import com.fr.general.Inter; +import com.fr.grid.selection.CellSelection; +import com.fr.grid.selection.FloatSelection; +import com.fr.grid.selection.Selection; +import com.fr.report.cell.FloatElement; +import com.fr.report.cell.TemplateCellElement; +import com.fr.report.elementcase.TemplateElementCase; + +import java.awt.*; +import java.awt.event.ActionEvent; + +/** + * Author : daisy + * Date: 13-9-23 + * Time: 下午2:41 + */ +public class CleanAuthorityAction extends ElementCaseAction { + + public CleanAuthorityAction(ElementCasePane t) { + super(t); + this.setName(Inter.getLocText(new String[]{"Clear", "DashBoard-Potence"})); + } + + + /** + * 清楚权限动作 + * + * @param evt 事件 + */ + public void actionPerformed(ActionEvent evt) { + ElementCasePane reportPane = getEditingComponent(); + Selection selection = reportPane.getSelection(); + String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); + if (selection instanceof FloatSelection) { + String name = ((FloatSelection) selection).getSelectedFloatName(); + TemplateElementCase ec = reportPane.getEditingElementCase(); + FloatElement fe = ec.getFloatElement(name); + if (fe.isDoneAuthority(selectedRoles)) { + fe.cleanAuthority(selectedRoles); + } + doAfterAuthority(reportPane); + return; + } + CellSelection cellSelection = (CellSelection) selection; + boolean isChooseColumnRow = cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN + || cellSelection.getSelectedType() == CellSelection.CHOOSE_ROW; + if (isChooseColumnRow && cellSelection.getCellRectangleCount() == 1) { + cleanColumnRow(cellSelection, reportPane, selectedRoles); + } else { + cleanCell(cellSelection, reportPane, selectedRoles); + } + doAfterAuthority(reportPane); + } + + + private void doAfterAuthority(ElementCasePane reportPane) { + reportPane.repaint(); + reportPane.fireTargetModified(); + RolesAlreadyEditedPane.getInstance().refreshDockingView(); + RolesAlreadyEditedPane.getInstance().repaint(); + if (EastRegionContainerPane.getInstance().getUpPane() instanceof AuthorityPropertyPane) { + AuthorityPropertyPane authorityPropertyPane = (AuthorityPropertyPane) EastRegionContainerPane.getInstance().getUpPane(); + authorityPropertyPane.populate(); + EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.AUTHORITY_EDITION); + EastRegionContainerPane.getInstance().replaceAuthorityEditionPane(authorityPropertyPane); + } + } + + /** + * 清除单元格对应的角色的权限 + * + * @param cellSelection + * @param reportPane + */ + private void cleanCell(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { + if (selectedRoles == null) { + return; + } + TemplateElementCase elementCase = reportPane.getEditingElementCase(); + int cellRectangleCount = cellSelection.getCellRectangleCount(); + for (int rect = 0; rect < cellRectangleCount; rect++) { + Rectangle cellRectangle = cellSelection.getCellRectangle(rect); + for (int j = 0; j < cellRectangle.height; j++) { + for (int i = 0; i < cellRectangle.width; i++) { + int column = i + cellRectangle.x; + int row = j + cellRectangle.y; + TemplateCellElement cellElement = elementCase.getTemplateCellElement(column, row); + if (cellElement == null) { + continue; + } + //清除权限 + if (cellElement.isDoneAuthority(selectedRoles) || cellElement.isDoneNewValueAuthority(selectedRoles)) { + cellElement.cleanAuthority(selectedRoles); + } + if (cellElement.getWidget() == null) { + continue; + } + boolean isDoneAuthority = cellElement.getWidget().isDoneVisibleAuthority(selectedRoles) || + cellElement.getWidget().isDoneUsableAuthority(selectedRoles); + + if (isDoneAuthority) { + cellElement.getWidget().cleanAuthority(selectedRoles); + } + } + } + } + } + + private void cleanColumnRow(CellSelection cellSelection, ElementCasePane reportPane, String selectedRoles) { + if (selectedRoles == null) { + return; + } + TemplateElementCase elementCase = reportPane.getEditingElementCase(); + if (cellSelection.getSelectedType() == CellSelection.CHOOSE_COLUMN) { + for (int col = cellSelection.getColumn(); col < cellSelection.getColumn() + cellSelection.getColumnSpan(); col++) { + elementCase.removeColumnPrivilegeControl(col, selectedRoles); + } + } else { + for (int row = cellSelection.getRow(); row < cellSelection.getRow() + cellSelection.getRowSpan(); row++) { + elementCase.removeRowPrivilegeControl(row, selectedRoles); + } + } + } + + /** + * 是否需要撤销动作 + * + * @return 不需要 + */ + public boolean executeActionReturnUndoRecordNeeded() { + return false; + } +} \ No newline at end of file From 7c60065b64ac3b1f1098fb179101369698f97545 Mon Sep 17 00:00:00 2001 From: MoMeak Date: Thu, 3 Aug 2017 11:07:01 +0800 Subject: [PATCH 08/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E5=8E=BB=E9=99=A4=E4=B8=8D?= =?UTF-8?q?=E5=BF=85=E8=A6=81=E5=BC=BA=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer/src/com/fr/poly/PolyDesigner.java | 2 +- .../fr/design/mainframe/JFormSliderPane.java | 88 +++++++++++++------ 2 files changed, 61 insertions(+), 29 deletions(-) diff --git a/designer/src/com/fr/poly/PolyDesigner.java b/designer/src/com/fr/poly/PolyDesigner.java index d5d1b063a..038cb46e4 100644 --- a/designer/src/com/fr/poly/PolyDesigner.java +++ b/designer/src/com/fr/poly/PolyDesigner.java @@ -139,7 +139,7 @@ public class PolyDesigner extends ReportComponent Date: Thu, 3 Aug 2017 11:48:29 +0800 Subject: [PATCH 09/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E4=BB=A3=E7=A0=81=E8=B4=A8?= =?UTF-8?q?=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/NoSupportAuthorityEdit.java | 63 +++++- .../roleAuthority/RolesAlreadyEditedPane.java | 186 +++++++++++++++++- .../src/com/fr/start/BaseDesigner.java | 8 +- 3 files changed, 251 insertions(+), 6 deletions(-) diff --git a/designer_base/src/com/fr/design/mainframe/NoSupportAuthorityEdit.java b/designer_base/src/com/fr/design/mainframe/NoSupportAuthorityEdit.java index da3c49782..a25ed9c78 100644 --- a/designer_base/src/com/fr/design/mainframe/NoSupportAuthorityEdit.java +++ b/designer_base/src/com/fr/design/mainframe/NoSupportAuthorityEdit.java @@ -1 +1,62 @@ -package com.fr.design.mainframe; import com.fr.design.constants.UIConstants; import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-22 * Time: 上午10:05 */ public class NoSupportAuthorityEdit extends AuthorityEditPane { private static final int TITLE_HEIGHT = 19; public NoSupportAuthorityEdit() { super(HistoryTemplateListPane.getInstance().getCurrentEditingTemplate()); this.setLayout(new BorderLayout()); this.setBorder(null); UILabel title = new UILabel(Inter.getLocText(new String[]{"DashBoard-Potence", "Edit"})) { @Override public Dimension getPreferredSize() { return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); } }; title.setHorizontalAlignment(SwingConstants.CENTER); title.setVerticalAlignment(SwingConstants.CENTER); JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); northPane.add(title, BorderLayout.CENTER); northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); // this.add(northPane, BorderLayout.NORTH); this.add(createTextPane(), BorderLayout.CENTER); } private JPanel createTextPane() { JPanel panel = new JPanel(new BorderLayout()); UILabel uiLabel = new UILabel(Inter.getLocText("not_support_authority_edit")); uiLabel.setHorizontalAlignment(SwingConstants.CENTER); uiLabel.setVerticalAlignment(SwingConstants.CENTER); panel.add(uiLabel, BorderLayout.CENTER); return panel; } @Override public void populateType() { } @Override public void populateName() { } @Override public JPanel populateCheckPane() { return null; } } \ No newline at end of file +package com.fr.design.mainframe; + +import com.fr.design.constants.UIConstants; +import com.fr.design.file.HistoryTemplateListPane; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.general.Inter; + +import javax.swing.*; +import java.awt.*; + +/** + * Author : daisy + * Date: 13-9-22 + * Time: 上午10:05 + */ +public class NoSupportAuthorityEdit extends AuthorityEditPane { + + private static final int TITLE_HEIGHT = 19; + + public NoSupportAuthorityEdit() { + super(HistoryTemplateListPane.getInstance().getCurrentEditingTemplate()); + this.setLayout(new BorderLayout()); + this.setBorder(null); + UILabel title = new UILabel(Inter.getLocText(new String[]{"DashBoard-Potence", "Edit"})) { + @Override + public Dimension getPreferredSize() { + return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); + } + }; + title.setHorizontalAlignment(SwingConstants.CENTER); + title.setVerticalAlignment(SwingConstants.CENTER); + JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); + northPane.add(title, BorderLayout.CENTER); + northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); +// this.add(northPane, BorderLayout.NORTH); + this.add(createTextPane(), BorderLayout.CENTER); + } + + + private JPanel createTextPane() { + JPanel panel = new JPanel(new BorderLayout()); + UILabel uiLabel = new UILabel(Inter.getLocText("not_support_authority_edit")); + uiLabel.setHorizontalAlignment(SwingConstants.CENTER); + uiLabel.setVerticalAlignment(SwingConstants.CENTER); + panel.add(uiLabel, BorderLayout.CENTER); + return panel; + } + + @Override + public void populateType() { + } + + @Override + public void populateName() { + } + + @Override + public JPanel populateCheckPane() { + return null; + } +} \ No newline at end of file diff --git a/designer_base/src/com/fr/design/roleAuthority/RolesAlreadyEditedPane.java b/designer_base/src/com/fr/design/roleAuthority/RolesAlreadyEditedPane.java index 4dd2450c4..b9bc53c70 100644 --- a/designer_base/src/com/fr/design/roleAuthority/RolesAlreadyEditedPane.java +++ b/designer_base/src/com/fr/design/roleAuthority/RolesAlreadyEditedPane.java @@ -1 +1,185 @@ -package com.fr.design.roleAuthority; import com.fr.base.BaseUtils; import com.fr.design.constants.UIConstants; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.DockingView; import com.fr.general.Inter; import com.fr.general.NameObject; import javax.swing.*; import javax.swing.tree.DefaultTreeCellRenderer; import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath; import java.awt.*; import java.util.Enumeration; /** * Author : daisy * Date: 13-9-25 * Time: 下午4:34 */ public class RolesAlreadyEditedPane extends JPanel { private static final int TITLE_HEIGHT = 19; private static final int LEFT_GAP = 8; private static final int TOP_GAP = -1; private static RolesAlreadyEditedPane THIS; private RolesEditedPane rolesEditedPane; /** * 得到实例 * * @return */ public static final RolesAlreadyEditedPane getInstance() { if (THIS == null) { THIS = new RolesAlreadyEditedPane(); } return THIS; } public RolesAlreadyEditedPane() { this.setLayout(new BorderLayout()); this.setBorder(null); UILabel authorityTitle = new UILabel(Inter.getLocText("roles_already_authority_edited")) { @Override public Dimension getPreferredSize() { return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); } }; authorityTitle.setHorizontalAlignment(SwingConstants.CENTER); authorityTitle.setVerticalAlignment(SwingConstants.CENTER); JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); northPane.add(authorityTitle, BorderLayout.CENTER); northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); // this.add(northPane, BorderLayout.NORTH); rolesEditedPane = new RolesEditedPane(); this.add(rolesEditedPane, BorderLayout.CENTER); } public RoleTree getRoleTree() { return rolesEditedPane.roleTree; } public void refreshDockingView() { rolesEditedPane.refreshDockingView(); } public void setReportAndFSSelectedRoles() { rolesEditedPane.setSelectedRole(); } private class RolesEditedPane extends DockingView { private RoleTree roleTree; private RolesEditedSourceOP op; private DefaultTreeCellRenderer roleTreeRenderer = new DefaultTreeCellRenderer() { private static final long serialVersionUID = 2L; public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); ExpandMutableTreeNode treeNode = (ExpandMutableTreeNode) value; Object userObj = treeNode.getUserObject(); if (userObj instanceof String) { // p:这个是column field. this.setIcon(null); this.setText((String) userObj); } else if (userObj instanceof NameObject) { NameObject nameObject = (NameObject) userObj; this.setText(nameObject.getName()); if (nameObject.getName() == Inter.getLocText("M_Server-Platform_Manager")) { this.setIcon(BaseUtils.readIcon("/com/fr/web/images/platform/platform_16_16.png")); } else { this.setIcon(BaseUtils.readIcon("/com/fr/web/images/platform/demo.png")); } } // 这里新建一个Label作为render是因为JTree在动态刷新的时候,节点上render画布的的宽度不会变,会使得一部分比较长的数据显示为"..." this.setBackgroundNonSelectionColor(UIConstants.NORMAL_BACKGROUND); this.setForeground(UIConstants.FONT_COLOR); this.setBackgroundSelectionColor(UIConstants.FLESH_BLUE); return this; } }; public RolesEditedPane() { roleTree = new RoleTree() { public void refreshRoleTree(String selectedRole) { super.refreshRoleTree(selectedRole); RoleTree roleTree = ReportAndFSManagePane.getInstance().getRoleTree(); TreeNode root = (TreeNode) roleTree.getModel().getRoot(); TreePath parent = new TreePath(root); roleTree.setSelectedRole(selectedRole, parent); } }; roleTree.setCellRenderer(roleTreeRenderer); roleTree.setEditable(false); op = new RolesEditedSourceOP(); UIScrollPane scrollPane = new UIScrollPane(roleTree) { public Dimension getPreferredSize() { return new Dimension(RolesEditedPane.this.getWidth(), RolesEditedPane.this.getHeight()); } }; scrollPane.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, 0)); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); this.add(scrollPane, BorderLayout.CENTER); } public void refreshDockingView() { this.op = new RolesEditedSourceOP(); roleTree.populate(op); expandTree(roleTree, true); } private void setSelectedRole() { String name = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); TreeNode root = (TreeNode) roleTree.getModel().getRoot(); TreePath parent = new TreePath(root); roleTree.setSelectedRole(name, parent); } public String getViewTitle() { return null; } public Icon getViewIcon() { return null; } public Location preferredLocation() { return null; } public void expandTree(JTree tree, boolean isExpand) { TreeNode root = (TreeNode) tree.getModel().getRoot(); expandAll(tree, new TreePath(root), isExpand); } private void expandAll(JTree tree, TreePath parent, boolean expand) { TreeNode node = (TreeNode) parent.getLastPathComponent(); if (node.getChildCount() >= 0) { for (Enumeration e = node.children(); e.hasMoreElements(); ) { TreeNode n = (TreeNode) e.nextElement(); TreePath path = parent.pathByAddingChild(n); expandAll(tree, path, expand); } } if (expand) { tree.expandPath(parent); } else { tree.collapsePath(parent); } } } } \ No newline at end of file +package com.fr.design.roleAuthority; + +import com.fr.base.BaseUtils; +import com.fr.design.constants.UIConstants; +import com.fr.design.gui.icontainer.UIScrollPane; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.mainframe.DockingView; +import com.fr.general.Inter; +import com.fr.general.NameObject; + +import javax.swing.*; +import javax.swing.tree.DefaultTreeCellRenderer; +import javax.swing.tree.TreeNode; +import javax.swing.tree.TreePath; +import java.awt.*; +import java.util.Enumeration; + +/** + * Author : daisy + * Date: 13-9-25 + * Time: 下午4:34 + */ +public class RolesAlreadyEditedPane extends JPanel { + private static final int TITLE_HEIGHT = 19; + private static final int LEFT_GAP = 8; + private static final int TOP_GAP = -1; + private static RolesAlreadyEditedPane THIS; + private RolesEditedPane rolesEditedPane; + + /** + * 得到实例 + * + * @return + */ + public static final RolesAlreadyEditedPane getInstance() { + if (THIS == null) { + THIS = new RolesAlreadyEditedPane(); + } + return THIS; + } + + + public RolesAlreadyEditedPane() { + this.setLayout(new BorderLayout()); + this.setBorder(null); + UILabel authorityTitle = new UILabel(Inter.getLocText("roles_already_authority_edited")) { + @Override + public Dimension getPreferredSize() { + return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); + } + }; + authorityTitle.setHorizontalAlignment(SwingConstants.CENTER); + authorityTitle.setVerticalAlignment(SwingConstants.CENTER); + JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); + northPane.add(authorityTitle, BorderLayout.CENTER); + northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); +// this.add(northPane, BorderLayout.NORTH); + rolesEditedPane = new RolesEditedPane(); + this.add(rolesEditedPane, BorderLayout.CENTER); + + } + + public RoleTree getRoleTree() { + return rolesEditedPane.roleTree; + } + + public void refreshDockingView() { + rolesEditedPane.refreshDockingView(); + } + + public void setReportAndFSSelectedRoles() { + rolesEditedPane.setSelectedRole(); + } + + + private class RolesEditedPane extends DockingView { + private RoleTree roleTree; + private RolesEditedSourceOP op; + private DefaultTreeCellRenderer roleTreeRenderer = new DefaultTreeCellRenderer() { + private static final long serialVersionUID = 2L; + + + public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { + super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); + ExpandMutableTreeNode treeNode = (ExpandMutableTreeNode) value; + Object userObj = treeNode.getUserObject(); + if (userObj instanceof String) { + // p:这个是column field. + this.setIcon(null); + this.setText((String) userObj); + } else if (userObj instanceof NameObject) { + NameObject nameObject = (NameObject) userObj; + this.setText(nameObject.getName()); + if (nameObject.getName() == Inter.getLocText("M_Server-Platform_Manager")) { + this.setIcon(BaseUtils.readIcon("/com/fr/web/images/platform/platform_16_16.png")); + } else { + this.setIcon(BaseUtils.readIcon("/com/fr/web/images/platform/demo.png")); + } + } + + + // 这里新建一个Label作为render是因为JTree在动态刷新的时候,节点上render画布的的宽度不会变,会使得一部分比较长的数据显示为"..." + this.setBackgroundNonSelectionColor(UIConstants.NORMAL_BACKGROUND); + this.setForeground(UIConstants.FONT_COLOR); + this.setBackgroundSelectionColor(UIConstants.FLESH_BLUE); + return this; + } + }; + + + public RolesEditedPane() { + roleTree = new RoleTree() { + public void refreshRoleTree(String selectedRole) { + super.refreshRoleTree(selectedRole); + RoleTree roleTree = ReportAndFSManagePane.getInstance().getRoleTree(); + TreeNode root = (TreeNode) roleTree.getModel().getRoot(); + TreePath parent = new TreePath(root); + roleTree.setSelectedRole(selectedRole, parent); + } + }; + roleTree.setCellRenderer(roleTreeRenderer); + roleTree.setEditable(false); + op = new RolesEditedSourceOP(); + UIScrollPane scrollPane = new UIScrollPane(roleTree) { + public Dimension getPreferredSize() { + return new Dimension(RolesEditedPane.this.getWidth(), RolesEditedPane.this.getHeight()); + } + }; + scrollPane.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, 0)); + scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); + scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); + this.add(scrollPane, BorderLayout.CENTER); + } + + public void refreshDockingView() { + this.op = new RolesEditedSourceOP(); + roleTree.populate(op); + expandTree(roleTree, true); + } + + private void setSelectedRole() { + String name = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); + TreeNode root = (TreeNode) roleTree.getModel().getRoot(); + TreePath parent = new TreePath(root); + roleTree.setSelectedRole(name, parent); + } + + + public String getViewTitle() { + return null; + } + + public Icon getViewIcon() { + return null; + } + + public Location preferredLocation() { + return null; + } + + public void expandTree(JTree tree, boolean isExpand) { + TreeNode root = (TreeNode) tree.getModel().getRoot(); + expandAll(tree, new TreePath(root), isExpand); + } + + + private void expandAll(JTree tree, TreePath parent, boolean expand) { + TreeNode node = (TreeNode) parent.getLastPathComponent(); + if (node.getChildCount() >= 0) { + for (Enumeration e = node.children(); e.hasMoreElements(); ) { + TreeNode n = (TreeNode) e.nextElement(); + TreePath path = parent.pathByAddingChild(n); + expandAll(tree, path, expand); + } + } + if (expand) { + tree.expandPath(parent); + } else { + tree.collapsePath(parent); + } + } + } +} \ No newline at end of file diff --git a/designer_base/src/com/fr/start/BaseDesigner.java b/designer_base/src/com/fr/start/BaseDesigner.java index 76d7aec45..f79baf460 100644 --- a/designer_base/src/com/fr/start/BaseDesigner.java +++ b/designer_base/src/com/fr/start/BaseDesigner.java @@ -57,10 +57,10 @@ public abstract class BaseDesigner extends ToolBarMenuDock { DesignUtils.setPort(getStartPort()); // 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了 -// if (DesignUtils.isStarted()) { -// DesignUtils.clientSend(args); -// return; -// } + if (DesignUtils.isStarted()) { + DesignUtils.clientSend(args); + return; + } BuildContext.setBuildFilePath(buildPropertiesPath()); //下面这两句的位置不能随便调换,因为会影响语言切换的问题 From 92d520eeb42166d5665c4be93a98f03f340cccc8 Mon Sep 17 00:00:00 2001 From: MoMeak Date: Thu, 3 Aug 2017 11:51:01 +0800 Subject: [PATCH 10/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E4=BF=AE=E6=94=B9=E6=8D=A2?= =?UTF-8?q?=E8=A1=8C=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/AuthorityEditPane.java | 86 ++++++++++++++++++- .../mainframe/AuthorityPropertyPane.java | 50 ++++++++++- 2 files changed, 134 insertions(+), 2 deletions(-) diff --git a/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java b/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java index 25b591255..5dea2fab9 100644 --- a/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java +++ b/designer_base/src/com/fr/design/mainframe/AuthorityEditPane.java @@ -1 +1,85 @@ -package com.fr.design.mainframe; import com.fr.design.constants.LayoutConstants; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-12 * Time: 下午6:21 */ public abstract class AuthorityEditPane extends JPanel { protected static final int TOP_GAP = 11; protected static final int LEFT_GAP = 4; protected static final int RIGHT_GAP = 10; protected static final int ALIGNMENT_GAP = -3; protected static final int LEFT_CHECKPANE = 3; protected UILabel type = null; protected UILabel name = null; protected JPanel checkPane = null; private TargetComponent target; private JPanel typePane; private JPanel namePane; public AuthorityEditPane(TargetComponent target) { this.target = target; setLayout(new BorderLayout()); type = new UILabel(); typePane = new JPanel(new BorderLayout()); typePane.add(type, BorderLayout.CENTER); type.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); typePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); name = new UILabel(); namePane = new JPanel(new BorderLayout()); namePane.add(name, BorderLayout.CENTER); name.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); namePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); checkPane = new JPanel(); checkPane.setLayout(new BorderLayout()); // this.add(layoutText(), BorderLayout.WEST); // this.add(layoutPane(), BorderLayout.CENTER); this.add(centerPane(), BorderLayout.NORTH); this.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, RIGHT_GAP)); } private JPanel centerPane() { double f = TableLayout.FILL; double p = TableLayout.PREFERRED; double[] rowSize = {p, p, p}; double[] columnSize = {p, f}; int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; Component[][] components = new Component[][]{ new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), typePane}, new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), namePane}, new Component[]{checkPane, null}, }; return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_MEDIUM); } /** * 更新权限编辑面板的具体内容:类型、名称、权限面板 */ public void populateDetials() { populateType(); populateName(); checkPane.removeAll(); populateCheckPane(); checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0)); } public abstract void populateType(); public abstract void populateName(); public abstract JPanel populateCheckPane(); } \ No newline at end of file +package com.fr.design.mainframe; + +import com.fr.design.constants.LayoutConstants; +import com.fr.design.designer.TargetComponent; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.layout.TableLayout; +import com.fr.design.layout.TableLayoutHelper; +import com.fr.general.Inter; + +import javax.swing.*; +import java.awt.*; + +/** + * Author : daisy + * Date: 13-9-12 + * Time: 下午6:21 + */ +public abstract class AuthorityEditPane extends JPanel { + protected static final int TOP_GAP = 11; + protected static final int LEFT_GAP = 4; + protected static final int RIGHT_GAP = 10; + protected static final int ALIGNMENT_GAP = -3; + protected static final int LEFT_CHECKPANE = 3; + + protected UILabel type = null; + protected UILabel name = null; + protected JPanel checkPane = null; + private TargetComponent target; + private JPanel typePane; + private JPanel namePane; + + public AuthorityEditPane(TargetComponent target) { + this.target = target; + setLayout(new BorderLayout()); + type = new UILabel(); + typePane = new JPanel(new BorderLayout()); + typePane.add(type, BorderLayout.CENTER); + type.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); + typePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); + name = new UILabel(); + namePane = new JPanel(new BorderLayout()); + namePane.add(name, BorderLayout.CENTER); + name.setBorder(BorderFactory.createEmptyBorder(0,LEFT_GAP,0,0)); + namePane.setBorder(BorderFactory.createLineBorder(Color.lightGray)); + checkPane = new JPanel(); + checkPane.setLayout(new BorderLayout()); +// this.add(layoutText(), BorderLayout.WEST); +// this.add(layoutPane(), BorderLayout.CENTER); + this.add(centerPane(), BorderLayout.NORTH); + this.setBorder(BorderFactory.createEmptyBorder(TOP_GAP, LEFT_GAP, 0, RIGHT_GAP)); + } + + private JPanel centerPane() { + double f = TableLayout.FILL; + double p = TableLayout.PREFERRED; + double[] rowSize = {p, p, p}; + double[] columnSize = {p, f}; + int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; + Component[][] components = new Component[][]{ + new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_Type") + " ", SwingConstants.LEFT), typePane}, + new Component[]{new UILabel(" " + Inter.getLocText("FR-Designer_WF_Name") + " ", SwingConstants.LEFT), namePane}, + new Component[]{checkPane, null}, + }; + + return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_MEDIUM); + } + + /** + * 更新权限编辑面板的具体内容:类型、名称、权限面板 + */ + public void populateDetials() { + populateType(); + populateName(); + checkPane.removeAll(); + populateCheckPane(); + checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0)); + } + + public abstract void populateType(); + + public abstract void populateName(); + + public abstract JPanel populateCheckPane(); + +} \ No newline at end of file diff --git a/designer_base/src/com/fr/design/mainframe/AuthorityPropertyPane.java b/designer_base/src/com/fr/design/mainframe/AuthorityPropertyPane.java index 162e2603c..d802b7f9a 100644 --- a/designer_base/src/com/fr/design/mainframe/AuthorityPropertyPane.java +++ b/designer_base/src/com/fr/design/mainframe/AuthorityPropertyPane.java @@ -1 +1,49 @@ -package com.fr.design.mainframe; import com.fr.design.constants.UIConstants; import com.fr.design.designer.TargetComponent; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.general.Inter; import javax.swing.*; import java.awt.*; /** * Author : daisy * Date: 13-9-12 * Time: 下午6:14 */ public class AuthorityPropertyPane extends JPanel { private static final int TITLE_HEIGHT = 19; private AuthorityEditPane authorityEditPane = null; public AuthorityPropertyPane(TargetComponent t) { this.setLayout(new BorderLayout()); this.setBorder(null); UILabel authorityTitle = new UILabel(Inter.getLocText(new String[]{"DashBoard-Potence", "Edit"})) { @Override public Dimension getPreferredSize() { return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); } }; authorityTitle.setHorizontalAlignment(SwingConstants.CENTER); authorityTitle.setVerticalAlignment(SwingConstants.CENTER); JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); northPane.add(authorityTitle, BorderLayout.CENTER); northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); // this.add(northPane, BorderLayout.NORTH); authorityEditPane = t.createAuthorityEditPane(); UIScrollPane scrollPane = new UIScrollPane(authorityEditPane); scrollPane.setBorder(null); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); this.add(scrollPane, BorderLayout.CENTER); } public void populate() { authorityEditPane.populateDetials(); } } \ No newline at end of file +package com.fr.design.mainframe; + +import com.fr.design.constants.UIConstants; +import com.fr.design.designer.TargetComponent; +import com.fr.design.gui.icontainer.UIScrollPane; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.general.Inter; + +import javax.swing.*; +import java.awt.*; + +/** + * Author : daisy + * Date: 13-9-12 + * Time: 下午6:14 + */ +public class AuthorityPropertyPane extends JPanel { + private static final int TITLE_HEIGHT = 19; + private AuthorityEditPane authorityEditPane = null; + + public AuthorityPropertyPane(TargetComponent t) { + this.setLayout(new BorderLayout()); + this.setBorder(null); + UILabel authorityTitle = new UILabel(Inter.getLocText(new String[]{"DashBoard-Potence", "Edit"})) { + @Override + public Dimension getPreferredSize() { + return new Dimension(super.getPreferredSize().width, TITLE_HEIGHT); + } + }; + authorityTitle.setHorizontalAlignment(SwingConstants.CENTER); + authorityTitle.setVerticalAlignment(SwingConstants.CENTER); + JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); + northPane.add(authorityTitle, BorderLayout.CENTER); + northPane.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LINE_COLOR)); +// this.add(northPane, BorderLayout.NORTH); + authorityEditPane = t.createAuthorityEditPane(); + UIScrollPane scrollPane = new UIScrollPane(authorityEditPane); + scrollPane.setBorder(null); + scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); + this.add(scrollPane, BorderLayout.CENTER); + } + + public void populate() { + authorityEditPane.populateDetials(); + } + + +} \ No newline at end of file From eca840b58f155ae6168a92dabf3b31a1523f9d1a Mon Sep 17 00:00:00 2001 From: MoMeak Date: Thu, 3 Aug 2017 12:23:17 +0800 Subject: [PATCH 11/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E7=BC=A9=E6=94=BE=E6=9D=A1?= =?UTF-8?q?=E9=83=A8=E5=88=86=E8=A7=86=E8=A7=89=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/locale/designer_en_US.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index d796e80da..542ea4e74 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -2099,6 +2099,7 @@ FR-Designer_Insert_Image=Insert_Image FR-Designer_Insert_Chart=Insert-Chart FR-Designer_Insert_Text=Insert-Text FR-Designer_Insert_Formula=Insert_Formula +FR-Designer_Double=Double FR-Designer_Scale_Down=Scale_Down FR-Designer_Scale_Up=Scale_Up FR-Designer_Scale_Slider=Scale_Slider From eccf8d8e1d0f0562296e4efaaccce6d39e6c0f68 Mon Sep 17 00:00:00 2001 From: MoMeak Date: Thu, 3 Aug 2017 12:26:11 +0800 Subject: [PATCH 12/12] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/locale/designer_ko_KR.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties index db34f1093..bab5eca97 100644 --- a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties +++ b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties @@ -1995,7 +1995,7 @@ FR-Designer_Parameter=\uB9E4\uAC1C\uBCC0\uC218 FR-Designer-Plugin_Plugin=\uD50C\uB7EC\uADF8\uC778 FR-Designer_Background=\uBC30\uACBD Template=\uD15C\uD50C\uB9BF - +FR-Designer_Double=\uC18C\uC218 FR-Designer_Original_Marked_Filed=\uCD08\uAE30\uD0DC\uADF8\uD544\uB4DC FR-Designer_Build_Tree_Accord_Marked_Filed_Length=\uC120\uD0DD\uD55C\uB370\uC774\uD130\uC138\uD2B8\uC758\uD0DC\uADF8\uD544\uB4DC\uAE38\uC774\uC5D0\uB530\uB77C\uD2B8\uB9AC\uC0DD\uC131 FR-Designer_Tree_Data_Field=\uD2B8\uB9AC\uB370\uC774\uD130\uD544\uB4DC