Package editor
Class LabFrame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- editor.LabFrame
-
- All Implemented Interfaces:
IGosuEditor,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,javax.swing.RootPaneContainer,javax.swing.WindowConstants
public class LabFrame extends javax.swing.JFrame implements IGosuEditor
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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 java.util.List<java.lang.String>_experimentsprivate GosuPanel_panelprivate java.awt.Rectangle_restoreBoundsprivate static java.util.Map<java.lang.String,ISettings>_settingsprivate static java.lang.StringGOSU_DIRprivate static java.lang.StringGOSU_LAB_DIRprivate static LabFrameINSTANCEstatic intVERSION-
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 LabFrame()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddExperiment(Experiment exp)voidcheckForUpdate(GosuPanel gosuPanel)voidcloseTab(java.lang.Object contentId)private voidconfigUI()private static voidcopyExampleExperiments(java.nio.file.Path gosuDir)private static voidcopyExamples(IResource from, java.nio.file.Path to)static LabFramecreate()private static voiddoOpen(java.nio.file.Path dir, java.nio.file.Path toSelect)voidexit()static java.nio.file.PathfindExperimentFile(java.nio.file.Path dir)ISettingsfindSettings(java.util.function.Predicate<ISettings> matcher)java.util.List<java.lang.String>getExperiments()GosuPanelgetGosuPanel()static java.nio.file.PathgetIndexDir()java.awt.RectanglegetRestoreBounds()static java.util.Map<java.lang.String,ISettings>getSettings()private static java.nio.file.PathgetSettingsFile()static java.util.List<java.nio.file.Path>getStockExampleExperiments()static java.nio.file.PathgetStockExamplesDir()static java.nio.file.PathgetStockExperimentsDir()static java.nio.file.PathgetUserFile(GosuPanel gosuPanel)static java.nio.file.PathgetUserGosuDir()static java.nio.file.PathgetUserGosuEditorDir()static java.lang.IntegergetVersion(GosuPanel gosuPanel)static LabFrameinstance()static javax.swing.ImageIconloadLabIcon()ExperimentloadRecentExperiment(GosuPanel gosuPanel)static voidloadSettings()private voidmakeCustomFrameDecorations()private static ExperimentmakeScratchExperiment(GosuPanel gosuPanel)voidopenFile(java.nio.file.Path anySourceFile)static voidopenFileOrDir(java.nio.file.Path file)voidopenInitialFile(IScriptPartId partId, java.nio.file.Path file)voidreset()private voidresetNow()private voidrestoreLabState(javax.script.Bindings bindings)voidrestoreState(Experiment experiment)voidsaveLabState(Experiment experiment)private static voidsaveScreenProps(Expando bindings)static voidsaveSettings()voidselectTab(java.lang.Object contentId)voidsetExperiments(java.util.List<java.lang.String> experiments)private static voidsetInitialFrameBounds(java.awt.Frame frame)private voidsetInitialSize()voidsetRestoreBounds(java.awt.Rectangle restoreBounds)voidshowMe()-
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
-
VERSION
public static final int VERSION
- See Also:
- Constant Field Values
-
GOSU_LAB_DIR
private static final java.lang.String GOSU_LAB_DIR
- See Also:
- Constant Field Values
-
GOSU_DIR
private static final java.lang.String GOSU_DIR
- See Also:
- Constant Field Values
-
INSTANCE
private static LabFrame INSTANCE
-
_settings
private static java.util.Map<java.lang.String,ISettings> _settings
-
_panel
private GosuPanel _panel
-
_restoreBounds
private java.awt.Rectangle _restoreBounds
-
_experiments
private java.util.List<java.lang.String> _experiments
-
-
Method Detail
-
instance
public static LabFrame instance()
-
makeCustomFrameDecorations
private void makeCustomFrameDecorations()
-
exit
public void exit()
-
configUI
private void configUI()
-
setInitialSize
private void setInitialSize()
-
reset
public void reset()
- Specified by:
resetin interfaceIGosuEditor
-
resetNow
private void resetNow()
-
openInitialFile
public void openInitialFile(IScriptPartId partId, java.nio.file.Path file)
- Specified by:
openInitialFilein interfaceIGosuEditor
-
openFile
public void openFile(java.nio.file.Path anySourceFile)
- Specified by:
openFilein interfaceIGosuEditor
-
showMe
public void showMe()
- Specified by:
showMein interfaceIGosuEditor
-
getGosuPanel
public GosuPanel getGosuPanel()
- Specified by:
getGosuPanelin interfaceIGosuEditor
-
restoreState
public void restoreState(Experiment experiment)
- Specified by:
restoreStatein interfaceIGosuEditor
-
selectTab
public void selectTab(java.lang.Object contentId)
-
closeTab
public void closeTab(java.lang.Object contentId)
-
getRestoreBounds
public java.awt.Rectangle getRestoreBounds()
-
setRestoreBounds
public void setRestoreBounds(java.awt.Rectangle restoreBounds)
-
getExperiments
public java.util.List<java.lang.String> getExperiments()
-
setExperiments
public void setExperiments(java.util.List<java.lang.String> experiments)
-
addExperiment
public void addExperiment(Experiment exp)
-
create
public static LabFrame create()
-
checkForUpdate
public void checkForUpdate(GosuPanel gosuPanel)
-
getUserGosuDir
public static java.nio.file.Path getUserGosuDir()
-
getUserGosuEditorDir
public static java.nio.file.Path getUserGosuEditorDir()
-
getIndexDir
public static java.nio.file.Path getIndexDir()
-
getStockExperimentsDir
public static java.nio.file.Path getStockExperimentsDir()
-
copyExampleExperiments
private static void copyExampleExperiments(java.nio.file.Path gosuDir)
-
copyExamples
private static void copyExamples(IResource from, java.nio.file.Path to)
-
getStockExamplesDir
public static java.nio.file.Path getStockExamplesDir()
-
getStockExampleExperiments
public static java.util.List<java.nio.file.Path> getStockExampleExperiments()
-
findExperimentFile
public static java.nio.file.Path findExperimentFile(java.nio.file.Path dir)
-
makeScratchExperiment
private static Experiment makeScratchExperiment(GosuPanel gosuPanel)
-
openFileOrDir
public static void openFileOrDir(java.nio.file.Path file)
-
doOpen
private static void doOpen(java.nio.file.Path dir, java.nio.file.Path toSelect) throws java.io.IOException- Throws:
java.io.IOException
-
loadLabIcon
public static javax.swing.ImageIcon loadLabIcon()
-
getUserFile
public static java.nio.file.Path getUserFile(GosuPanel gosuPanel)
-
getVersion
public static java.lang.Integer getVersion(GosuPanel gosuPanel) throws java.net.MalformedURLException
- Throws:
java.net.MalformedURLException
-
loadRecentExperiment
public Experiment loadRecentExperiment(GosuPanel gosuPanel)
-
saveLabState
public void saveLabState(Experiment experiment)
-
saveScreenProps
private static void saveScreenProps(Expando bindings)
-
restoreLabState
private void restoreLabState(javax.script.Bindings bindings)
-
setInitialFrameBounds
private static void setInitialFrameBounds(java.awt.Frame frame)
-
getSettings
public static java.util.Map<java.lang.String,ISettings> getSettings()
-
loadSettings
public static void loadSettings()
-
saveSettings
public static void saveSettings()
-
getSettingsFile
private static java.nio.file.Path getSettingsFile()
-
-