Package com.cburch.draw.toolbar

Source Code of com.cburch.draw.toolbar.AbstractToolbarModel

/* Copyright (c) 2010, Carl Burch. License information is located in the
* com.cburch.logisim.Main source code and at www.cburch.com/logisim/. */

package com.cburch.draw.toolbar;

import com.cburch.draw.toolbar.ToolbarItem;
import com.cburch.draw.toolbar.ToolbarModel;
import com.cburch.draw.toolbar.ToolbarModelEvent;
import com.cburch.draw.toolbar.ToolbarModelListener;

import java.util.ArrayList;
import java.util.List;

public abstract class AbstractToolbarModel implements ToolbarModel {
  private List<ToolbarModelListener> listeners;

  public AbstractToolbarModel() {
    listeners = new ArrayList<ToolbarModelListener>();
  }
 
  public void addToolbarModelListener(ToolbarModelListener listener) {
    listeners.add(listener);
  }
 
  public void removeToolbarModelListener(ToolbarModelListener listener) {
    listeners.remove(listener);
  }
 
  protected void fireToolbarContentsChanged() {
    ToolbarModelEvent event = new ToolbarModelEvent(this);
    for (ToolbarModelListener listener : listeners) {
      listener.toolbarContentsChanged(event);
    }
  }
 
  protected void fireToolbarAppearanceChanged() {
    ToolbarModelEvent event = new ToolbarModelEvent(this);
    for (ToolbarModelListener listener : listeners) {
      listener.toolbarAppearanceChanged(event);
    }
  }
 
  public abstract List<ToolbarItem> getItems();
 
  public abstract boolean isSelected(ToolbarItem item);
 
  public abstract void itemSelected(ToolbarItem item);
}
TOP

Related Classes of com.cburch.draw.toolbar.AbstractToolbarModel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.