C# (CSharp) SIL.FieldWorks.FdoUi Namespace

Nested Namespaces

SIL.FieldWorks.FdoUi.Dialogs

Classes

Name Description
BrowseViewerPhonologicalFeatures Browse viewer used for assigning phonolgical features to phonemes
BulkEditBarPhonologicalFeatures Bulk edit bar used for assigning phonological features to phonemes
BulkPosEditor BulkPosEditor is the spec/display component of the Bulk Edit bar used to set the PartOfSpeech of group of LexSenses (actually by creating or modifying an MoStemMsa that is the MorphoSyntaxAnalysis of the sense). It was originally part of XmlViews, but it needs to use the POSPopupTreeManager class, and since FdoUi references XmlViews, XmlViews can't reference FdoUi. Also, it sort of makes sense to put it here as a class that is quite specific to a particular part of the model.
BulkPosEditorBase BulkPosEditor is the spec/display component of the Bulk Edit bar used to set the PartOfSpeech of group of LexSenses (actually by creating or modifying an MoStemMsa that is the MorphoSyntaxAnalysis of the sense). It was originally part of XmlViews, but it needs to use the POSPopupTreeManager class, and since FdoUi references XmlViews, XmlViews can't reference FdoUi. Also, it sort of makes sense to put it here as a class that is quite specific to a particular part of the model.
CmObjectUi
CmObjectUi.CmAnalObjectVc Special VC for classes that should display in the default analysis writing system.
CmObjectUi.CmNameAbbrObjVc Special VC for classes that have name and abbreviation, both displayed in UI WS.
CmObjectUi.CmNamedObjVc Special VC for classes that have name flid. It is a MultiString property, and the default user WS should be used to display it.
CmObjectUi.CmObjectVc
CmObjectUi.CmPossRefVc Special VC for classes that have a reference to a CmPossibility whose name/abbr should be used as the name/abbr for this.
CmPossibilityUi Special UI behaviors for the CmPossibility class.
CmVernObjectVc Special VC for classes that should display in the default vernacular writing system.
DummyCmObject A light weight object used in the merge dlg to show relevant objects.
EntryPosFilter A special filter, where items are LexEntries, and matches are ones where an MSA is an MoStemMsa that has the correct POS. (not used yet.
FdoRefSeq Our own minimal implementation of a reference sequence, since we can't just get what we want from FDO's internal secret implementation of IFdoReferenceSequence.
FsFeatDefnUi FsFeatDefnUi provides UI-specific methods for the PartOfSpeech class.
InflectionClassEditor InflectionClassEditor is the spec/display component of the Bulk Edit bar used to set the Inflection class of a LexSense (which must already have an MoStemMsa with POS set). It is used for BulkEditBar, which is part of XmlViews, but it needs to use the POSPopupTreeManager class, and since FdoUi references XmlViews, XmlViews can't reference FdoUi. Also, it sort of makes sense to put it here as a class that is quite specific to a particular part of the model.
InflectionClassFilter A special filter, where items are LexSenses, and matches are ones where an MSA is an MoStemMsa that has the correct POS.
InflectionFeatureEditor InflectionFeatureEditor is the spec/display component of the Bulk Edit bar used to set the Inflection features of a LexSense (which must already have an MoStemMsa with POS set). It is used for BulkEditBar, which is part of XmlViews, but it needs to use the PopupTreeManager class, and since FdoUi references XmlViews, XmlViews can't reference FdoUi. Also, it sort of makes sense to put it here as a class that is quite specific to a particular part of the model.
LexPronunciationUi UI for LexPronunciation.
LexSenseUi UI functions for MoMorphSynAnalysis.
MoDerivAffMsaUi UI functions for MoMorphSynAnalysis.
MoFormUi UI functions for MoMorphSynAnalysis.
MoInflAffMsaUi UI functions for MoMorphSynAnalysis.
MoMorphSynAnalysisUi Special UI behaviors for the MoMorphSynAnalysis class.
MoMorphSynAnalysisUi.MsaVc Special VC for MSAs. These have the InterlinearName method. Enhance JohnT: it would be better to actually build a view that shows what we want, so that all the proper dependencies could be noted. But the algorithms are complex and involve backreferences. Todo: Finish reworking this into MsaVc; clean up stuff related to interlinearName above.
MoStemMsaUi Special UI behaviors for the MoStemMsa class.
PartOfSpeechUi PartOfSpeechUi provides UI-specific methods for the PartOfSpeech class.
PhonologicalFeatureEditor
PosFilter A special filter, where items are LexSenses, and matches are ones where an MSA is an MoStemMsa that has the correct POS.
ReferenceBaseUi This is the base class for handling references.
ReferenceCollectionUi Handling reference collections is rather minimal at the moment, basically allowing a different context menu to be used.
ReferenceSequenceUi Currently only LexReferenceSequenceView displays a full sequence for lexical relations sequence. Otherwise we could also manufacture ReferenceSequenceUi from ReferenceBaseUi.MakeUi(). But since only LexReferenceSequenceView (e.g. Calendar) is handling changing the sequence of items through the context menu, we'll wait till we really need it to come up with a solution that can "exclude self" from the list in moving calculations.
TargetFeatureEventArgs
TypeAheadSupportVc TypeAheadSupportVc is a view constructor used to display a (typically real) object reference property in a mode that allows the user to type part of an identifying string in order to make a selection. Typical call code: // Member variable of main VC, typically. TypeAheadSupportVc m_tasvc; // (In constructor of main VC, or similar place.) m_tasvc = new TypeAheadSupportVc((int)LexSense.LexSenseTags.kflidSemanticDomain, m_cache); m_tasvc.InitXXX(...); // Optional, choose any appropriate method if further Init required. // (As part of Display method or similar, where type-ahead property is wanted. m_tasvc.Insert(IVwEnv vwenv, int hvo); // atomic m_tasbc.InsertSeq(IVwEnv vwenv, int hvo); // sequence (or collection) -- not yet fully implemented? At least not tested. To make things work properly, the client must also override OnKeyPress and (after checking that no update is in progress) arrange to call m_tasvc.OnKeyPress(EditingHelper, e, ModifierKeys, m_vwGraphics). If this returns true, the normal call to base.OnKeyPress should be omitted. protected override void OnKeyPress(KeyPressEventArgs e) { if (DataUpdateMonitor.IsUpdateInProgress(DataAccess)) return; //throw this event away using (new HoldGraphics(this)) { if (m_vc.TasVc.OnKeyPress(EditingHelper, e, ModifierKeys, m_vwGraphics)) return; } base.OnKeyPress(e); } The client should also override SelectionChanged and (among any other behavior) calle m_tasvc.SelectionChanged(rootb, sel). This is used to expand any selection that covers more than one item in the sequence to cover the whole of the items partly selected. Finally, the client should override OnLoseFocus and (among any other behavior) call m_tasvc.LoseFocus(rootb); Similarly OnGotFocus(rootb).
VectorReferenceUi Handles things common to ReferenceSequence and ReferenceCollection classes.
WfiAnalysisUi UI functions for WfiAnalysis.
WfiGlossUi UI functions for WfiGloss.
WfiWordformUi WfiWordformUi provides UI-specific methods for the WfiWordformUi class.