// PathVisio, // a tool for data visualization and analysis using Biological Pathways // Copyright 2006-2011 BiGCaT Bioinformatics // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // package org.pathvisio.gui.dialogs; import java.awt.Component; import java.awt.Frame; import java.util.HashSet; import java.util.Set; import org.pathvisio.core.model.PathwayElement; import org.pathvisio.gui.SwingEngine; /** * This is a factory class for the PathwayElement Popup dialog, which pops up after double-clicking an element in the pathway. * A dialog is constructed depending on the type of the element that was clicked. *
* It is possible to add hooks to this handler, so that plugins can register new panels to be added to PathwayElement Popup dialogs.
*/
public class PopupDialogHandler
{
final private SwingEngine swingEngine;
public PopupDialogHandler(SwingEngine swingEngine)
{
this.swingEngine = swingEngine;
}
/**
* Implement this interface if you want to add a hook to the handler.
*/
public interface PopupDialogHook
{
/**
* This method is called just before the PathwayElementDialog is shown.
* @param e the element which will be edited
* @param dlg A partially constructed dialog, which may be modified by the hook.
*/
void popupDialogHook (PathwayElement e, PathwayElementDialog dlg);
}
private Set