view dwtx/dwtxhelper/Bean.d @ 100:86617aa6b5dd

More helper classes, needed by draw2d
author Frank Benoit <benoit@tionex.de>
date Sun, 03 Aug 2008 00:54:29 +0200
parents
children d79c6b934729
line wrap: on
line source

module dwtx.dwtxhelper.Bean;

import dwt.dwthelper.utils;

class PropertyChangeEvent : EventObject {
    private String propertyName;
    private Object oldValue;
    private Object newValue;
    private Object propagationId;

    this( Object source, String propertyName, Object oldValue, Object newValue) {
        super( source );
        this.propertyName = propertyName;
        this.oldValue = oldValue;
        this.newValue = newValue;
    }
    Object getNewValue(){
        return newValue;
    }
    Object getOldValue(){
        return oldValue;
    }
    Object getPropagationId(){
        return propagationId;
    }
    String getPropertyName(){
        return propertyName;
    }
    void setPropagationId(Object propagationId){
        this.propagationId = propagationId;
    }
    public override String toString() {
        return this.classinfo.name ~ "[source=" ~ source.toString() ~ "]";
    }
}

interface PropertyChangeListener {
    void   propertyChange(PropertyChangeEvent evt);
}


class PropertyChangeSupport {
    this(Object){
    }
    void addPropertyChangeListener(PropertyChangeListener listener){}
    void addPropertyChangeListener(String propertyName, PropertyChangeListener listener){}
    void firePropertyChange(String propertyName, bool oldValue, bool newValue){}
    void firePropertyChange(String propertyName, int oldValue, int newValue){}
    void firePropertyChange(String propertyName, Object oldValue, Object newValue){}
    void removePropertyChangeListener(PropertyChangeListener listener){}
    void removePropertyChangeListener(String propertyName, PropertyChangeListener listener){}
}