|
|
|
@ -31,13 +31,13 @@ import com.fr.design.gui.imenu.UIMenuHighLight;
|
|
|
|
|
import com.fr.design.gui.iprogressbar.ProgressDialog; |
|
|
|
|
import com.fr.design.gui.iscrollbar.UIScrollBar; |
|
|
|
|
import com.fr.design.gui.itoolbar.UIToolbar; |
|
|
|
|
import com.fr.design.i18n.Toolkit; |
|
|
|
|
import com.fr.design.layout.FRGUIPaneFactory; |
|
|
|
|
import com.fr.design.mainframe.loghandler.LogMessageBar; |
|
|
|
|
import com.fr.design.mainframe.toolbar.ToolBarMenuDock; |
|
|
|
|
import com.fr.design.mainframe.toolbar.ToolBarMenuDockPlus; |
|
|
|
|
import com.fr.design.menu.MenuManager; |
|
|
|
|
import com.fr.design.menu.ShortCut; |
|
|
|
|
import com.fr.design.utils.DesignUtils; |
|
|
|
|
import com.fr.design.utils.gui.GUICoreUtils; |
|
|
|
|
import com.fr.exception.DecryptTemplateException; |
|
|
|
|
import com.fr.file.FILE; |
|
|
|
@ -68,6 +68,7 @@ import javax.swing.JLayeredPane;
|
|
|
|
|
import javax.swing.JMenuBar; |
|
|
|
|
import javax.swing.JOptionPane; |
|
|
|
|
import javax.swing.JPanel; |
|
|
|
|
import javax.swing.SwingUtilities; |
|
|
|
|
import javax.swing.UIManager; |
|
|
|
|
import javax.swing.WindowConstants; |
|
|
|
|
import javax.swing.border.MatteBorder; |
|
|
|
@ -78,7 +79,6 @@ import java.awt.Graphics;
|
|
|
|
|
import java.awt.Insets; |
|
|
|
|
import java.awt.Point; |
|
|
|
|
import java.awt.Rectangle; |
|
|
|
|
import java.awt.Toolkit; |
|
|
|
|
import java.awt.datatransfer.DataFlavor; |
|
|
|
|
import java.awt.datatransfer.Transferable; |
|
|
|
|
import java.awt.dnd.DnDConstants; |
|
|
|
@ -162,9 +162,9 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
|
|
|
|
|
//用于判断设计器是否打开了
|
|
|
|
|
private boolean designerOpened = false; |
|
|
|
|
|
|
|
|
|
private int contentWidth = (int) (Toolkit.getDefaultToolkit().getScreenSize().getWidth()); |
|
|
|
|
private int contentWidth = (int) (java.awt.Toolkit.getDefaultToolkit().getScreenSize().getWidth()); |
|
|
|
|
|
|
|
|
|
private int contentHeight = (int) (Toolkit.getDefaultToolkit().getScreenSize().getHeight()); |
|
|
|
|
private int contentHeight = (int) (java.awt.Toolkit.getDefaultToolkit().getScreenSize().getHeight()); |
|
|
|
|
|
|
|
|
|
private WindowAdapter windowAdapter = new WindowAdapter() { |
|
|
|
|
|
|
|
|
@ -413,7 +413,16 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
|
|
|
|
|
public void on(PluginEvent event) { |
|
|
|
|
|
|
|
|
|
refreshNorthEastPane(northEastPane, ad); |
|
|
|
|
DesignUtils.refreshDesignerFrame(); |
|
|
|
|
SwingUtilities.invokeLater(new Runnable() { |
|
|
|
|
@Override |
|
|
|
|
public void run() { |
|
|
|
|
if (DesignerContext.getDesignerFrame() == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
DesignerContext.getDesignerFrame().refresh(); |
|
|
|
|
DesignerContext.getDesignerFrame().repaint(); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
}, new PluginFilter() { |
|
|
|
|
|
|
|
|
@ -815,14 +824,19 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
|
|
|
|
|
* 报表运行环境改变时,需要刷新某些面板 |
|
|
|
|
*/ |
|
|
|
|
public void refreshEnv() { |
|
|
|
|
refresh(); |
|
|
|
|
DesignerFrameFileDealerPane.getInstance().refreshDockingView(); |
|
|
|
|
TemplateTreePane.getInstance().refreshDockingView(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 安装设计器相关插件时的刷新 |
|
|
|
|
*/ |
|
|
|
|
public void refresh() { |
|
|
|
|
this.setTitle(); |
|
|
|
|
DesignerFrameFileDealerPane.getInstance().refreshDockingView(); |
|
|
|
|
TableDataTreePane.getInstance(DesignModelAdapter.getCurrentModelAdapter()); |
|
|
|
|
TemplateTreePane.getInstance().refreshDockingView(); |
|
|
|
|
DesignTableDataManager.clearGlobalDs(); |
|
|
|
|
EastRegionContainerPane.getInstance().refreshDownPane(); |
|
|
|
|
|
|
|
|
|
JTemplate template = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); |
|
|
|
|
if (template != null) { |
|
|
|
|
template.refreshToolArea(); |
|
|
|
@ -855,18 +869,18 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
|
|
|
|
|
editingTemplate.stopEditing(); |
|
|
|
|
if (!editingTemplate.getEditingFILE().exists()) { |
|
|
|
|
int returnVal = JOptionPane.showConfirmDialog(DesignerContext.getDesignerFrame(), |
|
|
|
|
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Would_You_Like_To_Save") + " \"" + editingTemplate.getEditingFILE() |
|
|
|
|
Toolkit.i18nText("Fine-Design_Basic_Utils_Would_You_Like_To_Save") + " \"" + editingTemplate.getEditingFILE() |
|
|
|
|
+ "\" ?", ProductConstants.PRODUCT_NAME, JOptionPane.YES_NO_OPTION, |
|
|
|
|
JOptionPane.QUESTION_MESSAGE); |
|
|
|
|
if (returnVal == JOptionPane.YES_OPTION && editingTemplate.saveTemplate()) { |
|
|
|
|
editingTemplate.saveTemplate(); |
|
|
|
|
FineLoggerFactory.getLogger().info(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Template_Already_Saved", |
|
|
|
|
FineLoggerFactory.getLogger().info(Toolkit.i18nText("Fine-Design_Basic_Template_Already_Saved", |
|
|
|
|
editingTemplate.getEditingFILE().getName())); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
if (editingTemplate.saveTemplate()) { |
|
|
|
|
editingTemplate.saveTemplate(); |
|
|
|
|
FineLoggerFactory.getLogger().info(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Template_Already_Saved", |
|
|
|
|
FineLoggerFactory.getLogger().info(Toolkit.i18nText("Fine-Design_Basic_Template_Already_Saved", |
|
|
|
|
editingTemplate.getEditingFILE().getName())); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -963,8 +977,12 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
|
|
|
|
|
|
|
|
|
|
// p:判断一下,如何文件为空或者文件不存在,直接返回.
|
|
|
|
|
if (tplFile == null || !tplFile.exists()) { |
|
|
|
|
JOptionPane.showMessageDialog(this, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Warning_Template_Do_Not_Exsit"), |
|
|
|
|
ProductConstants.PRODUCT_NAME, JOptionPane.INFORMATION_MESSAGE); |
|
|
|
|
JOptionPane.showMessageDialog( |
|
|
|
|
this, |
|
|
|
|
Toolkit.i18nText("Fine-Design_Basic_Warning_Template_Do_Not_Exsit"), |
|
|
|
|
ProductConstants.PRODUCT_NAME, |
|
|
|
|
JOptionPane.INFORMATION_MESSAGE |
|
|
|
|
); |
|
|
|
|
DesignerFrameFileDealerPane.getInstance().refresh(); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
@ -974,7 +992,7 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
|
|
|
|
|
} catch (DecryptTemplateException e) { |
|
|
|
|
JOptionPane.showMessageDialog( |
|
|
|
|
this, |
|
|
|
|
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Encrypt_Decrypt_Exception"), |
|
|
|
|
Toolkit.i18nText("Fine-Design_Encrypt_Decrypt_Exception"), |
|
|
|
|
UIManager.getString("OptionPane.messageDialogTitle"), |
|
|
|
|
JOptionPane.WARNING_MESSAGE, |
|
|
|
|
UIManager.getIcon("OptionPane.errorIcon") |
|
|
|
@ -1033,7 +1051,7 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
|
|
|
|
|
MutilTempalteTabPane.getInstance().setTemTemplate( |
|
|
|
|
HistoryTemplateListPane.getInstance().getCurrentEditingTemplate()); |
|
|
|
|
} else { |
|
|
|
|
activeTemplate(tplFile, jt); |
|
|
|
|
activeTemplate(jt); |
|
|
|
|
} |
|
|
|
|
opened = true; |
|
|
|
|
break; |
|
|
|
@ -1048,13 +1066,12 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
|
|
|
|
|
/** |
|
|
|
|
* 激活指定的模板 |
|
|
|
|
* |
|
|
|
|
* @param tplFile 模板文件 |
|
|
|
|
* @param jt 当前报表 |
|
|
|
|
* @param jt 当前报表 |
|
|
|
|
* @date 2014-10-14-下午6:31:23 |
|
|
|
|
*/ |
|
|
|
|
private void activeTemplate(FILE tplFile, JTemplate jt) { |
|
|
|
|
private void activeTemplate(JTemplate jt) { |
|
|
|
|
// 如果该模板已经打开,则进行激活就可以了
|
|
|
|
|
int index = HistoryTemplateListPane.getInstance().contains(tplFile.getPath()); |
|
|
|
|
int index = HistoryTemplateListPane.getInstance().contains(jt); |
|
|
|
|
List<JTemplate<?, ?>> historyList = HistoryTemplateListPane.getInstance().getHistoryList(); |
|
|
|
|
if (index != -1) { |
|
|
|
|
historyList.get(index).activeJTemplate(index, jt); |
|
|
|
|