net.sf.dc.console
Class TableInsertPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bynet.sf.dc.console.DataCrowPanel
                      extended bynet.sf.dc.console.TablePanel
                          extended bynet.sf.dc.console.TableInsertPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
InsertAudioCDPanel, InsertAudioTrackPanel, InsertMoviePanel, InsertMusicFilePanel, InsertSoftwarePanel, SoftwareCategoryForm.CatagoryInsertPanel

public abstract class TableInsertPanel
extends TablePanel

Base for all insert panels (for objects like Software, Music and Movie) Has an implemenation for supporting a child panel (in case of an Object with children). The functionality is not fully implemented in this class as only (for now) the Audio Track and Audio CD panel have a parent-child relation.

Since:
1.3
Version:
0.50
Author:
Robert-Jan van der Waals
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class net.sf.dc.console.TablePanel
TablePanel.AddRowAction, TablePanel.CancelAction, TablePanel.ClearButtonAction, TablePanel.CreatePdfReport, TablePanel.FieldSelectorAction, TablePanel.OpenRecordAction, TablePanel.PopupMenu, TablePanel.RemoveRowAction, TablePanel.TableActionsPanel, TablePanel.UpdateAllAction
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  TableInsertPanel childPanel
           
protected  java.lang.String parentID
           
 
Fields inherited from class net.sf.dc.console.TablePanel
panelTableActions, popupMenu, table, tableMouseListener, task
 
Fields inherited from class net.sf.dc.console.DataCrowPanel
labelStatus
 
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
TableInsertPanel(DCModule module, java.lang.String title, javax.swing.ImageIcon icon)
          Initializes the panel.
 
Method Summary
 void addRow(java.util.LinkedList data, boolean addUIRowID)
          Adds a list of data crow objects to the table.
 void clearTable()
          Clear this table and the child table
 void clearTable(boolean cache)
           
 void createPdfReport()
          Creates a PDF report.
protected abstract  DCObject[] getChildren(java.lang.String parentID)
           
abstract  javax.swing.JComponent[] getExtraComponents()
           
 DCObject getObjectForSaving(int row)
          Retrieves a data crow object for the specified row for saving purposes.
 java.lang.String getParentID()
           
protected abstract  void loadChildValues(java.lang.String id)
           
 void openRecord()
          Opens the selected record
protected abstract  void rememberChildValues(java.lang.String id)
           
 void removeChildren(java.lang.String parentID)
           
 void removeRows(int[] rows)
          Remove the rows from the table with the given indices
 void save(int[] rows)
          Saves the give rows to the database.
 void saveNewValues()
          Saves all the new values (including children)
 void saveSelectedValues(boolean silent)
          Saves the selected values only
 void setParentID(java.lang.String sID)
          Set the parent ID (if this panel is acting as a child)
 
Methods inherited from class net.sf.dc.console.TablePanel
allowActions, cancelEdit, cancelTask, denyActions, fillTable, getChildModule, getModule, getObjects, hasChild, isTaskRunning, openRecord, removeHiddenFields, setRequiredFields, startAmazonUpdate, startIMDBUpdate, updateRow, updateRowAt
 
Methods inherited from class net.sf.dc.console.DataCrowPanel
getIcon, getTitle, setBackground, setStatus
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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

parentID

protected java.lang.String parentID

childPanel

protected TableInsertPanel childPanel
Constructor Detail

TableInsertPanel

public TableInsertPanel(DCModule module,
                        java.lang.String title,
                        javax.swing.ImageIcon icon)
Initializes the panel. Should be called by the child by calling super(module). The popup menu and the action panel are automatically created.

Parameters:
module - the module for which this panel is created
title - the title of this panel
icon - the icon of this panel
Method Detail

addRow

public void addRow(java.util.LinkedList data,
                   boolean addUIRowID)
Adds a list of data crow objects to the table. Mostly this is used by internet updates (retrieving information from another source). The data added is ready for saving. In case the object has children, these are added to this table as well.

Parameters:
data - list of data crow objects
addUIRowID - display the UI row ID

openRecord

public void openRecord()
Opens the selected record

Specified by:
openRecord in class TablePanel

createPdfReport

public void createPdfReport()
Creates a PDF report. All visible fields are reported on. A file browser is opened in which the user can indicate where the pdf file should be stored.

Specified by:
createPdfReport in class TablePanel

setParentID

public void setParentID(java.lang.String sID)
Set the parent ID (if this panel is acting as a child)

Parameters:
sID - parent ID

clearTable

public void clearTable()
Clear this table and the child table

Overrides:
clearTable in class TablePanel

clearTable

public void clearTable(boolean cache)

getExtraComponents

public abstract javax.swing.JComponent[] getExtraComponents()

getObjectForSaving

public DCObject getObjectForSaving(int row)
Retrieves a data crow object for the specified row for saving purposes. Children are added to this object

Parameters:
row - row number

removeRows

public void removeRows(int[] rows)
Remove the rows from the table with the given indices

Overrides:
removeRows in class TablePanel
Parameters:
rows - the row indices

removeChildren

public void removeChildren(java.lang.String parentID)

save

public void save(int[] rows)
Saves the give rows to the database. Saving is done threaded and can be cancelled by the user

Parameters:
rows - row indices / to be saved rows
See Also:
SavingThread

saveNewValues

public void saveNewValues()
Saves all the new values (including children)


saveSelectedValues

public void saveSelectedValues(boolean silent)
Saves the selected values only

Parameters:
silent - indicates wether messages should be shown

getParentID

public java.lang.String getParentID()

rememberChildValues

protected abstract void rememberChildValues(java.lang.String id)

loadChildValues

protected abstract void loadChildValues(java.lang.String id)

getChildren

protected abstract DCObject[] getChildren(java.lang.String parentID)