com.plumtree.uiinfrastructure.expandablelist.multicolumnlist
Class MultiColumnListModel

java.lang.Object
  extended by com.plumtree.uiinfrastructure.editor.EditorHelperModel
      extended by com.plumtree.uiinfrastructure.expandablelist.ExpListModel
          extended by com.plumtree.uiinfrastructure.expandablelist.multicolumnlist.MultiColumnListModel
All Implemented Interfaces:
IManagedObject, IModel, IModelRO, IMVCObject, IExpListModelRO, IMultiColumnListModelRO, IPaginationModel, IPaginationModelRO
Direct Known Subclasses:
FormLoginFieldsPluginModel, GatewayPrefixPluginModel, PickTreeColumnsListModel, SortedMultiColumnListModel

public class MultiColumnListModel
extends ExpListModel
implements IMultiColumnListModelRO

This is the implementation of the Expandable List framework for the Growable Array. The Growable Array is a list of input texts. On add, a new input text populated with the default value will be added at the bottom of the list.

Author:
JohnH

Field Summary
protected  java.lang.String[] m_arrDefaultValue
          This is used on add to populate the input text of the newly added row.
protected  java.lang.String[] m_arrFormDataKeys
          The names of the form items for each column.
protected  PTImageType m_imgRowIcon
          Icon to display on each row, just before the input text.
 int m_intNumColumns
          Number total of columns
static java.lang.String STR_MVC_CLASS_NAME
          Class name for the activity space
 
Fields inherited from class com.plumtree.uiinfrastructure.expandablelist.ExpListModel
EXPLIST_COLUMN_COLSPAN, EXPLIST_COLUMN_ENABLESORT, EXPLIST_COLUMN_ID, EXPLIST_COLUMN_INVALID, EXPLIST_COLUMN_TITLE, EXPLIST_COLUMN_WIDTH, EXPLIST_SORTEDARRAY_PROPID_INDEX, m_arrExpListColInfo, m_bAddButtonDisabled, m_bCheckBoxesDisabled, m_bEnableMoveRowActions, m_bIsReadOnly, m_bWrapColumnHeaders, m_imgAddIcon, m_imgDeleteIcon, m_nListKey, m_nNextIndex, m_saData, m_sAddIconAlt, m_sAddLabel, m_sDeleteIconAlt, m_sDelRowConfirmMsg, m_sEmptyListAlert, m_sInstructions, m_sMainMessage, m_sSectionTitle, m_sTableInstructions, MAX_ROWS, MOVEACTION_DOWN, MOVEACTION_FIRST, MOVEACTION_LAST, MOVEACTION_UP, parent
 
Fields inherited from class com.plumtree.uiinfrastructure.editor.EditorHelperModel
m_asOwner
 
Constructor Summary
MultiColumnListModel()
           
 
Method Summary
 void AddRowsOnRepost(XPHashtable _htFormData)
          Adds one row at the bottom of the list and sets the following values: First column: m_nNextIndex Second column: m_sDefaultValue
 void AddRowsToList(java.lang.Object[][] _aData)
          Adds an array of new rows to the list.
 java.lang.Object Create()
          This method is used by the ASManager to return new instances of managed objects.
 java.lang.Object[][] GetListValues()
          This method should ge used by the client to get back the array of values at the end of the Editor and store them.
 java.lang.String GetName()
          Returns the Class name.
 int GetNumColumns()
          Returns the numColumns.
 PTImageType GetRowIcon()
          Returns the icon to display on each row before the input text.
 void InitializeMultiColumnList(java.lang.String _sSectionTitle, java.lang.String[] _sSectionSubTitle, PTImageType _imgAddIcon, java.lang.String _sAddLabel, int _nListKey)
          Initializes the expandable list.
 void InitializeSortedArray(PTGrowableSortedArrayWrapper _saData)
          Initalizes the list (PTGrowableSortedArrayWrapper) with a column mapping and an array of sort.
protected  int SaveRow(PTGrowableSortedArrayWrapper _saData, int _nRowIndex, XPHashtable _htFormData)
          Saves the data on the row _nRowIndex.
 void SetDefaultValue(java.lang.String[] _sDefaultValue)
          Sets a new default value.
 void SetFormDataKeys(java.lang.String[] _arrFormDataKeys)
          Sets the base name for the form data items in each column.
 void SetNumColumns(int numColumns)
          Sets the numColumns.
 void SetRowIcon(PTImageType _imgRowIcon)
          Sets the icon to display on each row before the input text.
 
Methods inherited from class com.plumtree.uiinfrastructure.expandablelist.ExpListModel
DeleteRowsOnRepost, DisableAddButton, DisableCheckBoxes, EnablePagination, GetAddIcon, GetAddIconAlt, GetAddLabel, GetAlertMessageForEmptyList, GetArrayOfObjToDelete, GetArrExpListColInfo, GetCurrentLowerObjectCount, GetCurrentUpperObjectCount, GetDeleteIcon, GetDeleteIconAlt, GetDelRowConfirmMsg, GetEmptyListInstructions, GetEmptyListMainMessage, GetEnableMoveRowActions, GetIsListReadOnly, GetItems, GetListKey, GetMainColumnSort, GetMainColumnSortDirection, GetModelStorageName, GetMoveAction, GetNumObjects, GetPaginationSize, GetReadOnlyItems, GetRowIndex, GetSectionTitle, GetTableInstructions, GetUniqueInt, GetUniqueString, GetUnusedProperties, GetWrapColumnHeaders, InitializeExpandableList, InitializeReadOnlyExpandableList, IsAddButtonDisabled, IsCheckBoxesDisabled, IsPaginationEnabled, ModifyRow, MoveDown, MoveFirst, MoveLast, MoveRow, MoveUp, ReverseCurrentSort, SaveSection, SetAddIcon, SetAddIconAlt, SetDeleteIcon, SetDeleteIconAlt, SetDelRowConfirmMsg, SetEmptyListMessages, SetEnableEmptyListClientValidation, SetEnableMoveRowActions, SetIsListReadOnly, SetListKey, SetPagination, SetSectionTitle, SetTableInstructions, SetWrapColumnHeaders, SortByColumn
 
Methods inherited from class com.plumtree.uiinfrastructure.editor.EditorHelperModel
CleanupAllData, CleanupTempData, Init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.plumtree.uiinfrastructure.expandablelist.IExpListModelRO
GetAddIcon, GetAddIconAlt, GetAddLabel, GetAlertMessageForEmptyList, GetArrExpListColInfo, GetDeleteIcon, GetDeleteIconAlt, GetDelRowConfirmMsg, GetEmptyListInstructions, GetEmptyListMainMessage, GetEnableMoveRowActions, GetIsListReadOnly, GetListKey, GetMainColumnSort, GetMainColumnSortDirection, GetModelStorageName, GetReadOnlyItems, GetSectionTitle, GetTableInstructions, GetUniqueInt, GetUniqueString, GetUnusedProperties, GetWrapColumnHeaders, IsAddButtonDisabled, IsCheckBoxesDisabled, IsPaginationEnabled
 
Methods inherited from interface com.plumtree.uiinfrastructure.form.pagination.IPaginationModelRO
GetCurrentLowerObjectCount, GetCurrentUpperObjectCount, GetNumObjects, GetPaginationSize
 
Methods inherited from interface com.plumtree.uiinfrastructure.activityspace.IModel
CleanupAllData, CleanupTempData, Init
 

Field Detail

STR_MVC_CLASS_NAME

public static final java.lang.String STR_MVC_CLASS_NAME
Class name for the activity space

See Also:
Constant Field Values

m_intNumColumns

public int m_intNumColumns
Number total of columns


m_imgRowIcon

protected PTImageType m_imgRowIcon
Icon to display on each row, just before the input text.


m_arrDefaultValue

protected java.lang.String[] m_arrDefaultValue
This is used on add to populate the input text of the newly added row. Note, it MUST be initialized explicitly by the client.


m_arrFormDataKeys

protected java.lang.String[] m_arrFormDataKeys
The names of the form items for each column.

Constructor Detail

MultiColumnListModel

public MultiColumnListModel()
Method Detail

AddRowsOnRepost

public void AddRowsOnRepost(XPHashtable _htFormData)
Adds one row at the bottom of the list and sets the following values: First column: m_nNextIndex Second column: m_sDefaultValue

Specified by:
AddRowsOnRepost in class ExpListModel
Parameters:
_htFormData - Form data

AddRowsToList

public void AddRowsToList(java.lang.Object[][] _aData)
Adds an array of new rows to the list.

Parameters:
_aData -

Create

public java.lang.Object Create()
Description copied from class: EditorHelperModel
This method is used by the ASManager to return new instances of managed objects.

Specified by:
Create in interface IManagedObject
Specified by:
Create in class EditorHelperModel
Returns:
A new instance of the managed class (i.e. return new Foo();)
See Also:
IManagedObject.Create()

GetListValues

public java.lang.Object[][] GetListValues()
This method should ge used by the client to get back the array of values at the end of the Editor and store them.

Returns:
Object[][]

GetName

public java.lang.String GetName()
Returns the Class name.

Specified by:
GetName in interface IMVCObject
Specified by:
GetName in class EditorHelperModel
Returns:
String

GetNumColumns

public int GetNumColumns()
Returns the numColumns.

Specified by:
GetNumColumns in interface IMultiColumnListModelRO
Returns:
int

GetRowIcon

public PTImageType GetRowIcon()
Returns the icon to display on each row before the input text. If the value is null, no icon is displayed.

Specified by:
GetRowIcon in interface IMultiColumnListModelRO
Returns:
PTImageType
See Also:
com.plumtree.uiinfrastructure.expandablelist.GrowableListModel#GetRowIcon()

InitializeMultiColumnList

public void InitializeMultiColumnList(java.lang.String _sSectionTitle,
                                      java.lang.String[] _sSectionSubTitle,
                                      PTImageType _imgAddIcon,
                                      java.lang.String _sAddLabel,
                                      int _nListKey)
Initializes the expandable list.

Parameters:
_sSectionTitle - Main title.
_sSectionSubTitle - Sub title
_imgAddIcon - Icon for the add action.
_sAddLabel - Text to display next to the add icon.
_nListKey - In case you have multiple Expandable Lists on the same DP, they should have a different key (otherwise, just set it to 1).

InitializeSortedArray

public void InitializeSortedArray(PTGrowableSortedArrayWrapper _saData)
Initalizes the list (PTGrowableSortedArrayWrapper) with a column mapping and an array of sort. The growable array will always be sorted by the 1st column ascending.

Specified by:
InitializeSortedArray in class ExpListModel
Parameters:
_saData -

SetDefaultValue

public void SetDefaultValue(java.lang.String[] _sDefaultValue)
Sets a new default value. By default this is an array of empty strings. This value is used on add to populate the input text of the newly added row.

Parameters:
_sDefaultValue - New value

SetFormDataKeys

public void SetFormDataKeys(java.lang.String[] _arrFormDataKeys)
Sets the base name for the form data items in each column.

Parameters:
_sDefaultValue - New value

SetNumColumns

public void SetNumColumns(int numColumns)
Sets the numColumns.

Parameters:
numColumns - The numColumns to set

SetRowIcon

public void SetRowIcon(PTImageType _imgRowIcon)
Sets the icon to display on each row before the input text. By default, no icon is displayed.

Parameters:
_imgRowIcon -

SaveRow

protected int SaveRow(PTGrowableSortedArrayWrapper _saData,
                      int _nRowIndex,
                      XPHashtable _htFormData)
Saves the data on the row _nRowIndex.

Specified by:
SaveRow in class ExpListModel
Parameters:
_saData - List to update the data on row _nRowIndex
_nRowIndex - Index of the row to save.
_htFormData - Data posted by the form.
Returns:
int Status for server side validation.



Copyright © 2002,2003,2004,2005 Plumtree Software, Inc., All Rights Reserved.