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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 164 by alfonx, Tue Jun 23 16:06:23 2009 UTC revision 227 by alfonx, Fri Jul 17 07:25:29 2009 UTC
# Line 1  Line 1 
1  package skrueger.geotools;  package skrueger.geotools;
2    
3  import java.awt.BorderLayout;  import java.awt.BorderLayout;
4  import java.awt.Window;  import java.awt.Component;
5    
6  import javax.swing.BorderFactory;  import javax.swing.BorderFactory;
7  import javax.swing.JComponent;  import javax.swing.JComponent;
# Line 10  import javax.swing.JSplitPane; Line 10  import javax.swing.JSplitPane;
10    
11  import org.apache.log4j.Logger;  import org.apache.log4j.Logger;
12  import org.geotools.renderer.lite.StreamingRenderer;  import org.geotools.renderer.lite.StreamingRenderer;
13    import org.geotools.renderer.shape.TransitionShapefileRenderer;
14    
15  import schmitzm.geotools.gui.GeoMapPane;  import schmitzm.geotools.gui.GeoMapPane;
16  import schmitzm.geotools.gui.JMapPane;  import schmitzm.geotools.gui.JMapPane;
# Line 18  import schmitzm.geotools.gui.MapPaneStat Line 19  import schmitzm.geotools.gui.MapPaneStat
19  import schmitzm.geotools.styling.ColorMapManager;  import schmitzm.geotools.styling.ColorMapManager;
20    
21  /**  /**
22   * Achtung! Dieser code ist verwuestet   * Achtung! Dieser code ist verwuestet TODO DOKU und initialize schöner machen.
23   * TODO DOKU und initialize schöner machen. SK   * SK
24   */   */
25  public class MapView extends JPanel {  public class MapView extends JPanel {
26          private static final Logger LOGGER = Logger.getLogger(MapView.class);          private static final Logger LOGGER = Logger.getLogger(MapView.class);
# Line 28  public class MapView extends JPanel { Line 29  public class MapView extends JPanel {
29                          JSplitPane.HORIZONTAL_SPLIT);                          JSplitPane.HORIZONTAL_SPLIT);
30    
31          protected MapPaneStatusBar statusBar = null;          protected MapPaneStatusBar statusBar = null;
32            
33          /**          /**
34           * Komponente, in der die Karten, der Massstab und das Koordinaten-Raster           * Komponente, in der die Karten, der Massstab und das Koordinaten-Raster
35           * dargestellt werden.           * dargestellt werden.
36           */           */
37            
38          /**          protected final GeoMapPane geoMapPane = new GeoMapPane();
          * SK: 21.6.09: ShapeFileRenderer is supposed to be about 5x faster on  
          * ShapeFiles. The ShapeFileRenderer falls back to the  
          * StreamingRenderer.  
          */  
         // Old code:  
         //      protected final GeoMapPane geoMapPane = new GeoMapPane(null,null,null,null, new StreamingRenderer());  
           
         // New Code uses Streaming renderer.  
         protected final GeoMapPane geoMapPane = new GeoMapPane(null,null,null,null, new StreamingRenderer());  
39    
40          private MapPaneToolBar jToolBar;          private MapPaneToolBar jToolBar;
41    
42          /**          /**
43           * Creates a new {@link MapView}. A {@link MapView} is a combination of a           * Creates a new {@link MapView}. A {@link MapView} is a combination of a
44           * {@link GeoMapPane}, a {@link MapContextManagerInterface} on the left,           * {@link GeoMapPane}, a {@link MapContextManagerInterface} on the left, and
45           * and some buttons floating over the {@link JMapPane}           * some buttons floating over the {@link JMapPane}
46           */           */
47          public MapView(Window parentGui, MapPaneToolBar toolBar) {          public MapView(Component parentGui, MapPaneToolBar toolBar) {
48                  super(new BorderLayout());                  super(new BorderLayout());
49                  // Call initialize() by yourself afterwards.                  // Call initialize() by yourself afterwards.
50                  // Needed because variables for the overwritten methods                  // Needed because variables for the overwritten methods
51                  // are not yet set.                  // are not yet set.
52                  getGeoMapPane().getMapPane().setWaitCursorComponent(parentGui);                  getGeoMapPane().getMapPane().setWaitCursorComponent(parentGui);
53                  if ( toolBar == null )                  if (toolBar == null)
54                    toolBar = new MapPaneToolBar(getMapPane());                          toolBar = new MapPaneToolBar(getMapPane());
55                  jToolBar = toolBar;                  jToolBar = toolBar;
56          }          }
   
     /**  
      * Creates a new {@link MapView}. A {@link MapView} is a combination of a  
      * {@link GeoMapPane}, a {@link MapContextManagerInterface} on the left,  
      * and some buttons floating over the {@link JMapPane}  
      */  
     public MapView(Window parentGui) {  
       this(parentGui, null);  
     }  
57    
58          /**          /**
59           * This routine creates the main components of the GUI: The left Side and the map on the right side.<br/>           * Creates a new {@link MapView}. A {@link MapView} is a combination of a
60             * {@link GeoMapPane}, a {@link MapContextManagerInterface} on the left, and
61             * some buttons floating over the {@link JMapPane}
62             */
63            public MapView(Component parentGui) {
64                    this(parentGui, null);
65            }
66    
67            /**
68             * This routine creates the main components of the GUI: The left Side and
69             * the map on the right side.<br/>
70           * Calls #getSidePanel() which can be overwritten (call super!).<br/>           * Calls #getSidePanel() which can be overwritten (call super!).<br/>
71           *           *
72           * This method initialized the variables {@link #statusBar} and {@link #splitPane}           * This method initialized the variables {@link #statusBar} and
73             * {@link #splitPane}
74           *           *
75           * @see #adjustSizeOfGeoMapPane()           * @see #adjustSizeOfGeoMapPane()
76           */           */
77          public void initialize() {          public void initialize() {
78                  // horizontales SplitPane initialisieren                  // horizontales SplitPane initialisieren
79                    
80                  // Status-Line to show Coordinates and Rastervalues.                  // Status-Line to show Coordinates and Rastervalues.
81                  statusBar = new MapPaneStatusBar(getGeoMapPane()                  statusBar = new MapPaneStatusBar(getGeoMapPane().getMapPane());
                                 .getMapPane());  
82                  statusBar.setBorder(BorderFactory.createCompoundBorder(BorderFactory                  statusBar.setBorder(BorderFactory.createCompoundBorder(BorderFactory
83                                  .createLoweredBevelBorder(), BorderFactory.createEmptyBorder(2,                                  .createLoweredBevelBorder(), BorderFactory.createEmptyBorder(2,
84                                  5, 2, 5)));                                  5, 2, 5)));
85                  this.add(statusBar, BorderLayout.SOUTH);                  this.add(statusBar, BorderLayout.SOUTH);
86    
                   
87                  /**                  /**
88                   * The layout of the split pane can be configured in the atlas.                   * The layout of the split pane can be configured in the atlas.
89                     * setDividerLocation(-1); has no effect here because the component is
90                     * not visible yet.
91                   */                   */
92                  getSplitPane().setDividerSize(5);                  getSplitPane().setDividerSize(5);
93                  getSplitPane().setDividerLocation(-1);  
                   
94                  getSplitPane().setResizeWeight(0.0);                  getSplitPane().setResizeWeight(0.0);
95                  getSplitPane().add(getSidePane());                  getSplitPane().add(getSidePane());
96    
# Line 115  public class MapView extends JPanel { Line 108  public class MapView extends JPanel {
108    
109          /**          /**
110           * Returns the tool bar which controls the active mouse actions on the map.           * Returns the tool bar which controls the active mouse actions on the map.
111             *
112           * @return           * @return
113           */           */
114          public MapPaneToolBar getToolBar() {          public MapPaneToolBar getToolBar() {
115            return jToolBar;                  return jToolBar;
116          }          }
117    
118          /**          /**
# Line 128  public class MapView extends JPanel { Line 122  public class MapView extends JPanel {
122                  return splitPane;                  return splitPane;
123          }          }
124    
   
125          /**          /**
126           * Sets the active tool.           * Sets the active tool. Simply calls
127           * Simply calls {@link MapPaneToolBar#setSelectedTool(Integer)}.           * {@link MapPaneToolBar#setSelectedTool(Integer)}.
128             *
129           * @param tool           * @param tool
130           *            One of {@link #TOOL_INFO}, {@link #TOOL_PAN} .. constants           *            One of {@link #TOOL_INFO}, {@link #TOOL_PAN} .. constants
131           */           */
132          public void setSelectedTool(Integer tool) {          public void setSelectedTool(Integer tool) {
133            jToolBar.setSelectedTool(tool);                  jToolBar.setSelectedTool(tool);
134            }
135    
136            /**
137             * Sets whether a tool is activated or not. Simply calls
138             * {@link MapPaneToolBar#setButtonEnabled(int, boolean, boolean)}.
139             *
140             * @param tool
141             *            tool ID
142             * @param enabled
143             *            if {@code true} the tool becomes available
144             * @param hideOnDisable
145             *            if {@code true} the button is also hidden if {@code enabled}
146             *            is {@code false}
147             */
148            public void setToolEnabled(Integer tool, boolean enabled,
149                            boolean hideOnDisable) {
150                    jToolBar.setButtonEnabled(tool, enabled, hideOnDisable);
151          }          }
152            
153      /**          /**
154       * Sets whether a tool is activated or not.           * Sets the activation for all tools. Simply calls
155       * Simply calls {@link MapPaneToolBar#setButtonEnabled(int, boolean, boolean)}.           * {@link MapPaneToolBar#setAllToolsEnabled(boolean, boolean)}.
156       * @param tool tool ID           *
157       * @param enabled if {@code true} the tool becomes available           * @param enabled
158       * @param hideOnDisable if {@code true} the button is also hidden if           *            if {@code true} all tool becomes available
159       *                      {@code enabled} is {@code false}           * @param hideOnDisable
160       */           *            if {@code true} the buttons are also hidden if {@code enabled}
161          public void setToolEnabled(Integer tool, boolean enabled, boolean hideOnDisable) {           *            is {@code false}
162             jToolBar.setButtonEnabled(tool,enabled,hideOnDisable);           */
163          }          public void setAllToolsEnabled(boolean enabled, boolean hideOnDisable) {
164                    jToolBar.setAllToolsEnabled(enabled, hideOnDisable);
165      /**          }
166       * Sets the activation for all tools.  
167       * Simply calls {@link MapPaneToolBar#setAllToolsEnabled(boolean, boolean)}.          /**
168       * @param enabled if {@code true} all tool becomes available           * Checks whether a tool is activated. Simply calls
169       * @param hideOnDisable if {@code true} the buttons are also hidden if           * {@link MapPaneToolBar#isButtonEnabled(Integer)}.
170       *                      {@code enabled} is {@code false}           *
171       */           * @param tool
172      public void setAllToolsEnabled(boolean enabled, boolean hideOnDisable) {           *            tool ID
       jToolBar.setAllToolsEnabled(enabled, hideOnDisable);  
     }    
   
     /**  
          * Checks whether a tool is activated.  
      * Simply calls {@link MapPaneToolBar#isButtonEnabled(Integer)}.  
          * @param tool tool ID  
173           * @return {@code false} if an unknown ID is specified           * @return {@code false} if an unknown ID is specified
174           */           */
175          public boolean isToolEnabled(Integer tool) {          public boolean isToolEnabled(Integer tool) {
176            return jToolBar.isButtonEnabled(tool);                  return jToolBar.isButtonEnabled(tool);
177          }          }
178    
179          /**          /**
# Line 183  public class MapView extends JPanel { Line 187  public class MapView extends JPanel {
187    
188          /**          /**
189           * Liefert die Status-Zeile, in der die Koordinaten und Raster-Werte           * Liefert die Status-Zeile, in der die Koordinaten und Raster-Werte
190           * angezeigt werden.           * angezeigt werden.
191           */           */
192          public MapPaneStatusBar getStatusBar() {          public MapPaneStatusBar getStatusBar() {
193            return this.statusBar;                  return this.statusBar;
194          }          }
195            
196          /**          /**
197           * Liefert den Karten-Bereich der Komponente.           * Liefert den Karten-Bereich der Komponente.
198           */           */

Legend:
Removed from v.164  
changed lines
  Added in v.227

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26