package org.gjt.sp.jedit.gui;
import java.awt.event.MouseEvent;
import javax.swing.JMenuItem;
import org.gjt.sp.jedit.textarea.JEditTextArea;
/** <p> A service that can be offered by plugins when a text area context menu item
* needs to be offered that is sensitive to the state of the TextArea it was requested * from. </p>
* Note: this service should only be used by certain plugins that need context information at the time
* that the context menu is requested. For all other actions, it is already possible for users to
* add menu items to the context menu, so please do not use this service from Plugins
* to add non-dynamic actions to the context menu.
*
* @author ezust
* @since jEdit 4.3pre15
*/
abstract public class DynamicContextMenuService {
/**
*
* @param ta the TextArea where the context menu was requested.
* Use this to determine the location of the caret, or the edit mode of the buffer, etc.
* @param evt a mouseEvent that triggered this menu request, or null
* @return an array of menu items
* or null if there are no appropriate actions to be added at this time
*/
public abstract JMenuItem[] createMenu(JEditTextArea ta, MouseEvent evt);
}