Package org.sunflow

Class 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.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • 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 over
      void 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Field Detail

      • 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
      • 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
      • lastSaveDirectory

        private java.io.File lastSaveDirectory
    • Constructor Detail

      • SunflowGUI

        public SunflowGUI()
    • 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 interface UserInterface
        Parameters:
        m - module the message came from
        level - seriousness of the message
        s - 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 interface UserInterface
        Parameters:
        s - desriptive string
        min - minimum value of the task
        max - 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 interface UserInterface
        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 interface UserInterface
      • 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)