SpDevelop开发文档之"浮动面板"
<PadSet>
<Pad RegName="DbEntityPad" Visiable="true" Dock="right" Title="表/视图" FormClass="Sp.DbPlugin.DbEntityPad" />
</PadSet>
浮动面板配置节点的属性
1、 RegName:浮动面板的注册名称,其他的插件可以根据该注册名称来调用该浮动面板。
2、 Visiable:是否可见
3、 Dock:浮动方向,其值可以为right,left,bottom;
4、 Title:浮动面板的标题
5、 FormClass:浮动面板的实现类,该类必须从SpDevelop.PluginPad继承。
系统自带的几个特殊的浮动面板
1、 输出面板:SpDevelop.SpApi.Pads. OutputPad
/// <summary>
/// 输出信息的面板
/// </summary>
public interface IOutputPad
{
/// <summary>
/// 双击输出窗体
/// </summary>
event OutputDoubleClickHandler DoubleClick;
/// <summary>
/// 新开始一行显示信息
/// </summary>
/// <param name="msg">信息</param>
void Add(string msg);
/// <summary>
/// 新开始一行显示异常信息ex.Message
/// </summary>
/// <param name="ex">异常体</param>
void Add(Exception ex);
/// <summary>
/// 在最后一行显示信息
/// </summary>
/// <param name="msg"></param>
void Append(string msg);
/// <summary>
/// 在最后一行显示异常信息ex.Message
/// </summary>
/// <param name="ex">异常体</param>
void Append(Exception ex);
/// <summary>
/// 新开始一行显示信息
/// </summary>
/// <param name="msg"></param>
/// <param name="tag"></param>
void Add(string msg,object tag);
/// <summary>
/// 新开始一行显示信息,并设置字体色
/// </summary>
/// <param name="msg"></param>
/// <param name="tag"></param>
/// <param name="fontColor"></param>
void Add(string msg,object tag,Color fontColor);
/// <summary>
/// 清除所有信息
/// </summary>
void Clear();
}
2、 工具箱面板
/// <summary>
/// 工具箱浮动窗体接口
/// </summary>
public interface IToolBoxPad
{
/// <summary>
/// 工具箱容器
/// </summary>
ToolBox ToolBox
{
get;
set;
}
/// <summary>
/// 当前选中的项
/// </summary>
ToolBoxItem SelectedItem
{
get;
}
/// <summary>
/// 工具箱中的选项改变
/// </summary>
event ItemSelectionChangedHandler ItemSelectionChanged;
/// <summary>
/// 工具箱中的选项拖拉完成
/// </summary>
event DragDropFinishedHandler DragDropFinished;
/// <summary>
/// 添加工具箱选项卡
/// </summary>
/// <param name="caption">选项卡标题</param>
/// <param name="name">选项卡名称</param>
/// <param name="imgList">图标列表</param>
/// <returns>选项卡</returns>
ToolBoxTab AddToolBoxTab(string caption,string name,ImageList imgList);
/// <summary>
/// 获取工具箱选项卡
/// </summary>
/// <param name="name">选项卡名称</param>
/// <returns>如果存在则返回选项卡,否则返回null</returns>
ToolBoxTab GetToolBoxTab(string name);
/// <summary>
///
/// </summary>
/// <param name="tbcnf"></param>
void AddToolBoxFromConfig(ToolBoxConfig tbcnf);
/// <summary>
/// 启用或禁用所有选项卡
/// </summary>
/// <param name="enable">true:启用;false:禁用</param>
void EnableAllTab(bool enable);
/// <summary>
/// 启用或禁用指定名称的选项卡
/// </summary>
/// <param name="tabName">选项卡名称</param>
/// <param name="enable">true:启用;false:禁用</param>
void EnableTab(string tabName,bool enable);
/// <summary>
/// 显示指定名称的选项卡
/// </summary>
/// <param name="tabName">选项卡名称</param>
/// <param name="enable">true:显示;false:隐藏</param>
void ShowTab(string tabName,bool enable);
/// <summary>
/// 将选项卡的选项卡置为第一个选项
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void RaiseSelectItemReset(object sender,EventArgs e);
/// <summary>
/// 添加工具项选中事件
/// </summary>
/// <param name="handler"></param>
void AddItemSelectionChangedHandler(ItemSelectionChangedHandler handler);
/// <summary>
/// 清除工具项选中事件
/// </summary>
void ClearSelectionChangedHandler();
}
3、 属性面板
/// <summary>
/// 属性窗体
/// </summary>
public interface IPropertyPad
{
/// <summary>
/// 属性网格
/// </summary>
PropertyGridEx PGrid
{
get;
set;
}
#region ComboBox
/// <summary>
/// 添加下拉框的选项
/// </summary>
/// <param name="text"></param>
/// <param name="value"></param>
void AddComboBoxItem(string text,object value);
/// <summary>
/// 编辑值为value项的Text
/// </summary>
/// <param name="value"></param>
/// <param name="text"></param>
void EditComboBoxItem(object value,string text);
/// <summary>
/// 删除下拉框的选项
/// </summary>
/// <param name="value"></param>
void RemoveComboBoxItem(object value);
/// <summary>
/// 下拉框
/// </summary>
ComboBoxItem ComboBoxSelectedItem
{
get;
}
/// <summary>
/// 设置下拉框当前选中的项
/// </summary>
/// <param name="value">选中项</param>
/// <returns></returns>
ComboBoxItem SelectComboBoxItem(object value);
/// <summary>
/// 添加下拉框的事件
/// </summary>
/// <param name="handler"></param>
void AddComboBoxSelectedIndexChangedEvent(EventHandler handler);
/// <summary>
/// 清除下拉框的事件
/// </summary>
void ClearComboBoxSelectedIndexChangedEvent();
#endregion
/// <summary>
/// 清除
/// </summary>
void Clear();
}
4、 解决方案浮动面板
/// <summary>
/// 解决方案浮动面板
/// </summary>
public interface ISolutionPad
{
#region Propertys
/// <summary>
/// 解决方案的根节点
/// </summary>
FileNode SolutionNode{get;set;}
/// <summary>
/// 当前选中的文件节点
/// </summary>
FileNode SelectedNode{get;set;}
/// <summary>
/// 树型菜单的图片
/// </summary>
ImageList TreeImageList{get;}
#endregion
#region Get
/// <summary>
/// 根据Guid获取文件节点
/// </summary>
/// <param name="guid">节点Guid</param>
/// <returns>文件节点</returns>
FileNode GetTreeNode(string guid);
#endregion
#region Add
/// <summary>
/// 添加文件节点,该文件节点将递归到工程文件节点或解决方案文件节点并自动保存
/// </summary>
/// <param name="parentNode">父级文件节点</param>
/// <param name="node">待新增的文件节点</param>
/// <param name="bSaveSluPrj">其工程文件或者解决方案文件是否自动保存</param>
/// <returns>是否新增成功</returns>
bool AddTreeNode(FileNode parentNode,FileNode node,bool bSaveSluPrj);
#endregion
#region Remove
/// <summary>
/// 删除文件节点,该文件节点将递归到工程文件节点或解决方案文件节点并自动保存
/// </summary>
/// <param name="guid">文件节点Guid</param>
/// <returns>是否删除成功</returns>
bool RemoveTreeNode(string guid);
/// <summary>
/// 删除文件节点,该文件节点将递归到工程文件节点或解决方案文件节点并自动保存
/// </summary>
/// <param name="node">文件节点</param>
/// <returns>是否删除成功</returns>
bool RemoveTreeNode(FileNode node);
/// <summary>
/// 关闭/解决方案
/// </summary>
/// <returns></returns>
void CloseSoluction();
#endregion
/// <summary>
/// 判断节点是否能编辑
/// </summary>
/// <param name="fNodGuid">节点编号</param>
/// <param name="bAlterCheckOut">是否提示签出</param>
/// <param name="autoCheckOutParent">签出时自动将上级签出</param>
/// <returns>是否能编辑</returns>
bool CheckFileNodeCanEdit(string fNodGuid,bool bAlterCheckOut,bool autoCheckOutParent);
}