/[schmitzm]/branches/1.0-gt2-2.6/src/skrueger/geotools/selection/StyledLayerSelectionModelSynchronizer.java
ViewVC logotype

Diff of /branches/1.0-gt2-2.6/src/skrueger/geotools/selection/StyledLayerSelectionModelSynchronizer.java

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

revision 97 by alfonx, Fri May 8 12:10:42 2009 UTC revision 256 by alfonx, Fri Jul 31 14:43:47 2009 UTC
# Line 1  Line 1 
1    /*******************************************************************************
2     * Copyright (c) 2009 Martin O. J. Schmitz.
3     *
4     * This file is part of the SCHMITZM library - a collection of utility
5     * classes based on Java 1.6, focusing (not only) on Java Swing
6     * and the Geotools library.
7     *
8     * The SCHMITZM project is hosted at:
9     * http://wald.intevation.org/projects/schmitzm/
10     *
11     * This program is free software; you can redistribute it and/or
12     * modify it under the terms of the GNU Lesser General Public License
13     * as published by the Free Software Foundation; either version 3
14     * of the License, or (at your option) any later version.
15     *
16     * This program is distributed in the hope that it will be useful,
17     * but WITHOUT ANY WARRANTY; without even the implied warranty of
18     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19     * GNU General Public License for more details.
20     *
21     * You should have received a copy of the GNU Lesser General Public License (license.txt)
22     * along with this program; if not, write to the Free Software
23     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
24     * or try this link: http://www.gnu.org/licenses/lgpl.html
25     *
26     * Contributors:
27     *     Martin O. J. Schmitz - initial API and implementation
28     *     Stefan A. Krüger - additional utility classes
29     ******************************************************************************/
30  package skrueger.geotools.selection;  package skrueger.geotools.selection;
31    
32  import java.beans.PropertyChangeListener;  import java.beans.PropertyChangeListener;
# Line 6  import javax.swing.ListSelectionModel; Line 35  import javax.swing.ListSelectionModel;
35    
36  import org.apache.log4j.Logger;  import org.apache.log4j.Logger;
37    
38  import skrueger.geotools.selection.StyledLayerSelectionModel;  /**
39     * The {@link StyledLayerSelectionModelSynchronizer} is the super class for all
40  public abstract class StyledLayerSelectionModelSynchronizer<E> implements PropertyChangeListener{   *
41     * @author mojays
42     *
43     * @param <E>
44     *            The concrete implementation of {@link StyledLayerSelectionModel}
45     *            that this Synchronizer works on.
46     */
47    public abstract class StyledLayerSelectionModelSynchronizer<E extends StyledLayerSelectionModel<?>>
48                    implements PropertyChangeListener {
49          protected final Logger LOGGER = Logger.getLogger(this.getClass());          protected final Logger LOGGER = Logger.getLogger(this.getClass());
50            
51            /** Flag to avoid event circles between {@link DpLayerVectorSelectionModel}          /**
52             *  and {@link ListSelectionModel} of the feature table. */           * Flag to avoid event circles between {@link DpLayerVectorSelectionModel}
53            protected boolean selectionChangeCausedByMe = false;           * and {@link ListSelectionModel} of the feature table.
54            /** Holds the selection model of the layer to keep synchronized           */
55             *  with the feature table. */          protected boolean selectionChangeCausedByMe = false;
56            protected final StyledLayerSelectionModel<E> layerSelModel;          /**
57             * Holds the selection model of the layer to keep synchronized with the
58            /**           * feature table.
59                   * Creates a new synchronizer           */
60                   *          protected final E layerSelModel;
61                   * @param layerSelModel  
62                   *            layer selection model to keep synchronized with          /**
63                   */           * Allows to enable/disable the Synchronizer's functionality it.
64                  protected StyledLayerSelectionModelSynchronizer(           */
65                                  StyledLayerSelectionModel<E> layerSelModel) {          private boolean enabled = true;
66    
67                          this.layerSelModel = layerSelModel;          /**
68                  }           * Creates a new synchronizer
69                       *
70             * @param layerSelModel
71             *            layer selection model to keep synchronized with
72             */
73            protected StyledLayerSelectionModelSynchronizer(E layerSelModel) {
74    
75                    this.layerSelModel = layerSelModel;
76            }
77    
78            /**
79             * Allows to disable this Synchronizer. Used to disable the selection
80             * functionality if no corresponding dialog is open.
81             *
82             * @param enabled
83             *            <code>true</code> or <code>false</code>
84             */
85            public void setEnabled(boolean enabled) {
86                    this.enabled = enabled;
87            }
88    
89            public boolean isEnabled() {
90                    return enabled;
91            }
92    
93  }  }

Legend:
Removed from v.97  
changed lines
  Added in v.256

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26