Source code: com/virtuosotechnologies/lib/basiccommand/builder/MenuBarGlueBuilderNode.java
1 /*
2 ================================================================================
3
4 FILE: MenuBarGlueBuilderNode.java
5
6 PROJECT:
7
8 Virtuoso Utilities
9
10 CONTENTS:
11
12 A builder that creates glue in the menu bar
13
14 PROGRAMMERS:
15
16 Daniel Azuma (DA) <dazuma@kagi.com>
17
18 COPYRIGHT:
19
20 Copyright (C) 2003 Daniel Azuma (dazuma@kagi.com)
21
22 This program is free software; you can redistribute it and/or
23 modify it under the terms of the GNU General Public License as
24 published by the Free Software Foundation; either version 2
25 of the License, or (at your option) any later version.
26
27 This program is distributed in the hope that it will be useful,
28 but WITHOUT ANY WARRANTY; without even the implied warranty of
29 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 GNU General Public License for more details.
31
32 You should have received a copy of the GNU General Public
33 License along with this program; if not, write to
34 Free Software Foundation, Inc.
35 59 Temple Place, Suite 330
36 Boston, MA 02111-1307 USA
37
38 ================================================================================
39 */
40
41
42 package com.virtuosotechnologies.lib.basiccommand.builder;
43
44
45 import javax.swing.JComponent;
46 import java.awt.Dimension;
47
48 import com.virtuosotechnologies.lib.command.CommandNode;
49
50
51 /**
52 * A builder that creates glue in the menu bar
53 */
54 public class MenuBarGlueBuilderNode
55 extends AbstractElementBuilderNode
56 {
57 /**
58 * Constructor
59 */
60 protected MenuBarGlueBuilderNode(
61 CommandNode commandNode,
62 AbstractBranchBuilderNode parent,
63 int index)
64 {
65 super(commandNode, parent, index);
66 }
67
68
69 /**
70 * Override this method to create the initial element object.
71 */
72 protected Object createInitialElement()
73 {
74 return new GlueObject();
75 }
76
77
78 /**
79 * Glue object.
80 */
81 private static class GlueObject
82 extends JComponent
83 {
84 /**
85 * Constructor
86 */
87 GlueObject()
88 {
89 setOpaque(true);
90 }
91
92
93 /**
94 * Returns the minimum size of the component.
95 *
96 * @return the size
97 */
98 public Dimension getMinimumSize()
99 {
100 return new Dimension(0, 0);
101 }
102
103
104 /**
105 * Returns the preferred size of the component.
106 *
107 * @return the size
108 */
109 public Dimension getPreferredSize()
110 {
111 return new Dimension(0, 0);
112 }
113
114
115 /**
116 * Returns the maximum size of the component.
117 *
118 * @return the size
119 */
120 public Dimension getMaximumSize()
121 {
122 return new Dimension(Short.MAX_VALUE, 0);
123 }
124 }
125 }