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 CellRenderingCustomizerm_CellRenderingCustomizerthe custom background color for negative values (null if none set).protected intm_NumDecimalsthe number of decimals to display.protected SpreadSheetViewerPanelm_Ownerthe owning viewer.static StringPREFIX_MODIFIEDprefix for modified titles.static StringPREFIX_TITLEprefix 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 SpreadSheetPaneladdPage(File file, SpreadSheet sheet)Adds the sheet.SpreadSheetPaneladdPage(String title, SpreadSheet sheet)Adds the sheet.protected booleancheckForModified()Returns whether we can proceed with the operation or not, depending on whether the user saved the sheet or discarded the changes.protected booleancheckForModified(SpreadSheetPanel panel)Returns whether we can proceed with the operation or not, depending on whether the user saved the sheet or discarded the changes.StringcreatePageTitle(File file, SpreadSheet sheet)Creates a page title.SpreadSheetPanel[]getAllPanels()Returns all the image panels.CellRenderingCustomizergetCellRenderingCustomizer()Returns the current cell rendering customizer.CellRenderingCustomizergetCellRenderingCustomizerAt(int index)Returns the cell rendering customizer at the index.SpreadSheetPanelgetCurrentPanel()Returns the currently selected panel.SpreadSheetgetCurrentSheet()Returns the currently selected sheet.SpreadSheetTablegetCurrentTable()Returns the currently selected table.intgetNumDecimals()Returns the currently set number of decimals.intgetNumDecimalsAt(int index)returns the number of decimals in use.SpreadSheetViewerPanelgetOwner()Returns the owning viewer.List<String>getPageTitles()Returns all the page titles.SpreadSheetPanelgetPanelAt(int index)Returns the panel at the specified position.intgetPanelCount()Returns the number of panels in the tabbed pane.booleangetReadOnlyAt(int index)Returns whether to show the formulas.SpreadSheetgetSheetAt(int index)Returns the table at the specified position.booleangetShowCellTypes(int index)Returns whether to show the cell types.booleangetShowFormulas(int index)Returns whether to show the formulas.SpreadSheetTablegetTableAt(int index)Returns the table at the specified position.protected voidinitialize()Initializes the members.booleanisModifiedAt(int index)Returns the modified state.StringnewTitle()Returns a new title (does not reserve it).protected voidpageSelected(ChangeEvent e)Gets called when a page gets selected.MultiPagePane.PageContainerremovePageAt(int index)Removes the page atindex.voidsetCellRenderingCustomizer(CellRenderingCustomizer cust)Sets the cell rendering customizer to use.voidsetCellRenderingCustomizerAt(int index, CellRenderingCustomizer cust)Sets the cell rendering customizer at the index.voidsetColumnWidths(int width)Sets the column widths for all pages.voidsetColumnWidthsAt(int index, int width)Sets the column width for the specified pane.voidsetModified(boolean value)Sets the modified state of all tab.voidsetModifiedAt(int index, boolean value)Sets the modified state.voidsetNumDecimals(int numDec)Sets the number of decimals to use for all tables.voidsetNumDecimalsAt(int index, int numDec)Sets the number of decimals to use.voidsetOptimalColumnWidth()Sets the optimal column widths for all pages.voidsetOptimalColumnWidthAt(int index)Sets the optimal column widths for the specified pane.voidsetOwner(SpreadSheetViewerPanel value)Sets the owning viewer.voidsetReadOnly(boolean value)Sets the readonly state of all tabs.voidsetReadOnlyAt(int index, boolean value)Sets the readonly state.voidsetShowCellTypes(boolean value)Sets whether to show the cell types.voidsetShowCellTypesAt(int index, boolean value)Sets whether to show the cell types rather than values.voidsetShowFormulas(boolean value)Sets whether to show the formulas.voidsetShowFormulasAt(int index, boolean value)Sets whether to show the formulas.voidupdateCurrentPage()Updates the title of the currently selected page, taking the modified state into account.voidupdatePage(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:
initializein 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:
setReadOnlyin 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 withindexis removed, its visibility is reset to true to ensure it will be visible if added to other containers.- Overrides:
removePageAtin 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
-
-