C# 클래스 SIL.FieldWorks.XWorks.RecordClerk

Takes care of a list of records, standing between it and the UI.
상속: IFWDisposable, IxCoreColleague, IRecordListUpdater
파일 보기 프로젝트 열기: sillsdev/FieldWorks 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
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