public class WTree extends WInputComponentWithValue<Object>
ComponentWithValue.ValueChangeListenerImpl, ComponentWithValue.ValueProperty<T>
refreshing
form, INTERNAL_STATE_RECORD_PROPERTY
Constructor and Description |
---|
WTree()
Creates a new instnace of this class.
|
Modifier and Type | Method and Description |
---|---|
protected ValueProvider |
createCaptionValueProvider(RecordHolder captionValueProvider) |
protected ITreeDataSource |
createDataSource(RecordHolder dataSource) |
protected com.vaadin.ui.AbstractSelect |
createWidget()
Called once, to create the actual Vaadin component.
|
protected Integer |
findId(Variant<Object> value) |
protected com.vaadin.server.Resource |
getIcon(Object rowObject)
Override to provide icon for items.
|
com.vaadin.ui.Tree |
getWidget()
Gets the Vaadin representation of this component.
|
protected Integer |
loadUpTo(Variant<Object> upToValue) |
protected void |
onPropertyValueSet(Object newValue)
This method is called each time components property value is set.
|
void |
preventGC(Set<ValueHolder> set)
Override for all components which are actively using some record holders, not directly linked to the model.
|
void |
refresh()
Refreshes the component (binding, datasource, children).
|
void |
refreshBinding()
Refreshes the content of this component using the provided binding.
|
protected void |
restoreInternalState(Map<String,Object> state)
Restores the UI state of this component which was previously written
by
FormComponent.writeInternalState(Map) . |
void |
setExpand(ClosureHolder expand)
Sets the expand predicate closure.
|
void |
setOptions(RecordHolder dataSource,
RecordHolder captionValueProvider)
Creates a data source via
createDataSource(RecordHolder) , clears the tree and re-populates its roots. |
protected void |
writeInternalState(Map<String,Object> state)
Writes the UI state of this component to the provided map.
|
addValidator, fireValueChanged, focus, getOnChange, getValidationErrors, inferValidator, isConvertible, isImmediate, isRequired, isValid, removeAllValidators, setImmediate, setOnChange, setRequired
getBinding, getProperty, isFullyInitialized, setProperty
addDataErrorMessage, addStyleName, attach, call, clearDataErrorMessages, createEvent, equals, getCaption, getComponentAlignment, getContextClickHandler, getCustomErrorMessage, getDataErrorMessages, getDescription, getExpandRatio, getHasChildrenAdapter, getHeight, getIcon, getModelingId, getNamespace, getStyleName, getTabIndex, getWidth, hashCode, isEnabled, isReadOnly, isVisible, localize, markAsDirty, removeStyleName, restoreState, saveState, setCaption, setComponentAlignment, setContextClickHandler, setContextMenuItems, setCustomErrorMessage, setDescription, setEnabled, setExpandRatio, setHeight, setIcon, setReadOnly, setStyleName, setTabIndex, setVisible, setWidth, toString
protected com.vaadin.ui.AbstractSelect createWidget()
FormComponent
createWidget
in class WInputComponentWithValue<Object>
public com.vaadin.ui.Tree getWidget()
FormComponent
getWidget
in class WInputComponentWithValue<Object>
protected com.vaadin.server.Resource getIcon(Object rowObject)
rowObject
- the row objectprotected ITreeDataSource createDataSource(RecordHolder dataSource)
protected ValueProvider createCaptionValueProvider(RecordHolder captionValueProvider)
public void setOptions(RecordHolder dataSource, RecordHolder captionValueProvider)
createDataSource(RecordHolder)
, clears the tree and re-populates its roots.dataSource
- forms::DataSource instancecaptionValueProvider
- forms::ValueProvider instance, provides captions for row objects.public void setExpand(ClosureHolder expand)
expand
- the expand predicatepublic void preventGC(Set<ValueHolder> set)
FormComponent
WTabSheet
maintains a set of opened tabs. These tab records are not referenced
directly from forms::TabSheet and will therefore be garbage-collected. We however need those records to not to be GCed as the user
may ask for them simply by calling getTab(Integer).
Please note that the component definition records (e.g. forms::Button) are already GC-protected and they do not need to be added to this set.
Also, any child components currently attached to the UI are automatically protected and are not required to be registered in the set.preventGC
in class WInputComponentWithValue<Object>
set
- a set of records which are to be GC-prevented, never null. The component should add any records here.
Default implementation does nothing.protected void writeInternalState(Map<String,Object> state)
FormComponent
Many UI attributes such as size, caption, etc. are not held in the records but are stored exclusively in the Vaadin components. In the records the getter/setter methods of such attributes directly delegate to the underlying component. For the purposes of the Save Document/Todo use case the state of such attributes has to be preserved.
Subclasses should override this method. The overriding method should call
super.writeInternalState(state)
to store the state form the super
class as well. The attributes should be written to the provided state
parameter. The type of the values written to the state
can only by
Java representation of LSPS types. That is java.util.Date
,
java.lang.String
, Decimal
, RecordHolder
,
ListHolder
, ... The name of the attributes stored in the map
should be unique and should not collide with the names used by any
of the superclass. It is the responsibility of the overridden method to ensure
that.
Subclasses overriding this method should also override
FormComponent.restoreInternalState(Map)
and restore the state written
by this method.
writeInternalState
in class WInputComponentWithValue<Object>
state
- a map to which this method should write the component's UI state.FormComponent.restoreInternalState(Map)
,
FormComponent.saveState()
protected void restoreInternalState(Map<String,Object> state)
FormComponent
FormComponent.writeInternalState(Map)
.
Subclasses should override and call super.restoreInternalState(state);
restoreInternalState
in class WInputComponentWithValue<Object>
state
- a map of attributes and their valuesFormComponent.writeInternalState(Map)
public void refresh()
ComponentWithValue
refresh
in class ComponentWithValue<Object>
public void refreshBinding()
ComponentWithValue
refreshBinding
in class ComponentWithValue<Object>
protected void onPropertyValueSet(Object newValue)
ComponentWithValue
onPropertyValueSet
in class ComponentWithValue<Object>
Copyright © 2007-2018 Whitestein Technologies. All Rights Reserved.