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

상속: RecordBarHandler
파일 보기 프로젝트 열기: sillsdev/FieldWorks 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
m_hvoToTreeNodeTable TreeNode>.Dictionary
m_objRepo ICmObjectRepository
m_possRepo ICmPossibilityRepository

공개 메소드들

메소드 설명
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

보호된 메소드들

메소드 설명
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

비공개 메소드들

메소드 설명
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

메소드 상세

AddSubNodes() 보호된 메소드

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

AddToTreeNodeTable() 보호된 메소드

protected AddToTreeNodeTable ( int keyHvo, TreeNode node ) : void
keyHvo int
node System.Windows.Forms.TreeNode
리턴 void

AddTreeNode() 보호된 메소드

protected AddTreeNode ( ICmObject obj, TreeNodeCollection parentsCollection ) : TreeNode
obj ICmObject
parentsCollection System.Windows.Forms.TreeNodeCollection
리턴 System.Windows.Forms.TreeNode

AddTreeNodes() 보호된 메소드

protected AddTreeNodes ( ArrayList sortedObjects, TreeView tree ) : void
sortedObjects System.Collections.ArrayList
tree System.Windows.Forms.TreeView
리턴 void

CreateTreebarContextMenuStrip() 보호된 메소드

protected CreateTreebarContextMenuStrip ( ) : ContextMenuStrip
리턴 System.Windows.Forms.ContextMenuStrip

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

EnsureSelectedNodeVisible() 공개 메소드

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
리턴 void

GetTreeNodeLabel() 보호된 메소드

protected GetTreeNodeLabel ( ICmObject obj, Font &font ) : string
obj ICmObject
font System.Drawing.Font
리턴 string

PopulateRecordBar() 공개 메소드

public PopulateRecordBar ( SIL.FieldWorks.XWorks.RecordList list ) : void
list SIL.FieldWorks.XWorks.RecordList
리턴 void

PopulateRecordBar() 보호된 메소드

protected PopulateRecordBar ( SIL.FieldWorks.XWorks.RecordList list, bool editable ) : void
list SIL.FieldWorks.XWorks.RecordList
editable bool
리턴 void

ReleaseRecordBar() 공개 메소드

public ReleaseRecordBar ( ) : void
리턴 void

ReloadItem() 공개 메소드

public ReloadItem ( ICmObject currentObject ) : void
currentObject ICmObject
리턴 void

TreeBarHandler() 보호된 메소드

protected TreeBarHandler ( ) : System
리턴 System

UpdateSelection() 공개 메소드

public UpdateSelection ( ICmObject currentObject ) : void
currentObject ICmObject
리턴 void

tree_DragDrop() 보호된 메소드

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
리턴 void

tree_DragOver() 보호된 메소드

protected tree_DragOver ( object sender, DragEventArgs e ) : void
sender object
e System.Windows.Forms.DragEventArgs
리턴 void

tree_GiveFeedback() 보호된 메소드

protected tree_GiveFeedback ( object sender, System.Windows.Forms.GiveFeedbackEventArgs e ) : void
sender object
e System.Windows.Forms.GiveFeedbackEventArgs
리턴 void

tree_MouseClicked() 보호된 메소드

protected tree_MouseClicked ( object sender, MouseEventArgs e ) : void
sender object
e MouseEventArgs
리턴 void

tree_MouseDown() 보호된 메소드

protected tree_MouseDown ( object sender, MouseEventArgs e ) : void
sender object
e MouseEventArgs
리턴 void

tree_MouseMove() 보호된 메소드

protected tree_MouseMove ( object sender, MouseEventArgs e ) : void
sender object
e MouseEventArgs
리턴 void

tree_NodeMouseClick() 보호된 메소드

protected tree_NodeMouseClick ( object sender, TreeNodeMouseClickEventArgs e ) : void
sender object
e System.Windows.Forms.TreeNodeMouseClickEventArgs
리턴 void

tree_Promote() 보호된 메소드

protected tree_Promote ( ) : void
리턴 void

tree_moveDown() 보호된 메소드

let subclass handle this
protected tree_moveDown ( ) : void
리턴 void

tree_moveUp() 보호된 메소드

let subclass handle this
protected tree_moveUp ( ) : void
리턴 void

프로퍼티 상세

m_hvoToTreeNodeTable 보호되어 있는 프로퍼티

protected Dictionary m_hvoToTreeNodeTable
리턴 TreeNode>.Dictionary

m_objRepo 보호되어 있는 프로퍼티

protected ICmObjectRepository m_objRepo
리턴 ICmObjectRepository

m_possRepo 보호되어 있는 프로퍼티

protected ICmPossibilityRepository m_possRepo
리턴 ICmPossibilityRepository