/[schmitzm]/trunk/src/skrueger/geotools/MapView.java
ViewVC logotype

Annotation of /trunk/src/skrueger/geotools/MapView.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 139 - (hide annotations)
Thu Jun 11 12:52:58 2009 UTC (15 years, 8 months ago) by alfonx
File size: 5696 byte(s)
* Fixed a bug when creating more than 3 additional styles at once... A NPE occurred because none has been set as the selected additional style.
* Moved the i8n and Localisation for LabelSearch to schmitzm

1 mojays 2 package skrueger.geotools;
2    
3     import java.awt.BorderLayout;
4 alfonx 87 import java.awt.Window;
5 mojays 2
6     import javax.swing.BorderFactory;
7     import javax.swing.JComponent;
8     import javax.swing.JPanel;
9     import javax.swing.JSplitPane;
10    
11     import org.apache.log4j.Logger;
12    
13     import schmitzm.geotools.gui.GeoMapPane;
14     import schmitzm.geotools.gui.JMapPane;
15     import schmitzm.geotools.gui.MapContextControlPane;
16     import schmitzm.geotools.gui.MapPaneStatusBar;
17     import schmitzm.geotools.styling.ColorMapManager;
18    
19     /**
20     * Achtung! Dieser code ist verwuestet
21     */
22    
23     /**
24     * TODO DOKU und initialize schöner machen. SK
25     */
26     public class MapView extends JPanel {
27     private static final Logger LOGGER = Logger.getLogger(MapView.class);
28    
29     private final JSplitPane splitPane = new JSplitPane(
30     JSplitPane.HORIZONTAL_SPLIT);
31    
32     protected MapPaneStatusBar statusBar = null;
33    
34     /**
35     * Komponente, in der die Karten, der Massstab und das Koordinaten-Raster
36     * dargestellt werden
37     */
38     protected final GeoMapPane geoMapPane = new GeoMapPane();
39    
40     private MapPaneToolBar jToolBar;
41    
42     /**
43     * Creates a new {@link MapView}. A {@link MapView} is a combination of a
44     * {@link GeoMapPane}, a {@link MapContextManagerInterface} on the left,
45     * and some buttons floating over the {@link JMapPane}
46     */
47 alfonx 87 public MapView(Window parentGui, MapPaneToolBar toolBar) {
48 mojays 2 super(new BorderLayout());
49     // Call initialize() by yourself afterwards.
50     // Needed because variables for the overwritten methods
51     // are not yet set.
52 alfonx 87 getGeoMapPane().getMapPane().setWaitCursorComponent(parentGui);
53 mojays 2 if ( toolBar == null )
54     toolBar = new MapPaneToolBar(getMapPane());
55     jToolBar = toolBar;
56     }
57    
58     /**
59     * Creates a new {@link MapView}. A {@link MapView} is a combination of a
60     * {@link GeoMapPane}, a {@link MapContextManagerInterface} on the left,
61     * and some buttons floating over the {@link JMapPane}
62     */
63 alfonx 87 public MapView(Window parentGui) {
64     this(parentGui, null);
65 mojays 2 }
66    
67     /**
68     * Calls #getSidePanel() which can be overwritten.
69     *
70     * @see #adjustSizeOfGeoMapPane()
71     */
72     public void initialize() {
73     // horizontales SplitPane initialisieren
74    
75     // Status-Zeile
76     statusBar = new MapPaneStatusBar(getGeoMapPane()
77     .getMapPane());
78     statusBar.setBorder(BorderFactory.createCompoundBorder(BorderFactory
79     .createLoweredBevelBorder(), BorderFactory.createEmptyBorder(2,
80     5, 2, 5)));
81     this.add(statusBar, BorderLayout.SOUTH);
82    
83     splitPane.setDividerLocation(0.4);
84     splitPane.setDividerSize(5);
85    
86     splitPane.add(getSidePane());
87    
88     /***********************************************************************
89     * To the right side we now add a JPanel that consists of a toolbar and
90     * a gmp
91     */
92     JPanel newRight = new JPanel(new BorderLayout());
93     newRight.add(getToolBar(), BorderLayout.NORTH);
94     newRight.add(getGeoMapPane(), BorderLayout.CENTER);
95     splitPane.add(newRight);
96 alfonx 139
97    
98 mojays 2
99     this.add(splitPane, BorderLayout.CENTER);
100     }
101    
102     /**
103     * Returns the tool bar which controls the active mouse actions on the map.
104     * @return
105     */
106     public MapPaneToolBar getToolBar() {
107     return jToolBar;
108     }
109    
110     /**
111     * Returns the split pane which divides the layer list from the map panel.
112     */
113     public JSplitPane getSplitPane() {
114     return this.splitPane;
115     }
116    
117    
118     /**
119     * Sets the active tool.
120     * Simply calls {@link MapPaneToolBar#setSelectedTool(Integer)}.
121     * @param tool
122     * One of {@link #TOOL_INFO}, {@link #TOOL_PAN} .. constants
123     */
124     public void setSelectedTool(Integer tool) {
125     jToolBar.setSelectedTool(tool);
126     }
127    
128     /**
129     * Sets whether a tool is activated or not.
130     * Simply calls {@link MapPaneToolBar#setButtonEnabled(int, boolean, boolean)}.
131     * @param tool tool ID
132     * @param enabled if {@code true} the tool becomes available
133     * @param hideOnDisable if {@code true} the button is also hidden if
134     * {@code enabled} is {@code false}
135     */
136     public void setToolEnabled(Integer tool, boolean enabled, boolean hideOnDisable) {
137     jToolBar.setButtonEnabled(tool,enabled,hideOnDisable);
138     }
139    
140     /**
141     * Sets the activation for all tools.
142     * Simply calls {@link MapPaneToolBar#setAllToolsEnabled(boolean, boolean)}.
143     * @param enabled if {@code true} all tool becomes available
144     * @param hideOnDisable if {@code true} the buttons are also hidden if
145     * {@code enabled} is {@code false}
146     */
147     public void setAllToolsEnabled(boolean enabled, boolean hideOnDisable) {
148     jToolBar.setAllToolsEnabled(enabled, hideOnDisable);
149     }
150    
151     /**
152     * Checks whether a tool is activated.
153     * Simply calls {@link MapPaneToolBar#isButtonEnabled(Integer)}.
154     * @param tool tool ID
155     * @return {@code false} if an unknown ID is specified
156     */
157     public boolean isToolEnabled(Integer tool) {
158     return jToolBar.isButtonEnabled(tool);
159     }
160    
161     /**
162     * called by initialize() to fill the left of the XULUMapView Supposed to be
163     * overwritten by AtlasMapView or DesignMapView
164     */
165     public JComponent getSidePane() {
166     return new MapContextControlPane(getGeoMapPane().getMapPane(),
167     new ColorMapManager());
168     }
169    
170     /**
171     * Liefert die Status-Zeile, in der die Koordinaten und Raster-Werte
172     * angezeigt werden.
173     */
174     public MapPaneStatusBar getStatusBar() {
175     return this.statusBar;
176     }
177    
178     /**
179     * Liefert den Karten-Bereich der Komponente.
180     */
181     public final JMapPane getMapPane() {
182     return getGeoMapPane().getMapPane();
183     }
184    
185     public GeoMapPane getGeoMapPane() {
186     return geoMapPane;
187     }
188    
189     public int getSelectedTool() {
190     return jToolBar.getSelectedTool();
191     }
192    
193     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26