Property | Type | Description | |
---|---|---|---|
m_cache | FdoCache | ||
m_callerNode | XmlNode | ||
m_configurationNode | XmlNode | ||
m_expansion | DataTree.TreeItemState | ||
m_fontLabel | Font | ||
m_indent | int | ||
m_isHighlighted | bool | ||
m_key | object[] | ||
m_location | Point | ||
m_mediator | Mediator | ||
m_obj | ICmObject | ||
m_parentSlice | Slice | ||
m_persistenceProvider | IPersistenceProvider | ||
m_smallImages | ImageCollection | ||
m_strAbbr | string | ||
m_strLabel | string | ||
m_stringTable | StringTable | ||
m_weight | ObjectWeight | ||
m_widthHasBeenSetByDataTree | bool |
Property | Type | Description | |
---|---|---|---|
CheckVisibilityItem | void | ||
Collapse | void | ||
ExtraIndent | int | ||
FocusSliceOrChild | Slice | ||
GenerateHelpTopicId | string | ||
GetAtomicContext | bool | ||
GetCloseSlices | List |
||
GetGeneratedHelpTopicId | string | ||
GetHelpTopicID | String | ||
GetObjectForMenusToOperateOn | ICmObject | ||
GetSeqContext | bool | ||
InsertObject | int | ||
InsertObjectIfPossible | bool | ||
InsertObjectIntoVirtualBackref | int | ||
IsDescendant | bool | ||
IsOrInheritsFrom | bool | ||
LayoutSplitter | void | ||
PartRef | XmlNode | ||
SetCurrentState | void | ||
SetSplitPosition | void | ||
SetViewStylesheet | void | ||
Slice | System | ||
StartsWith | bool | ||
getAlphaNumeric | string | ||
helpTopicIsValid | bool | ||
mySplitterMoved | void | ||
treeNode_MouseEnter | void | ||
treeNode_MouseLeave | void |
Method | Description | |
---|---|---|
AboutToDiscard ( ) : void |
This is called when clearing the slice collection, or otherwise about to remove a slice from its parent and discard it. It allows us to put views into a state where they won't waste time if they get an OnLoad message somewhere in the course of clearing them from the collection. (LT-3118 is one problem this helped with.)
|
|
BecomeReal ( int index ) : Slice |
In some contexts we insert into the slice array
|
|
BecomeRealInPlace ( ) : bool |
Some 'unreal' slices can become 'real' (ready to actually display) without actually replacing themselves with a different object. Such slices override this method to do whatever is needed and then answer true. If a slice answers false to IsRealSlice, this is tried, and if it returns false, then BecomeReal is called.
|
|
CanDeleteReferenceNow ( Command cmd ) : bool |
Check whether a "Delete Reference" command can be executed. Currently implemented only for the VariantEntryBackRefs / LexEntry/EntryRefs/ComponentLexemes references.
|
|
CheckDisposed ( ) : void |
|
|
Collapse ( ) : void |
|
|
CreateIndentedNodes ( |
|
|
DrawLabel ( int y, |
Draws the label in the containing SilTreeControl's Graphics object at the specified position. Override if you have a more complex type of label, e.g., if the field contains interlinear data and you want to label each line.
|
|
DrawLabel ( int x, int y, |
|
|
Expand ( ) : void |
|
|
Expand ( int iSlice ) : void |
Expand this node, which is at position iSlice in its parent. I (JH) don't know why this was written to take the index of the slice. It's just as easy for this class to find its own index. JohnT: for performance; finding its own index is a linear search, and the caller often has the info already, especially in loops expanding many children. |
|
ExpandSubItem ( int hvo ) : Slice |
Find a slice nested below this one whose object is hvo and expand it if it is collapsed.
|
|
FinishInit ( ) : void |
This method should be called once the various properties of the slice have been set, particularly the Cache, Object, Key, and Spec. The slice may create its Control in this method, so don't assume it exists before this is called. It should be called before installing the slice.
|
|
GenerateChildren ( |
|
|
GetBranchHeight ( ) : int |
Returns the height, from the top of the item, at which to draw the line across towards it. Typically this is the center of where DrawLabel will draw the label, but it might not be (e.g., if DrawLabel actually draws two labels and a bit of tree diagram).
|
|
GetCanDeleteNow ( ) : bool |
is it possible to do a deletion menu command on this slice right now?
|
|
GetCanEditNow ( ) : bool |
|
|
GetCanMergeNow ( ) : bool |
Is it possible to do a merge menu command on this slice right now?
|
|
GetCanSplitNow ( ) : bool |
Is it possible to do a split menu command on this slice right now?
|
|
GetChooserHelpTopicID ( ) : String |
|
|
GetChooserHelpTopicID ( string ChooserDlgHelpTopicID ) : String | ||
GetMessageTargets ( ) : IxCoreColleague[] |
|
|
GetSliceHelpTopicID ( ) : String |
|
|
HandleCopyCommand ( Slice newSlice, string label ) : void |
|
|
HandleDeleteCommand ( Command cmd ) : bool |
Main work of deleting an object; answer true if it was actually deleted.
|
|
HandleDeleteReferenceCommand ( Command cmd ) : void |
Handle a "Delete Reference" command. Currently implemented only for the VariantEntryBackRefs / LexEntry/EntryRefs/ComponentLexemes references.
|
|
HandleEditCommand ( ) : void |
|
|
HandleInsertCommand ( string fieldName, string className ) : void |
do an insertion called by the containing environment in response to a user command. |
|
HandleInsertCommand ( string fieldName, string className, string ownerClassName, string recomputeVirtual ) : void |
do an insertion called by the containing environment in response to a user command. |
|
HandleLaunchChooser ( ) : void |
This was added for Lexical Relation slices which now have the Add/Replace Reference menu item in the dropdown menu.
|
|
HandleMergeCommand ( bool fLoseNoTextData ) : void |
|
|
HandleMouseDown ( Point p ) : bool |
|
|
HandleSplitCommand ( ) : void |
|
|
Init ( Mediator mediator, XmlNode configurationParameters ) : void |
|
|
Install ( DataTree parent ) : void |
|
|
LabelIndent ( ) : int |
|
|
OnDisplayShowFieldAlwaysVisible ( object commandObject, UIItemDisplayProperties &display ) : bool |
|
|
OnDisplayShowFieldIfData ( object commandObject, UIItemDisplayProperties &display ) : bool |
|
|
OnDisplayShowFieldNormallyHidden ( object commandObject, UIItemDisplayProperties &display ) : bool |
|
|
OnShowFieldAlwaysVisible ( object args ) : bool |
|
|
OnShowFieldIfData ( object args ) : bool |
|
|
OnShowFieldNormallyHidden ( object args ) : bool |
|
|
OnTreeNodeClick ( object sender, EventArgs args ) : void |
|
|
OverrideBackColor ( String backColorName ) : void |
This is passed the color that the XDE specified, if any, otherwise null. The default is to use the normal window color for editable text. Subclasses which know they should have a different default should override this method, but normally should use the specified color if not null.
|
|
RegisterWithContextHelper ( ) : void |
|
|
RetrieveContextMenuForHotlinks ( ) : ContextMenu |
|
|
ShowContextMenuIconInTreeNode ( ) : bool |
|
|
ShowSubControls ( ) : void |
We tend to get a visual stuttering effect if sub-controls are made visible before the main slice is correctly positioned. This method is called after the slice is positioned to give it a chance to make embedded controls visible. This default implementation does nothing.
|
|
Slice ( Control ctrlT ) : System |
|
|
TakeFocus ( bool fOkToFocusTreeNode ) : bool |
The slice should become the focus slice (and return true). If the fOkToFocusTreeNode argument is false, this should happen iff it has a control which is appropriate to focus. Note: JohnT: recently I noticed that trying to focus the tree node doesn't seem to do anything; I'm not sure passing true is useful.
|
|
TakeFocus ( ) : void |
|
Method | Description | |
---|---|---|
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. |
|
GetFieldType ( int flid ) : int | ||
GetFlid ( string fieldName ) : int |
Get the flid for the specified field name of this slice's object. May return zero if the object does not have that field.
|
|
IsVisibilityItemChecked ( string visibility ) : bool | ||
OnEnter ( EventArgs e ) : void | ||
OnGotFocus ( EventArgs e ) : void |
Focus the main child control, if possible.
|
|
OnLayout ( LayoutEventArgs levent ) : void |
If we don't have a splitter (because no label), set the width of the tree node directly; the other node's size is set by being docked 'fill'.
|
|
OnSizeChanged ( EventArgs e ) : void | ||
OnValidating ( System e ) : void | ||
PartRef ( ) : XmlNode |
extract the "part ref" node from the slice.Key
|
|
ReplacePartWithNewAttribute ( string attr, string attrValueNew ) : void | ||
SetFieldVisibility ( string visibility ) : void | ||
SetWidthForDataTreeLayout ( int width ) : void |
This is used to control the width of the slice when the data tree is being laid out. Any earlier width set is meaningless. Some slices can avoid doing a lot of work by ignoring earlier OnSizeChanged messages.
|
|
UpdateDisplayIfNeeded ( int hvo, int tag ) : bool |
Updates the display of a slice, if an hvo and tag it cares about has changed in some way.
|
Method | Description | |
---|---|---|
CheckVisibilityItem ( XCore.UIItemDisplayProperties display, string visibility ) : void | ||
Collapse ( int iSlice ) : void | ||
ExtraIndent ( |
This method determines how much we should indent nodes produced from "part ref" elements embedded inside an "indent" element in another "part ref" element. Currently, by default we in fact do NOT add any indent, unless there is also an attribute indent="true".
|
|
FocusSliceOrChild ( ) : Slice | ||
GenerateHelpTopicId ( string helpTopicPrefix ) : string | ||
GetAtomicContext ( int &hvoOwner, int &flid ) : bool | ||
GetCloseSlices ( ) : List |
||
GetGeneratedHelpTopicId ( string helpTopicPrefix, String fieldName ) : string | ||
GetHelpTopicID ( String xmlHelpTopicID, String generatedIDPrefix ) : String | ||
GetObjectForMenusToOperateOn ( ) : ICmObject | ||
GetSeqContext ( int &hvoOwner, int &flid, int &ihvoPosition ) : bool | ||
InsertObject ( int flid, int newObjectClassId ) : int |
Insert a new object of the specified class into the specified property of your object.
|
|
InsertObjectIfPossible ( int newObjectClassId, int ownerClassId, string fieldName, Slice slice, string recomputeVirtual ) : bool | ||
InsertObjectIntoVirtualBackref ( FdoCache cache, Mediator mediator, int hvoSlice, int clidNewObj, int flid ) : int | ||
IsDescendant ( Slice slice ) : bool | ||
IsOrInheritsFrom ( int clidTest, int clidSig ) : bool |
Answer whether clidTest is, or is a subclass of, clidSig. That is, either clidTest is the same as clidSig, or one of the base classes of clidTest is clidSig. As a special case, if clidSig is 0, all classes are considered to match
|
|
LayoutSplitter ( object sender, EventArgs e ) : void | ||
PartRef ( int &indexInKey ) : XmlNode | ||
SetCurrentState ( bool isCurrent ) : void | ||
SetSplitPosition ( ) : void |
Attempt to set the split position, but do NOT modify the global setting for the data tree if unsuccessful. This occurs during window initialization, since (I think) slices are created before the proper width is set for the containing data pane, and the constraints on the width of the splitter may not allow it to take on the persisted position.
|
|
SetViewStylesheet ( Control control, DataTree tc ) : void | ||
Slice ( ) : System | ||
StartsWith ( object target, object match ) : bool |
Return true if the target array starts with the objects in the match array.
|
|
getAlphaNumeric ( string fromStr ) : string |
Generates a possible help topic id from the field name, but does NOT check it for validity!
|
|
helpTopicIsValid ( String helpStr ) : bool |
Is m_helpTopic a valid help topic?
|
|
mySplitterMoved ( object sender, SplitterEventArgs e ) : void |
Note: There are two SplitterDistance event handlers on a Slice. This one handles the side effects of redrawing the tree node, when needed. Another one on DataTree takes care of updating the SplitterDisance on all the other slices.
|
|
treeNode_MouseEnter ( object sender, EventArgs e ) : void | ||
treeNode_MouseLeave ( object sender, EventArgs e ) : void |
public CanDeleteReferenceNow ( Command cmd ) : bool | ||
cmd | Command | |
return | bool |
public CreateIndentedNodes ( |
||
caller | ||
obj | ICmObject | |
indent | int | |
insPos | int | |
path | ||
reuseMap | ||
node | ||
return | void |
public DrawLabel ( int y, |
||
y | int | |
gr | ||
clipWidth | int | |
return | void |
public DrawLabel ( int x, int y, |
||
x | int | |
y | int | |
gr | ||
clipWidth | int | |
return | void |
public GenerateChildren ( |
||
node | ||
caller | ||
obj | ICmObject | |
indent | int | |
insPos | int | |
path | ||
reuseMap | ||
fUsePersistentExpansion | bool | |
return | void |
public GetChooserHelpTopicID ( string ChooserDlgHelpTopicID ) : String | ||
ChooserDlgHelpTopicID | string | |
return | String |
public GetMessageTargets ( ) : IxCoreColleague[] | ||
return | IxCoreColleague[] |
public HandleCopyCommand ( Slice newSlice, string label ) : void | ||
newSlice | Slice | |
label | string | |
return | void |
public HandleDeleteCommand ( Command cmd ) : bool | ||
cmd | Command | |
return | bool |
public HandleDeleteReferenceCommand ( Command cmd ) : void | ||
cmd | Command | |
return | void |
public HandleInsertCommand ( string fieldName, string className ) : void | ||
fieldName | string | |
className | string | |
return | void |
public HandleInsertCommand ( string fieldName, string className, string ownerClassName, string recomputeVirtual ) : void | ||
fieldName | string | name of field to create in |
className | string | class of object to create |
ownerClassName | string | class of expected owner. If the current slice's object is not /// this class (or a subclass), look for a containing object that is. |
recomputeVirtual | string | if non-null, this is a virtual property that should be updated for all /// moved objects and their descendents of the specified class (string has form class.property) |
return | void |
public HandleMergeCommand ( bool fLoseNoTextData ) : void | ||
fLoseNoTextData | bool | |
return | void |
public Init ( Mediator mediator, XmlNode configurationParameters ) : void | ||
mediator | Mediator | |
configurationParameters | XmlNode | |
return | void |
protected IsVisibilityItemChecked ( string visibility ) : bool | ||
visibility | string | |
return | bool |
public OnDisplayShowFieldAlwaysVisible ( object commandObject, UIItemDisplayProperties &display ) : bool | ||
commandObject | object | |
display | UIItemDisplayProperties | |
return | bool |
public OnDisplayShowFieldIfData ( object commandObject, UIItemDisplayProperties &display ) : bool | ||
commandObject | object | |
display | UIItemDisplayProperties | |
return | bool |
public OnDisplayShowFieldNormallyHidden ( object commandObject, UIItemDisplayProperties &display ) : bool | ||
commandObject | object | |
display | UIItemDisplayProperties | |
return | bool |
protected OnLayout ( LayoutEventArgs levent ) : void | ||
levent | LayoutEventArgs | |
return | void |
public OnShowFieldAlwaysVisible ( object args ) : bool | ||
args | object | |
return | bool |
public OnShowFieldIfData ( object args ) : bool | ||
args | object | |
return | bool |
public OnShowFieldNormallyHidden ( object args ) : bool | ||
args | object | |
return | bool |
protected OnSizeChanged ( EventArgs e ) : void | ||
e | EventArgs | |
return | void |
public OnTreeNodeClick ( object sender, EventArgs args ) : void | ||
sender | object | |
args | EventArgs | |
return | void |
public OverrideBackColor ( String backColorName ) : void | ||
backColorName | String | Name of the back color. |
return | void |
protected ReplacePartWithNewAttribute ( string attr, string attrValueNew ) : void | ||
attr | string | |
attrValueNew | string | |
return | void |
public RetrieveContextMenuForHotlinks ( ) : ContextMenu | ||
return | ContextMenu |
protected SetFieldVisibility ( string visibility ) : void | ||
visibility | string | |
return | void |
protected SetWidthForDataTreeLayout ( int width ) : void | ||
width | int | |
return | void |
public ShowContextMenuIconInTreeNode ( ) : bool | ||
return | bool |
public TakeFocus ( bool fOkToFocusTreeNode ) : bool | ||
fOkToFocusTreeNode | bool | |
return | bool |
protected UpdateDisplayIfNeeded ( int hvo, int tag ) : bool | ||
hvo | int | |
tag | int | |
return | bool |
protected DataTree.TreeItemState m_expansion | ||
return | DataTree.TreeItemState |
protected IPersistenceProvider m_persistenceProvider | ||
return | IPersistenceProvider |