Class CustomizeManager
- java.lang.Object
-
- org.eclipse.nebula.widgets.xviewer.customize.CustomizeManager
-
public class CustomizeManager extends java.lang.ObjectThis manages the default table column definitions versus the user modified column data, sorter and filters.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCURRENT_LABELprivate CustomizeDatacurrentCustDatabooleanloadingprivate java.util.Map<java.lang.String,XViewerColumn>oldNameToColumnIdstatic java.lang.StringTABLE_DEFAULT_LABELprivate XViewerxViewerprivate IXViewerFactoryxViewerFactoryprivate XViewerTextFilterxViewerTextFilter
-
Constructor Summary
Constructors Constructor Description CustomizeManager(XViewer xViewer, IXViewerFactory xViewerFactory)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddColumns()private voidaddNewlyCreatedColumns(java.util.List<XViewerColumn> resolvedColumns)voidappendToStatusLabel(java.lang.StringBuilder sb)voidclearAllColumnFilters()voidclearFilters()voidclearSorter()voidcustomizeColumnName(XViewerColumn xCol, java.lang.String newName)Set to newName or clear if newName == ""voiddeleteCustomization(CustomizeData custData)CustomizeDatagenerateCustDataFromTable()ColumnDateFiltergetColumnDateFilter(java.lang.String columnId)ColumnFilterDatagetColumnFilterData()java.lang.StringgetColumnFilterText(java.lang.String colId)Pair<XViewerColumn,java.lang.Integer>getColumnNumFromXViewerColumn(java.lang.String columnId)intgetColumnNumFromXViewerColumn(XViewerColumn xCol)CustomizeDatagetCurrentCustomizeData()java.util.List<XViewerColumn>getCurrentHiddenTableColumns()XViewerColumngetCurrentTableColumn(java.lang.String id)java.util.List<XViewerColumn>getCurrentTableColumns()java.util.Map<XViewerColumn,java.lang.Integer>getCurrentTableColumnsIndex()Return index of XColumn to original column index on creation of table.java.util.List<XViewerColumn>getCurrentTableColumnsInOrder()java.util.List<XViewerColumn>getCurrentVisibleTableColumns()intgetDefaultWidth(java.lang.String id)java.lang.StringgetFilterText()private XViewerColumngetKnownStoredValue(XViewerColumn storedCol, XViewerColumn resolvedCol)java.util.List<CustomizeData>getSavedCustDatas()voidgetSortingStr(java.lang.StringBuilder sb)java.util.List<XViewerColumn>getSortXCols()static intgetSwtAlign(XViewerAlign align)CustomizeDatagetTableDefaultCustData()voidhandleTableCustomization()booleanisCustomizationUserDefault(CustomizeData custData)booleanisFilterTextRegularExpression()booleanisLoading()booleanisSorting()voidloadCustomization()Clears out current columns, sorting and filtering and loads table customizationvoidloadCustomization(CustomizeData newCustData)Clears out current columns, sorting and filtering and loads table customizationvoidresetDefaultSorter()private XViewerColumnresolveByName(XViewerColumn storedCol)private XViewerColumnresolveComputedColumns(XViewerColumn storedCol, XViewerColumn resolvedCol)private voidresolveComputedColumnsAgain(java.util.List<XViewerColumn> resolvedColumns)CustomizeDataresolveLoadedCustomizeData(CustomizeData loadedCustData)Since saved customize data is stored as xml, all the columns need to be resolved to the columns available from the factoryvoidsaveCustomization(CustomizeData custData)voidsetColumnDateFilter(java.lang.String columnId, DateRangeType dateRangeType, java.util.Date date1, java.util.Date date2)voidsetColumnFilterText(java.lang.String colId, java.lang.String text)voidsetFilterText(java.lang.String text, boolean regex)voidsetUserDefaultCustData(CustomizeData newCustData, boolean set)
-
-
-
Field Detail
-
xViewerFactory
private final IXViewerFactory xViewerFactory
-
xViewer
private final XViewer xViewer
-
xViewerTextFilter
private XViewerTextFilter xViewerTextFilter
-
currentCustData
private CustomizeData currentCustData
-
CURRENT_LABEL
public static final java.lang.String CURRENT_LABEL
-
TABLE_DEFAULT_LABEL
public static final java.lang.String TABLE_DEFAULT_LABEL
-
loading
public boolean loading
-
oldNameToColumnId
private final java.util.Map<java.lang.String,XViewerColumn> oldNameToColumnId
-
-
Constructor Detail
-
CustomizeManager
public CustomizeManager(XViewer xViewer, IXViewerFactory xViewerFactory) throws XViewerException
- Throws:
XViewerException
-
-
Method Detail
-
resolveLoadedCustomizeData
public CustomizeData resolveLoadedCustomizeData(CustomizeData loadedCustData)
Since saved customize data is stored as xml, all the columns need to be resolved to the columns available from the factory
-
resolveComputedColumnsAgain
private void resolveComputedColumnsAgain(java.util.List<XViewerColumn> resolvedColumns)
-
addNewlyCreatedColumns
private void addNewlyCreatedColumns(java.util.List<XViewerColumn> resolvedColumns)
-
resolveComputedColumns
private XViewerColumn resolveComputedColumns(XViewerColumn storedCol, XViewerColumn resolvedCol)
-
resolveByName
private XViewerColumn resolveByName(XViewerColumn storedCol)
-
getKnownStoredValue
private XViewerColumn getKnownStoredValue(XViewerColumn storedCol, XViewerColumn resolvedCol)
-
setFilterText
public void setFilterText(java.lang.String text, boolean regex)
-
getFilterText
public java.lang.String getFilterText()
-
setColumnFilterText
public void setColumnFilterText(java.lang.String colId, java.lang.String text)
-
clearFilters
public void clearFilters()
-
clearAllColumnFilters
public void clearAllColumnFilters()
-
getColumnFilterText
public java.lang.String getColumnFilterText(java.lang.String colId)
-
getColumnFilterData
public ColumnFilterData getColumnFilterData()
-
loadCustomization
public void loadCustomization()
Clears out current columns, sorting and filtering and loads table customization
-
resetDefaultSorter
public void resetDefaultSorter()
-
clearSorter
public void clearSorter()
-
handleTableCustomization
public void handleTableCustomization()
-
appendToStatusLabel
public void appendToStatusLabel(java.lang.StringBuilder sb)
-
generateCustDataFromTable
public CustomizeData generateCustDataFromTable()
- Returns:
- the currentCustData; makes a copy of columns so they don't collide with each other
-
getCurrentTableColumns
public java.util.List<XViewerColumn> getCurrentTableColumns()
-
getCurrentTableColumn
public XViewerColumn getCurrentTableColumn(java.lang.String id)
-
getCurrentTableColumnsInOrder
public java.util.List<XViewerColumn> getCurrentTableColumnsInOrder()
-
getCurrentVisibleTableColumns
public java.util.List<XViewerColumn> getCurrentVisibleTableColumns()
-
getCurrentHiddenTableColumns
public java.util.List<XViewerColumn> getCurrentHiddenTableColumns()
-
getCurrentTableColumnsIndex
public java.util.Map<XViewerColumn,java.lang.Integer> getCurrentTableColumnsIndex()
Return index of XColumn to original column index on creation of table. Since table allows drag re-ordering of columns, this index will provide the map back to the original column index. Used for label providers getColumnText(object, index)
-
getColumnNumFromXViewerColumn
public int getColumnNumFromXViewerColumn(XViewerColumn xCol)
-
getColumnNumFromXViewerColumn
public Pair<XViewerColumn,java.lang.Integer> getColumnNumFromXViewerColumn(java.lang.String columnId)
-
getTableDefaultCustData
public CustomizeData getTableDefaultCustData()
-
getSortingStr
public void getSortingStr(java.lang.StringBuilder sb)
-
getDefaultWidth
public int getDefaultWidth(java.lang.String id)
-
isCustomizationUserDefault
public boolean isCustomizationUserDefault(CustomizeData custData) throws XViewerException
- Throws:
XViewerException
-
getSortXCols
public java.util.List<XViewerColumn> getSortXCols()
-
isLoading
public boolean isLoading()
-
getSavedCustDatas
public java.util.List<CustomizeData> getSavedCustDatas() throws java.lang.Exception
- Throws:
java.lang.Exception
-
saveCustomization
public void saveCustomization(CustomizeData custData) throws java.lang.Exception
- Throws:
java.lang.Exception
-
customizeColumnName
public void customizeColumnName(XViewerColumn xCol, java.lang.String newName)
Set to newName or clear if newName == ""
-
setUserDefaultCustData
public void setUserDefaultCustData(CustomizeData newCustData, boolean set) throws java.lang.Exception
- Throws:
java.lang.Exception
-
deleteCustomization
public void deleteCustomization(CustomizeData custData) throws java.lang.Exception
- Throws:
java.lang.Exception
-
isSorting
public boolean isSorting()
-
loadCustomization
public void loadCustomization(CustomizeData newCustData)
Clears out current columns, sorting and filtering and loads table customization
-
addColumns
public void addColumns()
-
getSwtAlign
public static int getSwtAlign(XViewerAlign align)
-
isFilterTextRegularExpression
public boolean isFilterTextRegularExpression()
-
setColumnDateFilter
public void setColumnDateFilter(java.lang.String columnId, DateRangeType dateRangeType, java.util.Date date1, java.util.Date date2)
-
getColumnDateFilter
public ColumnDateFilter getColumnDateFilter(java.lang.String columnId)
-
getCurrentCustomizeData
public CustomizeData getCurrentCustomizeData()
-
-