Package mgui.interfaces.tools.dialogs
Class DialogTool
java.lang.Object
mgui.interfaces.tools.dialogs.DialogTool
- All Implemented Interfaces:
java.lang.Cloneable
,PopupMenuObject
,Tool
,ToolInputListener
,IconObject
- Direct Known Subclasses:
ToolCreateMeshFromPolylines
,ToolCutMeshWithPlane
,ToolGetConvexHull2D
,ToolGetMeshIntersectionPolylines
public abstract class DialogTool extends java.lang.Object implements Tool
Abstract class to be inherited by all tools which operate using a modal dialog box.
- Since:
- 1.0
- Version:
- 1.0
- Author:
- Andrew Reid
-
Field Summary
Fields Modifier and Type Field Description protected javax.swing.Icon
icon
protected java.util.ArrayList<ToolListener>
listeners
protected java.lang.String
message
boolean
show_progress
-
Constructor Summary
Constructors Constructor Description DialogTool()
-
Method Summary
Modifier and Type Method Description void
activate()
Should be called once a tool is activated within a particular InterfaceDisplayPanel.void
activate(boolean report_success)
Activate the tool by showing its dialog box.void
addListener(ToolListener tl)
abstract java.lang.Object
clone()
void
deactivate()
Should be called once a tool is deactivated; instances of Tool should perform clean-up activities here.protected boolean
doTask(InterfaceOptions options)
Call this to run the task as a worker task.protected abstract boolean
doTaskBlocking(InterfaceOptions options, InterfaceProgressBar progress_bar)
Runs this tool's task and blocks until it is complete.protected abstract DialogToolDialogBox
getDialogBox()
java.lang.String
getName()
javax.swing.Icon
getObjectIcon()
Returns theIcon
associated with this object.InterfacePopupMenu
getPopupMenu()
Produces and returns a popup menu for this object.InterfacePopupMenu
getPopupMenu(java.util.List<java.lang.Object> selected)
Produces and returns a popup menu for this object.Tool
getPreviousTool()
Returns the tool that was set previous to this one, if one existsprotected abstract java.lang.String
getToolTitle()
void
handlePopupEvent(java.awt.event.ActionEvent e)
Handles an event on this object's popup menu.void
handleToolEvent(ToolInputEvent e)
Handle this tool eventprotected void
init()
boolean
isExclusive()
Specifies whether this tool requires exclusively; otherwise it will run in parallel with the default tool, if one exists.boolean
isImmediate()
Specifies whether this tool is immediate; this indicates that it should be run immediately upon calling and stop, rather than wait for AWT events.void
removeListener(ToolListener tl)
protected void
reportSuccess(boolean success)
protected void
setIcon()
void
setTargetPanel(InterfacePanel panel)
void
showPopupMenu(java.awt.event.MouseEvent e)
Shows a popup menu at the point of the givenMouseEvent
.Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
listeners
-
icon
protected javax.swing.Icon icon -
message
protected java.lang.String message -
show_progress
public boolean show_progress
-
-
Constructor Details
-
DialogTool
public DialogTool()
-
-
Method Details
-
init
protected void init() -
getPreviousTool
Description copied from interface:Tool
Returns the tool that was set previous to this one, if one exists- Specified by:
getPreviousTool
in interfaceTool
- Returns:
-
setIcon
protected void setIcon() -
activate
public void activate()Description copied from interface:Tool
Should be called once a tool is activated within a particular InterfaceDisplayPanel. -
deactivate
public void deactivate()Description copied from interface:Tool
Should be called once a tool is deactivated; instances of Tool should perform clean-up activities here.- Specified by:
deactivate
in interfaceTool
-
setTargetPanel
- Specified by:
setTargetPanel
in interfaceTool
-
isExclusive
public boolean isExclusive()Description copied from interface:Tool
Specifies whether this tool requires exclusively; otherwise it will run in parallel with the default tool, if one exists.- Specified by:
isExclusive
in interfaceTool
- Returns:
-
reportSuccess
protected void reportSuccess(boolean success) -
activate
public void activate(boolean report_success)Activate the tool by showing its dialog box.- Parameters:
report_success
-
-
doTask
Call this to run the task as a worker task.- Parameters:
options
-- Returns:
-
getToolTitle
protected abstract java.lang.String getToolTitle() -
getDialogBox
-
doTaskBlocking
protected abstract boolean doTaskBlocking(InterfaceOptions options, InterfaceProgressBar progress_bar)Runs this tool's task and blocks until it is complete. To avoid GUI freezing, call doTask(mgui.interfaces.InterfaceOptions) instead.- Parameters:
options
-progress_bar
-- Returns:
-
addListener
- Specified by:
addListener
in interfaceTool
-
removeListener
- Specified by:
removeListener
in interfaceTool
-
getName
public java.lang.String getName() -
isImmediate
public boolean isImmediate()Description copied from interface:Tool
Specifies whether this tool is immediate; this indicates that it should be run immediately upon calling and stop, rather than wait for AWT events.- Specified by:
isImmediate
in interfaceTool
- Returns:
-
handleToolEvent
Description copied from interface:ToolInputListener
Handle this tool event- Specified by:
handleToolEvent
in interfaceToolInputListener
-
getObjectIcon
public javax.swing.Icon getObjectIcon()Description copied from interface:IconObject
Returns theIcon
associated with this object.- Specified by:
getObjectIcon
in interfaceIconObject
- Returns:
-
getPopupMenu
Description copied from interface:PopupMenuObject
Produces and returns a popup menu for this object.- Specified by:
getPopupMenu
in interfacePopupMenuObject
- Returns:
-
getPopupMenu
Description copied from interface:PopupMenuObject
Produces and returns a popup menu for this object. Allows an associated list of objects to be passed as an argument.- Specified by:
getPopupMenu
in interfacePopupMenuObject
- Returns:
-
handlePopupEvent
public void handlePopupEvent(java.awt.event.ActionEvent e)Description copied from interface:PopupMenuObject
Handles an event on this object's popup menu.- Specified by:
handlePopupEvent
in interfacePopupMenuObject
-
showPopupMenu
public void showPopupMenu(java.awt.event.MouseEvent e)Description copied from interface:PopupMenuObject
Shows a popup menu at the point of the givenMouseEvent
.- Specified by:
showPopupMenu
in interfacePopupMenuObject
-
clone
public abstract java.lang.Object clone() throws java.lang.CloneNotSupportedException
-