net.sourceforge.jsxe.gui
Class TabbedView

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended bynet.sourceforge.jsxe.gui.TabbedView
All Implemented Interfaces:
Accessible, ImageObserver, MenuContainer, RootPaneContainer, Serializable, WindowConstants

public class TabbedView
extends JFrame

The view container that holds the JTabbedPane that holds all open DocumentViews.

Version:
$Id: TabbedView.java 1049 2006-07-21 16:19:06Z ian_lewis $
Author:
Ian Lewis (IanLewis@member.fsf.org)
See Also:
DocumentView, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
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
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TabbedView(DocumentBuffer buffer)
          Constructs a new TabbedView with the default view
TabbedView(DocumentBuffer buffer, String documentViewName)
          Constructs a new TabbedView using the document view with the name specified.
 
Method Summary
 void addDocumentBuffer(DocumentBuffer buffer)
          Adds a buffer to the main view.
 void addDocumentBuffer(DocumentBuffer buffer, String documentViewName)
          Adds a buffer to the main view.
 boolean close()
          Closes the view.
 int getBufferCount()
          Gets the number of open buffers.
 DocumentBuffer getDocumentBuffer()
           
 DocumentView getDocumentView()
          Gets the current DocumentView that is being displayed by the JTabbedPane
 DocumentView getDocumentView(DocumentBuffer buffer)
          Gets the DocumentView for a currently opened DocumentBuffer.
 StatusBar getStatusBar()
          Gets the status bar for this view.
protected  void processKeyEvent(KeyEvent e)
          Processes key events checking for registered key bindings and invoking the appropriate actions.
 void reload()
          Reloads the current DocumentBuffer and makes sure that the reloaded document is opened in an appropriate DocumentView.
 boolean removeDocumentBuffer(DocumentBuffer buffer)
          Removes a buffer from the view.
 boolean setDocumentBuffer(DocumentBuffer buffer)
          Sets the current buffer and makes sure it is displayed.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, 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, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

TabbedView

public TabbedView(DocumentBuffer buffer)
           throws IOException
Constructs a new TabbedView with the default view

Parameters:
buffer - the buffer to use initially

TabbedView

public TabbedView(DocumentBuffer buffer,
                  String documentViewName)
           throws IOException,
                  UnrecognizedPluginException
Constructs a new TabbedView using the document view with the name specified.

Parameters:
buffer - the buffer to use initially
documentViewName - the document view name
Method Detail

getDocumentBuffer

public DocumentBuffer getDocumentBuffer()

getDocumentView

public DocumentView getDocumentView()
Gets the current DocumentView that is being displayed by the JTabbedPane

Returns:
the current DocumentView

getDocumentView

public DocumentView getDocumentView(DocumentBuffer buffer)
Gets the DocumentView for a currently opened DocumentBuffer. DocumentBuffers should always be open as they cannot be created outside of opening a document via jsXe.openXMLDocument()

Returns:
the DocumentView object

addDocumentBuffer

public void addDocumentBuffer(DocumentBuffer buffer,
                              String documentViewName)
                       throws IOException,
                              UnrecognizedPluginException
Adds a buffer to the main view. This is essentially opening the document in jsXe.

Parameters:
buffer - The DocumentBuffer to add to the view
Throws:
IOException - if the buffer could not be opened
UnrecognizedPluginException - if the plugin requested doesn't exist or is not loaded

addDocumentBuffer

public void addDocumentBuffer(DocumentBuffer buffer)
                       throws IOException
Adds a buffer to the main view. This is essentially opening the document in jsXe. The TabbedView attempts to open the buffer in each registered DocumentView until it is successful.

Parameters:
buffer - The DocumentBuffer to add to the view
Throws:
IOException - if the buffer could not be opened.

setDocumentBuffer

public boolean setDocumentBuffer(DocumentBuffer buffer)
                          throws IOException
Sets the current buffer and makes sure it is displayed. If the document is not already open then this method does nothing.

Parameters:
buffer - The buffer to set
Returns:
true if the document was set and is visable
Throws:
IOException

removeDocumentBuffer

public boolean removeDocumentBuffer(DocumentBuffer buffer)
Removes a buffer from the view. If the buffer passed is not already open this method does nothing.

Parameters:
buffer - The document to remove
Returns:
true if the document was removed

reload

public void reload()
            throws IOException
Reloads the current DocumentBuffer and makes sure that the reloaded document is opened in an appropriate DocumentView.

Throws:
IOException

getBufferCount

public int getBufferCount()
Gets the number of open buffers.

Returns:
The number of documents open in this view.

getStatusBar

public StatusBar getStatusBar()
Gets the status bar for this view.

Returns:
the status bar for this view
Since:
jsXe 0.5 pre1

close

public boolean close()
              throws IOException
Closes the view.

Returns:
true if you really want to close.
Throws:
IOException - if all the DocumentBuffers could not be saved due to an I/O error.

processKeyEvent

protected void processKeyEvent(KeyEvent e)
Processes key events checking for registered key bindings and invoking the appropriate actions.