Harrison
5 years ago
11 changed files with 697 additions and 551 deletions
@ -0,0 +1,25 @@
|
||||
package com.fr.design.fun; |
||||
|
||||
import com.fr.design.mainframe.PaneHolder; |
||||
import com.fr.design.mainframe.PropertyItemBean; |
||||
import com.fr.stable.fun.mark.Mutable; |
||||
import org.jetbrains.annotations.Nullable; |
||||
|
||||
/** |
||||
* created by Harrison on 2020/03/23 |
||||
**/ |
||||
public interface PropertyItemPaneProvider<T> extends Mutable { |
||||
|
||||
int CURRENT_LEVEL = 1; |
||||
|
||||
String XML_TAG = "PropertyItemPaneProvider"; |
||||
|
||||
String key(); |
||||
|
||||
PropertyItemBean getItem(); |
||||
|
||||
@Nullable |
||||
PaneHolder<T> getPaneHolder(Class<?> clazz); |
||||
|
||||
String replaceKey(); |
||||
} |
@ -0,0 +1,31 @@
|
||||
package com.fr.design.fun.impl; |
||||
|
||||
import com.fr.design.fun.PropertyItemPaneProvider; |
||||
import com.fr.design.mainframe.PaneHolder; |
||||
import com.fr.stable.fun.impl.AbstractProvider; |
||||
import com.fr.stable.fun.mark.API; |
||||
|
||||
/** |
||||
* created by Harrison on 2020/03/23 |
||||
**/ |
||||
@API(level = PropertyItemPaneProvider.CURRENT_LEVEL) |
||||
public abstract class AbstractPropertyItemPaneProvider<T> extends AbstractProvider implements PropertyItemPaneProvider<T> { |
||||
|
||||
@Override |
||||
public PaneHolder<T> getPaneHolder(Class<?> clazz) { |
||||
|
||||
if (sign().equals(clazz)) { |
||||
return getPathHolder0(); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
protected abstract PaneHolder<T> getPathHolder0(); |
||||
|
||||
protected abstract Class<T> sign(); |
||||
|
||||
@Override |
||||
public int currentAPILevel() { |
||||
return PropertyItemPaneProvider.CURRENT_LEVEL; |
||||
} |
||||
} |
@ -0,0 +1,17 @@
|
||||
package com.fr.design.mainframe; |
||||
|
||||
import javax.swing.JPanel; |
||||
|
||||
/** |
||||
* created by Harrison on 2020/03/23 |
||||
**/ |
||||
public interface PaneHolder<T> { |
||||
|
||||
/** |
||||
* 得到 Pane |
||||
* |
||||
* @param arg 参数 |
||||
* @return 面板 |
||||
*/ |
||||
JPanel getInstance(T arg); |
||||
} |
@ -0,0 +1,68 @@
|
||||
package com.fr.design.mainframe; |
||||
|
||||
import java.awt.event.ActionListener; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* created by Harrison on 2020/03/23 |
||||
**/ |
||||
public class PropertyItemBean { |
||||
|
||||
private String name; |
||||
private String title; |
||||
private String btnIconName; |
||||
private EastRegionContainerPane.PropertyMode[] visibleModes; |
||||
private EastRegionContainerPane.PropertyMode[] enableModes; |
||||
private List<ActionListener> buttonListeners; |
||||
|
||||
public PropertyItemBean() { |
||||
} |
||||
|
||||
public String getName() { |
||||
return name; |
||||
} |
||||
|
||||
public void setName(String name) { |
||||
this.name = name; |
||||
} |
||||
|
||||
public String getTitle() { |
||||
return title; |
||||
} |
||||
|
||||
public void setTitle(String title) { |
||||
this.title = title; |
||||
} |
||||
|
||||
public String getBtnIconName() { |
||||
return btnIconName; |
||||
} |
||||
|
||||
public void setBtnIconName(String btnIconName) { |
||||
this.btnIconName = btnIconName; |
||||
} |
||||
|
||||
public EastRegionContainerPane.PropertyMode[] getVisibleModes() { |
||||
return visibleModes; |
||||
} |
||||
|
||||
public void setVisibleModes(EastRegionContainerPane.PropertyMode[] visibleModes) { |
||||
this.visibleModes = visibleModes; |
||||
} |
||||
|
||||
public EastRegionContainerPane.PropertyMode[] getEnableModes() { |
||||
return enableModes; |
||||
} |
||||
|
||||
public void setEnableModes(EastRegionContainerPane.PropertyMode[] enableModes) { |
||||
this.enableModes = enableModes; |
||||
} |
||||
|
||||
public List<ActionListener> getButtonListeners() { |
||||
return buttonListeners; |
||||
} |
||||
|
||||
public void setButtonListeners(List<ActionListener> buttonListeners) { |
||||
this.buttonListeners = buttonListeners; |
||||
} |
||||
} |
@ -1,23 +0,0 @@
|
||||
package com.fr.design.mainframe.component; |
||||
|
||||
import com.fr.design.ExtraDesignClassManager; |
||||
import com.fr.design.fun.ComponentLibraryPaneProcessor; |
||||
import com.fr.design.mainframe.component.pane.ComponentLibraryPaneProcessorImpl; |
||||
|
||||
/** |
||||
* created by Harrison on 2020/03/16 |
||||
**/ |
||||
public class ComponentLibraryManager { |
||||
|
||||
private static ComponentLibraryPaneProcessor DEFAULT = new ComponentLibraryPaneProcessorImpl(); |
||||
|
||||
public static ComponentLibraryPaneProcessor selectPaneProcessor() { |
||||
|
||||
ComponentLibraryPaneProcessor right = ExtraDesignClassManager.getInstance().getSingle(ComponentLibraryPaneProcessor.XML_TAG); |
||||
|
||||
if (right == null || DEFAULT.layerIndex() > right.layerIndex()) { |
||||
right = DEFAULT; |
||||
} |
||||
return right; |
||||
} |
||||
} |
@ -1,72 +0,0 @@
|
||||
package com.fr.design.mainframe.component.pane; |
||||
|
||||
import com.fr.design.fun.ComponentLibraryPaneProcessor; |
||||
import com.fr.design.gui.icombobox.UIComboBox; |
||||
import com.fr.design.gui.icontainer.UIScrollPane; |
||||
import com.fr.design.layout.FRGUIPaneFactory; |
||||
import com.fr.design.mainframe.DockingView; |
||||
import com.fr.design.mainframe.component.ComponentLibraryManager; |
||||
|
||||
import javax.swing.BorderFactory; |
||||
import javax.swing.JPanel; |
||||
import java.awt.BorderLayout; |
||||
|
||||
/** |
||||
* created by Harrison on 2020/03/22 |
||||
**/ |
||||
public class ComponentLibraryPaneCreator { |
||||
|
||||
private ComponentLibraryPaneProcessor processor; |
||||
|
||||
public ComponentLibraryPaneCreator() { |
||||
|
||||
processor = ComponentLibraryManager.selectPaneProcessor(); |
||||
} |
||||
|
||||
public static ComponentLibraryPaneCreator getNew() { |
||||
|
||||
return new ComponentLibraryPaneCreator(); |
||||
} |
||||
|
||||
public JPanel create(DockingView dockingView) { |
||||
|
||||
JPanel componentLibPanel = createComponentLibPanel(); |
||||
processor.parentView(dockingView); |
||||
processor.parentPane(componentLibPanel); |
||||
|
||||
JPanel menuPanel = createMenuPanel(); |
||||
componentLibPanel.add(menuPanel, BorderLayout.NORTH); |
||||
|
||||
UIScrollPane showPane = processor.createShowPanel(false); |
||||
componentLibPanel.add(showPane); |
||||
return componentLibPanel; |
||||
} |
||||
|
||||
private JPanel createComponentLibPanel() { |
||||
|
||||
JPanel reuWidgetPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); |
||||
reuWidgetPanel.setBorder(null); |
||||
return reuWidgetPanel; |
||||
} |
||||
|
||||
/** |
||||
* 初始化菜单栏面板 |
||||
*/ |
||||
private JPanel createMenuPanel() { |
||||
|
||||
JPanel menuPanel = new JPanel(); |
||||
menuPanel.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||
menuPanel.setBorder(BorderFactory.createEmptyBorder(3, 10, 10, 15)); |
||||
|
||||
JPanel menuPanelNorthPane = processor.createMenuNorthPane(); |
||||
if (menuPanelNorthPane != null) { |
||||
menuPanel.add(menuPanelNorthPane, BorderLayout.NORTH); |
||||
} |
||||
|
||||
UIComboBox menuPanelComboBox = processor.createMenuComBox(); |
||||
if (menuPanelComboBox != null) { |
||||
menuPanel.add(menuPanelComboBox, BorderLayout.CENTER); |
||||
} |
||||
return menuPanel; |
||||
} |
||||
} |
@ -1,412 +0,0 @@
|
||||
package com.fr.design.mainframe.component.pane; |
||||
|
||||
import com.fr.base.BaseUtils; |
||||
import com.fr.design.fun.impl.AbstractComponentLibraryPaneProcessor; |
||||
import com.fr.design.gui.ibutton.UIButton; |
||||
import com.fr.design.gui.icombobox.UIComboBox; |
||||
import com.fr.design.gui.icontainer.UIScrollPane; |
||||
import com.fr.design.gui.ilable.UILabel; |
||||
import com.fr.design.layout.FRGUIPaneFactory; |
||||
import com.fr.design.mainframe.DockingView; |
||||
import com.fr.design.mainframe.ShareWidgetPane; |
||||
import com.fr.design.widget.FRWidgetFactory; |
||||
import com.fr.form.share.ShareLoader; |
||||
import com.fr.form.ui.SharableWidgetBindInfo; |
||||
import com.fr.general.CloudCenter; |
||||
import com.fr.log.FineLoggerFactory; |
||||
import com.fr.share.ShareConstants; |
||||
import com.fr.stable.ArrayUtils; |
||||
import com.fr.stable.StringUtils; |
||||
|
||||
import javax.swing.BorderFactory; |
||||
import javax.swing.DefaultComboBoxModel; |
||||
import javax.swing.Icon; |
||||
import javax.swing.JFileChooser; |
||||
import javax.swing.JOptionPane; |
||||
import javax.swing.JPanel; |
||||
import javax.swing.SwingWorker; |
||||
import javax.swing.filechooser.FileNameExtensionFilter; |
||||
import java.awt.BorderLayout; |
||||
import java.awt.Color; |
||||
import java.awt.Desktop; |
||||
import java.awt.Dimension; |
||||
import java.awt.FlowLayout; |
||||
import java.awt.event.ActionEvent; |
||||
import java.awt.event.ActionListener; |
||||
import java.awt.event.ItemEvent; |
||||
import java.awt.event.ItemListener; |
||||
import java.io.File; |
||||
import java.io.IOException; |
||||
import java.net.URI; |
||||
import java.net.URISyntaxException; |
||||
|
||||
/** |
||||
* created by Harrison on 2020/03/16 |
||||
**/ |
||||
public class ComponentLibraryPaneProcessorImpl extends AbstractComponentLibraryPaneProcessor { |
||||
|
||||
private static final int LOCAL_WIDGET_LABEL_WIDTH = 90; |
||||
|
||||
private DockingView parentView; |
||||
|
||||
private SwingWorker sw; |
||||
|
||||
private JPanel componentLibPane; |
||||
private UIScrollPane showPane; |
||||
|
||||
private UIComboBox menuPanelComboBox; |
||||
private JPanel menuPanelNorthPane; |
||||
private SharableWidgetBindInfo[] bindInfoArray; |
||||
|
||||
private UIButton deleteButton; |
||||
private JPanel editPanel; |
||||
private JPanel resetPanel; |
||||
/** |
||||
* 组件面板是否可以编辑 |
||||
*/ |
||||
private boolean isEdit; |
||||
|
||||
public ComponentLibraryPaneProcessorImpl() { |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public void parentView(DockingView dockingView) { |
||||
|
||||
parentView = dockingView; |
||||
if (bindInfoArray == null) { |
||||
if (sw != null) { |
||||
sw.cancel(true); |
||||
} |
||||
sw = new SwingWorker() { |
||||
@Override |
||||
protected Object doInBackground() throws Exception { |
||||
bindInfoArray = ShareLoader.getLoader().getAllBindInfoList(); |
||||
refreshShowPanel(false); |
||||
return null; |
||||
} |
||||
}; |
||||
sw.execute(); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void parentPane(JPanel panel) { |
||||
this.componentLibPane = panel; |
||||
} |
||||
|
||||
@Override |
||||
public void complete() { |
||||
|
||||
} |
||||
|
||||
/** |
||||
* 初始化组件共享和复用面板 |
||||
*/ |
||||
@Override |
||||
public UIScrollPane createShowPanel(boolean isEdit) { |
||||
|
||||
showPane = new UIScrollPane( |
||||
new ShareWidgetPane(bindInfoArray, isEdit) |
||||
); |
||||
showPane.setBorder(null); |
||||
return showPane; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public UIComboBox createMenuComBox() { |
||||
|
||||
menuPanelComboBox = new UIComboBox(getFormCategories()); |
||||
menuPanelComboBox.setPreferredSize(new Dimension(240, menuPanelComboBox.getPreferredSize().height)); |
||||
addComboBoxListener(); |
||||
return menuPanelComboBox; |
||||
} |
||||
|
||||
private void addComboBoxListener() { |
||||
|
||||
menuPanelComboBox.addItemListener(new ItemListener() { |
||||
@Override |
||||
public void itemStateChanged(ItemEvent e) { |
||||
ShareLoader.getLoader().resetRemovedModuleList(); |
||||
int filterIndex = menuPanelComboBox.getSelectedIndex(); |
||||
if (filterIndex == 0) { |
||||
bindInfoArray = ShareLoader.getLoader().getAllBindInfoList(); |
||||
} else { |
||||
String filterName = menuPanelComboBox.getSelectedItem().toString(); |
||||
bindInfoArray = ShareLoader.getLoader().getFilterBindInfoList(filterName); |
||||
} |
||||
refreshShowPanel(isEdit); |
||||
} |
||||
}); |
||||
} |
||||
|
||||
@Override |
||||
public JPanel createMenuNorthPane() { |
||||
|
||||
menuPanelNorthPane = new JPanel(new BorderLayout()); |
||||
UILabel localWidgetLabel = FRWidgetFactory.createLineWrapLabel( |
||||
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Local_Widget"), |
||||
LOCAL_WIDGET_LABEL_WIDTH); |
||||
menuPanelNorthPane.add(localWidgetLabel, BorderLayout.WEST); |
||||
menuPanelNorthPane.add(initEditButtonPane(), BorderLayout.EAST); |
||||
menuPanelNorthPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0)); |
||||
return menuPanelNorthPane; |
||||
|
||||
} |
||||
|
||||
/** |
||||
* 创建菜单栏按钮面板 |
||||
*/ |
||||
protected JPanel initEditButtonPane() { |
||||
|
||||
editPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT, 0, 0)); |
||||
|
||||
editPanel.add(createRefreshButton()); |
||||
editPanel.add(createDownloadButton()); |
||||
editPanel.add(createInstallButton()); |
||||
editPanel.add(createDeleteButton()); |
||||
|
||||
return editPanel; |
||||
} |
||||
|
||||
/** |
||||
* 创建取消删除面板 |
||||
*/ |
||||
protected JPanel initResetButtonPane() { |
||||
|
||||
resetPanel = new JPanel(); |
||||
UIButton resetButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Reset")); |
||||
resetPanel.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); |
||||
resetButton.setBackground(Color.white); |
||||
resetButton.setForeground(new Color(0x333334)); |
||||
resetButton.addActionListener(new ActionListener() { |
||||
@Override |
||||
public void actionPerformed(ActionEvent e) { |
||||
refreshShowPanel(false); |
||||
replaceButtonPanel(false); |
||||
componentLibPane.remove(deleteButton); |
||||
} |
||||
}); |
||||
|
||||
deleteButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Remove_Item")); |
||||
deleteButton.setBackground(Color.white); |
||||
deleteButton.setForeground(new Color(0xeb1d1f)); |
||||
deleteButton.addActionListener(new ActionListener() { |
||||
@Override |
||||
public void actionPerformed(ActionEvent e) { |
||||
if (ShareLoader.getLoader().removeModulesFromList()) { |
||||
refreshShareModule(); |
||||
componentLibPane.remove(deleteButton); |
||||
bindInfoArray = ShareLoader.getLoader().getAllBindInfoList(); |
||||
JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Share_Module_Removed_Successful")); |
||||
refreshShowPanel(false); |
||||
replaceButtonPanel(false); |
||||
refreshComboBoxData(); |
||||
} else { |
||||
JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Share_Module_Removed_Failed")); |
||||
} |
||||
|
||||
} |
||||
}); |
||||
JPanel deletePane = new JPanel(new BorderLayout()); |
||||
deletePane.add(deleteButton, BorderLayout.CENTER); |
||||
deletePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5)); |
||||
|
||||
resetPanel.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||
resetPanel.add(resetButton, BorderLayout.CENTER); |
||||
resetPanel.add(deletePane, BorderLayout.WEST); |
||||
|
||||
refreshShowPanel(true); |
||||
|
||||
return resetPanel; |
||||
|
||||
} |
||||
|
||||
|
||||
/** |
||||
* 创建工具条按钮 |
||||
*/ |
||||
protected UIButton createToolButton(Icon icon, String toolTip, ActionListener actionListener) { |
||||
|
||||
UIButton toolButton = new UIButton(); |
||||
toolButton.setIcon(icon); |
||||
toolButton.setToolTipText(toolTip); |
||||
toolButton.set4ToolbarButton(); |
||||
toolButton.addActionListener(actionListener); |
||||
return toolButton; |
||||
|
||||
} |
||||
|
||||
/** |
||||
* 创建刷新按钮 |
||||
*/ |
||||
protected UIButton createRefreshButton() { |
||||
|
||||
return createToolButton( |
||||
BaseUtils.readIcon("/com/fr/design/form/images/refresh.png"), |
||||
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Refresh"), |
||||
new ActionListener() { |
||||
@Override |
||||
public void actionPerformed(ActionEvent e) { |
||||
if (sw != null) { |
||||
sw.cancel(true); |
||||
} |
||||
sw = new SwingWorker() { |
||||
@Override |
||||
protected Object doInBackground() throws Exception { |
||||
ShareLoader.getLoader().refreshModule(); |
||||
bindInfoArray = ShareLoader.getLoader().getAllBindInfoList(); |
||||
refreshComboBoxData(); |
||||
refreshShowPanel(false); |
||||
return null; |
||||
} |
||||
}; |
||||
sw.execute(); |
||||
} |
||||
} |
||||
); |
||||
} |
||||
|
||||
/** |
||||
* 创建下载模板的按钮 |
||||
*/ |
||||
protected UIButton createDownloadButton() { |
||||
UIButton downloadButton = new UIButton(); |
||||
downloadButton.setIcon(BaseUtils.readIcon("/com/fr/design/form/images/download icon.png")); |
||||
downloadButton.set4ToolbarButton(); |
||||
downloadButton.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Download_Template")); |
||||
downloadButton.addActionListener(new ActionListener() { |
||||
@Override |
||||
public void actionPerformed(ActionEvent e) { |
||||
String url = CloudCenter.getInstance().acquireUrlByKind("reuse.url"); |
||||
if (StringUtils.isEmpty(url)) { |
||||
FineLoggerFactory.getLogger().info("The URL is empty!"); |
||||
return; |
||||
} |
||||
try { |
||||
Desktop.getDesktop().browse(new URI(url)); |
||||
} catch (IOException exp) { |
||||
JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Default_Browser_Duplicate")); |
||||
FineLoggerFactory.getLogger().error(exp.getMessage(), exp); |
||||
} catch (URISyntaxException exp) { |
||||
FineLoggerFactory.getLogger().error(exp.getMessage(), exp); |
||||
} catch (Exception exp) { |
||||
FineLoggerFactory.getLogger().error(exp.getMessage(), exp); |
||||
FineLoggerFactory.getLogger().error("Can not open the browser for URL: " + url); |
||||
} |
||||
} |
||||
}); |
||||
return downloadButton; |
||||
} |
||||
|
||||
/** |
||||
* 创建安装模板的按钮 |
||||
*/ |
||||
protected UIButton createInstallButton() { |
||||
return createToolButton( |
||||
BaseUtils.readIcon("/com/fr/design/form/images/install icon.png"), |
||||
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Install_Template"), |
||||
new ActionListener() { |
||||
@Override |
||||
public void actionPerformed(ActionEvent e) { |
||||
JFileChooser fileChooser = new JFileChooser(); |
||||
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); |
||||
fileChooser.setFileFilter(new FileNameExtensionFilter(".reu", "reu")); |
||||
int returnValue = fileChooser.showDialog(new UILabel(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Select")); |
||||
if (returnValue == JFileChooser.APPROVE_OPTION) { |
||||
final File chosenFile = fileChooser.getSelectedFile(); |
||||
installFromDiskZipFile(chosenFile); |
||||
} |
||||
} |
||||
} |
||||
); |
||||
} |
||||
|
||||
/** |
||||
* 创建删除模板的按钮 |
||||
*/ |
||||
protected UIButton createDeleteButton() { |
||||
return createToolButton( |
||||
BaseUtils.readIcon("/com/fr/design/form/images/delete icon.png"), |
||||
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Delete_Template"), |
||||
new ActionListener() { |
||||
@Override |
||||
public void actionPerformed(ActionEvent e) { |
||||
replaceButtonPanel(true); |
||||
} |
||||
} |
||||
); |
||||
} |
||||
|
||||
/** |
||||
* 获取报表块组件分类 |
||||
*/ |
||||
protected String[] getFormCategories() { |
||||
|
||||
return ArrayUtils.addAll(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_AllCategories")}, ShareLoader.getLoader().getModuleCategory()); |
||||
} |
||||
|
||||
protected void refreshShowPanel(boolean isEdit) { |
||||
|
||||
componentLibPane.remove(showPane); |
||||
showPane = createShowPanel(isEdit); |
||||
componentLibPane.add(showPane); |
||||
repaint(); |
||||
} |
||||
|
||||
private void refreshComboBoxData() { |
||||
|
||||
menuPanelComboBox.setSelectedIndex(0); |
||||
menuPanelComboBox.setModel(new DefaultComboBoxModel(getFormCategories())); |
||||
} |
||||
|
||||
private void replaceButtonPanel(boolean isEdit) { |
||||
|
||||
this.isEdit = isEdit; |
||||
if (isEdit) { |
||||
menuPanelNorthPane.remove(editPanel); |
||||
menuPanelNorthPane.add(initResetButtonPane(), BorderLayout.EAST); |
||||
} else { |
||||
menuPanelNorthPane.remove(resetPanel); |
||||
menuPanelNorthPane.add(initEditButtonPane(), BorderLayout.EAST); |
||||
ShareLoader.getLoader().resetRemovedModuleList(); |
||||
} |
||||
} |
||||
|
||||
private void installFromDiskZipFile(File chosenFile) { |
||||
|
||||
if (chosenFile != null && chosenFile.getName().endsWith(ShareConstants.SUFFIX_MODULE)) { |
||||
try { |
||||
if (ShareLoader.getLoader().installModuleFromDiskZipFile(chosenFile)) { |
||||
refreshShareModule(); |
||||
bindInfoArray = ShareLoader.getLoader().getAllBindInfoList(); |
||||
refreshShowPanel(false); |
||||
refreshComboBoxData(); |
||||
JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Share_Module_OK")); |
||||
} else { |
||||
JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Share_Module_Error")); |
||||
} |
||||
} catch (IOException e) { |
||||
JOptionPane.showMessageDialog(null, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Share_Module_Error")); |
||||
FineLoggerFactory.getLogger().error(e.getMessage(), e); |
||||
} |
||||
} |
||||
} |
||||
|
||||
private void refreshShareModule() { |
||||
try { |
||||
ShareLoader.getLoader().refreshModule(); |
||||
} catch (Exception e) { |
||||
FineLoggerFactory.getLogger().error(e.getMessage(), e); |
||||
} |
||||
} |
||||
|
||||
public void repaint() { |
||||
|
||||
parentView.validate(); |
||||
parentView.repaint(); |
||||
parentView.revalidate(); |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue