Class CustomizeManager
- java.lang.Object
-
- org.eclipse.nebula.widgets.xviewer.customize.CustomizeManager
-
public class CustomizeManager extends java.lang.Object
This 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.String
CURRENT_LABEL
private CustomizeData
currentCustData
boolean
loading
private java.util.Map<java.lang.String,XViewerColumn>
oldNameToColumnId
static java.lang.String
TABLE_DEFAULT_LABEL
private XViewer
xViewer
private IXViewerFactory
xViewerFactory
private XViewerTextFilter
xViewerTextFilter
-
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 void
addColumns()
private void
addNewlyCreatedColumns(java.util.List<XViewerColumn> resolvedColumns)
void
appendToStatusLabel(java.lang.StringBuilder sb)
void
clearAllColumnFilters()
void
clearFilters()
void
clearSorter()
void
customizeColumnName(XViewerColumn xCol, java.lang.String newName)
Set to newName or clear if newName == ""void
deleteCustomization(CustomizeData custData)
CustomizeData
generateCustDataFromTable()
ColumnDateFilter
getColumnDateFilter(java.lang.String columnId)
ColumnFilterData
getColumnFilterData()
java.lang.String
getColumnFilterText(java.lang.String colId)
Pair<XViewerColumn,java.lang.Integer>
getColumnNumFromXViewerColumn(java.lang.String columnId)
int
getColumnNumFromXViewerColumn(XViewerColumn xCol)
CustomizeData
getCurrentCustomizeData()
java.util.List<XViewerColumn>
getCurrentHiddenTableColumns()
XViewerColumn
getCurrentTableColumn(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()
int
getDefaultWidth(java.lang.String id)
java.lang.String
getFilterText()
private XViewerColumn
getKnownStoredValue(XViewerColumn storedCol, XViewerColumn resolvedCol)
java.util.List<CustomizeData>
getSavedCustDatas()
void
getSortingStr(java.lang.StringBuilder sb)
java.util.List<XViewerColumn>
getSortXCols()
static int
getSwtAlign(XViewerAlign align)
CustomizeData
getTableDefaultCustData()
void
handleTableCustomization()
boolean
isCustomizationUserDefault(CustomizeData custData)
boolean
isFilterTextRegularExpression()
boolean
isLoading()
boolean
isSorting()
void
loadCustomization()
Clears out current columns, sorting and filtering and loads table customizationvoid
loadCustomization(CustomizeData newCustData)
Clears out current columns, sorting and filtering and loads table customizationvoid
resetDefaultSorter()
private XViewerColumn
resolveByName(XViewerColumn storedCol)
private XViewerColumn
resolveComputedColumns(XViewerColumn storedCol, XViewerColumn resolvedCol)
private void
resolveComputedColumnsAgain(java.util.List<XViewerColumn> resolvedColumns)
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 factoryvoid
saveCustomization(CustomizeData custData)
void
setColumnDateFilter(java.lang.String columnId, DateRangeType dateRangeType, java.util.Date date1, java.util.Date date2)
void
setColumnFilterText(java.lang.String colId, java.lang.String text)
void
setFilterText(java.lang.String text, boolean regex)
void
setUserDefaultCustData(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()
-
-