C# Class SIL.FieldWorks.XWorks.TreeBarHandler

Inheritance: RecordBarHandler
Afficher le fichier Open project: sillsdev/FieldWorks Class Usage Examples

Protected Properties

Свойство Type Description
m_hvoToTreeNodeTable TreeNode>.Dictionary
m_objRepo ICmObjectRepository
m_possRepo ICmPossibilityRepository

Méthodes publiques

Méthode Description
EnsureSelectedNodeVisible ( TreeView tree ) : void

Ensure that the selected node is visible VERTICALLY. TreeNode.EnsureVisible attempts to make as much as possible of the label of the node visible. If the label is wider than the window, it will scroll horizontally and hide the plus/minus icons, which is very confusing to the user. The only way I (JohnT) have found to suppress this is to temporarily give the node a narrow label while calling EnsureVisible.

PopulateRecordBar ( SIL.FieldWorks.XWorks.RecordList list ) : void
ReleaseRecordBar ( ) : void
ReloadItem ( ICmObject currentObject ) : void
UpdateSelection ( ICmObject currentObject ) : void

Méthodes protégées

Méthode Description
AddSubNodes ( ICmObject obj, TreeNodeCollection parentsCollection ) : void

the default implementation does not add any sub nodes

AddToTreeNodeTable ( int keyHvo, TreeNode node ) : void
AddTreeNode ( ICmObject obj, TreeNodeCollection parentsCollection ) : TreeNode
AddTreeNodes ( ArrayList sortedObjects, TreeView tree ) : void
CreateTreebarContextMenuStrip ( ) : ContextMenuStrip
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.

GetTreeNodeLabel ( ICmObject obj, Font &font ) : string
PopulateRecordBar ( SIL.FieldWorks.XWorks.RecordList list, bool editable ) : void
TreeBarHandler ( ) : System
tree_DragDrop ( object sender, DragEventArgs e ) : void

Currently we only know how to move our own items.

tree_DragOver ( object sender, DragEventArgs e ) : void
tree_GiveFeedback ( object sender, System.Windows.Forms.GiveFeedbackEventArgs e ) : void
tree_MouseClicked ( object sender, MouseEventArgs e ) : void
tree_MouseDown ( object sender, MouseEventArgs e ) : void
tree_MouseMove ( object sender, MouseEventArgs e ) : void
tree_NodeMouseClick ( object sender, TreeNodeMouseClickEventArgs e ) : void
tree_Promote ( ) : void
tree_moveDown ( ) : void

let subclass handle this

tree_moveUp ( ) : void

let subclass handle this

Private Methods

Méthode Description
CheckAndReportBadDiscourseTemplateMove ( ICmPossibility movingColumn, int hvoTemplate, int hvoTemplateList, int hvoDest ) : bool

Checks for and reports any disallowed discourse template moves.

CheckAndReportBadTagListMove ( ICmPossibility movingTagItem, int hvoSubListRoot, int hvoMainTagList, int hvoDest ) : bool

Checks for and reports any disallowed tag list moves.

CheckAndReportForbiddenMove ( int hvoMove, int hvoDest ) : bool

Check for and deal with moves that should not be allowed. Previously the only disallowed move was one that reorganized a chart template that is in use. This is not the optimum place to 'know' about this, but I (JohnT) am not sure where is. Now we are disallowing certain moves within the TextMarkup Tags list too, so I (GordonM) have refactored a bit. Review: Should these be pulled out to the PossibilityTreeBarHandler subclass?

ClearDragHilite ( ) : void
ExpandItems ( TreeNodeCollection treeNodeCollection, Set expandedItems ) : void

If any of the nodes in treeNodeCollection has a tag that is an int that is in the set, expand it, and recursively check its children.

GetExpandedItems ( TreeNodeCollection treeNodeCollection, Set expandedItems ) : void

For all the nodes that are expanded, if their tag is an int, add it to the set.

Init ( XCore.Mediator mediator, XmlNode node ) : void
IsHvoATreeNode ( int hvo ) : bool

Check whether the given hvo is represented by a TreeNode.

MoveItem ( object sender, TreeNode destNode, TreeNode sourceItem ) : void
OkToDrop ( object sender, DragEventArgs e, TreeNode &destNode ) : bool

Method Details

AddSubNodes() protected méthode

the default implementation does not add any sub nodes
protected AddSubNodes ( ICmObject obj, TreeNodeCollection parentsCollection ) : void
obj ICmObject
parentsCollection System.Windows.Forms.TreeNodeCollection
Résultat void

AddToTreeNodeTable() protected méthode

protected AddToTreeNodeTable ( int keyHvo, TreeNode node ) : void
keyHvo int
node System.Windows.Forms.TreeNode
Résultat void

AddTreeNode() protected méthode

protected AddTreeNode ( ICmObject obj, TreeNodeCollection parentsCollection ) : TreeNode
obj ICmObject
parentsCollection System.Windows.Forms.TreeNodeCollection
Résultat System.Windows.Forms.TreeNode

AddTreeNodes() protected méthode

protected AddTreeNodes ( ArrayList sortedObjects, TreeView tree ) : void
sortedObjects System.Collections.ArrayList
tree System.Windows.Forms.TreeView
Résultat void

CreateTreebarContextMenuStrip() protected méthode

protected CreateTreebarContextMenuStrip ( ) : ContextMenuStrip
Résultat System.Windows.Forms.ContextMenuStrip

Dispose() protected méthode

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
Résultat void

EnsureSelectedNodeVisible() public méthode

Ensure that the selected node is visible VERTICALLY. TreeNode.EnsureVisible attempts to make as much as possible of the label of the node visible. If the label is wider than the window, it will scroll horizontally and hide the plus/minus icons, which is very confusing to the user. The only way I (JohnT) have found to suppress this is to temporarily give the node a narrow label while calling EnsureVisible.
public EnsureSelectedNodeVisible ( TreeView tree ) : void
tree System.Windows.Forms.TreeView
Résultat void

GetTreeNodeLabel() protected méthode

protected GetTreeNodeLabel ( ICmObject obj, Font &font ) : string
obj ICmObject
font System.Drawing.Font
Résultat string

PopulateRecordBar() public méthode

public PopulateRecordBar ( SIL.FieldWorks.XWorks.RecordList list ) : void
list SIL.FieldWorks.XWorks.RecordList
Résultat void

PopulateRecordBar() protected méthode

protected PopulateRecordBar ( SIL.FieldWorks.XWorks.RecordList list, bool editable ) : void
list SIL.FieldWorks.XWorks.RecordList
editable bool
Résultat void

ReleaseRecordBar() public méthode

public ReleaseRecordBar ( ) : void
Résultat void

ReloadItem() public méthode

public ReloadItem ( ICmObject currentObject ) : void
currentObject ICmObject
Résultat void

TreeBarHandler() protected méthode

protected TreeBarHandler ( ) : System
Résultat System

UpdateSelection() public méthode

public UpdateSelection ( ICmObject currentObject ) : void
currentObject ICmObject
Résultat void

tree_DragDrop() protected méthode

Currently we only know how to move our own items.
protected tree_DragDrop ( object sender, DragEventArgs e ) : void
sender object
e System.Windows.Forms.DragEventArgs
Résultat void

tree_DragOver() protected méthode

protected tree_DragOver ( object sender, DragEventArgs e ) : void
sender object
e System.Windows.Forms.DragEventArgs
Résultat void

tree_GiveFeedback() protected méthode

protected tree_GiveFeedback ( object sender, System.Windows.Forms.GiveFeedbackEventArgs e ) : void
sender object
e System.Windows.Forms.GiveFeedbackEventArgs
Résultat void

tree_MouseClicked() protected méthode

protected tree_MouseClicked ( object sender, MouseEventArgs e ) : void
sender object
e MouseEventArgs
Résultat void

tree_MouseDown() protected méthode

protected tree_MouseDown ( object sender, MouseEventArgs e ) : void
sender object
e MouseEventArgs
Résultat void

tree_MouseMove() protected méthode

protected tree_MouseMove ( object sender, MouseEventArgs e ) : void
sender object
e MouseEventArgs
Résultat void

tree_NodeMouseClick() protected méthode

protected tree_NodeMouseClick ( object sender, TreeNodeMouseClickEventArgs e ) : void
sender object
e System.Windows.Forms.TreeNodeMouseClickEventArgs
Résultat void

tree_Promote() protected méthode

protected tree_Promote ( ) : void
Résultat void

tree_moveDown() protected méthode

let subclass handle this
protected tree_moveDown ( ) : void
Résultat void

tree_moveUp() protected méthode

let subclass handle this
protected tree_moveUp ( ) : void
Résultat void

Property Details

m_hvoToTreeNodeTable protected_oe property

protected Dictionary m_hvoToTreeNodeTable
Résultat TreeNode>.Dictionary

m_objRepo protected_oe property

protected ICmObjectRepository m_objRepo
Résultat ICmObjectRepository

m_possRepo protected_oe property

protected ICmPossibilityRepository m_possRepo
Résultat ICmPossibilityRepository