using System.Drawing;
namespace Dongke.IBOSS.Basics.FlowSetting
{
///
/// 线段
///
public class FlowLine : FlowItem
{
#region 成员变量
///
/// 起点坐标
///
private Point _pointBegin = Point.Empty;
///
/// 终点坐标
///
private Point _pointEnd = Point.Empty;
///
/// 线的颜色
///
private Color _lineColor = Consts.LINE_COLOR_DEFAULT;
///
/// 线宽
///
private int _lineWidth = Consts.LINE_WIDTH_DEFAULT;
///
/// 起始节点连接点
///
private AnchorKind _anchorBegin = AnchorKind.None;
///
/// 终止节点连接点
///
private AnchorKind _anchorEnd = AnchorKind.None;
///
/// 起始节点(不保存xml)
///
private FlowNode _nodeBegin = null;
///
/// 终止节点(不保存xml)
///
private FlowNode _nodeEnd = null;
///
/// 加载流程时使用,临时保存NodeCode,把line链接到node时利用。
///
internal string NodeCodeBegin = null;
///
/// 加载流程时使用,临时保存NodeCode,把line链接到node时利用。
///
internal string NodeCodeEnd = null;
#endregion 成员变量
#region 构造函数
///
/// 新线段
///
/// 流程项目管理
internal FlowLine(ItemManager manager)
: base(manager)
{
this.ShowName = false;
this.Name = "连线" + this.ItemID;
}
///
/// 导入的线段
///
/// 流程项目管理
/// 项目ID
/// 唯一编码
internal FlowLine(ItemManager manager, int itemID, string onlyCode)
: base(manager, itemID, onlyCode)
{
this.ShowName = false;
this.Name = "连线" + this.ItemID;
}
#endregion 构造函数
#region 属性
///
/// 起点坐标
///
public Point PointBegin
{
get
{
return this._pointBegin;
}
set
{
this._pointBegin = value;
}
}
///
/// 终点坐标
///
public Point PointEnd
{
get
{
return this._pointEnd;
}
set
{
this._pointEnd = value;
}
}
///
/// 线的颜色
///
public Color LineColor
{
get
{
return this._lineColor;
}
set
{
this._lineColor = value;
}
}
///
/// 线宽
///
public int LineWidth
{
get
{
return this._lineWidth;
}
set
{
this._lineWidth = value < 1 ? 1 : value;
}
}
///
/// 起始节点
///
public FlowNode NodeBegin
{
get
{
return this._nodeBegin;
}
internal set
{
this._nodeBegin = value;
}
}
///
/// 终止节点
///
public FlowNode NodeEnd
{
get
{
return this._nodeEnd;
}
internal set
{
this._nodeEnd = value;
}
}
///
/// 起始节点连接点
///
public AnchorKind AnchorBegin
{
get
{
return this._anchorBegin;
}
internal set
{
this._anchorBegin = value;
}
}
///
/// 终止节点连接点
///
public AnchorKind AnchorEnd
{
get
{
return this._anchorEnd;
}
internal set
{
this._anchorEnd = value;
}
}
#endregion 属性
#region 公有方法
///
/// 获取选择状态样式范围
///
/// 选择状态样式范围
public override Rectangle[] GetSelectedStyle()
{
int styleSize = Consts.SELECTEDSTYLE_WIDTH;
int styleSizeHalf = Consts.SELECTEDSTYLE_WIDTH_HALF;
Rectangle[] rects = new Rectangle[2];
rects[0] = new Rectangle(this.PointBegin.X - styleSizeHalf, this.PointBegin.Y - styleSizeHalf, styleSize, styleSize);
rects[1] = new Rectangle(this.PointEnd.X - styleSizeHalf, this.PointEnd.Y - styleSizeHalf, styleSize, styleSize);
return rects;
}
#endregion 公有方法
}
}