Class GridTab
- java.lang.Object
-
- org.compiere.model.GridTab
-
- All Implemented Interfaces:
Serializable,EventListener,DataStatusListener,Evaluatee
public class GridTab extends Object implements DataStatusListener, Evaluatee, Serializable
Tab Model. - a combination of AD_Tab (the display attributes) and AD_Table information.The Tab owns also it's Table model and listens to data changes to update the Field values.
The Tab maintains the bound property: CurrentRow
Event Hierarchies: - dataChanged (from MTable) - setCurrentRow - Update all Field Values - setValue - Update Field Value - Callout- Version:
- $Id: GridTab.java,v 1.10 2006/10/02 05:18:39 jjanke Exp $
- Author:
- Jorg Janke, Teo Sarca, SC ARHIPAC SERVICE SRL
- BF [ 1742159 ] Editable number field for inactive record
- BF [ 1968598 ] Callout is not called if tab is processed
- BF [ 2104022 ] GridTab.processCallout: throws NPE if callout returns null
- FR [ 2846871 ] Add method org.compiere.model.GridTab.getIncludedTabs https://sourceforge.net/p/adempiere/feature-requests/805/, Teo Sarca, teo.sarca@gmail.com
- BF [ 2873323 ] ABP: Do not concatenate strings in SQL queries https://sourceforge.net/p/adempiere/feature-requests/845/
- BF [ 2874109 ] Tab ORDER BY clause is not supporting context variables https://sourceforge.net/p/adempiere/bugs/2162/
- BF [ 2905287 ] GridTab query is not build correctly https://sourceforge.net/p/adempiere/bugs/2242/
- BF [ 3007342 ] Included tab context conflict issue https://sourceforge.net/p/adempiere/bugs/2409/, Victor Perez , e-Evolution.SC
- FR [1877902] Implement JSR 223 Scripting APIs to Callout
- BF [ 2910358 ] Error in context when a field is found in different tabs. https://sourceforge.net/p/adempiere/bugs/2255/
- BF [ 2910368 ] Error in context when IsActive field is found in different https://sourceforge.net/p/adempiere/bugs/2256/, Carlos Ruiz, qss FR [1877902], Cristina Ghita, www.arhipac.ro FR [2870645] Set null value for an ID, Paul Bowden, phib BF 2900767 Zoom to child tab - inefficient queries
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static StringCTX_AccessLevelstatic StringCTX_AD_Tab_IDstatic StringCTX_AD_Tab_UUstatic StringCTX_AD_Table_IDstatic StringCTX_AD_Table_UUstatic StringCTX_FindSQLstatic StringCTX_IsAllowAdvancedLookupstatic StringCTX_IsLookupOnlySelectionstatic StringCTX_IsSortTabstatic StringCTX_KeyColumnNamestatic StringCTX_LinkColumnNamestatic StringCTX_Namestatic StringCTX_SQLstatic StringCTX_TabLevelstatic StringDEFAULT_STATUS_MESSAGEbooleanisQuickFormprotected CLoggerlogLoggerprotected EventListenerListm_listenerListA list of event listeners for this component.static StringPROPERTYProperty Change Type
-
Constructor Summary
Constructors Constructor Description GridTab(GridTabVO vo, GridWindow w)Create Tab (Model) from Value Object.GridTab(GridTabVO vo, GridWindow w, boolean virtual)Create Tab (Model) from Value Object.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddDataStatusListener(DataStatusListener l)voidaddPropertyChangeListener(PropertyChangeListener l)voidaddStateChangeListener(StateChangeListener l)voidaddToSelection(int rowIndex)booleancanHaveAttachment()Can this tab have Attachments?.voidclearSelection()booleandataDelete()Delete current RowvoiddataIgnore()Ignore data changesbooleandataNew(boolean copy)Create (copy) new Row and process CalloutsvoiddataRefresh()Refresh current row datavoiddataRefresh(boolean fireEvent)Refresh current row datavoiddataRefresh(int row)Refresh row datavoiddataRefresh(int row, boolean fireEvent)Refresh row datavoiddataRefreshAll()Refresh all datavoiddataRefreshAll(boolean fireEvent)Refresh all datavoiddataRefreshAll(boolean fireEvent, boolean retainedCurrentRow)Refresh all databooleandataSave(boolean manualCmd)Unconditionally Save datavoiddataStatusChanged(DataStatusEvent e)Data Status Listener from MTableprotected voiddispose()Dispose - clean up resourcesvoidenableEvents()Enable Events - enable data events of tabs (add listeners)voidfireDataStatusEEvent(String AD_Message, String info, boolean isError)Create and fire Data Status Error EventvoidfireDataStatusEEvent(ValueNamePair errorLog)Create and fire Data Status Error Event (from Error Log)Stringget_ValueAsString(String variableName)Get Variable Value (Evaluatee)Stringget_ValueAsString(Properties ctx, String variableName)Get Variable Value (Evaluatee)Callout[]getActiveCalloutInstance()String[]getActiveCallouts()intgetAD_AttachmentID()Get Attachment_ID for current record.intgetAD_ColumnSortOrder_ID()Get Order column for sort tabintgetAD_ColumnSortYesNo_ID()Get Yes/No column for sort tabintgetAD_PostIt_ID()Get PostItID for this record.intgetAD_Process_ID()Get Process IDStringgetAD_Process_UU()intgetAD_Tab_ID()Get Tab IDStringgetAD_Tab_UU()intgetAD_Table_ID()Get Table IDintgetAD_Window_ID()Get Window IDICalloutUIgetCalloutUI()intgetCM_ChatID()Get Chat_ID for this record.StringgetCommitWarning()Get Commit WarningintgetCurrentRow()Get Current RowArrayList<GridField>getDependantFields(String columnName)Get dependents fields of columnNameArrayList<String>getDependentOn()Get a list of variables, this tab is dependent onStringgetDescription()Get Description of TabStringgetDisplayLogic()Get Display LogicGridFieldgetField(int index)Get Field by indexGridFieldgetField(String columnName)Get Field by DB column nameintgetFieldCount()Get Column/Field CountGridField[]getFields()Get all FieldsGridWindowgetGridWindow()StringgetHelp()Get Help of TabIcongetIcon()Get Tab IconintgetIncluded_Tab_ID()Deprecated.the functionality related to AD_Tab.Included_Tab_ID was not developedList<GridTab>getIncludedTabs()intgetKeyColumnIndex()StringgetKeyColumnName()Return the name of the key column - may be ""intgetKeyID(int row)Get Key ID of rowStringgetLinkColumnName()Return Name of link columnintgetMaxQueryRecords()Get Max Query Records.protected GridTablegetMTable()Return Table ModelStringgetName()Get Name of TabintgetNumColumns()ArrayList<String>getParentColumnNames()Return Parent ArrayListGridTabgetParentTab()MQuerygetQuery()Get QueryintgetRecord_ID()Get Current Table Key IDintgetRowCount()Get RowCountint[]getSelection()StringgetStatusLine()Status Line support Depending on Window/Tab returns transaction infoStringgetStatusLinesWidget()Widget support Depending on Window/Tab returns widget lines infoGridTablegetTableModel()Get TableModel.StringgetTableName()Get TableNameintgetTabLevel()Get Tab LevelintgetTabNo()Get TabNoStringgetTabType()get Tab TypeStringgetTreeDisplayedOn()Where the tree should be shownStringgetTrxInfo()Deprecated.use getStatusLine and configure Status Line insteadObjectgetValue(int row, String columnName)Get Value of Field in rowObjectgetValue(String columnName)Get Value of Field with columnNameObjectgetValue(GridField field)Get Value of FieldbooleangetValueAsBoolean(String columnName)Get Boolean Value of Field with columnName.GridTabVOgetVO()StringgetWhereClause()Get Tab Where ClauseStringgetWhereExtended()Get extended Where Clause (parent link)intgetWindowNo()Get WindowNobooleanhasAttachment()Returns true, if current row has an AttachmentbooleanhasChangedCurrentTabAndParents()booleanhasChat()Returns true, if current row has a ChatbooleanhasDependants(String columnName)Has this field dependents ?booleanhasPostIt()booleanhasTemplate()Returns true, if this tab have templates allowed with current rolebooleaninitTab(boolean async)Initialize Tab with record from AD_Tab_vbooleanisActive()Is the current record activebooleanIsAllowAdvancedLookup()Is Allow Advanced Lookup panel?booleanisAlwaysUpdateField()Tab contains Always Update FieldbooleanisCurrent()Is the tab current?.booleanisDeleteRecord()Can we Delete Records?booleanisDetail()Returns true if this is a detail recordbooleanisDisplayed()Is the Tab Visible.booleanisHighVolume()Is High Volume?booleanisIncluded()Is Tab Included in other TabbooleanisInsertRecord()Can we Insert Records?booleanisLoadComplete()booleanisLocked()Record Is LockedbooleanIsLookupOnlySelection()Is Lookup Only By Selection Fields?booleanisNew()booleanisOnlyCurrentRows()Are Only Current Rows displayedbooleanisOpen()Is the tab/table currently openbooleanisPrinted()Is Printed (Document can be printed)booleanisProcessed()Is ProcessedbooleanisQueryActive()Is Query ActivebooleanisQueryMax(int noRecords)Over max QuerybooleanisQueryNewRecord()Is Query New RecordbooleanisQueryRequire(int noRecords)Require QuerybooleanisQuickForm()booleanisReadOnly()Is Read Only?booleanisSelected(int rowIndex)booleanisSingleRow()Is Single RowbooleanisSortTab()Is Sort TabbooleanisTreeTab()Has TreebooleanisUpdateWindowContext()voidloadLocks()Load Locks for Table and Userprotected booleanloadTab()voidlock(Properties ctx, int Record_ID, boolean lock)Lock Recordintnavigate(int targetRow)Navigate absolute - goto Row - (zero based)intnavigateCurrent()Navigate to current now (reload)intnavigateRelative(int rowChange)Navigate relatively - i.e. plus/minus from current positionbooleanneedSave(boolean rowChange, boolean onlyRealChange)Do we need to Save?StringprocessCallout(GridField field)Process Callout(s).StringprocessFieldChange(GridField changedField)Process Field Change - evaluate Dependencies and process Callouts.voidquery(boolean onlyCurrentRows)Assemble whereClause and query MTable and position to row 0.voidquery(boolean onlyCurrentRows, int onlyCurrentDays, int maxRows)Assemble whereClause and query MTable and position to row 0.voidrefreshParentTabs()refresh current row of parent tabsvoidrefreshParentTabs(boolean fireParentEvent)refresh current row of parent tabsvoidremoveDataStatusListener(DataStatusListener l)booleanremoveFromSelection(int rowIndex)voidremovePropertyChangeListener(PropertyChangeListener l)voidremoveStateChangeListener(StateChangeListener l)voidreset()reset to emptyvoidresetDetailForNewParentRecord()reset detail data grid when parent tab current record is new and not saved yetvoidsetCalloutUI(ICalloutUI calloutUI)voidsetCurrentRow(int row)Set current row - used for deleteSelectionintsetCurrentRow(int newCurrentRow, boolean fireEvents)Set current row and load data into fields.voidsetFieldVFormat(String identifier, String strNewFormat)Feature Request [1707462] Enable runtime change of VFormatvoidsetIncluded(boolean isIncluded)Deprecated.The method getIncluded now validate against the structure, this method is called nowherevoidsetLinkColumnName(String linkColumnName)Set Name of link column.voidsetQuery(MQuery query)Set QueryvoidsetQuickForm(boolean isQuickForm)voidsetSingleRow(boolean isSingleRow)Set Single Row.voidsetUpdateWindowContext(boolean updateWindowContext)StringsetValue(String columnName, Object value)Set New Value and call CalloutStringsetValue(GridField field, Object value)Set New Value and call CalloutvoidswitchRows(int from, int to, int sortColumn, boolean ascending)Switches the line/seqNo of the two rowsStringtoString()toStringvoidupdateDataStatusEventProperties(DataStatusEvent e)updateDataStatusEventproperties from gridTab
-
-
-
Field Detail
-
DEFAULT_STATUS_MESSAGE
public static final String DEFAULT_STATUS_MESSAGE
- See Also:
- Constant Field Values
-
PROPERTY
public static final String PROPERTY
Property Change Type- See Also:
- Constant Field Values
-
m_listenerList
protected EventListenerList m_listenerList
A list of event listeners for this component.
-
log
protected CLogger log
Logger
-
isQuickForm
public boolean isQuickForm
-
CTX_KeyColumnName
public static final String CTX_KeyColumnName
- See Also:
- Constant Field Values
-
CTX_LinkColumnName
public static final String CTX_LinkColumnName
- See Also:
- Constant Field Values
-
CTX_TabLevel
public static final String CTX_TabLevel
- See Also:
- Constant Field Values
-
CTX_AccessLevel
public static final String CTX_AccessLevel
- See Also:
- Constant Field Values
-
CTX_AD_Tab_ID
public static final String CTX_AD_Tab_ID
- See Also:
- Constant Field Values
-
CTX_AD_Tab_UU
public static final String CTX_AD_Tab_UU
- See Also:
- Constant Field Values
-
CTX_Name
public static final String CTX_Name
- See Also:
- Constant Field Values
-
CTX_AD_Table_ID
public static final String CTX_AD_Table_ID
- See Also:
- Constant Field Values
-
CTX_AD_Table_UU
public static final String CTX_AD_Table_UU
- See Also:
- Constant Field Values
-
CTX_FindSQL
public static final String CTX_FindSQL
- See Also:
- Constant Field Values
-
CTX_SQL
public static final String CTX_SQL
- See Also:
- Constant Field Values
-
CTX_IsSortTab
public static final String CTX_IsSortTab
- See Also:
- Constant Field Values
-
CTX_IsLookupOnlySelection
public static final String CTX_IsLookupOnlySelection
- See Also:
- Constant Field Values
-
CTX_IsAllowAdvancedLookup
public static final String CTX_IsAllowAdvancedLookup
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GridTab
public GridTab(GridTabVO vo, GridWindow w)
Create Tab (Model) from Value Object.MTab provides a property listener for changed rows and a DataStatusListener for communicating changes of the underlying data
- Parameters:
vo- Value Objectw-
-
GridTab
public GridTab(GridTabVO vo, GridWindow w, boolean virtual)
Create Tab (Model) from Value Object.MTab provides a property listener for changed rows and a DataStatusListener for communicating changes of the underlying data
- Parameters:
vo- Value Objectw-virtual-
-
-
Method Detail
-
isLoadComplete
public boolean isLoadComplete()
-
initTab
public boolean initTab(boolean async)
Initialize Tab with record from AD_Tab_v- Parameters:
async- async- Returns:
- true, if correctly initialized (ignored)
-
loadTab
protected boolean loadTab()
-
dispose
protected void dispose()
Dispose - clean up resources
-
getDependentOn
public ArrayList<String> getDependentOn()
Get a list of variables, this tab is dependent on. - for display purposes- Returns:
- ArrayList
-
getDisplayLogic
public String getDisplayLogic()
Get Display Logic- Returns:
- display logic
-
getTableModel
public GridTable getTableModel()
Get TableModel. Do not directly communicate with the table model, but through the methods of this class- Returns:
- Table Model
-
getIcon
public Icon getIcon()
Get Tab Icon- Returns:
- Icon
-
hasDependants
public boolean hasDependants(String columnName)
Has this field dependents ?- Parameters:
columnName- column name- Returns:
- true if column has dependent
-
getDependantFields
public ArrayList<GridField> getDependantFields(String columnName)
Get dependents fields of columnName- Parameters:
columnName- column name- Returns:
- ArrayList with GridFields dependent on columnName
-
setQuery
public void setQuery(MQuery query)
Set Query- Parameters:
query- query
-
getQuery
public MQuery getQuery()
Get Query- Returns:
- query
-
isQueryActive
public boolean isQueryActive()
Is Query Active- Returns:
- true if query active
-
isQueryNewRecord
public boolean isQueryNewRecord()
Is Query New Record- Returns:
- true if query active
-
enableEvents
public void enableEvents()
Enable Events - enable data events of tabs (add listeners)
-
getTabType
public String getTabType()
get Tab Type- Returns:
- String
-
query
public void query(boolean onlyCurrentRows)
Assemble whereClause and query MTable and position to row 0.Scenarios: - Never opened (full query) - query changed (full query) - Detail link value changed (full query) - otherwise (refreshAll)- Parameters:
onlyCurrentRows- only current rows (1 day)
-
query
public void query(boolean onlyCurrentRows, int onlyCurrentDays, int maxRows)Assemble whereClause and query MTable and position to row 0.Scenarios: - Never opened (full query) - query changed (full query) - Detail link value changed (full query) - otherwise (refreshAll)- Parameters:
onlyCurrentRows- only current rowsonlyCurrentDays- if only current row, how many days backmaxRows- maximum rows or 0 for all
-
resetDetailForNewParentRecord
public void resetDetailForNewParentRecord()
reset detail data grid when parent tab current record is new and not saved yet
-
dataRefreshAll
public void dataRefreshAll()
Refresh all data
-
dataRefreshAll
public void dataRefreshAll(boolean fireEvent)
Refresh all data- Parameters:
fireEvent-
-
dataRefreshAll
public void dataRefreshAll(boolean fireEvent, boolean retainedCurrentRow)Refresh all data- Parameters:
fireEvent-
-
dataRefresh
public void dataRefresh()
Refresh current row data
-
dataRefresh
public void dataRefresh(boolean fireEvent)
Refresh current row data- Parameters:
fireEvent-
-
dataRefresh
public void dataRefresh(int row)
Refresh row data- Parameters:
row- index
-
dataRefresh
public void dataRefresh(int row, boolean fireEvent)Refresh row data- Parameters:
row- indexfireEvent-
-
dataSave
public boolean dataSave(boolean manualCmd)
Unconditionally Save data- Parameters:
manualCmd- if true, no vetoable PropertyChange will be fired for save confirmation from MTable- Returns:
- true if save complete (or nor required)
-
hasChangedCurrentTabAndParents
public boolean hasChangedCurrentTabAndParents()
-
refreshParentTabs
public void refreshParentTabs()
refresh current row of parent tabs
-
refreshParentTabs
public void refreshParentTabs(boolean fireParentEvent)
refresh current row of parent tabs
-
needSave
public boolean needSave(boolean rowChange, boolean onlyRealChange)Do we need to Save?- Parameters:
rowChange- row changeonlyRealChange- if true the value of a field was actually changed (e.g. for new records, which have not been changed) - default false- Returns:
- true it needs to be saved
-
dataIgnore
public void dataIgnore()
Ignore data changes
-
dataNew
public boolean dataNew(boolean copy)
Create (copy) new Row and process Callouts- Parameters:
copy- copy- Returns:
- true if copied/new
-
dataDelete
public boolean dataDelete()
Delete current Row- Returns:
- true if deleted
-
getName
public String getName()
Get Name of Tab- Returns:
- name
-
getDescription
public String getDescription()
Get Description of Tab- Returns:
- description
-
getHelp
public String getHelp()
Get Help of Tab- Returns:
- help
-
getTabLevel
public int getTabLevel()
Get Tab Level- Returns:
- tab level
-
getCommitWarning
public String getCommitWarning()
Get Commit Warning- Returns:
- commit warning
-
getMTable
protected GridTable getMTable()
Return Table Model- Returns:
- MTable
-
getKeyColumnName
public String getKeyColumnName()
Return the name of the key column - may be ""- Returns:
- key column name
-
getKeyColumnIndex
public int getKeyColumnIndex()
-
getLinkColumnName
public String getLinkColumnName()
Return Name of link column- Returns:
- link column name
-
setLinkColumnName
public void setLinkColumnName(String linkColumnName)
Set Name of link column. Set from MWindow.loadTabData Used in MTab.isCurreny, (.setCurrentRow) .query - APanel.cmd_report and MField.isEditable and .isDefault via context- Parameters:
linkColumnName- name of column - or sets name to AD_Column_ID, if exists
-
isCurrent
public boolean isCurrent()
Is the tab current?.Yes - Table must be open - Query String is the same - Not Detail - Old link column value is same as current one- Returns:
- true if current
-
isOpen
public boolean isOpen()
Is the tab/table currently open- Returns:
- true if open
-
isIncluded
public boolean isIncluded()
Is Tab Included in other Tab- Returns:
- true if included
-
setIncluded
public void setIncluded(boolean isIncluded)
Deprecated.The method getIncluded now validate against the structure, this method is called nowhereIs Tab Included in other Tab- Parameters:
isIncluded- true if included
-
isOnlyCurrentRows
public boolean isOnlyCurrentRows()
Are Only Current Rows displayed- Returns:
- true if no history
-
getParentColumnNames
public ArrayList<String> getParentColumnNames()
Return Parent ArrayList- Returns:
- parent column names
-
isDetail
public boolean isDetail()
Returns true if this is a detail record- Returns:
- true if not parent tab
-
isPrinted
public boolean isPrinted()
Is Printed (Document can be printed)- Returns:
- true if printing
-
getWindowNo
public int getWindowNo()
Get WindowNo- Returns:
- window no
-
getTabNo
public int getTabNo()
Get TabNo- Returns:
- tab no
-
getAD_Process_ID
public int getAD_Process_ID()
Get Process ID- Returns:
- Process ID
-
isHighVolume
public boolean isHighVolume()
Is High Volume?- Returns:
- true if high volume table
-
IsLookupOnlySelection
public boolean IsLookupOnlySelection()
Is Lookup Only By Selection Fields?- Returns:
- true if only selection
-
IsAllowAdvancedLookup
public boolean IsAllowAdvancedLookup()
Is Allow Advanced Lookup panel?- Returns:
- true if allow the use
-
isReadOnly
public boolean isReadOnly()
Is Read Only?- Returns:
- true if read only
-
isAlwaysUpdateField
public boolean isAlwaysUpdateField()
Tab contains Always Update Field- Returns:
- true if field with always updateable
-
isInsertRecord
public boolean isInsertRecord()
Can we Insert Records?- Returns:
- true not read only and allowed
-
isDeleteRecord
public boolean isDeleteRecord()
Can we Delete Records?- Returns:
- true not read only and allowed
-
isDisplayed
public boolean isDisplayed()
Is the Tab Visible. Called when constructing the window.- Returns:
- true, if displayed
-
get_ValueAsString
public String get_ValueAsString(String variableName)
Get Variable Value (Evaluatee)- Specified by:
get_ValueAsStringin interfaceEvaluatee- Parameters:
variableName- name- Returns:
- value
-
get_ValueAsString
public String get_ValueAsString(Properties ctx, String variableName)
Get Variable Value (Evaluatee)- Parameters:
ctx- contextvariableName- name- Returns:
- value
-
isSingleRow
public boolean isSingleRow()
Is Single Row- Returns:
- true if single row
-
setSingleRow
public void setSingleRow(boolean isSingleRow)
Set Single Row. Temporary store of current value- Parameters:
isSingleRow- toggle
-
isTreeTab
public boolean isTreeTab()
Has Tree- Returns:
- true if tree exists
-
getTreeDisplayedOn
public String getTreeDisplayedOn()
Where the tree should be shown- Returns:
- master, detail or both
-
getAD_Tab_ID
public int getAD_Tab_ID()
Get Tab ID- Returns:
- Tab ID
-
getAD_Table_ID
public int getAD_Table_ID()
Get Table ID- Returns:
- Table ID
-
getAD_Window_ID
public int getAD_Window_ID()
Get Window ID- Returns:
- Window ID
-
getIncluded_Tab_ID
public int getIncluded_Tab_ID()
Deprecated.the functionality related to AD_Tab.Included_Tab_ID was not developedGet Included Tab ID- Returns:
- Included_Tab_ID
-
getTableName
public String getTableName()
Get TableName- Returns:
- Table Name
-
getWhereClause
public String getWhereClause()
Get Tab Where Clause- Returns:
- where clause
-
isSortTab
public boolean isSortTab()
Is Sort Tab- Returns:
- true if sort tab
-
getAD_ColumnSortOrder_ID
public int getAD_ColumnSortOrder_ID()
Get Order column for sort tab- Returns:
- AD_Column_ID
-
getAD_ColumnSortYesNo_ID
public int getAD_ColumnSortYesNo_ID()
Get Yes/No column for sort tab- Returns:
- AD_Column_ID
-
getWhereExtended
public String getWhereExtended()
Get extended Where Clause (parent link)- Returns:
- parent link
-
getTrxInfo
public String getTrxInfo()
Deprecated.use getStatusLine and configure Status Line insteadTransaction support. Depending on Table returns transaction info- Returns:
- info
-
getStatusLine
public String getStatusLine()
Status Line support Depending on Window/Tab returns transaction info- Returns:
- info
-
getStatusLinesWidget
public String getStatusLinesWidget()
Widget support Depending on Window/Tab returns widget lines info- Returns:
- info
-
canHaveAttachment
public boolean canHaveAttachment()
Can this tab have Attachments?.It can have an attachment if it has a key column ending with _ID. The key column is empty, if there is no single identifying key.
- Returns:
- true if record can have attachment
-
hasAttachment
public boolean hasAttachment()
Returns true, if current row has an Attachment- Returns:
- true if record has attachment
-
getAD_AttachmentID
public int getAD_AttachmentID()
Get Attachment_ID for current record.- Returns:
- ID or 0, if not found
-
hasChat
public boolean hasChat()
Returns true, if current row has a Chat- Returns:
- true if record has chat
-
getCM_ChatID
public int getCM_ChatID()
Get Chat_ID for this record.- Returns:
- ID or 0, if not found
-
hasPostIt
public boolean hasPostIt()
-
getAD_PostIt_ID
public int getAD_PostIt_ID()
Get PostItID for this record.- Returns:
- ID or 0, if not found
-
hasTemplate
public boolean hasTemplate()
Returns true, if this tab have templates allowed with current role- Returns:
- true if record has templates
-
loadLocks
public void loadLocks()
Load Locks for Table and User
-
isLocked
public boolean isLocked()
Record Is Locked- Returns:
- true if locked
-
lock
public void lock(Properties ctx, int Record_ID, boolean lock)
Lock Record- Parameters:
ctx- contextRecord_ID- idlock- true if lock, otherwise unlock
-
dataStatusChanged
public void dataStatusChanged(DataStatusEvent e)
Data Status Listener from MTable. - get raw info and add current row information - update the current row - redistribute (fire) Data Status event- Specified by:
dataStatusChangedin interfaceDataStatusListener- Parameters:
e- event
-
updateDataStatusEventProperties
public void updateDataStatusEventProperties(DataStatusEvent e)
updateDataStatusEventproperties from gridTab- Parameters:
e-
-
fireDataStatusEEvent
public void fireDataStatusEEvent(String AD_Message, String info, boolean isError)
Create and fire Data Status Error Event- Parameters:
AD_Message- messageinfo- infoisError- if not true, it is a Warning
-
fireDataStatusEEvent
public void fireDataStatusEEvent(ValueNamePair errorLog)
Create and fire Data Status Error Event (from Error Log)- Parameters:
errorLog- log
-
getCurrentRow
public int getCurrentRow()
Get Current Row- Returns:
- current row
-
getRecord_ID
public int getRecord_ID()
Get Current Table Key ID- Returns:
- Record_ID
-
getKeyID
public int getKeyID(int row)
Get Key ID of row- Parameters:
row- row number- Returns:
- The Key ID of the row or -1 if not found
-
navigate
public int navigate(int targetRow)
Navigate absolute - goto Row - (zero based). - does nothing, if in current row - saves old row if required- Parameters:
targetRow- target row- Returns:
- current row
-
navigateRelative
public int navigateRelative(int rowChange)
Navigate relatively - i.e. plus/minus from current position- Parameters:
rowChange- row change- Returns:
- current row
-
navigateCurrent
public int navigateCurrent()
Navigate to current now (reload)- Returns:
- current row
-
setCurrentRow
public int setCurrentRow(int newCurrentRow, boolean fireEvents)Set current row and load data into fields. If there is no row - load nulls- Parameters:
newCurrentRow- new current rowfireEvents- fire events- Returns:
- current row
-
setCurrentRow
public void setCurrentRow(int row)
Set current row - used for deleteSelection
-
getRowCount
public int getRowCount()
Get RowCount- Returns:
- row count
-
getFieldCount
public int getFieldCount()
Get Column/Field Count- Returns:
- field count
-
getField
public GridField getField(int index)
Get Field by index- Parameters:
index- index- Returns:
- MField
-
getField
public GridField getField(String columnName)
Get Field by DB column name- Parameters:
columnName- column name- Returns:
- MField
-
getFields
public GridField[] getFields()
Get all Fields- Returns:
- MFields
-
setValue
public String setValue(String columnName, Object value)
Set New Value and call Callout- Parameters:
columnName- database column namevalue- value- Returns:
- error message or ""
-
setValue
public String setValue(GridField field, Object value)
Set New Value and call Callout- Parameters:
field- fieldvalue- value- Returns:
- error message or ""
-
isProcessed
public boolean isProcessed()
Is Processed- Returns:
- true if current record is processed
-
isActive
public boolean isActive()
Is the current record active- Returns:
- true if current record is active author Teo Sarca - BF [ 1742159 ]
-
processFieldChange
public String processFieldChange(GridField changedField)
Process Field Change - evaluate Dependencies and process Callouts. called from MTab.setValue or GridController.dataStatusChanged- Parameters:
changedField- changed field- Returns:
- error message or ""
-
getActiveCallouts
public String[] getActiveCallouts()
- Returns:
- list of active call out for this tab
-
getActiveCalloutInstance
public Callout[] getActiveCalloutInstance()
- Returns:
- list of active call out instance for this tab
-
processCallout
public String processCallout(GridField field)
Process Callout(s).The Callout is in the string of "class.method;class.method;" If there is no class name, i.e. only a method name, the class is regarded as CalloutSystem. The class needs to comply with the Interface Callout. For a limited time, the old notation of Sx_matheod / Ux_menthod is maintained.
- Parameters:
field- field- Returns:
- error message or ""
- See Also:
Callout
-
getValue
public Object getValue(String columnName)
Get Value of Field with columnName- Parameters:
columnName- column name- Returns:
- value
-
getValueAsBoolean
public boolean getValueAsBoolean(String columnName)
Get Boolean Value of Field with columnName. If there is no column with the given name, the context for current window will be checked.- Parameters:
columnName- column name- Returns:
- boolean value or false if the field was not found author Teo Sarca
-
getValue
public Object getValue(GridField field)
Get Value of Field- Parameters:
field- field- Returns:
- value
-
getValue
public Object getValue(int row, String columnName)
Get Value of Field in row- Parameters:
row- rowcolumnName- column name- Returns:
- value
-
toString
public String toString()
toString
-
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener l)
- Parameters:
l- listener
-
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener l)
- Parameters:
l- listener
-
removeDataStatusListener
public void removeDataStatusListener(DataStatusListener l)
- Parameters:
l- listener
-
addDataStatusListener
public void addDataStatusListener(DataStatusListener l)
- Parameters:
l- listener
-
addStateChangeListener
public void addStateChangeListener(StateChangeListener l)
- Parameters:
l-
-
removeStateChangeListener
public void removeStateChangeListener(StateChangeListener l)
- Parameters:
l-
-
setFieldVFormat
public void setFieldVFormat(String identifier, String strNewFormat)
Feature Request [1707462] Enable runtime change of VFormat- Parameters:
identifier- field indentstrNewFormat- new mask author fer_luck
-
switchRows
public void switchRows(int from, int to, int sortColumn, boolean ascending)Switches the line/seqNo of the two rows- Parameters:
from- row indexto- row indexsortColumn- column index of sort columnascending- sorting modus
-
getIncludedTabs
public List<GridTab> getIncludedTabs()
- Returns:
- list of all tabs included in this tab
-
getParentTab
public GridTab getParentTab()
-
getNumColumns
public int getNumColumns()
-
isNew
public boolean isNew()
-
getAD_Tab_UU
public String getAD_Tab_UU()
-
getAD_Process_UU
public String getAD_Process_UU()
-
isUpdateWindowContext
public boolean isUpdateWindowContext()
-
setUpdateWindowContext
public void setUpdateWindowContext(boolean updateWindowContext)
-
addToSelection
public void addToSelection(int rowIndex)
-
removeFromSelection
public boolean removeFromSelection(int rowIndex)
-
getSelection
public int[] getSelection()
-
isSelected
public boolean isSelected(int rowIndex)
-
clearSelection
public void clearSelection()
-
isQuickForm
public boolean isQuickForm()
-
setQuickForm
public void setQuickForm(boolean isQuickForm)
-
getGridWindow
public GridWindow getGridWindow()
-
getVO
public GridTabVO getVO()
-
getCalloutUI
public ICalloutUI getCalloutUI()
-
setCalloutUI
public void setCalloutUI(ICalloutUI calloutUI)
-
getMaxQueryRecords
public int getMaxQueryRecords()
Get Max Query Records.- Returns:
- If defined, you cannot query more records as defined - the query criteria needs to be changed to query less records
-
isQueryRequire
public boolean isQueryRequire(int noRecords)
Require Query- Parameters:
noRecords- records- Returns:
- true if query required
-
isQueryMax
public boolean isQueryMax(int noRecords)
Over max Query- Parameters:
noRecords- records- Returns:
- true if over max query
-
reset
public void reset()
reset to empty
-
-