## mars.venus
Class EditTabbedPane

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JTabbedPane
                      mars.venus.EditTabbedPane

All Implemented Interfaces:
  ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants

    public class EditTabbedPane

extends JTabbedPane

Tabbed pane for the editor. Each of its tabs represents an open file.

Author:
  Sanderson
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class javax.swing.JTabbedPane
`JTabbedPane.AccessibleJTabbedPane, JTabbedPane.ModelListener`

Nested classes/interfaces inherited from class javax.swing.JComponent
`JComponent.AccessibleJComponent`

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

Nested classes/interfaces inherited from class java.awt.Component
`Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

Field Summary

Fields inherited from class javax.swing.JTabbedPane
`changeEvent, changeListener, model, SCROLL_TAB_LAYOUT, tabPlacement, WRAP_TAB_LAYOUT`

Fields inherited from class javax.swing.JComponent
`accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface javax.swing.SwingConstants
`BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`EditTabbedPane(VenusUI appFrame, Editor editor, MainPane mainPane)` Constructor for the EditTabbedPane class.

Method Summary
`boolean` `closeAllFiles()` Carries out all necessary operations to implement the Close All operation from the File menu.
`boolean` `closeCurrentFile()` Carries out all necessary operations to implement the Close operation from the File menu.
`boolean` `editsSavedOrAbandoned()` Check whether file has unsaved edits and, if so, check with user about saving them.
`EditPane` `getCurrentEditTab()` The current EditPane representing a file.
`EditPane` `getCurrentEditTabForFile(File file)` If the given file is open in the tabbed pane, make it the current tab.
`EditPane` `getEditPaneForFile(String pathname)` If there is an EditPane for the given file pathname, return it else return null.
`void` `newFile()` Carries out all necessary operations to implement the New operation from the File menu.
`boolean` `openFile()` Carries out all necessary operations to implement the Open operation from the File menu.
`boolean` `openFile(File file)` Carries out all necessary operations to open the specified file in the editor.
`void` `remove(EditPane editPane)` Remove the pane and update menu status
`boolean` `saveAllFiles()` Saves all files currently open in the editor.
`boolean` `saveAsCurrentFile()` Pops up a dialog box to do "Save As" operation.
`boolean` `saveCurrentFile()` Saves file under existing name.
`void` `setCurrentEditTab(EditPane editPane)` Select the specified EditPane to be the current tab.

Methods inherited from class javax.swing.JTabbedPane

`add, add, add, add, add, addChangeListener, addTab, addTab, addTab, createChangeListener, fireStateChanged, getAccessibleContext, getBackgroundAt, getBoundsAt, getChangeListeners, getComponentAt, getDisabledIconAt, getDisplayedMnemonicIndexAt, getForegroundAt, getIconAt, getMnemonicAt, getModel, getSelectedComponent, getSelectedIndex, getTabComponentAt, getTabCount, getTabLayoutPolicy, getTabPlacement, getTabRunCount, getTitleAt, getToolTipText, getToolTipTextAt, getUI, getUIClassID, indexAtLocation, indexOfComponent, indexOfTab, indexOfTab, indexOfTabComponent, insertTab, isEnabledAt, paramString, remove, remove, removeAll, removeChangeListener, removeTabAt, setBackgroundAt, setComponentAt, setDisabledIconAt, setDisplayedMnemonicIndexAt, setEnabledAt, setForegroundAt, setIconAt, setMnemonicAt, setModel, setSelectedComponent, setSelectedIndex, setTabComponentAt, setTabLayoutPolicy, setTabPlacement, setTitleAt, setToolTipTextAt, setUI, updateUI`

Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container

`addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### EditTabbedPane

    public EditTabbedPane(VenusUI appFrame,
                          Editor editor,
                          MainPane mainPane)

  Constructor for the EditTabbedPane class.

Method Detail

### getCurrentEditTab

    public EditPane getCurrentEditTab()

  The current EditPane representing a file. Returns null if no files open.

  Returns:
    the current editor pane

### setCurrentEditTab

    public void setCurrentEditTab(EditPane editPane)

  Select the specified EditPane to be the current tab.

  Parameters:
    `editPane` - The EditPane tab to become current.

### getCurrentEditTabForFile

    public EditPane getCurrentEditTabForFile(File file)

  If the given file is open in the tabbed pane, make it the current tab. If not opened, open it in a new tab and make it the current tab. If file is unable to be opened, leave current tab as is.

  Parameters:
    `file` - File object for the desired file.
  Returns:
    EditPane for the specified file, or null if file is unable to be opened in an EditPane

### newFile

    public void newFile()

  Carries out all necessary operations to implement the New operation from the File menu.

### openFile

    public boolean openFile()

  Carries out all necessary operations to implement the Open operation from the File menu. This begins with an Open File dialog.

  Returns:
    true if file was opened, false otherwise.

### openFile

    public boolean openFile(File file)

  Carries out all necessary operations to open the specified file in the editor.

  Returns:
    true if file was opened, false otherwise.

### closeCurrentFile

    public boolean closeCurrentFile()

  Carries out all necessary operations to implement the Close operation from the File menu. May return false, for instance when file has unsaved changes and user selects Cancel from the warning dialog.

  Returns:
    true if file was closed, false otherwise.

### closeAllFiles

    public boolean closeAllFiles()

  Carries out all necessary operations to implement the Close All operation from the File menu.

  Returns:
    true if files closed, false otherwise.

### saveCurrentFile

    public boolean saveCurrentFile()

  Saves file under existing name. If no name, will invoke Save As.

  Returns:
    true if the file was actually saved.

### saveAsCurrentFile

    public boolean saveAsCurrentFile()

  Pops up a dialog box to do "Save As" operation. If necessary an additional overwrite dialog is performed.

  Returns:
    true if the file was actually saved.

### saveAllFiles

    public boolean saveAllFiles()

  Saves all files currently open in the editor.

  Returns:
    true if operation succeeded otherwise false.

### remove

    public void remove(EditPane editPane)

  Remove the pane and update menu status

### getEditPaneForFile

    public EditPane getEditPaneForFile(String pathname)

  If there is an EditPane for the given file pathname, return it else return null.

  Parameters:
    `pathname` - Pathname for desired file
  Returns:
    the EditPane for this file if it is open in the editor, or null if not.

### editsSavedOrAbandoned

    public boolean editsSavedOrAbandoned()

  Check whether file has unsaved edits and, if so, check with user about saving them.

  Returns:
    true if no unsaved edits or if user chooses to save them or not; false if there are unsaved edits and user cancels the operation.