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 class
SunflowGUI.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 SunflowAPI
api
private javax.swing.JCheckBoxMenuItem
autoBuildMenuItem
private javax.swing.JButton
buildButton
private javax.swing.JMenuItem
buildMenuItem
private javax.swing.JButton
clearConsoleButton
private javax.swing.JCheckBoxMenuItem
clearLogMenuItem
private javax.swing.JInternalFrame
consoleFrame
private javax.swing.JTextArea
consoleTextArea
private javax.swing.JMenuItem
consoleWindowMenuItem
private java.lang.String
currentFile
private java.lang.String
currentTask
private int
currentTaskLastP
private static int
DEFAULT_HEIGHT
private static int
DEFAULT_WIDTH
private javax.swing.JDesktopPane
desktop
private javax.swing.JInternalFrame
editorFrame
private javax.swing.JTextArea
editorTextArea
private javax.swing.JMenuItem
editorWindowMenuItem
private javax.swing.JMenuItem
exitMenuItem
private javax.swing.JMenu
fileMenu
private javax.swing.JMenuItem
fitWindowMenuItem
private javax.swing.JMenu
imageMenu
private ImagePanel
imagePanel
private javax.swing.JInternalFrame
imagePanelFrame
private javax.swing.JMenuItem
imageWindowMenuItem
private javax.swing.JButton
iprButton
private javax.swing.JMenuItem
iprMenuItem
private javax.swing.JMenuBar
jMenuBar1
private javax.swing.JMenuItem
jMenuItem4
private javax.swing.JPanel
jPanel1
private javax.swing.JPanel
jPanel3
private javax.swing.JPanel
jPanel4
private javax.swing.JPanel
jPanel5
private javax.swing.JPanel
jPanel6
private javax.swing.JScrollPane
jScrollPane1
private javax.swing.JScrollPane
jScrollPane2
private javax.swing.JScrollPane
jScrollPane3
private javax.swing.JSeparator
jSeparator1
private javax.swing.JSeparator
jSeparator2
private javax.swing.JSeparator
jSeparator3
private javax.swing.JSeparator
jSeparator4
private javax.swing.JSeparator
jSeparator5
private java.io.File
lastSaveDirectory
private javax.swing.JMenuItem
newFileMenuItem
private javax.swing.JMenuItem
openFileMenuItem
private javax.swing.JButton
renderButton
private javax.swing.JMenuItem
renderMenuItem
private javax.swing.JMenuItem
resetZoomMenuItem
private javax.swing.JMenuItem
saveAsMenuItem
private javax.swing.JMenuItem
saveMenuItem
private javax.swing.JInternalFrame
sceneFrame
private javax.swing.JMenu
sceneMenu
private javax.swing.JTree
sceneTree
private javax.swing.JMenuItem
sceneWindowMenuItem
private javax.swing.JCheckBoxMenuItem
smallTrianglesMenuItem
private javax.swing.JButton
taskCancelButton
private javax.swing.JProgressBar
taskProgressBar
private javax.swing.JMenuItem
textureCacheClearMenuItem
private javax.swing.JMenuItem
tileWindowMenuItem
private javax.swing.JMenu
windowMenu
-
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 void
buildMenuItemActionPerformed(java.awt.event.ActionEvent evt)
private java.util.Hashtable
buildSceneTree(java.util.Hashtable<java.lang.String,RenderObject> map)
private void
clearConsole()
private void
initGUI()
private void
iprMenuItemActionPerformed(java.awt.event.ActionEvent evt)
static void
main(java.lang.String[] args)
private void
newFileMenuItemActionPerformed(java.awt.event.ActionEvent evt)
private void
openFile(java.lang.String filename)
private void
openFileMenuItemActionPerformed(java.awt.event.ActionEvent evt)
void
print(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 void
println(java.lang.String s)
private void
renderMenuItemActionPerformed(java.awt.event.ActionEvent evt)
private void
saveAsMenuItemActionPerformed(java.awt.event.ActionEvent evt)
private void
saveCurrentFile(java.lang.String filename)
private void
selectFrame(javax.swing.JInternalFrame frame)
private void
setEnableInterface(boolean enabled)
private void
smallTrianglesMenuItemActionPerformed(java.awt.event.ActionEvent evt)
void
taskStart(java.lang.String s, int min, int max)
Prepare a progress bar representing a lengthy task.void
taskStop()
Closes the current progress bar to indicate the task is overvoid
taskUpdate(int current)
Updates the current progress bar to a value between the current min and max.private void
textureCacheClearMenuItemActionPerformed(java.awt.event.ActionEvent evt)
private void
tileWindowMenuItemActionPerformed(java.awt.event.ActionEvent evt)
static void
usage(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
-
sceneWindowMenuItem
private javax.swing.JMenuItem sceneWindowMenuItem
-
windowMenu
private javax.swing.JMenu windowMenu
-
consoleFrame
private javax.swing.JInternalFrame consoleFrame
-
editorFrame
private javax.swing.JInternalFrame editorFrame
-
imagePanelFrame
private javax.swing.JInternalFrame imagePanelFrame
-
sceneFrame
private javax.swing.JInternalFrame sceneFrame
-
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
-
jScrollPane3
private javax.swing.JScrollPane jScrollPane3
-
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
-
sceneTree
private javax.swing.JTree sceneTree
-
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)
-
buildSceneTree
private java.util.Hashtable buildSceneTree(java.util.Hashtable<java.lang.String,RenderObject> map)
-
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:UserInterface
Displays 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:
print
in 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:UserInterface
Prepare 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:
taskStart
in 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:UserInterface
Updates 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:
taskUpdate
in interfaceUserInterface
- Parameters:
current
- current value of the task in progress.
-
taskStop
public void taskStop()
Description copied from interface:UserInterface
Closes the current progress bar to indicate the task is over- Specified by:
taskStop
in 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)
-
-