|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.AbstractButton javax.swing.JMenuItem javax.swing.JMenu wyvern.util.JDocControl
Object that keeps track of the state of a "document" and provides handling for file operations (new/open/save/etc).
This object manifests itself as a set of buttons that can be placed in a menu. It communicates with another object, the DocumentManager, which keeps the file handles and manages reading/ writing the file. The JDocControl issues commands to the Document on open, close, save, etc.
Nested Class Summary | |
protected class |
JDocControl.DocCtrlCommand
Command class for handling AWT events. |
Nested classes inherited from class javax.swing.JMenu |
javax.swing.JMenu.AccessibleJMenu, javax.swing.JMenu.WinListener |
Nested classes inherited from class javax.swing.JMenuItem |
javax.swing.JMenuItem.AccessibleJMenuItem |
Nested classes inherited from class javax.swing.AbstractButton |
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener |
Nested classes inherited from class javax.swing.JComponent |
javax.swing.JComponent.AccessibleJComponent |
Nested classes inherited from class java.awt.Container |
java.awt.Container.AccessibleAWTContainer |
Nested classes inherited from class java.awt.Component |
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
static int |
CLOSE
|
protected java.lang.String |
directory_
|
protected DocumentManager |
document_
|
protected java.util.List |
extensions_
|
protected java.lang.String |
filename_
|
static int |
NEW
|
protected boolean |
newDocument_
|
protected java.lang.String |
oldDir_
|
protected java.lang.String |
oldFile_
|
static int |
OPEN
|
protected java.lang.String |
openTitle_
|
protected javax.swing.JFrame |
parent_
|
protected java.lang.String |
parentTitle_
|
static int |
QUIT
|
static int |
SAVE
|
static int |
SAVE_AS
|
protected java.lang.String |
saveTitle_
|
protected java.lang.String |
untitledFilename_
|
Fields inherited from class javax.swing.JMenu |
popupListener |
Fields inherited from class javax.swing.AbstractButton |
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY |
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 | |
JDocControl(javax.swing.JFrame parent,
DocumentManager doc)
Creates and initializes a new default JDocControl object. |
|
JDocControl(javax.swing.JFrame parent,
java.lang.String untitledFilename,
java.lang.String menuName,
DocumentManager doc)
Creates and initializes a new JDocControl object. |
Method Summary | |
void |
addExtension(java.lang.String extension)
Adds an extension to the list of extensions this docctrl shows by default. |
protected void |
addNewMenu()
Adds the "New" (as in "New Document") menu item to the menu. |
protected boolean |
checkOverwrite(java.lang.String dir,
java.lang.String filename)
Prompts the user if overwriting a file. |
protected void |
closeDocument()
Closes the current document. |
protected void |
continueFileAction(int action)
Continue doing whatever the user was doing (new, open, quit) now that we've saved their changes. |
protected java.lang.String |
displayFileDialog(ExtensionFileFilter ff,
java.lang.String dir,
java.lang.String defaultName,
int type)
Put up a File Save dialog. |
void |
fileAction(int action)
Handles saving the document before doing anything else. |
java.lang.String |
getDocumentParentDir()
Returns the directory where the last file opened lives. |
java.lang.String |
getDocumentPath()
Returns the absolute path to the document currently being edited. |
protected java.lang.String |
getFileName(int type)
Puts up a file dialog showing the current filename and directory, and returns the name the user enters. |
java.lang.String |
getPreviousDocumentPath()
Returns the document we were visiting previously. |
boolean |
isNewDocument()
Returns true if this is a new document that has never been saved. |
void |
loadDocument(java.lang.String path)
Instructs the doc control to open the specified document, given its full path, without prompting for saving the current document. |
protected void |
newDocument()
Creates a brand-new document. |
void |
notifyNewFile(java.lang.String filename)
Notifies the Document Control that a new file was opened by the DocumentManager. |
protected void |
openDocument()
Lets the user select a new document to open. |
void |
saveDocument()
Saves the document. |
protected void |
saveDocumentAs()
Save the document under a different name. |
void |
setDirectory(java.lang.String dir)
Sets the starting directory. |
void |
setOpenTitle(java.lang.String title)
Sets the title of the "Open Document" dialog - make sure you call this before doing any DocCtrl operations; i.e. before the dialog actually opens. |
void |
setSaveTitle(java.lang.String title)
Sets the title of the "Save Document" dialog - make sure you call this before doing any DocCtrl operations; i.e. before the dialog actually opens. |
void |
updateParentTitle()
Set the title on the Frame to refer to the current doc. |
Methods inherited from class javax.swing.JMenu |
add, add, add, add, add, addMenuListener, addSeparator, applyComponentOrientation, configurePropertiesFromAction, createActionChangeListener, createActionComponent, createWinListener, doClick, fireMenuCanceled, fireMenuDeselected, fireMenuSelected, getAccessibleContext, getComponent, getDelay, getItem, getItemCount, getMenuComponent, getMenuComponentCount, getMenuComponents, getMenuListeners, getPopupMenu, getPopupMenuOrigin, getSubElements, getUIClassID, insert, insert, insert, insertSeparator, isMenuComponent, isPopupMenuVisible, isSelected, isTearOff, isTopLevelMenu, menuSelectionChanged, paramString, processKeyEvent, remove, remove, remove, removeAll, removeMenuListener, setAccelerator, setComponentOrientation, setDelay, setMenuLocation, setModel, setPopupMenuVisible, setSelected, updateUI |
Methods inherited from class javax.swing.JMenuItem |
addMenuDragMouseListener, addMenuKeyListener, createActionPropertyChangeListener, fireMenuDragMouseDragged, fireMenuDragMouseEntered, fireMenuDragMouseExited, fireMenuDragMouseReleased, fireMenuKeyPressed, fireMenuKeyReleased, fireMenuKeyTyped, getAccelerator, getMenuDragMouseListeners, getMenuKeyListeners, init, isArmed, processKeyEvent, processMenuDragMouseEvent, processMenuKeyEvent, processMouseEvent, removeMenuDragMouseListener, removeMenuKeyListener, setArmed, setEnabled, setUI |
Methods inherited from class javax.swing.AbstractButton |
addActionListener, addChangeListener, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createChangeListener, createItemListener, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, paintBorder, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setMargin, setMnemonic, setMnemonic, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition |
Methods inherited from class javax.swing.JComponent |
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
Methods inherited from class java.awt.Container |
add, add, add, addContainerListener, addImpl, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, 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 |
Methods inherited from interface javax.swing.MenuElement |
processKeyEvent, processMouseEvent |
Field Detail |
public static final int NEW
public static final int OPEN
public static final int CLOSE
public static final int SAVE
public static final int SAVE_AS
public static final int QUIT
protected DocumentManager document_
protected javax.swing.JFrame parent_
protected java.lang.String parentTitle_
protected java.lang.String untitledFilename_
protected java.lang.String filename_
protected java.lang.String directory_
protected java.lang.String oldDir_
protected java.lang.String oldFile_
protected java.lang.String openTitle_
protected java.lang.String saveTitle_
protected java.util.List extensions_
protected boolean newDocument_
Constructor Detail |
public JDocControl(javax.swing.JFrame parent, DocumentManager doc)
parent
- the Frame object this will be attached topublic JDocControl(javax.swing.JFrame parent, java.lang.String untitledFilename, java.lang.String menuName, DocumentManager doc)
parent
- the Frame object this will be attached tountitledFilename
- - the name of untitled documentsmenuName
- - the name of the menuMethod Detail |
protected void addNewMenu()
public void setDirectory(java.lang.String dir)
public void addExtension(java.lang.String extension)
public void setOpenTitle(java.lang.String title)
title
- the title to use for the dialogpublic void setSaveTitle(java.lang.String title)
title
- the title to use for the dialogpublic void fileAction(int action)
action
- NEW, OPEN, SAVE, etc.protected void continueFileAction(int action)
public void updateParentTitle()
protected void newDocument()
protected void openDocument()
protected void closeDocument()
public void loadDocument(java.lang.String path)
path
- the absolute path to the file to loadpublic void saveDocument()
protected void saveDocumentAs()
protected boolean checkOverwrite(java.lang.String dir, java.lang.String filename)
filename
- the absolute path to the file to write out
protected java.lang.String getFileName(int type)
type
- the FileDialog constant (SAVE, OPEN, etc.)
protected java.lang.String displayFileDialog(ExtensionFileFilter ff, java.lang.String dir, java.lang.String defaultName, int type)
ff
- the FilenameFilter to use (not used in JDK 1.1)dir
- the default directory to save in
public void notifyNewFile(java.lang.String filename)
filename
- the full path to the file (".map" extension optional)public java.lang.String getDocumentPath()
public java.lang.String getDocumentParentDir()
public java.lang.String getPreviousDocumentPath()
public boolean isNewDocument()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |