Package org.sunflow
Class SunflowGUI
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- org.sunflow.SunflowGUI
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,javax.swing.RootPaneContainer,javax.swing.WindowConstants,UserInterface
public class SunflowGUI extends javax.swing.JFrame implements UserInterface
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classSunflowGUI.SceneTransferHandler-
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description private SunflowAPIapiprivate javax.swing.JCheckBoxMenuItemautoBuildMenuItemprivate javax.swing.JButtonbuildButtonprivate javax.swing.JMenuItembuildMenuItemprivate javax.swing.JButtonclearConsoleButtonprivate javax.swing.JCheckBoxMenuItemclearLogMenuItemprivate javax.swing.JInternalFrameconsoleFrameprivate javax.swing.JTextAreaconsoleTextAreaprivate javax.swing.JMenuItemconsoleWindowMenuItemprivate java.lang.StringcurrentFileprivate java.lang.StringcurrentTaskprivate intcurrentTaskLastPprivate static intDEFAULT_HEIGHTprivate static intDEFAULT_WIDTHprivate javax.swing.JDesktopPanedesktopprivate javax.swing.JInternalFrameeditorFrameprivate javax.swing.JTextAreaeditorTextAreaprivate javax.swing.JMenuItemeditorWindowMenuItemprivate javax.swing.JMenuItemexitMenuItemprivate javax.swing.JMenufileMenuprivate javax.swing.JMenuItemfitWindowMenuItemprivate javax.swing.JMenuimageMenuprivate ImagePanelimagePanelprivate javax.swing.JInternalFrameimagePanelFrameprivate javax.swing.JMenuItemimageWindowMenuItemprivate javax.swing.JButtoniprButtonprivate javax.swing.JMenuItemiprMenuItemprivate javax.swing.JMenuBarjMenuBar1private javax.swing.JMenuItemjMenuItem4private javax.swing.JPaneljPanel1private javax.swing.JPaneljPanel3private javax.swing.JPaneljPanel4private javax.swing.JPaneljPanel5private javax.swing.JPaneljPanel6private javax.swing.JScrollPanejScrollPane1private javax.swing.JScrollPanejScrollPane2private javax.swing.JSeparatorjSeparator1private javax.swing.JSeparatorjSeparator2private javax.swing.JSeparatorjSeparator3private javax.swing.JSeparatorjSeparator4private javax.swing.JSeparatorjSeparator5private java.io.FilelastSaveDirectoryprivate javax.swing.JMenuItemnewFileMenuItemprivate javax.swing.JMenuItemopenFileMenuItemprivate javax.swing.JButtonrenderButtonprivate javax.swing.JMenuItemrenderMenuItemprivate javax.swing.JMenuItemresetZoomMenuItemprivate javax.swing.JMenuItemsaveAsMenuItemprivate javax.swing.JMenuItemsaveMenuItemprivate javax.swing.JMenusceneMenuprivate javax.swing.JCheckBoxMenuItemsmallTrianglesMenuItemprivate javax.swing.JButtontaskCancelButtonprivate javax.swing.JProgressBartaskProgressBarprivate javax.swing.JMenuItemtextureCacheClearMenuItemprivate javax.swing.JMenuItemtileWindowMenuItemprivate javax.swing.JMenuwindowMenu-
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description SunflowGUI()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidbuildMenuItemActionPerformed(java.awt.event.ActionEvent evt)private voidclearConsole()private voidinitGUI()private voidiprMenuItemActionPerformed(java.awt.event.ActionEvent evt)static voidmain(java.lang.String[] args)private voidnewFileMenuItemActionPerformed(java.awt.event.ActionEvent evt)private voidopenFile(java.lang.String filename)private voidopenFileMenuItemActionPerformed(java.awt.event.ActionEvent evt)voidprint(UI.Module m, UI.PrintLevel level, java.lang.String s)Displays some information to the user from the specified module with the specified print level.private voidprintln(java.lang.String s)private voidrenderMenuItemActionPerformed(java.awt.event.ActionEvent evt)private voidsaveAsMenuItemActionPerformed(java.awt.event.ActionEvent evt)private voidsaveCurrentFile(java.lang.String filename)private voidselectFrame(javax.swing.JInternalFrame frame)private voidsetEnableInterface(boolean enabled)private voidsmallTrianglesMenuItemActionPerformed(java.awt.event.ActionEvent evt)voidtaskStart(java.lang.String s, int min, int max)Prepare a progress bar representing a lengthy task.voidtaskStop()Closes the current progress bar to indicate the task is overvoidtaskUpdate(int current)Updates the current progress bar to a value between the current min and max.private voidtextureCacheClearMenuItemActionPerformed(java.awt.event.ActionEvent evt)private voidtileWindowMenuItemActionPerformed(java.awt.event.ActionEvent evt)static voidusage(boolean verbose)-
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
DEFAULT_WIDTH
private static final int DEFAULT_WIDTH
- See Also:
- Constant Field Values
-
DEFAULT_HEIGHT
private static final int DEFAULT_HEIGHT
- See Also:
- Constant Field Values
-
jPanel3
private javax.swing.JPanel jPanel3
-
jScrollPane1
private javax.swing.JScrollPane jScrollPane1
-
exitMenuItem
private javax.swing.JMenuItem exitMenuItem
-
jSeparator2
private javax.swing.JSeparator jSeparator2
-
jPanel1
private javax.swing.JPanel jPanel1
-
renderButton
private javax.swing.JButton renderButton
-
jMenuItem4
private javax.swing.JMenuItem jMenuItem4
-
jSeparator1
private javax.swing.JSeparator jSeparator1
-
fitWindowMenuItem
private javax.swing.JMenuItem fitWindowMenuItem
-
tileWindowMenuItem
private javax.swing.JMenuItem tileWindowMenuItem
-
jSeparator5
private javax.swing.JSeparator jSeparator5
-
consoleWindowMenuItem
private javax.swing.JMenuItem consoleWindowMenuItem
-
editorWindowMenuItem
private javax.swing.JMenuItem editorWindowMenuItem
-
imageWindowMenuItem
private javax.swing.JMenuItem imageWindowMenuItem
-
windowMenu
private javax.swing.JMenu windowMenu
-
consoleFrame
private javax.swing.JInternalFrame consoleFrame
-
editorFrame
private javax.swing.JInternalFrame editorFrame
-
imagePanelFrame
private javax.swing.JInternalFrame imagePanelFrame
-
desktop
private javax.swing.JDesktopPane desktop
-
smallTrianglesMenuItem
private javax.swing.JCheckBoxMenuItem smallTrianglesMenuItem
-
textureCacheClearMenuItem
private javax.swing.JMenuItem textureCacheClearMenuItem
-
jSeparator4
private javax.swing.JSeparator jSeparator4
-
resetZoomMenuItem
private javax.swing.JMenuItem resetZoomMenuItem
-
imageMenu
private javax.swing.JMenu imageMenu
-
imagePanel
private ImagePanel imagePanel
-
jPanel6
private javax.swing.JPanel jPanel6
-
clearLogMenuItem
private javax.swing.JCheckBoxMenuItem clearLogMenuItem
-
jPanel5
private javax.swing.JPanel jPanel5
-
taskCancelButton
private javax.swing.JButton taskCancelButton
-
taskProgressBar
private javax.swing.JProgressBar taskProgressBar
-
jSeparator3
private javax.swing.JSeparator jSeparator3
-
autoBuildMenuItem
private javax.swing.JCheckBoxMenuItem autoBuildMenuItem
-
iprMenuItem
private javax.swing.JMenuItem iprMenuItem
-
renderMenuItem
private javax.swing.JMenuItem renderMenuItem
-
buildMenuItem
private javax.swing.JMenuItem buildMenuItem
-
sceneMenu
private javax.swing.JMenu sceneMenu
-
editorTextArea
private javax.swing.JTextArea editorTextArea
-
consoleTextArea
private javax.swing.JTextArea consoleTextArea
-
clearConsoleButton
private javax.swing.JButton clearConsoleButton
-
jPanel4
private javax.swing.JPanel jPanel4
-
jScrollPane2
private javax.swing.JScrollPane jScrollPane2
-
iprButton
private javax.swing.JButton iprButton
-
buildButton
private javax.swing.JButton buildButton
-
saveAsMenuItem
private javax.swing.JMenuItem saveAsMenuItem
-
saveMenuItem
private javax.swing.JMenuItem saveMenuItem
-
openFileMenuItem
private javax.swing.JMenuItem openFileMenuItem
-
newFileMenuItem
private javax.swing.JMenuItem newFileMenuItem
-
fileMenu
private javax.swing.JMenu fileMenu
-
jMenuBar1
private javax.swing.JMenuBar jMenuBar1
-
currentFile
private java.lang.String currentFile
-
currentTask
private java.lang.String currentTask
-
currentTaskLastP
private int currentTaskLastP
-
api
private SunflowAPI api
-
lastSaveDirectory
private java.io.File lastSaveDirectory
-
-
Method Detail
-
usage
public static void usage(boolean verbose)
-
main
public static void main(java.lang.String[] args)
-
initGUI
private void initGUI()
-
newFileMenuItemActionPerformed
private void newFileMenuItemActionPerformed(java.awt.event.ActionEvent evt)
-
openFileMenuItemActionPerformed
private void openFileMenuItemActionPerformed(java.awt.event.ActionEvent evt)
-
buildMenuItemActionPerformed
private void buildMenuItemActionPerformed(java.awt.event.ActionEvent evt)
-
clearConsole
private void clearConsole()
-
println
private void println(java.lang.String s)
-
setEnableInterface
private void setEnableInterface(boolean enabled)
-
print
public void print(UI.Module m, UI.PrintLevel level, java.lang.String s)
Description copied from interface:UserInterfaceDisplays some information to the user from the specified module with the specified print level. A user interface is free to show or ignore any message. Level filtering is done in the core and shouldn't be re-implemented by the user interface. All messages will be short enough to fit on one line.- Specified by:
printin interfaceUserInterface- Parameters:
m- module the message came fromlevel- seriousness of the messages- string to display
-
taskStart
public void taskStart(java.lang.String s, int min, int max)Description copied from interface:UserInterfacePrepare a progress bar representing a lengthy task. The actual progress is first shown by the call to update and closed when update is closed with the max value. It is currently not possible to nest calls to setTask, so only one task needs to be tracked at a time.- Specified by:
taskStartin interfaceUserInterface- Parameters:
s- desriptive stringmin- minimum value of the taskmax- maximum value of the task
-
taskUpdate
public void taskUpdate(int current)
Description copied from interface:UserInterfaceUpdates the current progress bar to a value between the current min and max. When min or max are passed the progressed bar is shown or hidden respectively.- Specified by:
taskUpdatein interfaceUserInterface- Parameters:
current- current value of the task in progress.
-
taskStop
public void taskStop()
Description copied from interface:UserInterfaceCloses the current progress bar to indicate the task is over- Specified by:
taskStopin interfaceUserInterface
-
renderMenuItemActionPerformed
private void renderMenuItemActionPerformed(java.awt.event.ActionEvent evt)
-
iprMenuItemActionPerformed
private void iprMenuItemActionPerformed(java.awt.event.ActionEvent evt)
-
textureCacheClearMenuItemActionPerformed
private void textureCacheClearMenuItemActionPerformed(java.awt.event.ActionEvent evt)
-
smallTrianglesMenuItemActionPerformed
private void smallTrianglesMenuItemActionPerformed(java.awt.event.ActionEvent evt)
-
saveAsMenuItemActionPerformed
private void saveAsMenuItemActionPerformed(java.awt.event.ActionEvent evt)
-
saveCurrentFile
private void saveCurrentFile(java.lang.String filename)
-
selectFrame
private void selectFrame(javax.swing.JInternalFrame frame)
-
tileWindowMenuItemActionPerformed
private void tileWindowMenuItemActionPerformed(java.awt.event.ActionEvent evt)
-
openFile
private void openFile(java.lang.String filename)
-
-