コード例 #1
0
        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;
                }
            }
        }
コード例 #2
0
        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 = "";
            }
        }
コード例 #3
0
        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);
                }
            }
        }
コード例 #4
0
        /// <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;
            }
        }
コード例 #5
0
        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;
            }
        }
コード例 #6
0
        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();
                    }
                }
            }
        }
コード例 #7
0
        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);
        }