summaryrefslogtreecommitdiffstats
path: root/src/cppcheckplus/outlookpanel/MyOutlookHeader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cppcheckplus/outlookpanel/MyOutlookHeader.java')
-rw-r--r--src/cppcheckplus/outlookpanel/MyOutlookHeader.java109
1 files changed, 109 insertions, 0 deletions
diff --git a/src/cppcheckplus/outlookpanel/MyOutlookHeader.java b/src/cppcheckplus/outlookpanel/MyOutlookHeader.java
new file mode 100644
index 0000000..c7ba589
--- /dev/null
+++ b/src/cppcheckplus/outlookpanel/MyOutlookHeader.java
@@ -0,0 +1,109 @@
1
2package cppcheckplus.outlookpanel;
3
4import java.awt.FlowLayout;
5import java.awt.LayoutManager;
6import java.awt.event.ActionEvent;
7import java.awt.event.ActionListener;
8import javax.swing.BorderFactory;
9import javax.swing.Icon;
10import javax.swing.ImageIcon;
11import javax.swing.JComponent;
12import javax.swing.JLabel;
13import javax.swing.JPanel;
14import javax.swing.border.Border;
15
16import cppcheckplus.control.MyContorlUtil;
17import cppcheckplus.control.MyHeader;
18import cppcheckplus.control.MyListSplitListener;
19import cppcheckplus.toolbar.MyToolBarButton;
20
21public class MyOutlookHeader extends MyHeader
22{
23 private LayoutManager toolbarLayout;
24 private JPanel toolbar;
25 private ImageIcon separatorIcon;
26
27 public MyOutlookHeader(ActionListener listener)
28 {
29 toolbarLayout = new FlowLayout(FlowLayout.LEFT,2,1);
30 toolbar = new JPanel(toolbarLayout);
31 separatorIcon = MyContorlUtil.getImageIcon("control/images/toolbar_separator.png");
32 init();
33 //加载工具栏
34 MyContorlUtil.loadOutlookToolBar("cppcheckplus/control/toolbar.xml", this,listener);
35 }
36
37 private void init()
38 {
39 toolbar.setOpaque(false);
40 toolbar.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5));
41 add(toolbar, "Center");
42 }
43 //在Header上添加工具按钮
44 public MyToolBarButton addButton(Icon icon, String tooltip, ActionListener action, String command)
45 {
46 MyToolBarButton button = new MyToolBarButton();
47 button.setIcon(icon);
48 button.setToolTipText(tooltip);
49 if (action != null)
50 button.addActionListener(action);
51 button.setActionCommand(command);
52 toolbar.add(button);
53 return button;
54 }
55
56 public void addSeparator()
57 {
58 toolbar.add(new JLabel(separatorIcon));
59 }
60
61 protected Object getResizeHandlerLayoutConstraint()
62 {
63 return "East";
64 }
65
66 protected Object getShrinkHandlerLayoutConstraint()
67 {
68 return "West";
69 }
70
71 protected MyListSplitListener createSplitListener()
72 {
73 return new MyOutlookSplitListener(this);
74 }
75
76 protected Border createBorder()
77 {
78 return BorderFactory.createEmptyBorder(4, 0, 0, 7);
79 }
80
81 protected ImageIcon getShrinkIcon(boolean shrinked)
82 {
83 if (shrinked)
84 return RIGHT_ARROW_ICON;
85 else
86 return LEFT_ARROW_ICON;
87 }
88
89 protected JComponent getCenterComponent()
90 {
91 return null;
92 }
93
94 public void setShrink(boolean shrinked)
95 {
96 super.setShrink(shrinked);
97 toolbar.setVisible(!shrinked);
98 }
99
100 protected int getShrinkedWidth()
101 {
102 return 37;
103 }
104
105 public JPanel getToolBar()
106 {
107 return toolbar;
108 }
109}