Package io.guise.framework.component
Class PlatformFileUploadPanel
- java.lang.Object
-
- com.globalmentor.beans.BoundPropertyObject
-
- io.guise.framework.event.GuiseBoundPropertyObject
-
- io.guise.framework.model.ui.AbstractPresentationModel
-
- io.guise.framework.component.AbstractComponent
-
- io.guise.framework.component.AbstractCompositeComponent
-
- io.guise.framework.component.AbstractMultipleCompositeComponent
-
- io.guise.framework.component.AbstractListCompositeComponent
-
- io.guise.framework.component.AbstractLayoutComponent
-
- io.guise.framework.component.AbstractContainer
-
- io.guise.framework.component.AbstractPanel
-
- io.guise.framework.component.PlatformFileUploadPanel
-
- All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable
,com.globalmentor.beans.PropertyConstrainable
,Box
,Component
,CompositeComponent
,Container
,LayoutComponent
,Panel
,ProgressListenable<java.lang.Long>
,Displayable
,InfoModel
,LabelModel
,Model
,PresentationModel
,DepictedObject
,java.lang.Iterable<Component>
public class PlatformFileUploadPanel extends AbstractPanel implements ProgressListenable<java.lang.Long>
Panel to browse platform files and upload them to the specified destination. Progress events are sent both for individual platform file transfer progress and for overall progress. For the former, the source of the event will be the relevantPlatformFile
; for the latter, the source of the event will be aPlatformFileUploadTask
.- Author:
- Garret Wilson
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.guise.framework.component.AbstractComponent
AbstractComponent.AbstractFlyoverFrameStrategy<S extends Component>, AbstractComponent.AbstractFlyoverStrategy<S extends Component>, AbstractComponent.DefaultFlyoverStrategy<S extends Component>
-
Nested classes/interfaces inherited from interface io.guise.framework.component.Component
Component.FlyoverStrategy<S extends Component>
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DESTINATION_BOOKMARK_PROPERTY
The bound property of the destination bookmark.static java.lang.String
DESTINATION_URI_PROPERTY
The bound property of the destination URI.-
Fields inherited from class com.globalmentor.beans.BoundPropertyObject
NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
-
Fields inherited from interface io.guise.framework.component.Component
BOOKMARK_ENABLED_PROPERTY, CONSTRAINTS_PROPERTY, DRAG_ENABLED_PROPERTY, DROP_ENABLED_PROPERTY, FLYOVER_ENABLED_PROPERTY, FLYOVER_STRATEGY_PROPERTY, INPUT_STRATEGY_PROPERTY, NAME_PROPERTY, NOTIFICATION_PROPERTY, ORIENTATION_PROPERTY, THEME_APPLIED_PROPERTY, VALID_PROPERTY
-
Fields inherited from interface io.guise.framework.model.Displayable
DISPLAYED_PROPERTY
-
Fields inherited from interface io.guise.framework.model.InfoModel
DESCRIPTION_CONTENT_TYPE_PROPERTY, DESCRIPTION_PROPERTY, INFO_CONTENT_TYPE_PROPERTY, INFO_PROPERTY
-
Fields inherited from interface io.guise.framework.model.LabelModel
GLYPH_URI_PROPERTY, LABEL_CONTENT_TYPE_PROPERTY, LABEL_PROPERTY
-
Fields inherited from interface io.guise.framework.component.LayoutComponent
LAYOUT_PROPERTY, LAYOUT_THEME_APPLIED_PROPERTY
-
Fields inherited from interface io.guise.framework.model.ui.PresentationModel
BACKGROUND_COLOR_PROPERTY, BORDER_LINE_FAR_COLOR_PROPERTY, BORDER_LINE_FAR_EXTENT_PROPERTY, BORDER_LINE_FAR_STYLE_PROPERTY, BORDER_LINE_NEAR_COLOR_PROPERTY, BORDER_LINE_NEAR_EXTENT_PROPERTY, BORDER_LINE_NEAR_STYLE_PROPERTY, BORDER_PAGE_FAR_COLOR_PROPERTY, BORDER_PAGE_FAR_EXTENT_PROPERTY, BORDER_PAGE_FAR_STYLE_PROPERTY, BORDER_PAGE_NEAR_COLOR_PROPERTY, BORDER_PAGE_NEAR_EXTENT_PROPERTY, BORDER_PAGE_NEAR_STYLE_PROPERTY, CORNER_LINE_FAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_FAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CURSOR_PROPERTY, FONT_FAMILIES_PROPERTY, FONT_SIZE_PROPERTY, FONT_STYLE_PROPERTY, FONT_WEIGHT_BOLD, FONT_WEIGHT_NORMAL, FONT_WEIGHT_PROPERTY, LABEL_FONT_FAMILIES_PROPERTY, LABEL_FONT_SIZE_PROPERTY, LABEL_FONT_STYLE_PROPERTY, LABEL_FONT_WEIGHT_PROPERTY, LABEL_TEXT_COLOR_PROPERTY, LINE_EXTENT_PROPERTY, MARGIN_LINE_FAR_EXTENT_PROPERTY, MARGIN_LINE_NEAR_EXTENT_PROPERTY, MARGIN_PAGE_FAR_EXTENT_PROPERTY, MARGIN_PAGE_NEAR_EXTENT_PROPERTY, OPACITY_PROPERTY, PADDING_LINE_FAR_EXTENT_PROPERTY, PADDING_LINE_NEAR_EXTENT_PROPERTY, PADDING_PAGE_FAR_EXTENT_PROPERTY, PADDING_PAGE_NEAR_EXTENT_PROPERTY, PAGE_EXTENT_PROPERTY, ROUNDED_CORNER_ARC_SIZE, STYLE_ID_PROPERTY, TEXT_COLOR_PROPERTY, TOOLTIP_ENABLED_PROPERTY, VISIBLE_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description PlatformFileUploadPanel()
Default constructor with a default vertical flow layout.PlatformFileUploadPanel(java.net.URI destinationURI)
Destination URI constructor.PlatformFileUploadPanel(java.net.URI destinationURI, Bookmark destinationBookmark)
Destination URI and destination bookmark constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addProgressListener(ProgressListener<java.lang.Long> progressListener)
Adds a progress listener.protected void
fireProgressed(ProgressEvent<java.lang.Long> progressEvent)
Fires a given progress event to all registered progress listeners.ActionPrototype
getBrowseActionPrototype()
ActionPrototype
getCancelActionPrototype()
Panel
getControlPanel()
Bookmark
getDestinationBookmark()
java.net.URI
getDestinationURI()
ActionPrototype
getUploadActionPrototype()
void
removeProgressListener(ProgressListener<java.lang.Long> progressListener)
Removes an progress listener.void
setDestinationBookmark(Bookmark newDestinationBookmark)
Sets the destination bookmark of the upload.void
setDestinationURI(java.net.URI newDestinationURI)
Sets the destination base URI of the upload.protected void
updateComponents()
Updates the state of components.protected void
updateOverallStatusLabel(com.globalmentor.model.TaskState state, java.lang.Long progress, java.lang.Long completion)
Updates the status label for the overall progress.protected void
updatePlatformFileStatusLabel(PlatformFile platformFile, com.globalmentor.model.TaskState state, java.lang.Long progress, java.lang.Long completion)
Updates the status label for an individual platform file.-
Methods inherited from class io.guise.framework.component.AbstractContainer
add, add, add, add, add, add, add, add, clear, contains, createComponent, get, getChildComponents, indexOf, isEmpty, iterator, lastIndexOf, remove, remove, setChildren, setLayout, size
-
Methods inherited from class io.guise.framework.component.AbstractLayoutComponent
addComponent, applyTheme, applyTheme, getLayout, isLayoutThemeApplied, removeComponent, resetTheme, setLayoutThemeApplied, updateTheme
-
Methods inherited from class io.guise.framework.component.AbstractListCompositeComponent
addComponent, getComponentList, hasChildComponents
-
Methods inherited from class io.guise.framework.component.AbstractCompositeComponent
addCompositeComponentListener, childComponentValidPropertyChanged, determineChildrenValid, determineValid, dispatchInputEvent, dispatchInputEvent, fireChildComponentAdded, fireChildComponentAdded, fireChildComponentRemoved, fireChildComponentRemoved, initializeChildComponent, loadPreferences, removeCompositeComponentListener, savePreferences, uninitializeChildComponent, validate, validateChildren
-
Methods inherited from class io.guise.framework.component.AbstractComponent
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, depict, equals, exportTransfer, fireInputEvent, fireNotified, fireNotified, getAncestor, getCommandListeners, getComponentByID, getComponentByName, getComponentOrientation, getConstraints, getDepictID, getDepictor, getDescription, getDescriptionContentType, getDirtyComponents, getDirtyComponents, getEventListenerManager, getFlyoverStrategy, getGlyphURI, getInfo, getInfoContentType, getInfoModel, getInputStrategy, getKeyListeners, getLabel, getLabelContentType, getMouseListeners, getName, getNotification, getNotifications, getNotifications, getOrientation, getParent, getPreferenceProperties, getRootComponent, getTheme, hasAncestor, hasCommandListeners, hashCode, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, notify, processEvent, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, setConstraints, setDepicted, setDescription, setDescriptionContentType, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setGlyphURI, setInfo, setInfoContentType, setInputStrategy, setLabel, setLabelContentType, setName, setNotification, setOrientation, setParent, setThemeApplied, setValid, toString, update, updateValid
-
Methods inherited from class io.guise.framework.model.ui.AbstractPresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getStyleID, getTextColor, isDisplayed, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setDisplayed, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
-
Methods inherited from class io.guise.framework.event.GuiseBoundPropertyObject
getSession
-
Methods inherited from class com.globalmentor.beans.BoundPropertyObject
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, createPostponedPropertyChangeEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getForwardPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getRepeatPropertyChangeListener, getRepeatVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, getVetoableChangeSupport, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.guise.framework.component.Component
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, applyTheme, applyTheme, dispatchInputEvent, exportTransfer, fireInputEvent, getAncestor, getComponentOrientation, getConstraints, getDepictor, getFlyoverStrategy, getInputStrategy, getName, getNotification, getOrientation, getParent, getPreferenceProperties, getTheme, hasCommandListeners, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, loadPreferences, notify, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, resetTheme, savePreferences, setConstraints, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setInputStrategy, setName, setNotification, setOrientation, setParent, setThemeApplied, updateTheme, validate
-
Methods inherited from interface io.guise.framework.component.CompositeComponent
addCompositeComponentListener, getChildComponents, hasChildComponents, removeCompositeComponentListener
-
Methods inherited from interface io.guise.framework.component.Container
add, add, add, add, add, add, add, clear, contains, get, indexOf, isEmpty, lastIndexOf, remove, remove, setLayout, size
-
Methods inherited from interface io.guise.framework.platform.DepictedObject
depict, getDepictID, getSession, processEvent
-
Methods inherited from interface io.guise.framework.model.InfoModel
getDescription, getDescriptionContentType, getInfo, getInfoContentType, setDescription, setDescriptionContentType, setInfo, setInfoContentType
-
Methods inherited from interface io.guise.framework.model.LabelModel
getGlyphURI, getLabel, getLabelContentType, setGlyphURI, setLabel, setLabelContentType
-
Methods inherited from interface io.guise.framework.component.LayoutComponent
getLayout, isLayoutThemeApplied, setLayoutThemeApplied
-
Methods inherited from interface io.guise.framework.model.ui.PresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getSession, getStyleID, getTextColor, isDisplayed, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setDisplayed, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
-
-
-
-
Constructor Detail
-
PlatformFileUploadPanel
public PlatformFileUploadPanel(java.net.URI destinationURI)
Destination URI constructor.- Parameters:
destinationURI
- The collection URI representing the base destination of the platform files, either absolute or relative to the application.- Throws:
java.lang.NullPointerException
- if the given list of platform files and/or destination URI isnull
.java.lang.IllegalArgumentException
- if the provided URI is not a collection URI.java.lang.IllegalArgumentException
- if the provided URI specifies a query and/or fragment.
-
PlatformFileUploadPanel
public PlatformFileUploadPanel(java.net.URI destinationURI, Bookmark destinationBookmark)
Destination URI and destination bookmark constructor.- Parameters:
destinationURI
- The collection URI representing the base destination of the platform files, either absolute or relative to the application.destinationBookmark
- The bookmark to be used in sending resources to the destination URI, ornull
if there is no bookmark specified.- Throws:
java.lang.NullPointerException
- if the given list of platform files and/or destination URI isnull
.java.lang.IllegalArgumentException
- if the provided URI is not a collection URI.java.lang.IllegalArgumentException
- if the provided URI specifies a query and/or fragment.
-
PlatformFileUploadPanel
public PlatformFileUploadPanel()
Default constructor with a default vertical flow layout.
-
-
Method Detail
-
getControlPanel
public Panel getControlPanel()
- Returns:
- The panel containing controls such as buttons.
-
getDestinationURI
public java.net.URI getDestinationURI()
- Returns:
- The collection URI representing the base destination of the platform files, either absolute or relative to the application, or
null
if the destination URI has not yet been set.
-
setDestinationURI
public void setDestinationURI(java.net.URI newDestinationURI)
Sets the destination base URI of the upload. This is a bound property.- Parameters:
newDestinationURI
- The collection URI representing the base destination of the platform files, either absolute or relative to the application.- Throws:
java.lang.NullPointerException
- if the given URI isnull
.java.lang.IllegalArgumentException
- if the provided URI is not a collection URI.java.lang.IllegalArgumentException
- if the provided URI specifies a query and/or fragment.- See Also:
DESTINATION_URI_PROPERTY
-
getDestinationBookmark
public Bookmark getDestinationBookmark()
- Returns:
- The bookmark to be used in sending resources to the destination URI, or
null
if there is no bookmark specified.
-
setDestinationBookmark
public void setDestinationBookmark(Bookmark newDestinationBookmark)
Sets the destination bookmark of the upload. This is a bound property.- Parameters:
newDestinationBookmark
- The bookmark to be used in sending resources to the destination URI, ornull
if there is no bookmark specified.- See Also:
DESTINATION_BOOKMARK_PROPERTY
-
getBrowseActionPrototype
public ActionPrototype getBrowseActionPrototype()
- Returns:
- The action prototype for browsing the platforom file system.
-
getUploadActionPrototype
public ActionPrototype getUploadActionPrototype()
- Returns:
- The action prototype for uploading.
-
getCancelActionPrototype
public ActionPrototype getCancelActionPrototype()
- Returns:
- The action prototype for canceling.
-
updateComponents
protected void updateComponents()
Updates the state of components.
-
updatePlatformFileStatusLabel
protected void updatePlatformFileStatusLabel(PlatformFile platformFile, com.globalmentor.model.TaskState state, java.lang.Long progress, java.lang.Long completion)
Updates the status label for an individual platform file.- Parameters:
platformFile
- The current platform file.state
- The new transfer state, ornull
if there is no state.progress
- The current number of bytes transferred, ornull
if the bytes transferred is not known.completion
- The total number of bytes to transfer, ornull
if the total is not known.- Throws:
java.lang.NullPointerException
- if the given platform file isnull
.
-
updateOverallStatusLabel
protected void updateOverallStatusLabel(com.globalmentor.model.TaskState state, java.lang.Long progress, java.lang.Long completion)
Updates the status label for the overall progress.- Parameters:
state
- The new transfer state, ornull
if there is no state.progress
- The current number of bytes transferred, ornull
if the bytes transferred is not known.completion
- The total number of bytes to transfer, ornull
if the total is not known.
-
addProgressListener
public void addProgressListener(ProgressListener<java.lang.Long> progressListener)
Description copied from interface:ProgressListenable
Adds a progress listener.- Specified by:
addProgressListener
in interfaceProgressListenable<java.lang.Long>
- Parameters:
progressListener
- The progress listener to add.
-
removeProgressListener
public void removeProgressListener(ProgressListener<java.lang.Long> progressListener)
Description copied from interface:ProgressListenable
Removes an progress listener.- Specified by:
removeProgressListener
in interfaceProgressListenable<java.lang.Long>
- Parameters:
progressListener
- The progress listener to remove.
-
fireProgressed
protected void fireProgressed(ProgressEvent<java.lang.Long> progressEvent)
Fires a given progress event to all registered progress listeners.- Parameters:
progressEvent
- The progress event to fire.
-
-