~andreas.hoelzl/jhelioviewer/jhv-formatting

« back to all changes in this revision

Viewing changes to viewmodel/src/org/helioviewer/viewmodel/view/AbstractLayeredView.java

  • Committer: Markus
  • Date: 2010-03-18 15:32:22 UTC
  • mfrom: (14.2.137 jhv-opengl)
  • Revision ID: markus@home-20100318153222-hm21x71fg08lhqjz
Merged with Markus' branch, including some smaller fixes and improvements

Show diffs side-by-side

added added

removed removed

Lines of Context:
145
145
    /**
146
146
     * {@inheritDoc}
147
147
     */
148
 
    public synchronized void addLayer(View newLayer, int newIndex) {
 
148
    public void addLayer(View newLayer, int newIndex) {
149
149
        if (newLayer == null) {
150
150
            return;
151
151
        }
152
152
        
153
 
        layerLock.lock();
154
 
        layers.add(newIndex, newLayer);
155
 
        layerLock.unlock();
156
 
        newLayer.addViewListener(this);
157
 
        
158
 
        viewLookup.put(newLayer, new Layer(newLayer));
159
 
 
160
 
        recalculateMetaData();
161
 
        region = metaData.getPhysicalRegion();
162
 
        recalculateRegionsAndViewports(new ChangeEvent());
163
 
        
164
153
        ChangeEvent changeEvent = new ChangeEvent(new LayerChangedReason(this, LayerChangeType.LAYER_ADDED, newLayer));
165
154
        
166
 
        redrawBuffer(changeEvent);
 
155
        layerLock.lock();
 
156
        
 
157
        try {
 
158
                layers.add(newIndex, newLayer);
 
159
                newLayer.addViewListener(this);
 
160
                
 
161
                viewLookup.put(newLayer, new Layer(newLayer));
 
162
        
 
163
                recalculateMetaData();
 
164
                region = metaData.getPhysicalRegion();
 
165
                recalculateRegionsAndViewports(changeEvent);
 
166
            } finally {
 
167
                layerLock.unlock();
 
168
        }    
 
169
                
 
170
            redrawBuffer(changeEvent);
167
171
    }
168
172
 
169
173
    /**
190
194
    /**
191
195
     * {@inheritDoc}
192
196
     */
193
 
    public synchronized void removeLayer(View view) {
 
197
    public void removeLayer(View view) {
194
198
        if(view == null) {
195
199
                return;
196
200
        }
200
204
        }
201
205
        
202
206
        view.removeViewListener(this);
203
 
        layerLock.lock();
204
 
        layers.remove(view);
205
 
        layerLock.unlock();
206
 
        viewLookup.remove(view);
207
 
        
208
 
        ChangeEvent event = new ChangeEvent(new LayerChangedReason(this, LayerChangeType.LAYER_REMOVED, view));
209
 
        
210
 
        recalculateMetaData();
211
 
        if (metaData != null) {
212
 
            region = metaData.getPhysicalRegion();
213
 
        }
214
 
        
215
 
        recalculateRegionsAndViewports(event);
 
207
        ChangeEvent event = new ChangeEvent(new LayerChangedReason(this, LayerChangeType.LAYER_REMOVED, view));
 
208
        
 
209
        layerLock.lock();
 
210
        
 
211
        try {
 
212
                layers.remove(view);
 
213
                viewLookup.remove(view);
 
214
                
 
215
                recalculateMetaData();
 
216
                if (metaData != null) {
 
217
                    region = metaData.getPhysicalRegion();
 
218
                }
 
219
                
 
220
                recalculateRegionsAndViewports(event);
 
221
        
 
222
        } finally {
 
223
                layerLock.unlock();
 
224
        }
216
225
        
217
226
        redrawBuffer(event);
218
227
    }