org.crosswire.bibledesktop.book
Class BibleViewPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.crosswire.bibledesktop.book.BibleViewPane
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Clearable, Titleable

public class BibleViewPane
extends JPanel
implements Titleable, Clearable

A BibleViewPane consists of three areas for looking up passages, for navigating and minipulating parts of passage and for viewing a passage.

Distribution Licence:
JSword is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
The License is available on the internet here, or by writing to: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
The copyright to this program is held by it's authors.

Version:
$Id: BibleViewPane.java,v 1.12 2005/01/24 23:24:19 dmsmith Exp $
Author:
Joe Walker [joe at eireneh dot com]
See Also:
Licence, Serialized Form

Nested Class Summary
private static class BibleViewPane.CustomFileFilter
          Filter out verse lists
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  JFileChooser chooser
           
private static String EXTENSION
           
private  List listeners
           
protected static Logger log
          The log stream
protected  SplitBookDataDisplay pnlPassg
           
private  DisplaySelectPane pnlSelect
           
protected  File saved
           
private static long serialVersionUID
          Serialization ID
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BibleViewPane()
          Simple ctor
 
Method Summary
 void addTitleChangedListener(TitleChangedListener li)
          Add a listener to the list
 void clear()
          Make it as though no-one is using this view
protected  void fireTitleChanged(TitleChangedEvent ev)
          Inform the listeners that a title has changed
 Key getKey()
          Accessor for the current passage
 SplitBookDataDisplay getPassagePane()
          Accessor for the SplitBookDataDisplay
 DisplaySelectPane getSelectPane()
          Accessor for the DisplaySelectPane
 String getTitle()
          How has this view been saved
private  void init()
          Setup the GUI
 boolean isClear()
          Has anyone started using this view
 boolean maySave()
          Returns true if there is something to save.
 void open()
          Open a saved verse list form disk
private  boolean querySaveFile()
          Ask the user where to store the data
 void removeTitleChangedListener(TitleChangedListener li)
          Remove a listener from the list
 void save()
          Save the view to disk.
 void saveAs()
          Save the view to disk, but ask the user where to save it first.
private  void saveKey(Key key)
          Do the real work of saving to a file
 void setKey(Key key)
          Accessor for the current passage
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, 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, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, 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
add, add, add, add, add, 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, remove, remove, removeAll, 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
 

Field Detail

saved

protected File saved

listeners

private transient List listeners

pnlSelect

private DisplaySelectPane pnlSelect

pnlPassg

protected SplitBookDataDisplay pnlPassg

chooser

private JFileChooser chooser

EXTENSION

private static final String EXTENSION
See Also:
Constant Field Values

log

protected static final Logger log
The log stream


serialVersionUID

private static final long serialVersionUID
Serialization ID

See Also:
Constant Field Values
Constructor Detail

BibleViewPane

public BibleViewPane()
Simple ctor

Method Detail

init

private void init()
Setup the GUI


clear

public void clear()
Make it as though no-one is using this view

Specified by:
clear in interface Clearable

isClear

public boolean isClear()
Has anyone started using this view

Specified by:
isClear in interface Clearable
Returns:
whether this object is clear.

getTitle

public String getTitle()
How has this view been saved

Specified by:
getTitle in interface Titleable
Returns:
the title

save

public void save()
          throws IOException
Save the view to disk.

Throws:
IOException

saveAs

public void saveAs()
            throws IOException
Save the view to disk, but ask the user where to save it first.

Throws:
IOException

saveKey

private void saveKey(Key key)
              throws IOException
Do the real work of saving to a file

Parameters:
key - The key to save
Throws:
IOException - If a write error happens

maySave

public boolean maySave()
Returns true if there is something to save.


open

public void open()
          throws NoSuchVerseException,
                 IOException
Open a saved verse list form disk

Throws:
NoSuchVerseException
IOException

querySaveFile

private boolean querySaveFile()
Ask the user where to store the data


getKey

public Key getKey()
Accessor for the current passage


setKey

public void setKey(Key key)
Accessor for the current passage


getPassagePane

public SplitBookDataDisplay getPassagePane()
Accessor for the SplitBookDataDisplay


getSelectPane

public DisplaySelectPane getSelectPane()
Accessor for the DisplaySelectPane


addTitleChangedListener

public void addTitleChangedListener(TitleChangedListener li)
Add a listener to the list

Specified by:
addTitleChangedListener in interface Titleable

removeTitleChangedListener

public void removeTitleChangedListener(TitleChangedListener li)
Remove a listener from the list

Specified by:
removeTitleChangedListener in interface Titleable

fireTitleChanged

protected void fireTitleChanged(TitleChangedEvent ev)
Inform the listeners that a title has changed


Copyright ? 2003-2004