C# Class SIL.FieldWorks.XWorks.XmlDocConfigureDlg.LayoutTreeNode

Inheritance: System.Windows.Forms.TreeNode
Mostrar archivo Open project: sillsdev/FieldWorks

Private Properties

Property Type Description
BuildXPathFromAttributes string
CopyPartAttributes void
CopyValuesTo void
CreateCopy LayoutTreeNode
GetModifiedLayouts bool
IsDirty bool
IsNodeDirty bool
MakeSenseNumberFormatConsistent void
NewValueIsCompatibleWithMagic bool
OverallLayoutVisibilityChanged bool
SplitNumberFormat void
SplitNumberFormat void
StoreUpdatedValuesInConfiguration void
StringsDiffer bool
UpdateAttribute void
UpdateAttributeIfDirty void
UpdateLayoutVisibilityIfChanged bool
UpdateSenseConfig void

Public Methods

Method Description
Clone ( ) : object

Copies the tree node and the entire subtree rooted at this tree node. This is a partial copy that copies references to objects rather than cloning the objects themselves (other than the tree nodes of the subtree). This is good for moving a tree node up and down, but not so good for duplicating the tree node. In the latter case, at least the configuration XML nodes must be cloned, and the layouts those point to, and new names generated for the duplicates. Otherwise, editing the subnodes of the duplicated node ends up editing the configuration of the subnodes of the original node.

IsDescendedFrom ( TreeNode tnPossibleAncestor ) : bool
LayoutTreeNode ( ) : System
LayoutTreeNode ( XmlNode config, SIL.Utils.StringTable stringTbl, string classParent ) : System

Private Methods

Method Description
BuildXPathFromAttributes ( XmlAttributeCollection attributes ) : string
CopyPartAttributes ( XmlNode xn ) : void

xn is a part ref element containing the currently saved version of the part that this LayoutTreeNode represents. Copy any changed information from yourself to xn.

CopyValuesTo ( LayoutTreeNode ltn ) : void
CreateCopy ( ) : LayoutTreeNode
GetModifiedLayouts ( List rgxn, List topNodes ) : bool
IsDirty ( ) : bool
IsNodeDirty ( ) : bool
MakeSenseNumberFormatConsistent ( ) : void

If this node shows sense config information, make sure any changes are consistent with any child that also shows sense config. In particular if the numbering scheme (1.2.3 vs 1 b iii) has changed, change in all places. So far, we never have more than one child that has this property, so we don't try to handle inconsistent children.

pH 2013.09 LT-14749: Before I addressed this report, this code was intentionally not synchronising punctuation before and after the numerals. Per a discussion with Steve McConnel, before the dialog to set these settings, users could set them by editing [project]/ConfigurationSettings/LexEntry.fwlayout or LexSense.fwlayout. So my fix may break formatting that users had set up, iff they change settings through the dialog (Tools > Configure > Dictionary... > Sense). However, the dialog does not provide the same granularity as editing the .fwlayout files, and therefore, if users are using the dialog, they probably expect to update formatting of sense numbers at all levels.

NewValueIsCompatibleWithMagic ( string possibleMagicLabel, string newValue ) : bool
OverallLayoutVisibilityChanged ( ) : bool
SplitNumberFormat ( string &sBefore, string &sMark, string &sAfter ) : void
SplitNumberFormat ( string sNumber, string &sBefore, string &sMark, string &sAfter ) : void
StoreUpdatedValuesInConfiguration ( ) : void
StringsDiffer ( string s1, string s2 ) : bool
UpdateAttribute ( XmlNode xn, string sName, string sValue ) : void
UpdateAttributeIfDirty ( XmlNode xn, string sName, string sValue ) : void
UpdateLayoutVisibilityIfChanged ( ) : bool
UpdateSenseConfig ( XmlNode xn ) : void

Method Details

Clone() public method

Copies the tree node and the entire subtree rooted at this tree node. This is a partial copy that copies references to objects rather than cloning the objects themselves (other than the tree nodes of the subtree). This is good for moving a tree node up and down, but not so good for duplicating the tree node. In the latter case, at least the configuration XML nodes must be cloned, and the layouts those point to, and new names generated for the duplicates. Otherwise, editing the subnodes of the duplicated node ends up editing the configuration of the subnodes of the original node.
public Clone ( ) : object
return object

IsDescendedFrom() public method

public IsDescendedFrom ( TreeNode tnPossibleAncestor ) : bool
tnPossibleAncestor System.Windows.Forms.TreeNode
return bool

LayoutTreeNode() public method

public LayoutTreeNode ( ) : System
return System

LayoutTreeNode() public method

public LayoutTreeNode ( XmlNode config, SIL.Utils.StringTable stringTbl, string classParent ) : System
config System.Xml.XmlNode
stringTbl SIL.Utils.StringTable
classParent string
return System