Ignore:
Timestamp:
08/11/08 18:04:01 (16 years ago)
Author:
ra33
Message:

Added charts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/gui/Frame.java

    r199 r214  
    1212import java.util.Collections;
    1313import java.util.HashMap;
     14import java.util.HashSet;
    1415import java.util.LinkedHashSet;
    1516import java.util.LinkedList;
     
    199200                // System.out.println(getName() + " " + value);
    200201                boolean oldValue = _change;
    201                
    202                 if(oldValue == value)
     202
     203                if (oldValue == value)
    203204                        return;
    204                
     205
    205206                _change = value;
    206207
    207208                if (_change) {
    208                         //Notify the frame listeners that the frame has changed
    209                         for(FrameListener fl: _listeners){
    210                                 fl.change();
    211                         }
    212                        
     209                        // Notify the frame listeners that the frame has changed
     210                        for (FrameObserver fl : _observers) {
     211                                fl.update();
     212                        }
     213
    213214                        setBufferValid(false);
    214215                        _saved = false;
     
    18181819        Map<String, Text> _annotations = null;
    18191820
    1820         private Collection<FrameListener> _listeners = new LinkedList<FrameListener>();
     1821        private Collection<FrameObserver> _observers = new HashSet<FrameObserver>();
    18211822
    18221823        public void clearAnnotations() {
     
    19471948        }
    19481949
    1949         public void removeListener(FrameListener listener) {
    1950                 _listeners.remove(listener);
     1950        public void removeObserver(FrameObserver observer) {
     1951                _observers.remove(observer);
     1952        }
     1953
     1954        public void addObserver(FrameObserver observer) {
     1955                _observers.add(observer);
     1956        }
     1957
     1958        public void clearObservers() {
     1959                for (FrameObserver fl : _observers) {
     1960                        fl.removeSubject(this);
     1961                }
     1962                //The frame listener will call the frames removeListener method
     1963                assert(_observers.size() == 0);
     1964        }
     1965
     1966        public Collection<Text> getNonAnnotationText(boolean removeTitle) {
     1967                Collection<Text> items = new LinkedHashSet<Text>();
     1968                for (Item i : getItems(true)) {
     1969                        // only add up normal body text items
     1970                        if (i instanceof Text && !i.isAnnotation()) {
     1971                                items.add((Text) i);
     1972                        }
     1973                }
     1974                if (removeTitle) {
     1975                        items.remove(getTitleItem());
     1976                }
     1977                return items;
    19511978        }
    19521979       
    1953         public void addListener(FrameListener listener) {
    1954                 _listeners.add(listener);
     1980        public void dispose() {
     1981                clearObservers();
     1982                for(Item i: _body){
     1983                        i.dispose();
     1984                }
     1985                _frameName.dispose();
     1986                _body = null;
     1987                _frameName = null;
    19551988        }
    19561989}
Note: See TracChangeset for help on using the changeset viewer.