public void RefreshWebBrowser() { ///先将上次记录的窗口的事件注销 if (_currentDesignerForm != null) { _currentDesignerForm.SnipPageDesigner.PartsLayouted -= new EventHandler(SnipPageDesigner_PartsLayouted); _currentDesignerForm = null; } ///在活动窗口为页面片设计器时生效 if (Service.Workbench.ActiveWorkDocumentType == WorkDocumentType.SnipDesigner) { ShowDocumentText(); _currentDesignerForm.SnipPageDesigner.PartsLayouted += new EventHandler(SnipPageDesigner_PartsLayouted); } ///活动窗口不是页面片设计器则隐藏内容 else { if (_browser.IsHandleCreated && !_browser.IsDisposed) { _browser.DocumentText = ""; _browser.Visible = false; } } }
public void ShowDocumentText() { _currentDesignerForm = (MdiSnipDesignerForm)Service.Workbench.ActiveForm; ///若当前面板可见,则继续 if (this.Visible) { string html = _currentDesignerForm.SnipPageDesigner.ToHtmlPreview(); _browser.DocumentText = html; _browser.Visible = true; } else { _browser.DocumentText = ""; } }
void WorkbenchService_WorkDocumentNewOpened(object sender, EventArgs <FormData> e) { if (e.Item.WorkDocumentType == WorkDocumentType.SnipDesigner && e.Item.OwnerId == this.Id) { MdiSnipDesignerForm snipForm = e.Item.Form as MdiSnipDesignerForm; ///对新打开的页面片设计器窗体监听一些事件 if (!SnipDesignerForms.Contains(snipForm)) { snipForm.FormClosed += new FormClosedEventHandler(snipForm_FormClosed); snipForm.Saved += new EventHandler(snipForm_Saved); SnipDesignerForms.Add(snipForm); } } }
/// <summary> /// 初始化工具箱中的工具组与工具 /// </summary> /// <param name="isOnlyHasBase">是否仅载入基础的工具组</param> /// <param name="type">当前WorkDocument的类型</param> private void InitToolBox(bool isOnlyHasBase, WorkDocumentType type) { if (this.IsDisposed) { return; } _toolBox.Nodes.Clear(); //_toolBox.Nodes.Add(this.BuildBaseTreeNode());//"常规"工具组 if (isOnlyHasBase) { return;//仅载入基础的工具组 } switch (Service.Workbench.ActiveWorkDocumentType) { case WorkDocumentType.SnipDesigner: #region 创建页面片的基本工具组和扩展工具组 { MdiSnipDesignerForm form = WorkbenchForm.MainForm.ActiveView as MdiSnipDesignerForm; //增加基本的页面片工具箱中的工具 _toolBox.Nodes.Add(BuildSnipBaseTreeNode()); //根据定制特性增加扩展的页面片工具箱中的工具 TmpltXmlDocument tmpltDoc = form.SnipElement.OwnerAnyDocument as TmpltXmlDocument; if (form.SnipElement.SnipType != PageSnipType.Content) { return; } if (tmpltDoc.TmpltType != TmpltType.Home) { Type pageType = null; switch (tmpltDoc.TmpltType) { case TmpltType.General: pageType = typeof(GeneralPageXmlDocument); break; case TmpltType.Product: pageType = typeof(ProductXmlDocument); break; case TmpltType.Project: pageType = typeof(ProjectXmlDocument); break; case TmpltType.InviteBidding: pageType = typeof(InviteBiddingXmlDocument); break; case TmpltType.Knowledge: pageType = typeof(KnowledgeXmlDocument); break; case TmpltType.Hr: pageType = typeof(HrXmlDocument); break; default: Debug.Fail("TmpltType is Fail!!!!!!"); break; } ToolBox.VSTreeNode node = BuildSnipAttributeTreeNode(pageType.GetProperties(), pageType); _toolBox.Nodes.Add(node); } break; } #endregion case WorkDocumentType.TmpltDesigner: #region 创建模板下的工具集 { //MdiTmpltDesignForm form = WorkbenchForm.MainForm.ActiveView as MdiTmpltDesignForm; //_toolBox.Nodes.Add(BuildRectBaseTreeNode()); break; } #endregion default: break; } }
void SnipItem_DoubleClick(object sender, TreeNodeMouseClickEventArgs e) { MdiSnipDesignerForm _activeMdiForm = WorkbenchForm.MainForm.ActiveView as MdiSnipDesignerForm; switch (e.Node.Name) { case "_insertTextItem": if (_activeMdiForm != null) { _activeMdiForm.SnipPageDesigner.AddSnipPart(SnipPartType.Static); } break; case "_insertListItem": if (_activeMdiForm != null) { _activeMdiForm.SnipPageDesigner.AddSnipPart(SnipPartType.List); } break; case "_insertNavigationItem": if (_activeMdiForm != null) { // _activeMdiForm.SnipPageDesigner.AddSnipPart(SnipPartType.NavigationBox); } break; case "_insertBoxItem": if (_activeMdiForm != null) { _activeMdiForm.SnipPageDesigner.AddSnipPart(SnipPartType.Box); } break; case "_insertChannelItem": if (_activeMdiForm != null) { _activeMdiForm.SnipPageDesigner.AddSnipPart(SnipPartType.Navigation); } break; case "_insertPathItem": if (_activeMdiForm != null) { _activeMdiForm.SnipPageDesigner.AddSnipPart(SnipPartType.Path); } break; case "cssSetup": MdiTmpltDesignForm _tmpltForm = WorkbenchForm.MainForm.ActiveView as MdiTmpltDesignForm; if (_tmpltForm != null) { ((TmpltDrawPanel)_tmpltForm.TmpltDesign.DrawPanel).CurRectProperty_Click(null, EventArgs.Empty); } break; default: //TODO:需要修改,luakn,2008年2月20日13时44分 if (_activeMdiForm != null) { if (e.Node.Tag is SnipPartAttribute) //判断是否为Attribute型的Part { _activeMdiForm.SnipPageDesigner.AddSnipPart(SnipPartType.Attribute, (SnipPartAttribute)e.Node.Tag); } } break; } }
void SnipItem_MouseMove(object sender, MouseEventArgs e) { if (_snipItemIsMouseDown) { ///检查鼠标移动的位置有没有达到拖拽的最小值 int minDrawDropValue = 5; if ((Math.Abs(Control.MousePosition.X - _prevMouseLocation.X) > minDrawDropValue) || (Math.Abs(Control.MousePosition.Y - _prevMouseLocation.Y) > minDrawDropValue)) { TreeView _item = (TreeView)sender; MdiSnipDesignerForm _activeMdiForm = WorkbenchForm.MainForm.ActiveView as MdiSnipDesignerForm; SnipPagePart part = null; switch (_item.SelectedNode.Name) { case "_insertBoxItem": if (_activeMdiForm != null) { part = SnipPagePart.Create(_activeMdiForm.SnipPageDesigner, SnipPartType.Box); } break; case "_insertTextItem": if (_activeMdiForm != null) { part = SnipPagePart.Create(_activeMdiForm.SnipPageDesigner, SnipPartType.Static); } break; case "_insertListItem": if (_activeMdiForm != null) { part = SnipPagePart.Create(_activeMdiForm.SnipPageDesigner, SnipPartType.List); } break; case "_insertNavigationItem": if (_activeMdiForm != null) { //part = SnipPagePart.Create(_activeMdiForm.SnipPageDesigner, SnipPartType.NavigationBox); } break; case "_insertChannelItem": if (_activeMdiForm != null) { //part = SnipPagePart.Create(_activeMdiForm.SnipPageDesigner, SnipPartType.Navigation); } break; case "_insertPathItem": if (_activeMdiForm != null) { part = SnipPagePart.Create(_activeMdiForm.SnipPageDesigner, SnipPartType.Path); } break; default: break; } _snipItemIsMouseDown = false; if (part != null) { _activeMdiForm.SnipPageDesigner.StartPartDragDrop(part); _activeMdiForm.SnipPageDesigner.Capture = true; _activeMdiForm.Activate(); } } } }
Form OpenWorkDocument(WorkDocumentType type, string id, string ownerId) { Debug.Assert(!string.IsNullOrEmpty(id)); Form returnForm = null; switch (type) { case WorkDocumentType.TmpltDesigner: { MdiTmpltDesignForm form = new MdiTmpltDesignForm(id); form.Owner = WorkbenchForm.MainForm; form.Show(MainDockPanel, DockState.Document); returnForm = form; break; } case WorkDocumentType.HomePage: { MdiHomePageDesignForm form = new MdiHomePageDesignForm(id); form.Owner = WorkbenchForm.MainForm; form.Show(MainDockPanel, DockState.Document); returnForm = form; break; } case WorkDocumentType.HtmlDesigner: { MdiHtmlDesignForm form = new MdiHtmlDesignForm(id); form.Owner = WorkbenchForm.MainForm; form.Show(MainDockPanel, DockState.Document); returnForm = form; break; } case WorkDocumentType.SnipDesigner: { MdiSnipDesignerForm form = new MdiSnipDesignerForm(ownerId, id); form.Owner = WorkbenchForm.MainForm; form.Show(MainDockPanel, DockState.Document); returnForm = form; break; } case WorkDocumentType.WebBrowser: { returnForm = NavigationUrl(id); break; } //TODO:管理页面合一 Lisuye case WorkDocumentType.Manager: { MdiBaseListViewForm form = new MdiBaseListViewForm(id); form.Owner = WorkbenchForm.MainForm; form.Show(WorkbenchForm.MainForm.MainDockPanel, DockState.Document); returnForm = form; break; } case WorkDocumentType.Edit: { MdiBaseEditViewForm form = new MdiBaseEditViewForm(id); form.Owner = WorkbenchForm.MainForm; form.Show(WorkbenchForm.MainForm.MainDockPanel, DockState.Document); returnForm = form; break; } case WorkDocumentType.StartupPage: { MdiWelComePageForm form = new MdiWelComePageForm(); form.Show(MainDockPanel, DockState.Document); returnForm = form; break; } case WorkDocumentType.SiteProperty: { SitePropertyForm form = new SitePropertyForm(id); form.Show(MainDockPanel, DockState.Document); returnForm = form; break; } default: break; } return(returnForm); }