# Hierarchy For All Packages

Package Hierarchies:

- org.crosswire.bibledesktop,
- org.crosswire.bibledesktop.book,
- org.crosswire.bibledesktop.book.install,
- org.crosswire.bibledesktop.desktop,
- org.crosswire.bibledesktop.display,
- org.crosswire.bibledesktop.display.basic,
- org.crosswire.bibledesktop.passage,
- org.crosswire.bibledesktop.util,
- org.crosswire.common.config.swing,
- org.crosswire.common.progress.swing,
- org.crosswire.common.swing,
- org.crosswire.common.swing.desktop,
- org.crosswire.common.swing.desktop.event,
- org.crosswire.common.swing.plaf

## Class Hierarchy

- java.lang.Object
  - org.crosswire.bibledesktop.desktop.AboutPane
  - javax.swing.AbstractAction (implements javax.swing.Action, java.lang.Cloneable, java.io.Serializable)
    - org.crosswire.common.swing.CWAction
  - javax.swing.border.AbstractBorder (implements javax.swing.border.Border, java.io.Serializable)
    - org.crosswire.common.swing.plaf.MetalPanelBorder (implements javax.swing.plaf.UIResource)
  - javax.swing.text.AbstractDocument (implements javax.swing.text.Document, java.io.Serializable)
    - javax.swing.text.PlainDocument
      - org.crosswire.common.swing.NumericDocument
  - org.crosswire.common.swing.AbstractLayout (implements java.awt.LayoutManager2, java.io.Serializable)
  - org.crosswire.common.swing.plaf.AbstractLFCustoms
    - org.crosswire.common.swing.plaf.MetalLFCustoms
    - org.crosswire.common.swing.plaf.OtherLFCustoms
    - org.crosswire.common.swing.plaf.WindowsLFCustoms
  - javax.swing.AbstractListModel<E> (implements javax.swing.ListModel<E>, java.io.Serializable)
    - org.crosswire.bibledesktop.book.BibleComboBoxModel (implements javax.swing.ComboBoxModel<E>)
    - org.crosswire.bibledesktop.book.BooksListModel
      - org.crosswire.bibledesktop.book.BooksComboBoxModel (implements javax.swing.ComboBoxModel<E>)
    - org.crosswire.common.swing.FontChooser.CustomComboBoxModel (implements javax.swing.ComboBoxModel<E>)
    - org.crosswire.bibledesktop.book.install.InstallerFactoryComboBoxModel (implements javax.swing.ComboBoxModel<E>)
    - org.crosswire.bibledesktop.book.install.InstallManagerComboBoxModel (implements javax.swing.ComboBoxModel<E>)
    - org.crosswire.bibledesktop.passage.KeyListListModel
    - org.crosswire.common.swing.MapComboBoxModel (implements javax.swing.ComboBoxModel<E>)
    - org.crosswire.bibledesktop.passage.RangeListModel
  - javax.swing.table.AbstractTableModel (implements java.io.Serializable, javax.swing.table.TableModel)
    - org.crosswire.common.swing.MapTableModel
  - org.crosswire.common.swing.desktop.AbstractViewLayout (implements org.crosswire.common.swing.desktop.Viewable)
    - org.crosswire.common.swing.desktop.MDIViewLayout
    - org.crosswire.common.swing.desktop.TDIViewLayout
  - org.crosswire.common.swing.ActionFactory (implements org.crosswire.common.swing.Actionable, java.awt.event.ActionListener)
  - org.crosswire.common.config.swing.AdvancedConfigEditor.CompNode
  - org.crosswire.bibledesktop.book.BibleComboBoxModelSet (implements java.io.Serializable)
  - org.crosswire.bibledesktop.book.BibleComboBoxModelSet.CustomItemListener (implements java.awt.event.ItemListener)
  - org.crosswire.bibledesktop.display.BookDataDisplayFactory
  - org.crosswire.bibledesktop.book.install.BookIcon
  - org.crosswire.bibledesktop.book.BooksListModel.CustomListDataListener (implements org.crosswire.jsword.book.BooksListener)
  - java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    - java.awt.Container
      - javax.swing.JComponent (implements java.io.Serializable)
        - javax.swing.JComboBox<E> (implements javax.accessibility.Accessible, java.awt.event.ActionListener, java.awt.ItemSelectable, javax.swing.event.ListDataListener)
          - org.crosswire.common.swing.FontChooser.FontNameComboBox
        - javax.swing.JLabel (implements javax.accessibility.Accessible, javax.swing.SwingConstants)
          - javax.swing.DefaultListCellRenderer (implements javax.swing.ListCellRenderer<E>, java.io.Serializable)
            - org.crosswire.bibledesktop.book.BibleNameCellRenderer
            - org.crosswire.bibledesktop.book.BookListCellRenderer
            - org.crosswire.common.swing.FontChooser.CustomListCellRenderer
            - org.crosswire.common.swing.MapEntryRenderer
            - org.crosswire.common.swing.NumberCellRenderer
          - javax.swing.tree.DefaultTreeCellRenderer (implements javax.swing.tree.TreeCellRenderer)
            - org.crosswire.common.config.swing.AdvancedConfigEditor.CustomTreeCellRenderer
            - org.crosswire.bibledesktop.book.install.BookTreeCellRenderer
            - org.crosswire.bibledesktop.passage.KeyTreeCellRenderer
        - javax.swing.JOptionPane (implements javax.accessibility.Accessible)
          - org.crosswire.common.swing.CWOptionPane
        - javax.swing.JPanel (implements javax.accessibility.Accessible)
          - org.crosswire.common.config.swing.AbstractConfigEditor (implements org.crosswire.common.config.swing.ButtonPaneListener, org.crosswire.common.config.swing.ConfigEditor)
            - org.crosswire.common.config.swing.TreeConfigEditor
              - org.crosswire.common.config.swing.AdvancedConfigEditor
          - org.crosswire.bibledesktop.book.AdvancedSearchPane (implements javax.swing.event.DocumentListener)
          - org.crosswire.common.config.swing.BooleanField (implements org.crosswire.common.config.swing.Field)
          - org.crosswire.common.config.swing.ButtonPane
          - org.crosswire.bibledesktop.book.DisplaySelectPane (implements org.crosswire.jsword.book.BookProvider, org.crosswire.bibledesktop.book.BookSelectListener, org.crosswire.bibledesktop.passage.KeyChangeListener)
          - org.crosswire.bibledesktop.book.install.EditSitePane
          - org.crosswire.common.swing.ExceptionPane
          - org.crosswire.common.config.swing.FileField (implements org.crosswire.common.config.swing.Field)
            - org.crosswire.common.config.swing.DirectoryField
          - org.crosswire.common.swing.FontChooser
            - org.crosswire.common.config.swing.FontField (implements org.crosswire.common.config.swing.Field)
          - org.crosswire.common.swing.FormPane
          - org.crosswire.bibledesktop.book.install.InternetWarning
          - org.crosswire.common.progress.swing.JobsProgressBar (implements org.crosswire.common.progress.WorkListener)
          - org.crosswire.bibledesktop.passage.KeySidebar (implements org.crosswire.bibledesktop.book.DisplaySelectListener, org.crosswire.bibledesktop.passage.KeyChangeListener)
          - org.crosswire.common.swing.NudgeButton
          - org.crosswire.common.config.swing.NumberField (implements org.crosswire.common.config.swing.Field)
          - org.crosswire.bibledesktop.book.ParallelBookPicker (implements org.crosswire.jsword.book.BookProvider)
          - org.crosswire.bibledesktop.book.PassageSelectionPane
          - org.crosswire.common.config.swing.PathField (implements org.crosswire.common.config.swing.Field)
          - org.crosswire.bibledesktop.book.install.SitePane
          - org.crosswire.bibledesktop.book.install.SitesPane
          - org.crosswire.bibledesktop.display.basic.SplitBookDataDisplay (implements org.crosswire.jsword.book.BookProvider)
          - org.crosswire.common.config.swing.StringArrayField (implements org.crosswire.common.config.swing.Field)
          - org.crosswire.common.config.swing.StringArrayField.InputPane
          - org.crosswire.bibledesktop.book.install.SwordSiteEditor (implements org.crosswire.bibledesktop.book.install.SiteEditor)
          - org.crosswire.common.swing.desktop.TabbedPanePanel
            - org.crosswire.bibledesktop.book.BibleViewPane (implements org.crosswire.common.swing.desktop.Clearable, org.crosswire.common.swing.desktop.Titleable, org.crosswire.common.swing.desktop.event.TitleChangedListener)
          - org.crosswire.bibledesktop.desktop.ViewSourcePane
        - javax.swing.JScrollPane (implements javax.accessibility.Accessible, javax.swing.ScrollPaneConstants)
          - org.crosswire.common.swing.CWScrollPane
        - javax.swing.JSplitPane (implements javax.accessibility.Accessible)
          - org.crosswire.common.swing.AltFixedSplitPane
          - org.crosswire.common.swing.FixedSplitPane
          - org.crosswire.bibledesktop.book.MultiBookPane (implements org.crosswire.bibledesktop.display.BookDataDisplay)
        - javax.swing.text.JTextComponent (implements javax.accessibility.Accessible, javax.swing.Scrollable)
          - javax.swing.JEditorPane
            - javax.swing.JTextPane
              - org.crosswire.common.swing.AntiAliasedTextPane
          - javax.swing.JTextField (implements javax.swing.SwingConstants)
            - org.crosswire.common.config.swing.TextField (implements org.crosswire.common.config.swing.Field)
        - javax.swing.JToolBar (implements javax.accessibility.Accessible, javax.swing.SwingConstants)
          - org.crosswire.common.swing.desktop.ToolBar
        - javax.swing.JToolTip (implements javax.accessibility.Accessible)
          - org.crosswire.bibledesktop.display.basic.FullHTMLTip
        - org.crosswire.bibledesktop.desktop.StatusBar (implements java.awt.event.MouseListener, org.crosswire.bibledesktop.display.URIEventListener)
      - java.awt.Window (implements javax.accessibility.Accessible)
        - java.awt.Dialog
          - javax.swing.JDialog (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
            - org.crosswire.common.swing.QuickHelpDialog
        - java.awt.Frame (implements java.awt.MenuContainer)
          - javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
            - org.crosswire.bibledesktop.desktop.Desktop (implements org.crosswire.bibledesktop.book.DisplaySelectListener, org.crosswire.bibledesktop.display.URIEventListener, org.crosswire.common.swing.desktop.event.ViewEventListener, org.crosswire.common.swing.desktop.ViewGenerator)
        - javax.swing.JWindow (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer)
          - org.crosswire.bibledesktop.desktop.Splash
  - javax.swing.plaf.ComponentUI
    - javax.swing.plaf.TabbedPaneUI
      - javax.swing.plaf.basic.BasicTabbedPaneUI (implements javax.swing.SwingConstants)
        - javax.swing.plaf.metal.MetalTabbedPaneUI
          - org.crosswire.common.swing.plaf.MetalBorderlessTabbedPaneUI
        - com.sun.java.swing.plaf.windows.WindowsTabbedPaneUI
          - org.crosswire.common.swing.plaf.WindowsBorderlessTabbedPaneUI
  - org.crosswire.common.swing.CompositeIcon (implements javax.swing.Icon)
  - org.crosswire.common.config.swing.ConfigEditorFactory
  - org.crosswire.common.config.swing.ConfigEditorFactory.URIActionListener (implements java.awt.event.ActionListener)
  - org.crosswire.bibledesktop.util.ConfigurableSwingConverter (implements org.crosswire.common.xml.Converter)
  - org.crosswire.bibledesktop.util.ConfigurableSwingConverter.XSLTFilter (implements org.crosswire.common.util.URIFilter)
  - org.crosswire.common.swing.CWLabel
  - javax.swing.tree.DefaultMutableTreeNode (implements java.lang.Cloneable, javax.swing.tree.MutableTreeNode, java.io.Serializable)
    - org.crosswire.bibledesktop.book.install.BookNode
  - javax.swing.tree.DefaultTreeModel (implements java.io.Serializable, javax.swing.tree.TreeModel)
    - org.crosswire.bibledesktop.passage.KeyTreeModel
    - org.crosswire.bibledesktop.passage.WholeBibleTreeModel
  - org.crosswire.bibledesktop.desktop.Desktop.DesktopRunner (implements java.lang.Runnable)
  - org.crosswire.bibledesktop.desktop.DesktopActions
  - org.crosswire.bibledesktop.desktop.DesktopActions.ShowSideBarVisitor (implements org.crosswire.common.swing.desktop.ViewVisitor)
  - org.crosswire.common.swing.EdgeBorder (implements javax.swing.border.Border, javax.swing.SwingConstants)
  - javax.swing.text.EditorKit (implements java.lang.Cloneable, java.io.Serializable)
    - javax.swing.text.DefaultEditorKit
      - javax.swing.text.StyledEditorKit
        - javax.swing.text.html.HTMLEditorKit (implements javax.accessibility.Accessible)
          - org.crosswire.bibledesktop.display.basic.LazyHTMLEditorKit
  - java.util.EventObject (implements java.io.Serializable)
    - org.crosswire.bibledesktop.book.BookSelectEvent
    - org.crosswire.bibledesktop.book.DisplaySelectEvent
    - org.crosswire.bibledesktop.passage.KeyChangeEvent
    - org.crosswire.common.swing.desktop.event.TitleChangedEvent
    - org.crosswire.bibledesktop.display.URIEvent
    - org.crosswire.common.swing.desktop.event.ViewEvent
  - org.crosswire.common.swing.ExceptionPane.CustomLister (implements javax.swing.event.ListSelectionListener)
  - org.crosswire.common.swing.ExceptionPane.ExceptionPaneReporterListener (implements org.crosswire.common.util.ReporterListener)
  - org.crosswire.common.swing.ExceptionPane.ExceptionRunner (implements java.lang.Runnable)
  - org.crosswire.common.swing.ExceptionPane.MessageRunner (implements java.lang.Runnable)
  - org.crosswire.common.swing.ExceptionPane.SelectActionListener (implements java.awt.event.ActionListener)
  - org.crosswire.common.swing.ExceptionPane.SelectedItemListener (implements java.awt.event.ItemListener)
  - org.crosswire.common.config.swing.FieldMap
  - javax.swing.filechooser.FileFilter
    - org.crosswire.bibledesktop.book.BibleViewPane.CustomFileFilter
  - org.crosswire.common.swing.FontStore
    - org.crosswire.bibledesktop.book.install.BookFont
  - org.crosswire.common.swing.GuiConvert
  - org.crosswire.common.swing.GuiUtil
  - org.crosswire.bibledesktop.book.install.IndexResolver
  - org.crosswire.bibledesktop.book.install.InstallManagerComboBoxModel.CustomInstallerListener (implements org.crosswire.jsword.book.install.InstallerListener)
  - javax.swing.event.InternalFrameAdapter (implements javax.swing.event.InternalFrameListener)
    - org.crosswire.common.swing.desktop.MDIViewLayout.CustomInternalFrameAdapter
  - org.crosswire.common.progress.swing.JobCancelListener (implements java.awt.event.ActionListener)
  - org.crosswire.common.progress.swing.JobsProgressBar.JobData (implements org.crosswire.common.progress.WorkListener)
  - org.crosswire.bibledesktop.passage.KeyTreeNode (implements javax.swing.tree.TreeNode)
  - org.crosswire.common.swing.desktop.LayoutPersistence
  - org.crosswire.common.swing.LookAndFeelUtil
  - org.crosswire.common.config.swing.MappedOptionsField (implements org.crosswire.common.config.swing.Field)
  - org.crosswire.common.swing.MapTableModel.StringPair (implements java.io.Serializable)
  - org.crosswire.common.swing.desktop.MDIViewLayout.CloseListener (implements java.beans.VetoableChangeListener)
  - java.awt.event.MouseAdapter (implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener)
    - org.crosswire.bibledesktop.display.basic.ActiveURITip (implements org.crosswire.bibledesktop.display.URIEventListener)
    - org.crosswire.common.swing.desktop.TabPopupListener
    - org.crosswire.bibledesktop.display.basic.URITipMgr (implements java.awt.event.ActionListener, java.awt.event.MouseMotionListener, org.crosswire.bibledesktop.display.URIEventListener)
  - org.crosswire.common.util.MsgBase
    - org.crosswire.bibledesktop.BDMsg
    - org.crosswire.common.swing.CWMsg
    - org.crosswire.common.swing.CWOtherMsg
  - org.crosswire.common.config.swing.OptionsField (implements org.crosswire.common.config.swing.Field)
  - org.crosswire.bibledesktop.book.ParallelBookPicker.SelectedActionListener (implements java.awt.event.ActionListener)
  - org.crosswire.bibledesktop.book.ParallelBookPicker.SelectedItemListener (implements org.crosswire.jsword.book.BookProvider, java.awt.event.ItemListener)
  - org.crosswire.bibledesktop.book.PassageSelectionPane.CustomDocumentEvent (implements javax.swing.event.DocumentListener)
  - org.crosswire.bibledesktop.book.PassageSelectionPane.CustomPassageListener (implements org.crosswire.jsword.passage.PassageListener)
  - org.crosswire.bibledesktop.display.ProxyBookDataDisplay (implements org.crosswire.bibledesktop.display.BookDataDisplay)
    - org.crosswire.bibledesktop.display.ScrolledBookDataDisplay
  - org.crosswire.bibledesktop.book.install.SiteEditorFactory
  - org.crosswire.bibledesktop.book.install.SitePane.CustomBooksListener (implements org.crosswire.jsword.book.BooksListener)
  - org.crosswire.bibledesktop.book.install.SitesPane.SiteInstallerListener (implements org.crosswire.jsword.book.install.InstallerListener)
  - org.crosswire.bibledesktop.desktop.Splash.CustomWorkListener (implements org.crosswire.common.progress.WorkListener)
  - org.crosswire.common.swing.StackTraceListModel (implements javax.swing.ListModel<E>)
  - org.crosswire.bibledesktop.display.basic.TabbedBookDataDisplay (implements org.crosswire.bibledesktop.display.BookDataDisplay)
  - org.crosswire.bibledesktop.display.basic.TextPaneBookDataDisplay (implements org.crosswire.bibledesktop.display.BookDataDisplay, javax.swing.event.HyperlinkListener)
  - org.crosswire.bibledesktop.book.install.TextPaneBookMetaDataDisplay
  - java.lang.Thread (implements java.lang.Runnable)
    - org.crosswire.bibledesktop.desktop.Desktop.DesktopThread
  - java.lang.ThreadGroup (implements java.lang.Thread.UncaughtExceptionHandler)
    - org.crosswire.common.swing.CatchingThreadGroup
  - org.crosswire.common.config.swing.TreeConfigEditor.ConfigureTreeModel (implements javax.swing.tree.TreeModel)
    - org.crosswire.common.config.swing.AdvancedConfigEditor.AdvancedConfigureTreeModel
  - org.crosswire.common.config.swing.TreeConfigEditor.Node
  - org.crosswire.bibledesktop.display.basic.URITipHelper (implements org.crosswire.bibledesktop.display.URIEventListener)
  - org.crosswire.common.swing.desktop.ViewManager (implements org.crosswire.common.swing.desktop.event.TitleChangedListener, org.crosswire.common.swing.desktop.Viewable, org.crosswire.common.swing.desktop.event.ViewEventListener)
  - org.crosswire.bibledesktop.passage.WholeBibleTreeNode (implements javax.swing.tree.TreeNode)
  - org.crosswire.bibledesktop.passage.WholeBibleTreeNode.WholeBibleEnumeration (implements java.util.Enumeration<E>)

## Interface Hierarchy

- org.crosswire.common.swing.Actionable
- org.crosswire.jsword.book.BookProvider
  - org.crosswire.bibledesktop.display.BookDataDisplay (also extends java.beans.PropertyChangeListener)
- org.crosswire.common.config.swing.ButtonPaneListener
- org.crosswire.common.swing.desktop.Clearable
- org.crosswire.common.config.swing.ConfigEditor
- java.util.EventListener
  - org.crosswire.bibledesktop.display.BookDataDisplay (also extends org.crosswire.jsword.book.BookProvider, java.beans.PropertyChangeListener)
  - org.crosswire.bibledesktop.book.BookSelectListener
  - org.crosswire.bibledesktop.book.DisplaySelectListener
  - org.crosswire.bibledesktop.passage.KeyChangeListener
  - java.beans.PropertyChangeListener
    - org.crosswire.bibledesktop.display.BookDataDisplay (also extends org.crosswire.jsword.book.BookProvider)
  - org.crosswire.common.swing.desktop.event.TitleChangedListener
  - org.crosswire.bibledesktop.display.URIEventListener
  - org.crosswire.common.swing.desktop.event.ViewEventListener
- org.crosswire.common.config.swing.Field
- java.lang.Iterable<T>
  - org.crosswire.common.swing.desktop.Viewable
- org.crosswire.bibledesktop.book.install.SiteEditor
- org.crosswire.common.swing.desktop.Titleable
- org.crosswire.common.swing.desktop.ViewGenerator
- org.crosswire.common.swing.desktop.ViewVisitor

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.crosswire.bibledesktop.book.DisplaySelectPane.Mode
    - org.crosswire.bibledesktop.book.BibleComboBoxModel.Level
    - org.crosswire.bibledesktop.book.install.EditSitePane.EditState
    - org.crosswire.bibledesktop.desktop.XSLTProperty
    - org.crosswire.bibledesktop.passage.WholeBibleTreeNode.Level
    - org.crosswire.common.swing.desktop.LayoutType