From 102e0cdf8332ee66621e41fadfa27f2275ff200a Mon Sep 17 00:00:00 2001 From: zack Date: Tue, 19 Apr 2016 15:21:55 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E5=88=86?= =?UTF-8?q?=E7=BB=84=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/DesignModelAdapter.java | 16 ++++++-- .../fr/design/ExtraDesignClassManager.java | 12 ++++++ .../design/data/datapane/TableDataTree.java | 33 +++++++++++++++- .../data/datapane/TableDataTreePane.java | 36 ++++++++++++++---- .../fun/TableDataSourceManagerProcessor.java | 38 +++++++++++++++++++ .../AbstractTDSourceManagerProcessor.java | 15 ++++++++ 6 files changed, 137 insertions(+), 13 deletions(-) create mode 100644 designer_base/src/com/fr/design/fun/TableDataSourceManagerProcessor.java create mode 100644 designer_base/src/com/fr/design/fun/impl/AbstractTDSourceManagerProcessor.java diff --git a/designer_base/src/com/fr/design/DesignModelAdapter.java b/designer_base/src/com/fr/design/DesignModelAdapter.java index 7c2c71806..8e35dbf38 100644 --- a/designer_base/src/com/fr/design/DesignModelAdapter.java +++ b/designer_base/src/com/fr/design/DesignModelAdapter.java @@ -1,9 +1,5 @@ package com.fr.design; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - import com.fr.base.Parameter; import com.fr.base.io.IOFile; import com.fr.data.TableDataSource; @@ -13,6 +9,10 @@ import com.fr.form.ui.Widget; import com.fr.general.ComparatorUtils; import com.fr.stable.js.WidgetName; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + /** * 当前的设计器模式 * @@ -29,6 +29,14 @@ public abstract class DesignModelAdapter { treeModel.reload(root); } + /** + * @param nameOfNewNode 新添加的节点名字 + * @param insertMode 添加的节点的类型,模板、服务器、 存储过程、分组 + * @param tc + */ + public void insertNewNodeToSelectedNode(String nameOfNewNode, int insertMode, DesignModelAdapter tc){ + + } + + /** + * 删除选中节点 + * @param nodeName 节点名称 + * @param removeMode 删除模式 + * @param tc tc + */ + public void removeSelectedNode(String nodeName, int removeMode, DesignModelAdapter tc) { + + } + + /** + * 更新节点 + * @param newName 新名称 + * @param oldName 原名称 + * @param updateMode 更新模式 + * @param tc tc + */ + public void updateNameOfSelectedNode(String newName, String oldName, int updateMode, DesignModelAdapter tc){ + + } + } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java b/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java index a0b4fb3bf..364be2131 100644 --- a/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java +++ b/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java @@ -6,6 +6,7 @@ import com.fr.base.TableData; import com.fr.data.TableDataSource; import com.fr.data.impl.storeproc.StoreProcedure; import com.fr.design.DesignModelAdapter; +import com.fr.design.ExtraDesignClassManager; import com.fr.design.actions.UpdateAction; import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.tabledata.ResponseDataSourceChange; @@ -18,6 +19,7 @@ import com.fr.design.data.tabledata.wrapper.TemplateTableDataWrapper; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.DialogActionAdapter; +import com.fr.design.fun.TableDataSourceManagerProcessor; import com.fr.design.gui.ibutton.UIHeadGroup; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.itextfield.UITextField; @@ -27,10 +29,7 @@ import com.fr.design.icon.IconPathConstants; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DockingView; -import com.fr.design.menu.LineSeparator; -import com.fr.design.menu.MenuDef; -import com.fr.design.menu.SeparatorDef; -import com.fr.design.menu.ToolBarDef; +import com.fr.design.menu.*; import com.fr.general.ComparatorUtils; import com.fr.general.GeneralContext; import com.fr.general.Inter; @@ -92,7 +91,7 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource private TableDataTreePane() { this.setLayout(new BorderLayout(4, 0)); this.setBorder(null); - dataTree = new TableDataTree(); + initTableDataTree(); ToolTipManager.sharedInstance().registerComponent(dataTree); ToolTipManager.sharedInstance().setDismissDelay(3000); ToolTipManager.sharedInstance().setInitialDelay(0); @@ -108,13 +107,21 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource createAddMenuDef(); } }); - + ToolBarDef toolbarDef = new ToolBarDef(); editAction = new EditAction(); removeAction = new RemoveAction(); previewTableDataAction = new PreviewTableDataAction(); connectionTableAction = new ConnectionTableAction(); - ToolBarDef toolbarDef = new ToolBarDef(); + ShortCut[] shortCuts = null; + TableDataSourceManagerProcessor opProcessor = ExtraDesignClassManager.getInstance().getTableDataSourceManagerProcessor(); + if (opProcessor != null) { + shortCuts = opProcessor.getShortCuts(dataTree); + } else { + shortCuts = new ShortCut[]{addMenuDef, SeparatorDef.DEFAULT, editAction, removeAction, SeparatorDef.DEFAULT, previewTableDataAction, connectionTableAction}; + } + toolbarDef.addShortCut(shortCuts); toolbarDef.addShortCut(addMenuDef, SeparatorDef.DEFAULT, editAction, removeAction, SeparatorDef.DEFAULT, previewTableDataAction, connectionTableAction); + UIToolbar toolBar = ToolBarDef.createJToolBar(); toolbarDef.updateToolBar(toolBar); @@ -147,6 +154,14 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource checkButtonEnabled(); } + private void initTableDataTree() { + TableDataSourceManagerProcessor opProcessor = ExtraDesignClassManager.getInstance().getTableDataSourceManagerProcessor(); + if (opProcessor != null) { + dataTree = opProcessor.createUserObjectJtree(); + } + dataTree = new TableDataTree(); + } + private KeyAdapter getTableTreeNodeListener() { return new KeyAdapter() { @@ -278,7 +293,12 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource * 刷新 */ public void refreshDockingView() { - populate(new TableDataSourceOP(tc)); + TableDataSourceOP tableDataSourceOP = null; + TableDataSourceManagerProcessor opProcessor = ExtraDesignClassManager.getInstance().getTableDataSourceManagerProcessor(); + if (opProcessor != null) { + tableDataSourceOP = opProcessor.createTableDataSourceOP(tc); + } + populate(tableDataSourceOP == null ? new TableDataSourceOP(tc) : tableDataSourceOP); this.checkButtonEnabled(); } diff --git a/designer_base/src/com/fr/design/fun/TableDataSourceManagerProcessor.java b/designer_base/src/com/fr/design/fun/TableDataSourceManagerProcessor.java new file mode 100644 index 000000000..fbb8095a9 --- /dev/null +++ b/designer_base/src/com/fr/design/fun/TableDataSourceManagerProcessor.java @@ -0,0 +1,38 @@ +package com.fr.design.fun; + +import com.fr.design.DesignModelAdapter; +import com.fr.design.data.datapane.TableDataSourceOP; +import com.fr.design.data.datapane.TableDataTree; +import com.fr.design.menu.ShortCut; +import com.fr.stable.fun.Level; + +/** + * 自定义的模板(服务器)数据集的树样式接口 el:分组样式 + * Coder: zack + * Date: 2016/4/18 + * Time: 9:04 + */ +public interface TableDataSourceManagerProcessor extends Level { + String XML_TAG = "TableDataSourceManagerProcessor"; + + int CURRENT_LEVEL = 1; + /** + * 创建数据集的树操作 + * @param tc 设计模式 + * @return 数据集树操作 + */ + TableDataSourceOP createTableDataSourceOP(DesignModelAdapter tc); + + /** + * 创建相应的tabledatatree + * @return tabledatatree + */ + TableDataTree createUserObjectJtree(); + + /** + * 返回面板新增的action(el:GroupAction) + * @return (shortcut)action数组 + */ + ShortCut[] getShortCuts(TableDataTree dataTree); + +} diff --git a/designer_base/src/com/fr/design/fun/impl/AbstractTDSourceManagerProcessor.java b/designer_base/src/com/fr/design/fun/impl/AbstractTDSourceManagerProcessor.java new file mode 100644 index 000000000..4550023ea --- /dev/null +++ b/designer_base/src/com/fr/design/fun/impl/AbstractTDSourceManagerProcessor.java @@ -0,0 +1,15 @@ +package com.fr.design.fun.impl; + +import com.fr.design.fun.TableDataSourceManagerProcessor; + +/** + * Coder: zack + * Date: 2016/4/18 + * Time: 10:30 + */ +public abstract class AbstractTDSourceManagerProcessor implements TableDataSourceManagerProcessor { + @Override + public int currentAPILevel() { + return CURRENT_LEVEL; + } +} From a7cd005363064cd0b24f82df6fd1ce227f6b57c1 Mon Sep 17 00:00:00 2001 From: zack Date: Tue, 19 Apr 2016 16:45:19 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/ExtraDesignClassManager.java | 12 +-- .../data/datapane/TableDataSourceOP.java | 18 ++-- .../design/data/datapane/TableDataTree.java | 36 +------- .../data/datapane/TableDataTreePane.java | 92 ++++++++++++------- .../fun/TableDataSourceManagerProcessor.java | 38 -------- .../fun/TableDataTreePaneProcessor.java | 22 +++++ ....java => AbstractTDTreePaneProcessor.java} | 4 +- .../mainframe/WestRegionContainerPane.java | 20 +++- 8 files changed, 115 insertions(+), 127 deletions(-) delete mode 100644 designer_base/src/com/fr/design/fun/TableDataSourceManagerProcessor.java create mode 100644 designer_base/src/com/fr/design/fun/TableDataTreePaneProcessor.java rename designer_base/src/com/fr/design/fun/impl/{AbstractTDSourceManagerProcessor.java => AbstractTDTreePaneProcessor.java} (52%) diff --git a/designer_base/src/com/fr/design/ExtraDesignClassManager.java b/designer_base/src/com/fr/design/ExtraDesignClassManager.java index e2cfbedc7..c761430e9 100644 --- a/designer_base/src/com/fr/design/ExtraDesignClassManager.java +++ b/designer_base/src/com/fr/design/ExtraDesignClassManager.java @@ -126,15 +126,15 @@ public class ExtraDesignClassManager extends XMLFileManager implements ExtraDesi private DesignerEnvProcessor envProcessor; - private TableDataSourceManagerProcessor tableDataSourceManagerProcessor; + private TableDataTreePaneProcessor tableDataTreePaneProcessor; - public TableDataSourceManagerProcessor getTableDataSourceManagerProcessor() { - return tableDataSourceManagerProcessor; + public TableDataTreePaneProcessor getTableDataTreePaneProcessor() { + return tableDataTreePaneProcessor; } public void setTableDataSourceOPProcessor(Level level, PluginSimplify simplify) { - validAPILevel(level, TableDataSourceManagerProcessor.CURRENT_LEVEL, simplify.getPluginName()); - tableDataSourceManagerProcessor = (TableDataSourceManagerProcessor) level; + validAPILevel(level, TableDataTreePaneProcessor.CURRENT_LEVEL, simplify.getPluginName()); + tableDataTreePaneProcessor = (TableDataTreePaneProcessor) level; } public DesignerEnvProcessor getEnvProcessor() { @@ -807,7 +807,7 @@ public class ExtraDesignClassManager extends XMLFileManager implements ExtraDesi addSupportDesignApps(impl, simplify); } else if (tagName.equals(DesignerEnvProcessor.XML_TAG)) { setEnvProcessor(impl, simplify); - } else if (tagName.equals(TableDataSourceManagerProcessor.XML_TAG)) { + } else if (tagName.equals(TableDataTreePaneProcessor.XML_TAG)) { setTableDataSourceOPProcessor(impl, simplify); } } catch (PluginInvalidLevelException e) { diff --git a/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java b/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java index 03ed0dfbb..fdb5695ba 100644 --- a/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java +++ b/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java @@ -1,26 +1,22 @@ package com.fr.design.data.datapane; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import com.fr.general.NameObject; import com.fr.base.StoreProcedureParameter; import com.fr.base.TableData; -import com.fr.design.data.DesignTableDataManager; import com.fr.data.TableDataSource; import com.fr.data.impl.storeproc.StoreProcedure; import com.fr.data.impl.storeproc.StoreProcedureConstants; +import com.fr.design.DesignModelAdapter; +import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.tabledata.wrapper.StoreProcedureDataWrapper; import com.fr.design.data.tabledata.wrapper.StoreProcedureNameWrapper; import com.fr.design.data.tabledata.wrapper.TableDataWrapper; -import com.fr.design.DesignModelAdapter; import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; import com.fr.design.gui.itree.refreshabletree.UserObjectOP; import com.fr.general.Inter; +import com.fr.general.NameObject; + +import java.util.*; +import java.util.Map.Entry; /** * 数据集树的操作 @@ -34,7 +30,7 @@ public class TableDataSourceOP implements UserObjectOP { public static final int STORE_PRECEDURE_DATA = 2; public static int dataMode = -1; - private DesignModelAdapter tc; + protected DesignModelAdapter tc; public TableDataSourceOP(DesignModelAdapter tc) { diff --git a/designer_base/src/com/fr/design/data/datapane/TableDataTree.java b/designer_base/src/com/fr/design/data/datapane/TableDataTree.java index cf400b735..82663e499 100644 --- a/designer_base/src/com/fr/design/data/datapane/TableDataTree.java +++ b/designer_base/src/com/fr/design/data/datapane/TableDataTree.java @@ -1,7 +1,7 @@ package com.fr.design.data.datapane; import com.fr.base.BaseUtils; -import com.fr.design.DesignModelAdapter; +import com.fr.general.NameObject; import com.fr.design.constants.UIConstants; import com.fr.design.data.tabledata.wrapper.TableDataWrapper; import com.fr.design.gui.ilable.UILabel; @@ -9,7 +9,6 @@ import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; import com.fr.design.gui.itree.refreshabletree.UserObjectRefreshJTree; import com.fr.design.icon.IconPathConstants; import com.fr.general.ComparatorUtils; -import com.fr.general.NameObject; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; @@ -32,9 +31,8 @@ public class TableDataTree extends UserObjectRefreshJTree { this.setCellRenderer(tableDataTreeCellRenderer); this.setEditable(false); } - // CellRenderer - private DefaultTreeCellRenderer tableDataTreeCellRenderer = new DefaultTreeCellRenderer() { + protected DefaultTreeCellRenderer tableDataTreeCellRenderer = new DefaultTreeCellRenderer() { private static final long serialVersionUID = 1L; @Override @@ -242,34 +240,4 @@ public class TableDataTree extends UserObjectRefreshJTree { treeModel.reload(root); } - /** - * @param nameOfNewNode 新添加的节点名字 - * @param insertMode 添加的节点的类型,模板、服务器、 存储过程、分组 - * @param tc - */ - public void insertNewNodeToSelectedNode(String nameOfNewNode, int insertMode, DesignModelAdapter tc){ - - } - - /** - * 删除选中节点 - * @param nodeName 节点名称 - * @param removeMode 删除模式 - * @param tc tc - */ - public void removeSelectedNode(String nodeName, int removeMode, DesignModelAdapter tc) { - - } - - /** - * 更新节点 - * @param newName 新名称 - * @param oldName 原名称 - * @param updateMode 更新模式 - * @param tc tc - */ - public void updateNameOfSelectedNode(String newName, String oldName, int updateMode, DesignModelAdapter tc){ - - } - } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java b/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java index 364be2131..7cc9d20ba 100644 --- a/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java +++ b/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java @@ -6,7 +6,6 @@ import com.fr.base.TableData; import com.fr.data.TableDataSource; import com.fr.data.impl.storeproc.StoreProcedure; import com.fr.design.DesignModelAdapter; -import com.fr.design.ExtraDesignClassManager; import com.fr.design.actions.UpdateAction; import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.tabledata.ResponseDataSourceChange; @@ -19,7 +18,6 @@ import com.fr.design.data.tabledata.wrapper.TemplateTableDataWrapper; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.DialogActionAdapter; -import com.fr.design.fun.TableDataSourceManagerProcessor; import com.fr.design.gui.ibutton.UIHeadGroup; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.itextfield.UITextField; @@ -29,7 +27,10 @@ import com.fr.design.icon.IconPathConstants; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DockingView; -import com.fr.design.menu.*; +import com.fr.design.menu.LineSeparator; +import com.fr.design.menu.MenuDef; +import com.fr.design.menu.SeparatorDef; +import com.fr.design.menu.ToolBarDef; import com.fr.general.ComparatorUtils; import com.fr.general.GeneralContext; import com.fr.general.Inter; @@ -51,9 +52,9 @@ import java.util.Map; public class TableDataTreePane extends DockingView implements ResponseDataSourceChange { - private static final int PROCEDURE_NAME_INDEX = 4; - private static final int TEMPLATE_TABLE_DATA = 0; - private static final int SERVER_TABLE_DATA = 1; + protected static final int PROCEDURE_NAME_INDEX = 4; + protected static final int TEMPLATE_TABLE_DATA = 0; + protected static final int SERVER_TABLE_DATA = 1; private static final long serialVersionUID = -12168467370000617L; private static TableDataTreePane singleton = new TableDataTreePane(); private String type = ""; @@ -76,8 +77,8 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource return singleton; } - private static TableDataTree dataTree; - private TableDataSourceOP op; + protected static TableDataTree dataTree; + protected TableDataSourceOP op; private MenuDef addMenuDef; private EditAction editAction; @@ -91,7 +92,7 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource private TableDataTreePane() { this.setLayout(new BorderLayout(4, 0)); this.setBorder(null); - initTableDataTree(); + dataTree = new TableDataTree(); ToolTipManager.sharedInstance().registerComponent(dataTree); ToolTipManager.sharedInstance().setDismissDelay(3000); ToolTipManager.sharedInstance().setInitialDelay(0); @@ -107,21 +108,13 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource createAddMenuDef(); } }); - ToolBarDef toolbarDef = new ToolBarDef(); + editAction = new EditAction(); removeAction = new RemoveAction(); previewTableDataAction = new PreviewTableDataAction(); connectionTableAction = new ConnectionTableAction(); - ShortCut[] shortCuts = null; - TableDataSourceManagerProcessor opProcessor = ExtraDesignClassManager.getInstance().getTableDataSourceManagerProcessor(); - if (opProcessor != null) { - shortCuts = opProcessor.getShortCuts(dataTree); - } else { - shortCuts = new ShortCut[]{addMenuDef, SeparatorDef.DEFAULT, editAction, removeAction, SeparatorDef.DEFAULT, previewTableDataAction, connectionTableAction}; - } - toolbarDef.addShortCut(shortCuts); + ToolBarDef toolbarDef = new ToolBarDef(); toolbarDef.addShortCut(addMenuDef, SeparatorDef.DEFAULT, editAction, removeAction, SeparatorDef.DEFAULT, previewTableDataAction, connectionTableAction); - UIToolbar toolBar = ToolBarDef.createJToolBar(); toolbarDef.updateToolBar(toolBar); @@ -154,12 +147,52 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource checkButtonEnabled(); } - private void initTableDataTree() { - TableDataSourceManagerProcessor opProcessor = ExtraDesignClassManager.getInstance().getTableDataSourceManagerProcessor(); - if (opProcessor != null) { - dataTree = opProcessor.createUserObjectJtree(); - } - dataTree = new TableDataTree(); + public MenuDef getAddMenuDef() { + return addMenuDef; + } + + public void setAddMenuDef(MenuDef addMenuDef) { + this.addMenuDef = addMenuDef; + } + + public EditAction getEditAction() { + return editAction; + } + + public void setEditAction(EditAction editAction) { + this.editAction = editAction; + } + + public RemoveAction getRemoveAction() { + return removeAction; + } + + public void setRemoveAction(RemoveAction removeAction) { + this.removeAction = removeAction; + } + + public DesignModelAdapter getTc() { + return tc; + } + + public void setTc(DesignModelAdapter tc) { + this.tc = tc; + } + + public PreviewTableDataAction getPreviewTableDataAction() { + return previewTableDataAction; + } + + public void setPreviewTableDataAction(PreviewTableDataAction previewTableDataAction) { + this.previewTableDataAction = previewTableDataAction; + } + + public ConnectionTableAction getConnectionTableAction() { + return connectionTableAction; + } + + public void setConnectionTableAction(ConnectionTableAction connectionTableAction) { + this.connectionTableAction = connectionTableAction; } private KeyAdapter getTableTreeNodeListener() { @@ -246,7 +279,7 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource dataTree.refresh(); } - private void checkButtonEnabled() { + protected void checkButtonEnabled() { // august:BUG 9344 addMenuDef.setEnabled(true); connectionTableAction.setEnabled(FRContext.getCurrentEnv() != null && FRContext.getCurrentEnv().isRoot()); @@ -293,12 +326,7 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource * 刷新 */ public void refreshDockingView() { - TableDataSourceOP tableDataSourceOP = null; - TableDataSourceManagerProcessor opProcessor = ExtraDesignClassManager.getInstance().getTableDataSourceManagerProcessor(); - if (opProcessor != null) { - tableDataSourceOP = opProcessor.createTableDataSourceOP(tc); - } - populate(tableDataSourceOP == null ? new TableDataSourceOP(tc) : tableDataSourceOP); + populate(new TableDataSourceOP(tc)); this.checkButtonEnabled(); } diff --git a/designer_base/src/com/fr/design/fun/TableDataSourceManagerProcessor.java b/designer_base/src/com/fr/design/fun/TableDataSourceManagerProcessor.java deleted file mode 100644 index fbb8095a9..000000000 --- a/designer_base/src/com/fr/design/fun/TableDataSourceManagerProcessor.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.fr.design.fun; - -import com.fr.design.DesignModelAdapter; -import com.fr.design.data.datapane.TableDataSourceOP; -import com.fr.design.data.datapane.TableDataTree; -import com.fr.design.menu.ShortCut; -import com.fr.stable.fun.Level; - -/** - * 自定义的模板(服务器)数据集的树样式接口 el:分组样式 - * Coder: zack - * Date: 2016/4/18 - * Time: 9:04 - */ -public interface TableDataSourceManagerProcessor extends Level { - String XML_TAG = "TableDataSourceManagerProcessor"; - - int CURRENT_LEVEL = 1; - /** - * 创建数据集的树操作 - * @param tc 设计模式 - * @return 数据集树操作 - */ - TableDataSourceOP createTableDataSourceOP(DesignModelAdapter tc); - - /** - * 创建相应的tabledatatree - * @return tabledatatree - */ - TableDataTree createUserObjectJtree(); - - /** - * 返回面板新增的action(el:GroupAction) - * @return (shortcut)action数组 - */ - ShortCut[] getShortCuts(TableDataTree dataTree); - -} diff --git a/designer_base/src/com/fr/design/fun/TableDataTreePaneProcessor.java b/designer_base/src/com/fr/design/fun/TableDataTreePaneProcessor.java new file mode 100644 index 000000000..066038568 --- /dev/null +++ b/designer_base/src/com/fr/design/fun/TableDataTreePaneProcessor.java @@ -0,0 +1,22 @@ +package com.fr.design.fun; + +import com.fr.design.data.datapane.TableDataTreePane; +import com.fr.stable.fun.Level; + +/** + * 自定义的模板(服务器)数据集的树样式接口 el:分组样式 + * Coder: zack + * Date: 2016/4/18 + * Time: 9:04 + */ +public interface TableDataTreePaneProcessor extends Level { + String XML_TAG = "TableDataTreePaneProcessor"; + + int CURRENT_LEVEL = 1; + /** + * 创建数据集面板 + * @return 数据集面板 + */ + TableDataTreePane createTableDataTreePane(); + +} diff --git a/designer_base/src/com/fr/design/fun/impl/AbstractTDSourceManagerProcessor.java b/designer_base/src/com/fr/design/fun/impl/AbstractTDTreePaneProcessor.java similarity index 52% rename from designer_base/src/com/fr/design/fun/impl/AbstractTDSourceManagerProcessor.java rename to designer_base/src/com/fr/design/fun/impl/AbstractTDTreePaneProcessor.java index 4550023ea..635739a07 100644 --- a/designer_base/src/com/fr/design/fun/impl/AbstractTDSourceManagerProcessor.java +++ b/designer_base/src/com/fr/design/fun/impl/AbstractTDTreePaneProcessor.java @@ -1,13 +1,13 @@ package com.fr.design.fun.impl; -import com.fr.design.fun.TableDataSourceManagerProcessor; +import com.fr.design.fun.TableDataTreePaneProcessor; /** * Coder: zack * Date: 2016/4/18 * Time: 10:30 */ -public abstract class AbstractTDSourceManagerProcessor implements TableDataSourceManagerProcessor { +public abstract class AbstractTDTreePaneProcessor implements TableDataTreePaneProcessor { @Override public int currentAPILevel() { return CURRENT_LEVEL; diff --git a/designer_base/src/com/fr/design/mainframe/WestRegionContainerPane.java b/designer_base/src/com/fr/design/mainframe/WestRegionContainerPane.java index 36c2584d0..0ed5556c2 100644 --- a/designer_base/src/com/fr/design/mainframe/WestRegionContainerPane.java +++ b/designer_base/src/com/fr/design/mainframe/WestRegionContainerPane.java @@ -1,11 +1,15 @@ package com.fr.design.mainframe; -import com.fr.design.data.datapane.TableDataTreePane; import com.fr.design.DesignModelAdapter; import com.fr.design.DesignerEnvManager; +import com.fr.design.ExtraDesignClassManager; +import com.fr.design.data.datapane.TableDataTreePane; +import com.fr.design.fun.TableDataTreePaneProcessor; import com.fr.design.gui.icontainer.UIResizableContainer; import com.fr.stable.Constants; +import javax.swing.*; + public class WestRegionContainerPane extends UIResizableContainer { private static WestRegionContainerPane THIS; @@ -16,15 +20,23 @@ public class WestRegionContainerPane extends UIResizableContainer { */ public static final WestRegionContainerPane getInstance() { if (THIS == null) { - THIS = new WestRegionContainerPane(); + TableDataTreePane tableDataTreePane = null; + TableDataTreePaneProcessor treePaneProcessor = ExtraDesignClassManager.getInstance().getTableDataTreePaneProcessor(); + if (treePaneProcessor != null) { + tableDataTreePane = treePaneProcessor.createTableDataTreePane(); + } else { + tableDataTreePane = TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter()); + } + THIS = new WestRegionContainerPane(tableDataTreePane); THIS.setLastToolPaneY(DesignerEnvManager.getEnvManager().getLastWestRegionToolPaneY()); THIS.setLastContainerWidth(DesignerEnvManager.getEnvManager().getLastWestRegionContainerWidth()); } return THIS; } - public WestRegionContainerPane() { - super(DesignerFrameFileDealerPane.getInstance(), TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter()), Constants.RIGHT); + public WestRegionContainerPane(JComponent pane) { + super(DesignerFrameFileDealerPane.getInstance(), pane, Constants.RIGHT); setContainerWidth(165); } + } \ No newline at end of file From 222efe686bd83b79177afdca5ef3d90a88e94e65 Mon Sep 17 00:00:00 2001 From: zack Date: Tue, 19 Apr 2016 18:32:54 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=B1=9E=E6=80=A7=E4=BF=9D=E6=8C=81private?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/datapane/TableDataSourceOP.java | 10 ++++++- .../design/data/datapane/TableDataTree.java | 9 ++++++- .../data/datapane/TableDataTreePane.java | 26 ++++++++++++++++--- 3 files changed, 40 insertions(+), 5 deletions(-) diff --git a/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java b/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java index fdb5695ba..10e46edd3 100644 --- a/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java +++ b/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java @@ -30,13 +30,21 @@ public class TableDataSourceOP implements UserObjectOP { public static final int STORE_PRECEDURE_DATA = 2; public static int dataMode = -1; - protected DesignModelAdapter tc; + private DesignModelAdapter tc; public TableDataSourceOP(DesignModelAdapter tc) { this.tc = tc; } + public DesignModelAdapter getTc() { + return tc; + } + + public void setTc(DesignModelAdapter tc) { + this.tc = tc; + } + /** * 初始化数据集的list * diff --git a/designer_base/src/com/fr/design/data/datapane/TableDataTree.java b/designer_base/src/com/fr/design/data/datapane/TableDataTree.java index 82663e499..bb8553d30 100644 --- a/designer_base/src/com/fr/design/data/datapane/TableDataTree.java +++ b/designer_base/src/com/fr/design/data/datapane/TableDataTree.java @@ -32,7 +32,7 @@ public class TableDataTree extends UserObjectRefreshJTree { this.setEditable(false); } // CellRenderer - protected DefaultTreeCellRenderer tableDataTreeCellRenderer = new DefaultTreeCellRenderer() { + private DefaultTreeCellRenderer tableDataTreeCellRenderer = new DefaultTreeCellRenderer() { private static final long serialVersionUID = 1L; @Override @@ -81,6 +81,13 @@ public class TableDataTree extends UserObjectRefreshJTree { } }; + public DefaultTreeCellRenderer getTableDataTreeCellRenderer() { + return tableDataTreeCellRenderer; + } + + public void setTableDataTreeCellRenderer(DefaultTreeCellRenderer tableDataTreeCellRenderer) { + this.tableDataTreeCellRenderer = tableDataTreeCellRenderer; + } protected void refreshTreeNode(ExpandMutableTreeNode eTreeNode, String childName) { if (interceptRefresh(eTreeNode)) { diff --git a/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java b/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java index 7cc9d20ba..84c56e794 100644 --- a/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java +++ b/designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java @@ -77,8 +77,8 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource return singleton; } - protected static TableDataTree dataTree; - protected TableDataSourceOP op; + private TableDataTree dataTree; + private TableDataSourceOP op; private MenuDef addMenuDef; private EditAction editAction; @@ -147,6 +147,26 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource checkButtonEnabled(); } + public void setDataTree(TableDataTree dataTree) { + this.dataTree = dataTree; + } + + public TableDataSourceOP getOp() { + return op; + } + + public void setOp(TableDataSourceOP op) { + this.op = op; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + public MenuDef getAddMenuDef() { return addMenuDef; } @@ -275,7 +295,7 @@ public class TableDataTreePane extends DockingView implements ResponseDataSource /** * 刷新 */ - public static void refresh() { + public void refresh() { dataTree.refresh(); } From fcbb71a23eaae1f1fcf1f9bac06ba5c03781a410 Mon Sep 17 00:00:00 2001 From: zack Date: Wed, 20 Apr 2016 09:06:26 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=91=BD=E5=90=8D=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/data/datapane/TableDataSourceOP.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java b/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java index 10e46edd3..da85a4241 100644 --- a/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java +++ b/designer_base/src/com/fr/design/data/datapane/TableDataSourceOP.java @@ -37,11 +37,11 @@ public class TableDataSourceOP implements UserObjectOP { this.tc = tc; } - public DesignModelAdapter getTc() { + public DesignModelAdapter getDesignModelAdapter() { return tc; } - public void setTc(DesignModelAdapter tc) { + public void setDesignModelAdapter(DesignModelAdapter tc) { this.tc = tc; }