using System;
namespace DevComponents.Tree
{
/// Specifies the way background image is displayed on background.
public enum eStyleBackgroundImage:int
{
/// Image is stretched to fill the background
Stretch=0,
/// Image is centered inside the background
Center=1,
/// Image is tiled inside the background
Tile=2,
///
/// Image is drawn in top left corner of container space.
///
TopLeft=3,
///
/// Image is drawn in top right corner of container space.
///
TopRight=4,
///
/// Image is drawn in bottom left corner of container space.
///
BottomLeft=5,
///
/// Image is drawn in bottom right corner of container space.
///
BottomRight=6
}
/// Indicates alignment of a part of the cell like image or check box in relation to the text.
public enum eCellPartAlignment:int
{
///
/// Part is aligned to the left center of the text assuming left-to-right
/// orientation.
///
NearCenter=0,
///
/// Part is aligned to the right center of the text assuming left-to-right
/// orientation.
///
FarCenter=1,
///
/// Part is aligned to the top left of the text assuming left-to-right
/// orientation.
///
NearTop=2,
/// Part is aligned above the text and centered.
CenterTop=3,
///
/// Part is aligned to the top right of the text assuming left-to-right
/// orientation.
///
FarTop=4,
///
/// Part is aligned to the bottom left of the text assuming left-to-right
/// orientation.
///
NearBottom=5,
/// Part is aligned below the text and centered.
CenterBottom=6,
///
/// Part is aligned to the bottom right of the text assuming left-to-right
/// orientation.
///
FarBottom=7
}
///
/// Specifies the alignment of a text string relative to its element's rectangle.
///
public enum eStyleTextAlignment
{
///
/// Specifies the text be aligned near from the origin position of the element's rectangle. In a left-to-right layout, the near position is left. In a right-to-left layout, the near position is right.
///
Near=System.Drawing.StringAlignment.Near,
///
/// Specifies that text is aligned in the center of the element's rectangle.
///
Center=System.Drawing.StringAlignment.Center,
///
/// Specifies that text is aligned far from the origin position of the element's rectangle. In a left-to-right layout, the far position is right. In a right-to-left layout, the far position is left.
///
Far=System.Drawing.StringAlignment.Far
}
///
/// Specifies how to trim characters from a text that does not completely fit into a element's shape.
///
public enum eStyleTextTrimming
{
///
/// Specifies that the text is trimmed to the nearest character.
///
Character=System.Drawing.StringTrimming.Character,
///
/// Specifies that the text is trimmed to the nearest character, and an ellipsis is inserted at the end of a trimmed line.
///
EllipsisCharacter=System.Drawing.StringTrimming.EllipsisCharacter,
///
/// The center is removed from trimmed lines and replaced by an ellipsis. The algorithm keeps as much of the last slash-delimited segment of the line as possible.
///
EllipsisPath=System.Drawing.StringTrimming.EllipsisPath,
///
/// Specifies that text is trimmed to the nearest word, and an ellipsis is inserted at the end of a trimmed line.
///
EllipsisWord=System.Drawing.StringTrimming.EllipsisWord,
///
/// Specifies no trimming.
///
None=System.Drawing.StringTrimming.None,
///
/// Specifies that text is trimmed to the nearest word.
///
Word=System.Drawing.StringTrimming.Word
}
///
/// Specifies the border type for style element.
///
public enum eStyleBorderType:int
{
/// Indicates no border
None,
/// Border is a solid line
Solid,
/// Border is a solid dash line
Dash,
/// Border is solid dash-dot line
DashDot,
/// Border is solid dash-dot-dot line
DashDotDot,
/// Border consists of dots
Dot,
/// Etched Border
Etched,
/// Double Border
Double
}
///
/// Indicates absolute vertical alignment of the content.
///
internal enum eVerticalAlign
{
///
/// Content is aligned to the top
///
Top,
///
/// Content is aligned in the middle
///
Middle,
///
/// Content is aligned at the bottom
///
Bottom
}
///
/// Indicates absolute horizontal alignment
///
internal enum eHorizontalAlign
{
///
/// Content is left aligned
///
Left,
///
/// Content is centered
///
Center,
///
/// Content is right aligned
///
Right
}
///
/// Indicates prefered node layout position on Map tree layout when node is the child node of the top-level root node.
///
public enum eMapPosition
{
///
/// Node is positioned based on default algorithm.
///
Default,
///
/// Sub-root node and all nodes after it are positioned to the left of the root.
///
Near,
///
/// Sub-root node and all nodes before it are positioned to the right of the root.
///
Far
}
///
/// Indicates corner type for the border around visual element.
///
public enum eCornerType
{
///
/// Specifies that corner type is inherited from parent setting.
///
Inherit,
///
/// Specifies square corner.
///
Square,
///
/// Specifies rounded corner.
///
Rounded,
///
/// Specifies diagonal corner.
///
Diagonal
}
///
/// Specifies the column header visibility for the node.
///
public enum eNodeHeaderVisibility
{
///
/// Column header is automatically shown/hidden based on the node's position in the tree. When
/// Node is first child node i.e. with index=0 the header will be shown, otherwise header will
/// be hidden.
///
Automatic,
///
/// Column header is always displayed regardless of node's position.
///
AlwaysShow,
///
/// Column header is always hidden regardless of node's position.
///
AlwaysHide
}
///
/// Indicates the part of the node.
///
internal enum eNodeRectanglePart
{
///
/// Bounds of complete node content except expand button. This also includes the child node bounds if node is expanded.
///
NodeContentBounds,
///
/// Bounds of the expand button which collapses/expands the node.
///
ExpandBounds,
///
/// Bounds of all child nodes of give node.
///
ChildNodeBounds,
///
/// Bounds for cells inside a node.
///
CellsBounds,
///
/// Complete node bounds including expand button.
///
NodeBounds,
///
/// Bounds of the command button.
///
CommandBounds
}
///
/// Indicates the part of the cell.
///
internal enum eCellRectanglePart
{
///
/// Bounds of check box or Rectangle.Empty if there is no check-box.
///
CheckBoxBounds,
///
/// Bounds of image inside the cell or Rectangle.Empty if there is no image.
///
ImageBounds,
///
/// Text bounds inside of cell.
///
TextBounds,
///
/// Cell bounds
///
CellBounds
}
///
/// Indicates part of the node mouse is placed over.
///
internal enum eMouseOverNodePart
{
///
/// Mouse is not over any node part.
///
None,
///
/// Mouse is placed over the node.
///
Node,
///
/// Mouse is placed over node expand button.
///
Expand,
///
/// Mouse is placed over the cell.
///
Cell,
///
/// Mouse is placed over the command button.
///
Command
}
///
/// Indicates white-space part of the style.
///
[Flags()]
public enum eSpacePart
{
///
/// Represents style padding.
///
Padding=1,
///
/// Represents style border.
///
Border=2,
///
/// Represents style margin.
///
Margin=4
}
///
/// Indicates the style side.
///
public enum eStyleSide
{
///
/// Specifies left side of the style.
///
Left,
///
/// Specifies right side of the style.
///
Right,
///
/// Specifies top side of the style.
///
Top,
///
/// Specifies bottom side of the style.
///
Bottom
}
///
/// Indicates the visibility of node expand part which allows user to expand/collaps node.
///
public enum eNodeExpandVisibility
{
///
/// Default setting which indicates that when node has child nodes expand part is visible otherwise it is hidden.
///
Auto,
///
/// Expand part is always visible regardless of whether child nodes are present or not.
///
Visible,
///
/// Expand part is always hidden regardless of whether child nodes are present or not.
///
Hidden
}
///
/// Specifies the action that raised a TreeGXEventArgs event
///
public enum eTreeAction
{
///
/// The event was caused by a keystroke.
///
Keyboard,
///
/// The event was caused by a mouse operation.
///
Mouse,
///
/// The event was caused by the Node collapsing.
///
Collapse,
///
/// The event was caused by the Node expanding.
///
Expand,
///
/// The event is caused programmatically from user code.
///
Code
}
///
/// Specifies node connector type. Node connector is the type of the line/connection that is drawn to connect child node to it's parent node.
///
public enum eNodeConnectorType
{
///
/// Curved line connector type.
///
Curve,
///
/// Straight line connector type.
///
Line
}
///
/// Specifies the cap style with which the connector line will start or end.
///
public enum eConnectorCap
{
///
/// Specifies no cap.
///
None,
///
/// Round cap type.
///
Ellipse,
///
/// Arrow cap type.
///
Arrow
}
///
/// Specifies the layout type used to position the cells within the nodes.
///
public enum eCellLayout
{
///
/// Specifies that default setting is to be used for cell layout. Default is Horizontal. When set to default on the Node, setting from Tree control is used.
///
Default,
/// Horizontal layout positions the cells horizontally next to each other.
Horizontal,
///
/// Vertical layout positions cell vertically on top of each other.
///
Vertical
}
///
/// Specifies the layout type used to position the parts of the cell like image, checkbox and text.
///
public enum eCellPartLayout
{
///
/// Specifies that default setting is to be used for cell parts layout. Default is Horizontal. When set to default on the Cell, setting from Tree control is used.
///
Default,
/// Horizontal layout positions the parts of the cell horizontally next to each other.
Horizontal,
///
/// Vertical layout positions parts of the cell vertically on top of each other.
///
Vertical
}
///
/// Specifies the color scheme loaded by ColorScheme object.
///
public enum eColorSchemeStyle
{
///
/// Indicates Office 2003 like color scheme.
///
Office2003,
///
/// Indicates Office XP like color scheme.
///
OfficeXP,
///
/// Indicates VS.NET 2005 like color scheme.
///
VS2005
}
///
/// Specifies the currently selected system color scheme if running on Windows XP.
///
internal enum eWinXPColorScheme
{
///
/// Color scheme cannot be determined.
///
Undetermined,
///
/// Blue color scheme.
///
Blue,
///
/// Olive green color scheme.
///
OliveGreen,
///
/// Silver color scheme.
///
Silver
}
///
/// Specifies the flow of diagram layout related to the root node.
///
public enum eDiagramFlow
{
///
/// Nodes are positioned from left to right with root node being the left-most node.
///
LeftToRight,
///
/// Nodes are positioned from right to left with root node being the right-most
/// node.
///
RightToLeft,
///
/// Nodes are positioned from top to bottom with root node being the top node.
///
TopToBottom,
///
/// Nodes are positioned from bottom to top with root node being bottom node.
///
BottomToTop
}
///
/// Specifies the flow of the map layout.
///
public enum eMapFlow
{
///
/// Nodes are arranged around the root node.
///
Spread,
///
/// Nodes are arranged from below the root node.
///
TopToBottom,
///
/// Nodes are arranged above the root node.
///
BottomToTop,
///
/// Nodes are arranged to the right of the root node.
///
LeftToRight,
///
/// Nodes are arranged to the left of the root node.
///
RightToLeft
}
///
/// Specifies the type of the expand button.
///
public enum eExpandButtonType
{
///
/// Indicates elliptical expand button.
///
Ellipse,
///
/// Indicates rectangular expand button.
///
Rectangle,
///
/// Indicates that images are used for expand button. See
///
Image
}
///
/// Specifies the visual style for the tree control.
///
public enum eVisualStyle
{
///
/// Indicates default visual style.
///
Default
}
///
/// Specifies the layout type for the nodes.
///
public enum eNodeLayout
{
///
/// Nodes are arranged arround root node in map format.
///
Map,
///
/// Nodes are arranged from left-to-right in diagram format.
///
Diagram
}
///
/// Specifies renderer type used to render nodes.
///
public enum eNodeRenderMode
{
///
/// Specifies default renderer which allows most customization through TreeGX
/// properties. Default renderer integrates with the Style architecture to provide
/// customization on renderer behavior.
///
Default,
///
/// Specifies professional renderer. Professional renderer is custom renderer
/// which does not rely on Style architecture for customization of renderer appearance
/// since it provides much richer appearance than Default renderer.
/// Professional renderer colors can be controls through
/// NodeProfessionalColorTable object which is exposed by
/// NodeProfessionalRenderer.ColorTable property.
///
Professional,
///
/// Specifies that custom renderer is used. When set you must also set NodeRenderer
/// to renderer you want to use.
///
Custom
}
}