C# Класс SIL.FieldWorks.XWorks.RecordClerk

Takes care of a list of records, standing between it and the UI.
Наследование: IFWDisposable, IxCoreColleague, IRecordListUpdater
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
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

Свойство Тип Описание
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

Открытые методы

Метод Описание
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.

Защищенные методы

Метод Описание
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.

Приватные методы

Метод Описание
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

Описание методов

ActivateUI() публичный Метод

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
Результат void

AddItemToList() защищенный Метод

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
Результат bool

AreSortersCompatible() публичный Метод

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
Результат bool

BecomeInactive() публичный Метод

Tell RecordClerk that we're not currently being used in a Gui.
public BecomeInactive ( ) : void
Результат void

BeginBroadcastingChanges() публичный Метод

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
Результат void

CanDelete() защищенный Метод

Override this if there are special cases where you need more control over which objects can be deleted.
protected CanDelete ( ) : bool
Результат bool

CheckDisposed() публичный Метод

Check to see if the object has been disposed. All public Properties and Methods should call this before doing anything else.
public CheckDisposed ( ) : void
Результат void

ClearInvalidSubitem() защищенный Метод

A hook to allow a subclass to remove an invalid subitem.
protected ClearInvalidSubitem ( ) : void
Результат void

Dispose() публичный Метод

Must not be virtual.
public Dispose ( ) : void
Результат void

Dispose() защищенный Метод

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
Результат void

EndBroadcastingChanges() публичный Метод

Called after broadcasting all changes.
public EndBroadcastingChanges ( ) : void
Результат void

FilterStatusContents() защищенный Метод

protected FilterStatusContents ( bool listIsFiltered ) : string
listIsFiltered bool
Результат string

FindClerk() публичный статический Метод

finds an existing RecordClerk by the given id.
public static FindClerk ( XCore.Mediator mediator, string id ) : RecordClerk
mediator XCore.Mediator
id string
Результат RecordClerk

GetCorrespondingPropertyName() публичный статический Метод

public static GetCorrespondingPropertyName ( string vectorName ) : string
vectorName string
Результат string

GetMessageTargets() публичный Метод

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[]
Результат IxCoreColleague[]

GetObjectToDelete() защищенный Метод

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
Результат ICmObject

GetStatusBarMsgForCurrentObject() защищенный Метод

protected GetStatusBarMsgForCurrentObject ( ) : string
Результат string

InDesiredArea() защищенный Метод

determine if we're in the (given) area
protected InDesiredArea ( string desiredArea ) : bool
desiredArea string The desired area.
Результат bool

InDesiredTool() защищенный Метод

determine if we're in the (given) tool
protected InDesiredTool ( string desiredTool ) : bool
desiredTool string
Результат bool

Init() публичный Метод

Initialize the IxCoreColleague
public Init ( XCore.Mediator mediator, XmlNode viewConfiguration ) : void
mediator XCore.Mediator
viewConfiguration System.Xml.XmlNode
Результат void

JumpToIndex() публичный Метод

public JumpToIndex ( int index ) : void
index int
Результат void

JumpToIndex() публичный Метод

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.
Результат void

JumpToRecord() публичный Метод

public JumpToRecord ( int jumpToHvo ) : void
jumpToHvo int
Результат void

JumpToRecord() публичный Метод

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.
Результат void

OccurrenceFromHvo() публичный Метод

If we're wrapping a ConcDecorator, we can extract its AnalysisOccurrence.
public OccurrenceFromHvo ( int hvo ) : IParaFragment
hvo int
Результат IParaFragment

OnAdjustFilterSelection() публичный Метод

Make Filters menuBar item selection adjustments as necessary.
public OnAdjustFilterSelection ( object argument ) : bool
argument object
Результат bool

OnChangeFilter() публичный Метод

public OnChangeFilter ( SIL.FieldWorks.Filters.FilterChangeEventArgs args ) : void
args SIL.FieldWorks.Filters.FilterChangeEventArgs
Результат void

OnChangeFilterClearAll() публичный Метод

public OnChangeFilterClearAll ( object commandObject ) : void
commandObject object
Результат void

OnChangeSorter() публичный Метод

public OnChangeSorter ( ) : void
Результат void

OnDeleteRecord() публичный Метод

public OnDeleteRecord ( object commandObject ) : bool
commandObject object
Результат bool

OnDeleteRecordToolTip() публичный Метод

Figure a tooltop for the DeleteRecord command.
public OnDeleteRecordToolTip ( object holder ) : bool
holder object
Результат bool

OnDisplayChangeFilterClearAll() публичный Метод

public OnDisplayChangeFilterClearAll ( object commandObject, XCore.UIItemDisplayProperties &display ) : bool
commandObject object
display XCore.UIItemDisplayProperties
Результат bool

OnDisplayDeleteRecord() публичный Метод

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
Результат bool

OnDisplayFiltersList() публичный Метод

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
Результат bool

OnDisplayFirstRecord() публичный Метод

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
Результат bool

OnDisplayInsertItemInVector() публичный Метод

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
Результат bool

OnDisplayLastRecord() публичный Метод

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
Результат bool

OnDisplayNextRecord() публичный Метод

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
Результат bool

OnDisplayPreviousRecord() публичный Метод

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
Результат bool

OnExport() публичный Метод

public OnExport ( object argument ) : bool
argument object
Результат bool

OnFilterListChanged() защищенный Метод

update the contents of the filter list.
protected OnFilterListChanged ( object argument ) : void
argument object
Результат void

OnFirstRecord() публичный Метод

public OnFirstRecord ( object argument ) : bool
argument object
Результат bool

OnInsertItemInVector() публичный Метод

this is triggered by any command whose message attribute is "InsertItemInVector"
public OnInsertItemInVector ( object argument ) : bool
argument object
Результат bool

OnItemDataModified() публичный Метод

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
Результат void

OnJumpToRecord() публичный Метод

display the given record
public OnJumpToRecord ( object argument ) : bool
argument object the hvo of the record
Результат bool

OnLastRecord() публичный Метод

public OnLastRecord ( object argument ) : bool
argument object
Результат bool

OnListChanged() защищенный Метод

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
Результат void

OnNextRecord() публичный Метод

move to the next or last record in the current set of records
public OnNextRecord ( object argument ) : bool
argument object
Результат bool

OnPreviousRecord() публичный Метод

public OnPreviousRecord ( object argument ) : bool
argument object
Результат bool

OnPropertyChanged() публичный Метод

Receives the broadcast message "PropertyChanged"
public OnPropertyChanged ( string name ) : void
name string
Результат void

OnRefresh() публичный Метод

public OnRefresh ( object argument ) : bool
argument object
Результат bool

OnSorterChanged() публичный Метод

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.
Результат void

PropChanged() публичный Метод

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
Результат void

RefreshAfterInvalidObject() защищенный Метод

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
Результат void

RefreshCurrentRecord() публичный Метод

refresh current record, by deleting and re-inserting it into our list.
public RefreshCurrentRecord ( ) : void
Результат void

ReloadIfNeeded() публичный Метод

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
Результат void

RemoveInvalidItems() публичный Метод

deletes invalidated sort items from the list. (e.g. as result from Undo/Redo).
public RemoveInvalidItems ( ) : void
Результат void

RemoveItemsFor() публичный Метод

deletes the given item from the list. needed to fix LT-9230 without full reload.
public RemoveItemsFor ( int hvoToRemove ) : void
hvoToRemove int
Результат void

ReportCannotDelete() защищенный Метод

By default we just silently don't delete things that shouldn't be. Override if you want to give a message.
protected ReportCannotDelete ( ) : void
Результат void

SaveOnChangeRecord() публичный Метод

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
Результат void

SelectedRecordChanged() публичный Метод

update the status bar, selected node of the tree bar, etc. and broadcast record navigation
public SelectedRecordChanged ( bool suppressFocusChange ) : void
suppressFocusChange bool
Результат void

SelectedRecordChanged() публичный Метод

update the status bar, selected node of the tree bar, etc.
public SelectedRecordChanged ( bool fSkipRecordNavigation, bool suppressFocusChange ) : void
fSkipRecordNavigation bool
suppressFocusChange bool
Результат void

StoreClerkInPropertyTable() защищенный Метод

protected StoreClerkInPropertyTable ( XmlNode clerkConfiguration ) : void
clerkConfiguration System.Xml.XmlNode
Результат void

TryRestoreFilter() защищенный Метод

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
Результат bool

TryRestoreSorter() защищенный Метод

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
Результат bool

UpdateFilterStatusBarPanel() защищенный Метод

Figure out what should show in the filter status panel and make it so.
protected UpdateFilterStatusBarPanel ( ) : void
Результат void

UpdateFiltersAndSortersIfNeeded() защищенный Метод

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
Результат bool

UpdateList() публичный Метод

public UpdateList ( bool fRefreshRecord ) : void
fRefreshRecord bool
Результат void

UpdateOwningObjectIfNeeded() публичный Метод

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
Результат void

UpdateRecordTreeBarIfNeeded() публичный Метод

If the record bar is visible and needs to be repopulated, do it.
public UpdateRecordTreeBarIfNeeded ( ) : void
Результат void

UpdateStatusBarRecordNumber() публичный Метод

public UpdateStatusBarRecordNumber ( String noRecordsText ) : void
noRecordsText String
Результат void

ViewChangedSelectedRecord() публичный Метод

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
Результат void

Описание свойств

m_activeMenuBarFilter защищенное свойство

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
Результат SIL.FieldWorks.Filters.RecordFilter

m_clerkProvidingRootObject защищенное свойство

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
Результат string

m_fIsActiveInGui защищенное свойство

True if the Clerk is being used in a Gui.
protected bool m_fIsActiveInGui
Результат bool

m_filterProvider защищенное свойство

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
Результат XCore.RecordFilterListProvider

m_id защищенное свойство

protected string m_id
Результат string

m_list защищенное свойство

protected RecordList,SIL.FieldWorks.XWorks m_list
Результат SIL.FieldWorks.XWorks.RecordList

m_mediator защищенное свойство

protected Mediator,XCore m_mediator
Результат XCore.Mediator

m_rch защищенное свойство

protected IRecordChangeHandler m_rch
Результат IRecordChangeHandler

m_recordBarHandler защищенное свойство

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
Результат RecordBarHandler

s_lastClerkToLoadTreeBar статическое защищенное свойство

static protected RecordClerk,SIL.FieldWorks.XWorks s_lastClerkToLoadTreeBar
Результат RecordClerk