public void RemovePageFromBuilder() { Debug.Assert(inForm == true, "Page has not been added to builder"); page.SetPageSite(null); form = null; inForm = false; loaded = false; dirty = false; uiIndex = -1; }
/////////////////////////////////////////////////////////////////////////// // Methods public void AddPageToBuilder(StyleBuilderForm form) { Debug.Assert(inForm == false, "Page already added to builder"); if (page == null) { CreatePage(); } this.form = form; inForm = true; page.SetPageSite(this); }
protected int uiIndex; // the page's index within the form UI /////////////////////////////////////////////////////////////////////////// // Constructor public StyleBuilderPageSite(Type pageClass) { Debug.Assert(pageClass != null, "invalid page class passed to StyleBuilderPageSite"); this.pageClass = pageClass; page = null; form = null; inForm = false; loaded = false; dirty = false; uiIndex = -1; }
/////////////////////////////////////////////////////////////////////// // Constructor public StyleBuilderFormContainer(StyleBuilderForm form) { this.form = form; site = new StyleBuilderFormSite(this); componentCount = 0; }
/////////////////////////////////////////////////////////////////////////// // IStyleBuilder Implementation /// <include file='doc\StyleBuilder.uex' path='docs/doc[@for="StyleBuilder.InvokeBuilder"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> public virtual bool InvokeBuilder(IntPtr hwndParent, int dwFlags, int dwPages, string strCaption, string strDocUrl, Object[] pvarStyle) { Debug.WriteLineIf(StyleBuilderSwitch.TraceVerbose, "StyleBuilder::IStyleBuilder::InvokeBuilder called"); Debug.Assert((pvarStyle != null) && (pvarStyle.Length == 1) && !Convert.IsDBNull(pvarStyle[0]), "invalid Style passed to StyleBuilder"); if ((pvarStyle == null) || (pvarStyle.Length == 0) || Convert.IsDBNull(pvarStyle[0])) { throw new COMException("Invalid style argument", NativeMethods.E_INVALIDARG); } WaitCursor waitCursor = WaitCursor.CreateWaitCursor(); Type styleClass = null; object styleObject = null; int styleType = 0; StyleBuilderForm builderForm = null; bool result = false; waitCursor.BeginWaitCursor(); // retrieve the style object and its type styleClass = pvarStyle[0].GetType(); if (styleClass.Equals(typeof(string))) { styleType = StyleBuilderForm.STYLE_TYPE_STRING; styleObject = Convert.ToString(pvarStyle[0]); } else if (styleClass.Equals(typeof(object))) { styleObject = pvarStyle[0]; if (styleObject is IHTMLStyle) { styleType = StyleBuilderForm.STYLE_TYPE_INLINESTYLE; } else if (styleObject is IHTMLRuleStyle) { styleType = StyleBuilderForm.STYLE_TYPE_RULESTYLE; } else { styleObject = null; } } Debug.Assert(styleObject != null, "pvarStyle does not supported style type"); if (styleObject == null) { throw new COMException("Invalid style type", NativeMethods.E_INVALIDARG); } Debug.WriteLineIf(StyleBuilderSwitch.TraceVerbose, "InvokeBuilder: Initializing page list"); // initialize the page list try { if (dwPages == 0) { dwPages = StyleBuilderStdPage.sbpAllStdPages; } InitPages(dwPages); } catch (Exception e) { Debug.WriteLineIf(StyleBuilderSwitch.TraceVerbose, "Exception caught in InitPages:\n\t" + e.ToString()); throw e; } Debug.Assert(GetPageCount() > 0, "Invalid page list passed to StyleBuilder"); if (GetPageCount() <= 0) { throw new COMException("Invalid page selection", NativeMethods.E_INVALIDARG); } // instantiate the form builderForm = CreateStyleBuilderForm(); builderForm.Initialize(site, GetPages(), styleObject, styleType, strCaption, dwFlags & (StyleBuilderFlags.sbfDefaultCaption | StyleBuilderFlags.sbfContextCaption | StyleBuilderFlags.sbfCustomCaption), strDocUrl); Debug.WriteLineIf(StyleBuilderSwitch.TraceVerbose, "InvokeBuilder: Form initialized"); // now show the form dialogParent.SetParentHandle(hwndParent); try { result = false; Debug.WriteLineIf(StyleBuilderSwitch.TraceVerbose, "About to show dialog..."); if (builderForm.ShowDialog(dialogParent) == DialogResult.OK) { if (styleType == StyleBuilderForm.STYLE_TYPE_STRING) { // style was a string, put the resulting string back into the object styleObject = builderForm.GetStyleObject(); Debug.Assert(styleObject != null, "Invalid result style object returned"); pvarStyle[0] = Convert.ToString(styleObject); } result = true; } Debug.WriteLineIf(StyleBuilderSwitch.TraceVerbose, "StyleBuilder dialog closed"); } catch (Exception e) { Debug.WriteLineIf(StyleBuilderSwitch.TraceVerbose, e.ToString()); Debug.Fail(e.ToString()); } UpdatePageCache(); builderForm.Dispose(); builderForm = null; waitCursor.EndWaitCursor(); return(result); }