Class MultiPagePane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.core.MultiPagePane
-
- adams.gui.tools.spreadsheetviewer.MultiPagePane
-
- All Implemented Interfaces:
CleanUpHandler
,UISettingsSupporter
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class MultiPagePane extends MultiPagePane
A specialized tabbed pane with a few methods for easier access.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adams.gui.core.MultiPagePane
MultiPagePane.DetachablePage, MultiPagePane.PageCloseApprover, MultiPagePane.PageContainer, MultiPagePane.PageUndo, MultiPagePane.PopupCustomizer, MultiPagePane.TitleRenderer, MultiPagePane.ToolTipCustomizer
-
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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected CellRenderingCustomizer
m_CellRenderingCustomizer
the custom background color for negative values (null if none set).protected int
m_NumDecimals
the number of decimals to display.protected SpreadSheetViewerPanel
m_Owner
the owning viewer.static String
PREFIX_MODIFIED
prefix for modified titles.static String
PREFIX_TITLE
prefix for new titles.-
Fields inherited from class adams.gui.core.MultiPagePane
m_ButtonAction, m_ButtonDown, m_ButtonRemove, m_ButtonRemoveAll, m_ButtonUndo, m_ButtonUp, m_ChangeListeners, m_IgnoreUpdates, m_LeftPanel, m_MaxPageCloseUndo, m_PageCloseApprover, m_PageList, m_PageListModel, m_PageUndoList, m_PanelContent, m_PanelListButtons, m_PopupCustomizer, m_ReadOnly, m_SkipPageUndo, m_SplitPane, m_ToolTipCustomizer
-
Fields inherited from class adams.gui.core.BasePanel
m_FileChooser
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description MultiPagePane(SpreadSheetViewerPanel owner)
Initializes the tabbed pane.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SpreadSheetPanel
addPage(File file, SpreadSheet sheet)
Adds the sheet.SpreadSheetPanel
addPage(String title, SpreadSheet sheet)
Adds the sheet.protected boolean
checkForModified()
Returns whether we can proceed with the operation or not, depending on whether the user saved the sheet or discarded the changes.protected boolean
checkForModified(SpreadSheetPanel panel)
Returns whether we can proceed with the operation or not, depending on whether the user saved the sheet or discarded the changes.String
createPageTitle(File file, SpreadSheet sheet)
Creates a page title.SpreadSheetPanel[]
getAllPanels()
Returns all the image panels.CellRenderingCustomizer
getCellRenderingCustomizer()
Returns the current cell rendering customizer.CellRenderingCustomizer
getCellRenderingCustomizerAt(int index)
Returns the cell rendering customizer at the index.SpreadSheetPanel
getCurrentPanel()
Returns the currently selected panel.SpreadSheet
getCurrentSheet()
Returns the currently selected sheet.SpreadSheetTable
getCurrentTable()
Returns the currently selected table.int
getNumDecimals()
Returns the currently set number of decimals.int
getNumDecimalsAt(int index)
returns the number of decimals in use.SpreadSheetViewerPanel
getOwner()
Returns the owning viewer.List<String>
getPageTitles()
Returns all the page titles.SpreadSheetPanel
getPanelAt(int index)
Returns the panel at the specified position.int
getPanelCount()
Returns the number of panels in the tabbed pane.boolean
getReadOnlyAt(int index)
Returns whether to show the formulas.SpreadSheet
getSheetAt(int index)
Returns the table at the specified position.boolean
getShowCellTypes(int index)
Returns whether to show the cell types.boolean
getShowFormulas(int index)
Returns whether to show the formulas.SpreadSheetTable
getTableAt(int index)
Returns the table at the specified position.protected void
initialize()
Initializes the members.boolean
isModifiedAt(int index)
Returns the modified state.String
newTitle()
Returns a new title (does not reserve it).protected void
pageSelected(ChangeEvent e)
Gets called when a page gets selected.MultiPagePane.PageContainer
removePageAt(int index)
Removes the page atindex
.void
setCellRenderingCustomizer(CellRenderingCustomizer cust)
Sets the cell rendering customizer to use.void
setCellRenderingCustomizerAt(int index, CellRenderingCustomizer cust)
Sets the cell rendering customizer at the index.void
setColumnWidths(int width)
Sets the column widths for all pages.void
setColumnWidthsAt(int index, int width)
Sets the column width for the specified pane.void
setModified(boolean value)
Sets the modified state of all tab.void
setModifiedAt(int index, boolean value)
Sets the modified state.void
setNumDecimals(int numDec)
Sets the number of decimals to use for all tables.void
setNumDecimalsAt(int index, int numDec)
Sets the number of decimals to use.void
setOptimalColumnWidth()
Sets the optimal column widths for all pages.void
setOptimalColumnWidthAt(int index)
Sets the optimal column widths for the specified pane.void
setOwner(SpreadSheetViewerPanel value)
Sets the owning viewer.void
setReadOnly(boolean value)
Sets the readonly state of all tabs.void
setReadOnlyAt(int index, boolean value)
Sets the readonly state.void
setShowCellTypes(boolean value)
Sets whether to show the cell types.void
setShowCellTypesAt(int index, boolean value)
Sets whether to show the cell types rather than values.void
setShowFormulas(boolean value)
Sets whether to show the formulas.void
setShowFormulasAt(int index, boolean value)
Sets whether to show the formulas.void
updateCurrentPage()
Updates the title of the currently selected page, taking the modified state into account.void
updatePage(int index)
Updates the page title at the specified index, taking the modified state into account.-
Methods inherited from class adams.gui.core.MultiPagePane
addAction, addAction, addChangeListener, addPage, addPage, addPage, addPage, addPageUndo, addRemoveItemsListener, canMoveDown, canMoveUp, canRemovePageAt, canRemoveSelectedPages, canUndoPageClose, checkedRemoveAllPages, checkedRemovePageAt, checkedRemoveSelectedPage, checkedRemoveSelectedPages, cleanUp, clearPageUndo, clearUISettingsParameters, createPopup, finishInit, generateToolTip, getDetachablePageAt, getDividerLocation, getIconAt, getMaxPageCloseUndo, getPageAt, getPageCloseApprover, getPageContainerAt, getPageCount, getPageUndoList, getPopupCustomizer, getSelectedDetachablePage, getSelectedIcon, getSelectedIndex, getSelectedIndices, getSelectedPage, getSelectedPageContainer, getSelectedTitle, getTitleAt, getTitleRenderer, getToolTipCustomizer, indexOfPage, indexOfPage, initGUI, isPageClosingApproved, isPageClosingApproved, isReadOnly, moveBottom, moveDown, moveTop, moveUp, newRenderer, notifyChangeListeners, processListKey, removeAllPages, removeChangeListener, removeRemoveItemsListener, removeSelectedPage, removeSelectedPages, setDividerLocation, setIconAt, setMaxPageCloseUndo, setPageAt, setPageAt, setPageCloseApprover, setPopupCustomizer, setSelectedIndex, setSelectedIndices, setSelectedPage, setTitleAt, setTitleRenderer, setToolTipCustomizer, setUISettingsParameters, showPopup, undoPageClose, update, updateButtons, updateTitle
-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
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, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
PREFIX_TITLE
public static final String PREFIX_TITLE
prefix for new titles.- See Also:
- Constant Field Values
-
PREFIX_MODIFIED
public static final String PREFIX_MODIFIED
prefix for modified titles.- See Also:
- Constant Field Values
-
m_Owner
protected SpreadSheetViewerPanel m_Owner
the owning viewer.
-
m_NumDecimals
protected int m_NumDecimals
the number of decimals to display.
-
m_CellRenderingCustomizer
protected CellRenderingCustomizer m_CellRenderingCustomizer
the custom background color for negative values (null if none set).
-
-
Constructor Detail
-
MultiPagePane
public MultiPagePane(SpreadSheetViewerPanel owner)
Initializes the tabbed pane.- Parameters:
owner
- the owning viewer
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classMultiPagePane
-
setOwner
public void setOwner(SpreadSheetViewerPanel value)
Sets the owning viewer.- Parameters:
value
- the owner
-
getOwner
public SpreadSheetViewerPanel getOwner()
Returns the owning viewer.- Returns:
- the owner, null if none set
-
getPanelCount
public int getPanelCount()
Returns the number of panels in the tabbed pane.- Returns:
- the number of panels
-
getAllPanels
public SpreadSheetPanel[] getAllPanels()
Returns all the image panels.- Returns:
- the image panels
-
getPanelAt
public SpreadSheetPanel getPanelAt(int index)
Returns the panel at the specified position.- Parameters:
index
- the page index of the table- Returns:
- the panel, null if not available or invalid index
-
getTableAt
public SpreadSheetTable getTableAt(int index)
Returns the table at the specified position.- Parameters:
index
- the page index of the table- Returns:
- the table, null if not available or invalid index
-
getSheetAt
public SpreadSheet getSheetAt(int index)
Returns the table at the specified position.- Parameters:
index
- the page index of the table- Returns:
- the table
-
setNumDecimalsAt
public void setNumDecimalsAt(int index, int numDec)
Sets the number of decimals to use.- Parameters:
index
- the page indexnumDec
- the number of decimals to use
-
getNumDecimalsAt
public int getNumDecimalsAt(int index)
returns the number of decimals in use.- Parameters:
index
- the page index- Returns:
- the number of decimals in use
-
setNumDecimals
public void setNumDecimals(int numDec)
Sets the number of decimals to use for all tables.- Parameters:
numDec
- the number of decimals to use
-
getNumDecimals
public int getNumDecimals()
Returns the currently set number of decimals.- Returns:
- the number of decimals to use
-
setCellRenderingCustomizerAt
public void setCellRenderingCustomizerAt(int index, CellRenderingCustomizer cust)
Sets the cell rendering customizer at the index.- Parameters:
index
- the page indexcust
- the customizer
-
getCellRenderingCustomizerAt
public CellRenderingCustomizer getCellRenderingCustomizerAt(int index)
Returns the cell rendering customizer at the index.- Parameters:
index
- the page index- Returns:
- the customizer
-
setCellRenderingCustomizer
public void setCellRenderingCustomizer(CellRenderingCustomizer cust)
Sets the cell rendering customizer to use.- Parameters:
cust
- the customizer
-
getCellRenderingCustomizer
public CellRenderingCustomizer getCellRenderingCustomizer()
Returns the current cell rendering customizer.- Returns:
- the customizer
-
setOptimalColumnWidth
public void setOptimalColumnWidth()
Sets the optimal column widths for all pages.
-
setOptimalColumnWidthAt
public void setOptimalColumnWidthAt(int index)
Sets the optimal column widths for the specified pane.- Parameters:
index
- the page index
-
setColumnWidths
public void setColumnWidths(int width)
Sets the column widths for all pages.
-
setColumnWidthsAt
public void setColumnWidthsAt(int index, int width)
Sets the column width for the specified pane.- Parameters:
index
- the page indexwidth
- the width to use
-
setShowFormulasAt
public void setShowFormulasAt(int index, boolean value)
Sets whether to show the formulas.- Parameters:
index
- the page indexvalue
- whether to show the formulas
-
getShowFormulas
public boolean getShowFormulas(int index)
Returns whether to show the formulas.- Parameters:
index
- the page index- Returns:
- whether to show the formulas
-
setShowFormulas
public void setShowFormulas(boolean value)
Sets whether to show the formulas.- Parameters:
value
- whether to show the formulas
-
setShowCellTypesAt
public void setShowCellTypesAt(int index, boolean value)
Sets whether to show the cell types rather than values.- Parameters:
index
- the page indexvalue
- whether to show the cell types
-
getShowCellTypes
public boolean getShowCellTypes(int index)
Returns whether to show the cell types.- Parameters:
index
- the page index- Returns:
- whether to show the cell types
-
setShowCellTypes
public void setShowCellTypes(boolean value)
Sets whether to show the cell types.- Parameters:
value
- whether to show the cell types
-
setReadOnlyAt
public void setReadOnlyAt(int index, boolean value)
Sets the readonly state.- Parameters:
index
- the page indexvalue
- whether to show the formulas
-
getReadOnlyAt
public boolean getReadOnlyAt(int index)
Returns whether to show the formulas.- Parameters:
index
- the page index- Returns:
- whether to show the formulas
-
setReadOnly
public void setReadOnly(boolean value)
Sets the readonly state of all tabs.- Overrides:
setReadOnly
in classMultiPagePane
- Parameters:
value
- true if readonly
-
setModifiedAt
public void setModifiedAt(int index, boolean value)
Sets the modified state.- Parameters:
index
- the page indexvalue
- true if modified
-
isModifiedAt
public boolean isModifiedAt(int index)
Returns the modified state.- Parameters:
index
- the page index- Returns:
- true if modified
-
setModified
public void setModified(boolean value)
Sets the modified state of all tab.- Parameters:
value
- true if modified
-
checkForModified
protected boolean checkForModified()
Returns whether we can proceed with the operation or not, depending on whether the user saved the sheet or discarded the changes.- Returns:
- true if safe to proceed
-
checkForModified
protected boolean checkForModified(SpreadSheetPanel panel)
Returns whether we can proceed with the operation or not, depending on whether the user saved the sheet or discarded the changes.- Returns:
- true if safe to proceed
-
getCurrentPanel
public SpreadSheetPanel getCurrentPanel()
Returns the currently selected panel.- Returns:
- the current panel, null if not available
-
getCurrentTable
public SpreadSheetTable getCurrentTable()
Returns the currently selected table.- Returns:
- the table, null if none available
-
getCurrentSheet
public SpreadSheet getCurrentSheet()
Returns the currently selected sheet.- Returns:
- the sheet, null if none available
-
addPage
public SpreadSheetPanel addPage(File file, SpreadSheet sheet)
Adds the sheet.- Parameters:
file
- the file this sheet is fromsheet
- the sheet to add- Returns:
- the created panel
-
addPage
public SpreadSheetPanel addPage(String title, SpreadSheet sheet)
Adds the sheet.- Parameters:
title
- the title for the tabsheet
- the sheet to add- Returns:
- the created panel
-
createPageTitle
public String createPageTitle(File file, SpreadSheet sheet)
Creates a page title.- Parameters:
file
- the file name to usesheet
- the sheet loaded from the file- Returns:
- the generated title
-
newTitle
public String newTitle()
Returns a new title (does not reserve it).
-
pageSelected
protected void pageSelected(ChangeEvent e)
Gets called when a page gets selected.- Parameters:
e
- the event that triggered the action
-
removePageAt
public MultiPagePane.PageContainer removePageAt(int index)
Removes the page atindex
. After the component associated withindex
is removed, its visibility is reset to true to ensure it will be visible if added to other containers.- Overrides:
removePageAt
in classMultiPagePane
- Parameters:
index
- the index of the page to be removed- Returns:
- the removed container
-
updateCurrentPage
public void updateCurrentPage()
Updates the title of the currently selected page, taking the modified state into account.
-
updatePage
public void updatePage(int index)
Updates the page title at the specified index, taking the modified state into account.- Parameters:
index
- the index of the tab
-
-