|
|
|
@ -29,49 +29,63 @@ import java.awt.event.MouseListener;
|
|
|
|
|
|
|
|
|
|
//TODO: august TemplatePane和TemplateTreePane最好合并成一个类
|
|
|
|
|
public class TemplatePane extends JPanel implements MouseListener { |
|
|
|
|
|
|
|
|
|
private static final long NUM = 1L; |
|
|
|
|
|
|
|
|
|
private static int NUM200 = 200; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static TemplatePane getInstance() { |
|
|
|
|
|
|
|
|
|
return HOLDER.singleton; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static class HOLDER { |
|
|
|
|
|
|
|
|
|
private static TemplatePane singleton = new TemplatePane(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static final long serialVersionUID = 2108412478281713143L; |
|
|
|
|
|
|
|
|
|
public static final int HEIGHT = 23;// 最好和日志的高度统一 用同一个变量
|
|
|
|
|
|
|
|
|
|
private static javax.swing.Icon leftIcon = BaseUtils.readIcon("/com/fr/design/images/docking/left.png"); |
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
private static javax.swing.Icon rightIcon = BaseUtils.readIcon("/com/fr/design/images/docking/right.png"); |
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
private boolean isExpanded = false; |
|
|
|
|
|
|
|
|
|
private UIButton editButton; |
|
|
|
|
|
|
|
|
|
private UILabel envLabel; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private TemplatePane() { |
|
|
|
|
|
|
|
|
|
super(); |
|
|
|
|
this.initComponents(); |
|
|
|
|
this.setFocusable(true); |
|
|
|
|
this.addMouseListener(this); |
|
|
|
|
isExpanded = DesignerEnvManager.getEnvManager().isTemplateTreePaneExpanded(); |
|
|
|
|
// TemplateTreePane.getInstance().setVisible(isExpanded);
|
|
|
|
|
TemplateTreePane.getInstance().setVisible(isExpanded); |
|
|
|
|
TemplateTreePane.getInstance().setVisible(true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void initComponents() { |
|
|
|
|
|
|
|
|
|
GeneralContext.addEnvChangedListener(new EnvChangedListener() { |
|
|
|
|
|
|
|
|
|
public void envChanged() { |
|
|
|
|
|
|
|
|
|
setJLabel(DesignerEnvManager.getEnvManager().getCurEnvName()); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
this.setLayout(new BorderLayout(25, 0)); |
|
|
|
|
editButton = new UIButton(BaseUtils.readIcon("/com/fr/design/images/control/control-center2.png")) { |
|
|
|
|
|
|
|
|
|
private static final long serialVersionUID = NUM; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public Point getToolTipLocation(MouseEvent event) { |
|
|
|
|
|
|
|
|
|
return new Point(25, 2); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
@ -83,7 +97,9 @@ public class TemplatePane extends JPanel implements MouseListener {
|
|
|
|
|
this.add(new UILabel(" "), BorderLayout.WEST); |
|
|
|
|
this.add(editButton, BorderLayout.EAST); |
|
|
|
|
editButton.addActionListener(new ActionListener() { |
|
|
|
|
|
|
|
|
|
public void actionPerformed(ActionEvent evt) { |
|
|
|
|
|
|
|
|
|
editItems(); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
@ -92,35 +108,41 @@ public class TemplatePane extends JPanel implements MouseListener {
|
|
|
|
|
setJLabel(DesignerEnvManager.getEnvManager().getCurEnvName()); |
|
|
|
|
this.add(envLabel, BorderLayout.CENTER); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 是否可扩展 |
|
|
|
|
* |
|
|
|
|
* @return 同上 |
|
|
|
|
*/ |
|
|
|
|
public boolean IsExpanded() { |
|
|
|
|
|
|
|
|
|
return this.isExpanded; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void setExpand(boolean b) { |
|
|
|
|
|
|
|
|
|
this.isExpanded = b; |
|
|
|
|
this.repaint(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private boolean envListOkAction(EnvListPane envListPane) { |
|
|
|
|
|
|
|
|
|
final String selectedName = envListPane.updateEnvManager(); |
|
|
|
|
DesignerEnvManager envManager = DesignerEnvManager.getEnvManager(); |
|
|
|
|
DesignerWorkspaceInfo selectedEnv = envManager.getWorkspaceInfo(selectedName); |
|
|
|
|
GeneralContext.fireEnvWillChangeListener(); |
|
|
|
|
try { |
|
|
|
|
WorkContext.switchTo(DesignerWorkspaceGenerator.generate(selectedEnv), new WorkContextCallback() { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void fail() { |
|
|
|
|
|
|
|
|
|
JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Inter.getLocText(new String[]{"M-SwitchWorkspace", "Failed"})); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void success() { |
|
|
|
|
|
|
|
|
|
DesignUtils.refreshDesignerFrame(); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
@ -140,61 +162,71 @@ public class TemplatePane extends JPanel implements MouseListener {
|
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private String getDesignerVersion(DesignerWorkspaceInfo selectedEnv) { |
|
|
|
|
// return selectedEnv.getDesignerVersion();
|
|
|
|
|
throw new UnsupportedOperationException("unsupport now"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 编辑items |
|
|
|
|
*/ |
|
|
|
|
public void editItems() { |
|
|
|
|
|
|
|
|
|
final EnvListPane envListPane = new EnvListPane(); |
|
|
|
|
final BasicDialog envListDialog = envListPane.showWindow(SwingUtilities.getWindowAncestor(DesignerContext.getDesignerFrame())); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
envListPane.populateEnvManager(envLabel.getText()); |
|
|
|
|
envListDialog.addDialogActionListener(new DialogActionAdapter() { |
|
|
|
|
|
|
|
|
|
public void doOk() { |
|
|
|
|
|
|
|
|
|
envListOkAction(envListPane); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void doCancel() { |
|
|
|
|
|
|
|
|
|
envListDialog.setVisible(false); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
envListDialog.setVisible(true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setJLabel(String name) { |
|
|
|
|
|
|
|
|
|
private void setJLabel(String name) { |
|
|
|
|
|
|
|
|
|
DesignerWorkspaceInfo config = DesignerEnvManager.getEnvManager().getWorkspaceInfo(name); |
|
|
|
|
switch (config.getType()) { |
|
|
|
|
case Remote: { |
|
|
|
|
envLabel.setIcon(IOUtils.readIcon("com/fr/design/images/data/bind/localconnect.png")); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case Local: { |
|
|
|
|
envLabel.setIcon(IOUtils.readIcon("com/fr/design/images/data/bind/distanceconnect.png")); |
|
|
|
|
break; |
|
|
|
|
if (config != null) { |
|
|
|
|
switch (config.getType()) { |
|
|
|
|
case Remote: { |
|
|
|
|
envLabel.setIcon(IOUtils.readIcon("com/fr/design/images/data/bind/localconnect.png")); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
case Local: { |
|
|
|
|
envLabel.setIcon(IOUtils.readIcon("com/fr/design/images/data/bind/distanceconnect.png")); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
envLabel.setText(name); |
|
|
|
|
envLabel.repaint(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public Dimension getPreferredSize() { |
|
|
|
|
|
|
|
|
|
return new Dimension(250, HEIGHT); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void paintComponent(Graphics g) { |
|
|
|
|
|
|
|
|
|
super.paintComponent(g); |
|
|
|
|
paintBackgroundIcon(g); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void paintBackgroundIcon(Graphics g) { |
|
|
|
|
|
|
|
|
|
int w = this.getWidth(); |
|
|
|
|
int h = this.getHeight(); |
|
|
|
|
Graphics2D g2d = (Graphics2D) g; |
|
|
|
@ -209,9 +241,9 @@ public class TemplatePane extends JPanel implements MouseListener {
|
|
|
|
|
g2d.drawLine(w - 1, 2, w - 1, h - 1); |
|
|
|
|
Icon icon = !isExpanded ? leftIcon : rightIcon; |
|
|
|
|
icon.paintIcon(this, g2d, 4, 4); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 鼠标点击 |
|
|
|
|
* |
|
|
|
@ -219,8 +251,9 @@ public class TemplatePane extends JPanel implements MouseListener {
|
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public void mouseClicked(MouseEvent e) { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 鼠标按下 |
|
|
|
|
* |
|
|
|
@ -228,6 +261,7 @@ public class TemplatePane extends JPanel implements MouseListener {
|
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public void mousePressed(MouseEvent e) { |
|
|
|
|
|
|
|
|
|
if (e.getX() < NUM200) { |
|
|
|
|
isExpanded = !isExpanded; |
|
|
|
|
TemplateTreePane.getInstance().setVisible(isExpanded); |
|
|
|
@ -235,7 +269,7 @@ public class TemplatePane extends JPanel implements MouseListener {
|
|
|
|
|
DesignerEnvManager.getEnvManager().setTemplateTreePaneExpanded(isExpanded); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 鼠标放开 |
|
|
|
|
* |
|
|
|
@ -243,8 +277,9 @@ public class TemplatePane extends JPanel implements MouseListener {
|
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public void mouseReleased(MouseEvent e) { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 鼠标进入 |
|
|
|
|
* |
|
|
|
@ -252,8 +287,9 @@ public class TemplatePane extends JPanel implements MouseListener {
|
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public void mouseEntered(MouseEvent e) { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 鼠标离开 |
|
|
|
|
* |
|
|
|
@ -261,28 +297,33 @@ public class TemplatePane extends JPanel implements MouseListener {
|
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public void mouseExited(MouseEvent e) { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 处理异常 |
|
|
|
|
*/ |
|
|
|
|
public void dealEvnExceptionWhenStartDesigner() { |
|
|
|
|
|
|
|
|
|
final EnvListPane envListPane = new EnvListPane(); |
|
|
|
|
envListPane.populateEnvManager(envLabel.getText()); |
|
|
|
|
BasicDialog envListDialog = envListPane.showWindow(SwingUtilities.getWindowAncestor(DesignerContext.getDesignerFrame())); |
|
|
|
|
envListDialog.addDialogActionListener(new DialogActionAdapter() { |
|
|
|
|
|
|
|
|
|
public void doOk() { |
|
|
|
|
|
|
|
|
|
if (!envListOkAction(envListPane)) { |
|
|
|
|
System.exit(0); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void doCancel() { |
|
|
|
|
|
|
|
|
|
System.exit(0); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
envListDialog.setVisible(true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |