Package org.dyno.visual.swing.editors.actions

Source Code of org.dyno.visual.swing.editors.actions.DelEventAction

/************************************************************************************
* Copyright (c) 2008 William Chen.                                                 *
*                                                                                  *
* All rights reserved. This program and the accompanying materials are made        *
* available under the terms of the Eclipse Public License v1.0 which accompanies   *
* this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html *
*                                                                                  *
* Use is subject to the terms of Eclipse Public License v1.0.                      *
*                                                                                  *
* Contributors:                                                                    *
*     William Chen - initial API and implementation.                               *
************************************************************************************/

package org.dyno.visual.swing.editors.actions;

import java.beans.EventSetDescriptor;
import java.beans.MethodDescriptor;
import java.util.Map;

import org.dyno.visual.swing.plugin.spi.IEventListenerModel;
import org.dyno.visual.swing.plugin.spi.WidgetAdapter;
import org.eclipse.jface.action.Action;

public class DelEventAction extends Action {
  private EventSetDescriptor eventSet;
  private MethodDescriptor methodDesc;
  private WidgetAdapter adapter;
  public DelEventAction(WidgetAdapter adapter, EventSetDescriptor eventSet,
      MethodDescriptor methodDesc) {   
    super();
    this.adapter = adapter;
    setId(eventSet.getName() + "_" + methodDesc.getName());
    this.eventSet = eventSet;
    this.methodDesc = methodDesc;
    Map<EventSetDescriptor, IEventListenerModel> eventDesc=adapter.getEventDescriptor();   
    IEventListenerModel model = eventDesc.get(eventSet);
    String methodName = model.getDisplayName(methodDesc);
    setText(methodName);
  }

  public void run() {
    Map<EventSetDescriptor, IEventListenerModel> eventDesc=adapter.getEventDescriptor();   
    IEventListenerModel model = eventDesc.get(eventSet);
    if (model != null) {
      if (model.hasMethod(methodDesc)) {
        model.removeMethod(methodDesc);
      }
      if (model.isEmpty()) {
        eventDesc.remove(eventSet);
      }
      adapter.setDirty(true);
      adapter.addNotify();
    }
  }
}

TOP

Related Classes of org.dyno.visual.swing.editors.actions.DelEventAction

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.