C# Class SIL.FieldWorks.FDO.DomainImpl.LexSenseFactory

Show file Open project: sillsdev/FieldWorks

Public Methods

Method Description
Create ( System.Guid guid, ILexEntry owner ) : ILexSense

Create a new sense with the given guid owned by the given entry.

Create ( System.Guid guid, ILexSense owner ) : ILexSense

Create a new subsense with the given guid owned by the given sense.

Create ( ILexEntry entry, SandboxGenericMSA sandboxMSA, ITsString gloss ) : ILexSense

Create a new sense and add it to the given entry.

Create ( ILexEntry entry, SandboxGenericMSA sandboxMSA, string gloss ) : ILexSense

Create a new sense and add it to the given entry.

RDENewSense ( int hvoDomain, List columns, ITsString rgtss, SIL.Utils.StringTable stringTbl ) : int

This is invoked (using reflection) by an XmlRDEBrowseView when the user presses "Enter" in an RDE view that is displaying lexeme form and definition. (Maybe also on loss of focus, switch domain, etc?) It creates a new entry, lexeme form, and sense that are linked to the specified domain. Typically, later, a call to RDEMergeSense will be made to see whether this new entry should be merged into some existing sense.

Private Methods

Method Description
GetOrMakeFirstExample ( LexSense ls ) : ILexExampleSentence
GetOrMakeFirstTranslation ( ILexExampleSentence example ) : ICmTranslation
HandleTransduceColum ( LexSense ls, XmlNode column, int ws, ITsString val ) : bool

Handle a column that contains a "transduce" specification indicating how to find the field that should be filled in. Currently we support class.field, where class is LexEntry, LexSense, LexExampleSentence, or CmTranslation, and field is one of the multilingual or simple string fields of that class. LexSense means set a field of the sense passed to the method; entry means its owning entry; example means its first example, which will be created if it doesn't already have one; and CmTranslation means the first translation of the first example (both of which will be created if needed). (Since this is used as part of RDENewSense, the first example field encountered will always create a new example, and the first translation field a new translation.) enhance: also handle class.field.field, where the first field indicates an atomic object property?

MakeMorphRde ( ILexEntry entry, ITsString form, int ws, string trimmedForm ) : IMoForm

Method Details

Create() public method

Create a new sense with the given guid owned by the given entry.
public Create ( System.Guid guid, ILexEntry owner ) : ILexSense
guid System.Guid
owner ILexEntry
return ILexSense

Create() public method

Create a new subsense with the given guid owned by the given sense.
public Create ( System.Guid guid, ILexSense owner ) : ILexSense
guid System.Guid
owner ILexSense
return ILexSense

Create() public method

Create a new sense and add it to the given entry.
public Create ( ILexEntry entry, SandboxGenericMSA sandboxMSA, ITsString gloss ) : ILexSense
entry ILexEntry
sandboxMSA SandboxGenericMSA
gloss ITsString
return ILexSense

Create() public method

Create a new sense and add it to the given entry.
public Create ( ILexEntry entry, SandboxGenericMSA sandboxMSA, string gloss ) : ILexSense
entry ILexEntry
sandboxMSA SandboxGenericMSA
gloss string string form of gloss, will be put in DefaultAnalysis ws
return ILexSense

RDENewSense() public method

This is invoked (using reflection) by an XmlRDEBrowseView when the user presses "Enter" in an RDE view that is displaying lexeme form and definition. (Maybe also on loss of focus, switch domain, etc?) It creates a new entry, lexeme form, and sense that are linked to the specified domain. Typically, later, a call to RDEMergeSense will be made to see whether this new entry should be merged into some existing sense.
public RDENewSense ( int hvoDomain, List columns, ITsString rgtss, SIL.Utils.StringTable stringTbl ) : int
hvoDomain int database id of the semantic domain
columns List
rgtss ITsString
stringTbl SIL.Utils.StringTable
return int