C# Class SIL.FieldWorks.XWorks.RecordClerk

Takes care of a list of records, standing between it and the UI.
Inheritance: IFWDisposable, IxCoreColleague, IRecordListUpdater
Afficher le fichier Open project: sillsdev/FieldWorks Class Usage Examples

Protected Properties

Свойство Type Description
m_activeMenuBarFilter SIL.FieldWorks.Filters.RecordFilter
m_clerkProvidingRootObject string
m_fIsActiveInGui bool
m_filterProvider XCore.RecordFilterListProvider
m_id string
m_list SIL.FieldWorks.XWorks.RecordList
m_mediator XCore.Mediator
m_rch IRecordChangeHandler
m_recordBarHandler RecordBarHandler
s_lastClerkToLoadTreeBar RecordClerk

Private Properties

Свойство Type Description
AddFilterChoice void
AreCustomFieldsAProblem bool
BroadcastChange void
CheckValidOperation bool
ClerkSelectedObjectPropertyId string
FindClosestValidIndex int
GetTypeNameForUi string
IndexOfObjOrChildOrParent int
OnChangeFilterToCheckedListPropertyChoice void
OnChangeListItemsClass void
ParentClerk RecordClerk
PersistListOn void
RemoveNotification void
ResetFilterToDefault void
ResetStatusBarMessageForCurrentObject void
ResetStatusBarPanel void
RestoreListFrom bool
SetCurrentFromRelatedClerk bool
SetSubitem void
SetupDataContext void
TryClerkProvidingRootObject bool
UpdateList void
UpdateOwningObject void
UpdateOwningObject void
UpdateSortStatusBarPanel void
UpdateStatusBarRecordNumber void
ViewChangedSelectedRecord void
m_list_AboutToReload void
m_list_DoneReload void

Méthodes publiques

Méthode Description
ActivateUI ( bool useRecordTreeBar ) : void

Tell the RecordClerk that it may now be the new master of the tree bar, if it is not a dependent clerk. Use DeactivatedGui to tell RecordClerk that it's not currently being used in a Gui.

AreSortersCompatible ( SIL.FieldWorks.Filters.RecordSorter first, SIL.FieldWorks.Filters.RecordSorter second ) : bool

Test to see if the two given sorters are compatible, override if you need to check for something beyond what the RecordSorter.CompatibleSorter() will test.

BecomeInactive ( ) : void

Tell RecordClerk that we're not currently being used in a Gui.

BeginBroadcastingChanges ( int count ) : void

Called at the start of broadcasting PropChanged messages, passed the count of changes. Currently this used so as to not doing anything to batch them if there is only one.

CheckDisposed ( ) : void

Check to see if the object has been disposed. All public Properties and Methods should call this before doing anything else.

Dispose ( ) : void

Must not be virtual.

EndBroadcastingChanges ( ) : void

Called after broadcasting all changes.

FindClerk ( XCore.Mediator mediator, string id ) : RecordClerk

finds an existing RecordClerk by the given id.

GetCorrespondingPropertyName ( string vectorName ) : string
GetMessageTargets ( ) : IxCoreColleague[]

return an array of all of the objects which should 1) be queried when looking for someone to deliver a message to 2) be potential recipients of a broadcast

Init ( XCore.Mediator mediator, XmlNode viewConfiguration ) : void

Initialize the IxCoreColleague

JumpToIndex ( int index ) : void
JumpToIndex ( int index, bool suppressFocusChange ) : void

Jump to the specified index in the list.

JumpToRecord ( int jumpToHvo ) : void
JumpToRecord ( int jumpToHvo, bool suppressFocusChange ) : void

Jump to the specified object.

OccurrenceFromHvo ( int hvo ) : IParaFragment

If we're wrapping a ConcDecorator, we can extract its AnalysisOccurrence.

OnAdjustFilterSelection ( object argument ) : bool

Make Filters menuBar item selection adjustments as necessary.

OnChangeFilter ( SIL.FieldWorks.Filters.FilterChangeEventArgs args ) : void
OnChangeFilterClearAll ( object commandObject ) : void
OnChangeSorter ( ) : void
OnDeleteRecord ( object commandObject ) : bool
OnDeleteRecordToolTip ( object holder ) : bool

Figure a tooltop for the DeleteRecord command.

OnDisplayChangeFilterClearAll ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool
OnDisplayDeleteRecord ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool

see if it makes sense to provide the "delete record" command now

OnDisplayFiltersList ( object parameters, XCore.UIListDisplayProperties &display ) : bool

this is called when XCore wants to display something that relies on the list with the id "FiltersList"

OnDisplayFirstRecord ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool

see if it makes sense to provide the "previous record" command now

OnDisplayInsertItemInVector ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool

Influence the display of a particular *command* (which we don't know the name of) by giving an opinion on whether we are prepared to handle its corresponding "InsertItemInVector" *message*.

OnDisplayLastRecord ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool

see if it makes sense to provide the "next record" command now

OnDisplayNextRecord ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool

see if it makes sense to provide the "next record" command now

OnDisplayPreviousRecord ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool

see if it makes sense to provide the "previous record" command now

OnExport ( object argument ) : bool
OnFirstRecord ( object argument ) : bool
OnInsertItemInVector ( object argument ) : bool

this is triggered by any command whose message attribute is "InsertItemInVector"

OnItemDataModified ( object argument ) : void

This is invoked by reflection when something might want to know about a change. The initial usage is for the respelling dialog to let ConcDecorators know about spelling changes. The notification is passed on to any SDAs that understand it, including embedded ones.

OnJumpToRecord ( object argument ) : bool

display the given record

OnLastRecord ( object argument ) : bool
OnNextRecord ( object argument ) : bool

move to the next or last record in the current set of records

OnPreviousRecord ( object argument ) : bool
OnPropertyChanged ( string name ) : void

Receives the broadcast message "PropertyChanged"

OnRefresh ( object argument ) : bool
OnSorterChanged ( SIL.FieldWorks.Filters.RecordSorter sorter, string sortName, bool isDefaultSort ) : void

Called when the sorter changes. A name indicating what is being sorted is passed along with the record sorter.

PropChanged ( int hvo, int tag, int ivMin, int cvIns, int cvDel ) : void

We watch for changes to DateModified and update the status bar if we are controlling it.

RefreshCurrentRecord ( ) : void

refresh current record, by deleting and re-inserting it into our list.

ReloadIfNeeded ( ) : void

This is public for now just so MatchingReversalEntriesBrowser.Initialize can call it, but I (JohnT) haven't yet fully determined whether it needs to. I just needed to stop it being called in another, much more common context, so moved a call there.

RemoveInvalidItems ( ) : void

deletes invalidated sort items from the list. (e.g. as result from Undo/Redo).

RemoveItemsFor ( int hvoToRemove ) : void

deletes the given item from the list. needed to fix LT-9230 without full reload.

SaveOnChangeRecord ( ) : void

This method is called by views that display a single record to cause a Save when switching records. The purpose is to allow the special Save to be suppressed in certain cases, such as Delete record (and perhaps eventually create record).

SelectedRecordChanged ( bool suppressFocusChange ) : void

update the status bar, selected node of the tree bar, etc. and broadcast record navigation

SelectedRecordChanged ( bool fSkipRecordNavigation, bool suppressFocusChange ) : void

update the status bar, selected node of the tree bar, etc.

UpdateList ( bool fRefreshRecord ) : void
UpdateOwningObjectIfNeeded ( ) : void

Very like UpdateOwningObject, but needs to be internal, and don't want to do anything (like reloading list) if it didn't change.

UpdateRecordTreeBarIfNeeded ( ) : void

If the record bar is visible and needs to be repopulated, do it.

UpdateStatusBarRecordNumber ( String noRecordsText ) : void

ViewChangedSelectedRecord ( SIL.FieldWorks.Common.Utils.FwObjectSelectionEventArgs e ) : void

Called by a view (e.g. browseView) when, internally, it changes the currently selected record.

Méthodes protégées

Méthode Description
AddItemToList ( int hvoItem ) : bool

Override this (initially only in InterlinTextsRecordClerk) if the clerk knows how to add an item to the current list/filter on request.

CanDelete ( ) : bool

Override this if there are special cases where you need more control over which objects can be deleted.

ClearInvalidSubitem ( ) : void

A hook to allow a subclass to remove an invalid subitem.

Dispose ( bool disposing ) : void

Executes in two distinct scenarios. 1. If disposing is true, the method has been called directly or indirectly by a user's code via the Dispose method. Both managed and unmanaged resources can be disposed. 2. If disposing is false, the method has been called by the runtime from inside the finalizer and you should not reference (access) other managed objects, as they already have been garbage collected. Only unmanaged resources can be disposed.

If any exceptions are thrown, that is fine. If the method is being done in a finalizer, it will be ignored. If it is thrown by client code calling Dispose, it needs to be handled by fixing the bug. If subclasses override this method, they should call the base implementation.

FilterStatusContents ( bool listIsFiltered ) : string
GetObjectToDelete ( ICmObject currentObject ) : ICmObject

By default DeleteRecord deletes the current record. Override if you need to delete something else. For example, in interlinear text we delete the owning Text.

GetStatusBarMsgForCurrentObject ( ) : string
InDesiredArea ( string desiredArea ) : bool

determine if we're in the (given) area

InDesiredTool ( string desiredTool ) : bool

determine if we're in the (given) tool

OnFilterListChanged ( object argument ) : void

update the contents of the filter list.

OnListChanged ( object src, ListChangedEventArgs arguments ) : void

update the contents of the tree bar and anything else that should change when, for example, the filter or sort order changes.

RefreshAfterInvalidObject ( ) : void

Handles refreshing the record list after an object was deleted.

This should be overriden to perform more efficient refreshing of the record list display

ReportCannotDelete ( ) : void

By default we just silently don't delete things that shouldn't be. Override if you want to give a message.

StoreClerkInPropertyTable ( XmlNode clerkConfiguration ) : void
TryRestoreFilter ( XCore.Mediator mediator, XmlNode clerkConfiguration, SIL.FieldWorks.FDO.FdoCache cache ) : bool

TryRestoreSorter ( XCore.Mediator mediator, XmlNode clerkConfiguration, SIL.FieldWorks.FDO.FdoCache cache ) : bool

UpdateFilterStatusBarPanel ( ) : void

Figure out what should show in the filter status panel and make it so.

UpdateFiltersAndSortersIfNeeded ( ) : bool

Compares the state of the filters and sorters to persisted values in property table and re-establishes them from the property table if they have changed.

Private Methods

Méthode Description
AddFilterChoice ( SIL.FieldWorks.Filters.RecordFilter filter, XCore.UIListDisplayProperties display ) : void
AreCustomFieldsAProblem ( int clsids ) : bool
BroadcastChange ( bool suppressFocusChange ) : void
CheckValidOperation ( Command command, string className ) : bool
ClerkSelectedObjectPropertyId ( string clerkId ) : string
FindClosestValidIndex ( int idx, int cobj ) : int
GetTypeNameForUi ( ICmObject obj ) : string
IndexOfObjOrChildOrParent ( int hvoTarget ) : int

Find the index of hvoTarget in m_list; or, if it does not occur, the index of a child of hvoTarget.

OnChangeFilterToCheckedListPropertyChoice ( ) : void

Change the list filter to the currently selected (checked) FilterList item. This selection is stored in the property table based on the name of the filter associated with the current clerk.

OnChangeListItemsClass ( int listItemsClass, int newTargetFlid, bool force ) : void

Handle a change to the class of items we want to bulk edit (and sometimes the field we want to bulk edit matters, too).

ParentClerk ( ) : RecordClerk

returns the Clerk that governs the OwningObject of our clerk.

PersistListOn ( string pathname ) : void

Persist this list for retrieval by RestoreListFrom, if we are a primary Clerk.

RemoveNotification ( ) : void

Stop notifications of prop changes

ResetFilterToDefault ( ) : void

If a filter becomes invalid, it has to be reset somehow. This resets it to the default filter for this clerk (possibly null).

ResetStatusBarMessageForCurrentObject ( ) : void
ResetStatusBarPanel ( string panel, string msg ) : void
RestoreListFrom ( string pathname ) : bool

Returns true if successful, false if some problem reading the file, including detecting that part of a key is a deleted object. Return false if this is not the primary clerk.

SetCurrentFromRelatedClerk ( ) : bool
SetSubitem ( ICmObject subitem ) : void

Overridden in SubitemRecordClerk, this records the subitem.

SetupDataContext ( bool floadList ) : void
TryClerkProvidingRootObject ( RecordClerk &clerkProvidingRootObject ) : bool
UpdateList ( bool fRefreshRecord, bool forceSort ) : void

Update the list, and possibly the record referenced by our stored IRecordChangeHandler object.

Part of the IRecordListUpdater interface.

UpdateOwningObject ( ) : void
UpdateOwningObject ( bool fUpdateOwningObjectOnlyIfChanged ) : void
UpdateSortStatusBarPanel ( ) : void
UpdateStatusBarRecordNumber ( ) : void
ViewChangedSelectedRecord ( SIL.FieldWorks.Common.Utils.FwObjectSelectionEventArgs e, IVwSelection sel ) : void
m_list_AboutToReload ( object sender, EventArgs e ) : void
m_list_DoneReload ( object sender, EventArgs e ) : void

Method Details

ActivateUI() public méthode

Tell the RecordClerk that it may now be the new master of the tree bar, if it is not a dependent clerk. Use DeactivatedGui to tell RecordClerk that it's not currently being used in a Gui.
public ActivateUI ( bool useRecordTreeBar ) : void
useRecordTreeBar bool
Résultat void

AddItemToList() protected méthode

Override this (initially only in InterlinTextsRecordClerk) if the clerk knows how to add an item to the current list/filter on request.
protected AddItemToList ( int hvoItem ) : bool
hvoItem int
Résultat bool

AreSortersCompatible() public méthode

Test to see if the two given sorters are compatible, override if you need to check for something beyond what the RecordSorter.CompatibleSorter() will test.
public AreSortersCompatible ( SIL.FieldWorks.Filters.RecordSorter first, SIL.FieldWorks.Filters.RecordSorter second ) : bool
first SIL.FieldWorks.Filters.RecordSorter
second SIL.FieldWorks.Filters.RecordSorter
Résultat bool

BecomeInactive() public méthode

Tell RecordClerk that we're not currently being used in a Gui.
public BecomeInactive ( ) : void
Résultat void

BeginBroadcastingChanges() public méthode

Called at the start of broadcasting PropChanged messages, passed the count of changes. Currently this used so as to not doing anything to batch them if there is only one.
public BeginBroadcastingChanges ( int count ) : void
count int
Résultat void

CanDelete() protected méthode

Override this if there are special cases where you need more control over which objects can be deleted.
protected CanDelete ( ) : bool
Résultat bool

CheckDisposed() public méthode

Check to see if the object has been disposed. All public Properties and Methods should call this before doing anything else.
public CheckDisposed ( ) : void
Résultat void

ClearInvalidSubitem() protected méthode

A hook to allow a subclass to remove an invalid subitem.
protected ClearInvalidSubitem ( ) : void
Résultat void

Dispose() public méthode

Must not be virtual.
public Dispose ( ) : void
Résultat void

Dispose() protected méthode

Executes in two distinct scenarios. 1. If disposing is true, the method has been called directly or indirectly by a user's code via the Dispose method. Both managed and unmanaged resources can be disposed. 2. If disposing is false, the method has been called by the runtime from inside the finalizer and you should not reference (access) other managed objects, as they already have been garbage collected. Only unmanaged resources can be disposed.
If any exceptions are thrown, that is fine. If the method is being done in a finalizer, it will be ignored. If it is thrown by client code calling Dispose, it needs to be handled by fixing the bug. If subclasses override this method, they should call the base implementation.
protected Dispose ( bool disposing ) : void
disposing bool
Résultat void

EndBroadcastingChanges() public méthode

Called after broadcasting all changes.
public EndBroadcastingChanges ( ) : void
Résultat void

FilterStatusContents() protected méthode

protected FilterStatusContents ( bool listIsFiltered ) : string
listIsFiltered bool
Résultat string

FindClerk() public static méthode

finds an existing RecordClerk by the given id.
public static FindClerk ( XCore.Mediator mediator, string id ) : RecordClerk
mediator XCore.Mediator
id string
Résultat RecordClerk

GetCorrespondingPropertyName() public static méthode

public static GetCorrespondingPropertyName ( string vectorName ) : string
vectorName string
Résultat string

GetMessageTargets() public méthode

return an array of all of the objects which should 1) be queried when looking for someone to deliver a message to 2) be potential recipients of a broadcast
public GetMessageTargets ( ) : IxCoreColleague[]
Résultat IxCoreColleague[]

GetObjectToDelete() protected méthode

By default DeleteRecord deletes the current record. Override if you need to delete something else. For example, in interlinear text we delete the owning Text.
protected GetObjectToDelete ( ICmObject currentObject ) : ICmObject
currentObject ICmObject
Résultat ICmObject

GetStatusBarMsgForCurrentObject() protected méthode

protected GetStatusBarMsgForCurrentObject ( ) : string
Résultat string

InDesiredArea() protected méthode

determine if we're in the (given) area
protected InDesiredArea ( string desiredArea ) : bool
desiredArea string The desired area.
Résultat bool

InDesiredTool() protected méthode

determine if we're in the (given) tool
protected InDesiredTool ( string desiredTool ) : bool
desiredTool string
Résultat bool

Init() public méthode

Initialize the IxCoreColleague
public Init ( XCore.Mediator mediator, XmlNode viewConfiguration ) : void
mediator XCore.Mediator
viewConfiguration System.Xml.XmlNode
Résultat void

JumpToIndex() public méthode

public JumpToIndex ( int index ) : void
index int
Résultat void

JumpToIndex() public méthode

Jump to the specified index in the list.
public JumpToIndex ( int index, bool suppressFocusChange ) : void
index int The index.
suppressFocusChange bool if set to true focus changes will be suppressed.
Résultat void

JumpToRecord() public méthode

public JumpToRecord ( int jumpToHvo ) : void
jumpToHvo int
Résultat void

JumpToRecord() public méthode

Jump to the specified object.
public JumpToRecord ( int jumpToHvo, bool suppressFocusChange ) : void
jumpToHvo int The jump to hvo.
suppressFocusChange bool if set to true focus changes will be suppressed.
Résultat void

OccurrenceFromHvo() public méthode

If we're wrapping a ConcDecorator, we can extract its AnalysisOccurrence.
public OccurrenceFromHvo ( int hvo ) : IParaFragment
hvo int
Résultat IParaFragment

OnAdjustFilterSelection() public méthode

Make Filters menuBar item selection adjustments as necessary.
public OnAdjustFilterSelection ( object argument ) : bool
argument object
Résultat bool

OnChangeFilter() public méthode

public OnChangeFilter ( SIL.FieldWorks.Filters.FilterChangeEventArgs args ) : void
args SIL.FieldWorks.Filters.FilterChangeEventArgs
Résultat void

OnChangeFilterClearAll() public méthode

public OnChangeFilterClearAll ( object commandObject ) : void
commandObject object
Résultat void

OnChangeSorter() public méthode

public OnChangeSorter ( ) : void
Résultat void

OnDeleteRecord() public méthode

public OnDeleteRecord ( object commandObject ) : bool
commandObject object
Résultat bool

OnDeleteRecordToolTip() public méthode

Figure a tooltop for the DeleteRecord command.
public OnDeleteRecordToolTip ( object holder ) : bool
holder object
Résultat bool

OnDisplayChangeFilterClearAll() public méthode

public OnDisplayChangeFilterClearAll ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool
commandObject object
display XCore.UIItemDisplayProperties
Résultat bool

OnDisplayDeleteRecord() public méthode

see if it makes sense to provide the "delete record" command now
public OnDisplayDeleteRecord ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool
commandObject object
display XCore.UIItemDisplayProperties
Résultat bool

OnDisplayFiltersList() public méthode

this is called when XCore wants to display something that relies on the list with the id "FiltersList"
public OnDisplayFiltersList ( object parameters, XCore.UIListDisplayProperties &display ) : bool
parameters object
display XCore.UIListDisplayProperties
Résultat bool

OnDisplayFirstRecord() public méthode

see if it makes sense to provide the "previous record" command now
public OnDisplayFirstRecord ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool
commandObject object
display XCore.UIItemDisplayProperties
Résultat bool

OnDisplayInsertItemInVector() public méthode

Influence the display of a particular *command* (which we don't know the name of) by giving an opinion on whether we are prepared to handle its corresponding "InsertItemInVector" *message*.
public OnDisplayInsertItemInVector ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool
commandObject object
display XCore.UIItemDisplayProperties
Résultat bool

OnDisplayLastRecord() public méthode

see if it makes sense to provide the "next record" command now
public OnDisplayLastRecord ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool
commandObject object
display XCore.UIItemDisplayProperties
Résultat bool

OnDisplayNextRecord() public méthode

see if it makes sense to provide the "next record" command now
public OnDisplayNextRecord ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool
commandObject object
display XCore.UIItemDisplayProperties
Résultat bool

OnDisplayPreviousRecord() public méthode

see if it makes sense to provide the "previous record" command now
public OnDisplayPreviousRecord ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool
commandObject object
display XCore.UIItemDisplayProperties
Résultat bool

OnExport() public méthode

public OnExport ( object argument ) : bool
argument object
Résultat bool

OnFilterListChanged() protected méthode

update the contents of the filter list.
protected OnFilterListChanged ( object argument ) : void
argument object
Résultat void

OnFirstRecord() public méthode

public OnFirstRecord ( object argument ) : bool
argument object
Résultat bool

OnInsertItemInVector() public méthode

this is triggered by any command whose message attribute is "InsertItemInVector"
public OnInsertItemInVector ( object argument ) : bool
argument object
Résultat bool

OnItemDataModified() public méthode

This is invoked by reflection when something might want to know about a change. The initial usage is for the respelling dialog to let ConcDecorators know about spelling changes. The notification is passed on to any SDAs that understand it, including embedded ones.
public OnItemDataModified ( object argument ) : void
argument object
Résultat void

OnJumpToRecord() public méthode

display the given record
public OnJumpToRecord ( object argument ) : bool
argument object the hvo of the record
Résultat bool

OnLastRecord() public méthode

public OnLastRecord ( object argument ) : bool
argument object
Résultat bool

OnListChanged() protected méthode

update the contents of the tree bar and anything else that should change when, for example, the filter or sort order changes.
protected OnListChanged ( object src, ListChangedEventArgs arguments ) : void
src object
arguments ListChangedEventArgs
Résultat void

OnNextRecord() public méthode

move to the next or last record in the current set of records
public OnNextRecord ( object argument ) : bool
argument object
Résultat bool

OnPreviousRecord() public méthode

public OnPreviousRecord ( object argument ) : bool
argument object
Résultat bool

OnPropertyChanged() public méthode

Receives the broadcast message "PropertyChanged"
public OnPropertyChanged ( string name ) : void
name string
Résultat void

OnRefresh() public méthode

public OnRefresh ( object argument ) : bool
argument object
Résultat bool

OnSorterChanged() public méthode

Called when the sorter changes. A name indicating what is being sorted is passed along with the record sorter.
public OnSorterChanged ( SIL.FieldWorks.Filters.RecordSorter sorter, string sortName, bool isDefaultSort ) : void
sorter SIL.FieldWorks.Filters.RecordSorter The sorter.
sortName string The sort name.
isDefaultSort bool true if default sorting is being used, otherwise false.
Résultat void

PropChanged() public méthode

We watch for changes to DateModified and update the status bar if we are controlling it.
public PropChanged ( int hvo, int tag, int ivMin, int cvIns, int cvDel ) : void
hvo int
tag int
ivMin int
cvIns int
cvDel int
Résultat void

RefreshAfterInvalidObject() protected méthode

Handles refreshing the record list after an object was deleted.
This should be overriden to perform more efficient refreshing of the record list display
protected RefreshAfterInvalidObject ( ) : void
Résultat void

RefreshCurrentRecord() public méthode

refresh current record, by deleting and re-inserting it into our list.
public RefreshCurrentRecord ( ) : void
Résultat void

ReloadIfNeeded() public méthode

This is public for now just so MatchingReversalEntriesBrowser.Initialize can call it, but I (JohnT) haven't yet fully determined whether it needs to. I just needed to stop it being called in another, much more common context, so moved a call there.
public ReloadIfNeeded ( ) : void
Résultat void

RemoveInvalidItems() public méthode

deletes invalidated sort items from the list. (e.g. as result from Undo/Redo).
public RemoveInvalidItems ( ) : void
Résultat void

RemoveItemsFor() public méthode

deletes the given item from the list. needed to fix LT-9230 without full reload.
public RemoveItemsFor ( int hvoToRemove ) : void
hvoToRemove int
Résultat void

ReportCannotDelete() protected méthode

By default we just silently don't delete things that shouldn't be. Override if you want to give a message.
protected ReportCannotDelete ( ) : void
Résultat void

SaveOnChangeRecord() public méthode

This method is called by views that display a single record to cause a Save when switching records. The purpose is to allow the special Save to be suppressed in certain cases, such as Delete record (and perhaps eventually create record).
public SaveOnChangeRecord ( ) : void
Résultat void

SelectedRecordChanged() public méthode

update the status bar, selected node of the tree bar, etc. and broadcast record navigation
public SelectedRecordChanged ( bool suppressFocusChange ) : void
suppressFocusChange bool
Résultat void

SelectedRecordChanged() public méthode

update the status bar, selected node of the tree bar, etc.
public SelectedRecordChanged ( bool fSkipRecordNavigation, bool suppressFocusChange ) : void
fSkipRecordNavigation bool
suppressFocusChange bool
Résultat void

StoreClerkInPropertyTable() protected méthode

protected StoreClerkInPropertyTable ( XmlNode clerkConfiguration ) : void
clerkConfiguration System.Xml.XmlNode
Résultat void

TryRestoreFilter() protected méthode

protected TryRestoreFilter ( XCore.Mediator mediator, XmlNode clerkConfiguration, SIL.FieldWorks.FDO.FdoCache cache ) : bool
mediator XCore.Mediator
clerkConfiguration System.Xml.XmlNode
cache SIL.FieldWorks.FDO.FdoCache
Résultat bool

TryRestoreSorter() protected méthode

protected TryRestoreSorter ( XCore.Mediator mediator, XmlNode clerkConfiguration, SIL.FieldWorks.FDO.FdoCache cache ) : bool
mediator XCore.Mediator
clerkConfiguration System.Xml.XmlNode
cache SIL.FieldWorks.FDO.FdoCache
Résultat bool

UpdateFilterStatusBarPanel() protected méthode

Figure out what should show in the filter status panel and make it so.
protected UpdateFilterStatusBarPanel ( ) : void
Résultat void

UpdateFiltersAndSortersIfNeeded() protected méthode

Compares the state of the filters and sorters to persisted values in property table and re-establishes them from the property table if they have changed.
protected UpdateFiltersAndSortersIfNeeded ( ) : bool
Résultat bool

UpdateList() public méthode

public UpdateList ( bool fRefreshRecord ) : void
fRefreshRecord bool
Résultat void

UpdateOwningObjectIfNeeded() public méthode

Very like UpdateOwningObject, but needs to be internal, and don't want to do anything (like reloading list) if it didn't change.
public UpdateOwningObjectIfNeeded ( ) : void
Résultat void

UpdateRecordTreeBarIfNeeded() public méthode

If the record bar is visible and needs to be repopulated, do it.
public UpdateRecordTreeBarIfNeeded ( ) : void
Résultat void

UpdateStatusBarRecordNumber() public méthode

public UpdateStatusBarRecordNumber ( String noRecordsText ) : void
noRecordsText String
Résultat void

ViewChangedSelectedRecord() public méthode

Called by a view (e.g. browseView) when, internally, it changes the currently selected record.
public ViewChangedSelectedRecord ( SIL.FieldWorks.Common.Utils.FwObjectSelectionEventArgs e ) : void
e SIL.FieldWorks.Common.Utils.FwObjectSelectionEventArgs
Résultat void

Property Details

m_activeMenuBarFilter protected_oe property

We need to store what filter we are responsible for setting, locally, so that when the user says "no filter/all records", we can selectively remove just this filter from the set that is being kept by the RecordList. That list would contain filters contributed from other sources, in particular the FilterBar.
protected RecordFilter,SIL.FieldWorks.Filters m_activeMenuBarFilter
Résultat SIL.FieldWorks.Filters.RecordFilter

m_clerkProvidingRootObject protected_oe property

when this is not null, that means there is another clerk managing a list, and the selected item of that list provides the object that this RecordClerk gets items out of. For example, the WfiAnalysis clerk is dependent on the WfiWordform clerk to tell it which wordform it is supposed to be displaying the analyses of.
protected string m_clerkProvidingRootObject
Résultat string

m_fIsActiveInGui protected_oe property

True if the Clerk is being used in a Gui.
protected bool m_fIsActiveInGui
Résultat bool

m_filterProvider protected_oe property

this is an object which gives us the list of filters which we should offer to the user from the UI. this does not include the filters they can get that by using the FilterBar.
protected RecordFilterListProvider,XCore m_filterProvider
Résultat XCore.RecordFilterListProvider

m_id protected_oe property

protected string m_id
Résultat string

m_list protected_oe property

protected RecordList,SIL.FieldWorks.XWorks m_list
Résultat SIL.FieldWorks.XWorks.RecordList

m_mediator protected_oe property

protected Mediator,XCore m_mediator
Résultat XCore.Mediator

m_rch protected_oe property

protected IRecordChangeHandler m_rch
Résultat IRecordChangeHandler

m_recordBarHandler protected_oe property

this will be null is this clerk is dependent on another one. Only the top-level clerk gets to be represented by and interact with the tree bar.
protected RecordBarHandler,SIL.FieldWorks.XWorks m_recordBarHandler
Résultat RecordBarHandler

s_lastClerkToLoadTreeBar static_oe protected_oe property

static protected RecordClerk,SIL.FieldWorks.XWorks s_lastClerkToLoadTreeBar
Résultat RecordClerk