示例#1
0
 public EditorTable(HtmlEditor editor, EditorSelection selection)
 {
     this._editor = editor;
     this._selection = selection;
     if (!IsTableSelection(selection))
     {
         throw new ArgumentException();
     }
     ICollection items = selection.Items;
     if (items.Count == 1)
     {
         IEnumerator enumerator = items.GetEnumerator();
         enumerator.MoveNext();
         for (Interop.IHTMLElement element = (Interop.IHTMLElement) enumerator.Current; element != null; element = element.GetParentElement())
         {
             if (string.Compare(element.GetTagName(), "td", true) == 0)
             {
                 this._element = element;
                 this._table = element.GetParentElement().GetParentElement().GetParentElement() as Interop.IHTMLTable;
                 return;
             }
             if (string.Compare(element.GetTagName(), "tr", true) == 0)
             {
                 this._element = element;
                 this._table = element.GetParentElement().GetParentElement() as Interop.IHTMLTable;
                 return;
             }
             if (string.Compare(element.GetTagName(), "tbody", true) == 0)
             {
                 this._element = element;
                 this._table = element.GetParentElement() as Interop.IHTMLTable;
                 return;
             }
             if (string.Compare(element.GetTagName(), "table", true) == 0)
             {
                 this._element = element;
                 this._table = element as Interop.IHTMLTable;
                 return;
             }
         }
     }
 }
 internal ParameterElementsCollection(Interop.IHTMLObjectElement s) : base()
 {
     objectElement = (Interop.IHTMLElement)s;
 }
示例#3
0
 internal InsertedElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#4
0
 private void RefreshPeer(Interop.IHTMLElement peer)
 {
     _styleselectorcollection = new StyleRuleCollection(peer);
     _styleselectorcollection.OnInsertHandler += new CollectionInsertHandler(_styleselectorcollection_OnInsertHandler);
     _styleselectorcollection.OnClearHandler  += new CollectionClearHandler(_styleselectorcollection_OnClearHandler);
 }
示例#5
0
 internal ListItemElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#6
0
 internal AddressElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#7
0
 internal TableFootElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#8
0
 private void OnDocumentContextChanged()
 {
     Interop.IHTMLElement parentElement = this._element.GetParentElement();
     if (this._parent == null)
     {
         if ((parentElement != null) && (this._control == null))
         {
             this.CreateControlAndDesigner();
             this.CreateControlView();
             if (this._eventSink == null)
             {
                 this._eventSink = new EventSink(this);
             }
             this.SetControlParent(parentElement);
             this.ConnectToControlAndDesigner();
         }
     }
     else if (parentElement == null)
     {
         if (this._eventSink != null)
         {
             this._eventSink.Disconnect();
             this._eventSink = null;
         }
         if (!this._dragged)
         {
             this._designerHost.Container.Remove(this._control);
             if (this._control.Parent != null)
             {
                 this._control.Parent.Controls.Remove(this._control);
             }
         }
         this._control = null;
         this._designer = null;
         this._viewElement = null;
         this._parent = null;
     }
     else if (this._control == null)
     {
         this.CreateControlAndDesigner();
         this.CreateControlView();
         this.SetControlParent(parentElement);
         this.ConnectToControlAndDesigner();
     }
     else
     {
         this.SetControlParent(parentElement);
     }
 }
 internal InputCheckboxElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#10
0
 internal SimpleInlineElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#11
0
 public void ScrollRectIntoView(IElement element, Interop.RECT rect)
 {
     Interop.IHTMLElement pIElement = element.GetBaseElement();
     ds.ScrollRectIntoView(pIElement, rect);
 }
示例#12
0
 public Interop.POINT TransformPoint(Interop.POINT pPoint, Interop.COORD_SYSTEM eSource, Interop.COORD_SYSTEM eDestination, IElement element)
 {
     Interop.IHTMLElement pIElement = element.GetBaseElement();
     ds.TransformPoint(ref pPoint, eSource, eDestination, pIElement);
     return(pPoint);
 }
示例#13
0
 public Interop.RECT TransformRect(Interop.RECT pRect, Interop.COORD_SYSTEM eSource, Interop.COORD_SYSTEM eDestination, IElement element)
 {
     Interop.IHTMLElement pIElement = ((IElement)element).GetBaseElement();
     ds.TransformRect(ref pRect, eSource, eDestination, pIElement);
     return(pRect);
 }
示例#14
0
 internal UnorderedListElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#15
0
 internal CanvasElement(Interop.IHTMLElement peer, HtmlEditor editor)
     : base(peer, editor)
 {
 }
示例#16
0
 private void OnBehaviorDetach()
 {
     if (this._designer != null)
     {
         this._designer.Behavior = null;
         this._designer = null;
     }
     if (this._eventSink != null)
     {
         this._eventSink.Disconnect();
         this._eventSink = null;
     }
     this._element = null;
     this._viewElement = null;
     this._paintSite = null;
     this._behaviorSite = null;
     this._editor = null;
 }
示例#17
0
 internal UnderlineElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#18
0
 public void Connect(Interop.IHTMLElement element)
 {
     this._designer = (ControlDesigner) this._behavior.Designer;
     try
     {
         this._element = element;
         this._eventSinkCookie = new Interop.ConnectionPointCookie(this._element, this, typeof(Interop.IHTMLElementEvents));
     }
     catch (Exception)
     {
     }
 }
示例#19
0
 public static void PersistControl(Interop.IHTMLElement element, Control control)
 {
     EmbeddedSerializer.SerializeControl(control, element);
 }
示例#20
0
 internal Html5Base(Interop.IHTMLElement peer, HtmlEditor editor)
     : base(peer, editor)
 {
 }
示例#21
0
 public static void PersistControl(Interop.IHTMLElement element, Control control, IDesignerHost host)
 {
     EmbeddedSerializer.SerializeControl(control, host, element);
 }
示例#22
0
 internal InputTextElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#23
0
 public static void PersistInnerProperties(Interop.IHTMLElement element, object component, IDesignerHost host)
 {
     EmbeddedSerializer.SerializeInnerProperties(component, host, element);
 }
示例#24
0
 internal ObjectElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#25
0
 public static void PersistTemplate(Interop.IHTMLElement element, ITemplate template, IDesignerHost host)
 {
     EmbeddedSerializer.SerializeTemplate(template, element, host);
 }
示例#26
0
 internal StyleElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
     RefreshPeer(peer);
 }
示例#27
0
文件: Element.cs 项目: ikvm/webmatrix
 internal Element(Interop.IHTMLElement peer)
 {
     this._peer = peer;
 }
示例#28
0
 internal TextAreaElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#29
0
 internal AsideElement(Interop.IHTMLElement peer, HtmlEditor editor)
     : base(peer, editor)
 {
 }
示例#30
0
 internal ShapeElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#31
0
 public Element GetParent()
 {
     Interop.IHTMLElement parent = (Interop.IHTMLElement)_peer.GetParentElement();
     return(Element.GetWrapperFor(parent, _owner));
 }
示例#32
0
 private void CreateControlView()
 {
     if ((this._designer == null) || this._designer.ReadOnly)
     {
         Interop.IHTMLDocument2 document = (Interop.IHTMLDocument2) this._element.GetDocument();
         Interop.IHTMLElementDefaults defaults = ((Interop.IElementBehaviorSiteOM2) this._behaviorSite).GetDefaults();
         Interop.IHTMLElement element = document.CreateElement("HTML");
         Interop.IHTMLElement insertedElement = document.CreateElement("HEAD");
         Interop.IHTMLElement element3 = document.CreateElement("BODY");
         Interop.IHTMLElement element4 = document.CreateElement("SPAN");
         ((Interop.IHTMLElement2) element).InsertAdjacentElement("beforeBegin", insertedElement);
         ((Interop.IHTMLElement2) element).InsertAdjacentElement("afterBegin", element3);
         ((Interop.IHTMLElement2) element3).InsertAdjacentElement("afterBegin", element4);
         this._viewElement = element4;
         Interop.IHTMLDocument viewLink = (Interop.IHTMLDocument) element.GetDocument();
         defaults.SetViewLink(viewLink);
         defaults.SetFrozen(true);
         try
         {
             Interop.IHTMLDocument2 document3 = (Interop.IHTMLDocument2) viewLink;
             int length = 0;
             Interop.IHTMLStyleSheetsCollection styleSheets = document.GetStyleSheets();
             if (styleSheets != null)
             {
                 length = styleSheets.GetLength();
             }
             for (int i = 0; i < length; i++)
             {
                 object pvarIndex = i;
                 Interop.IHTMLStyleSheet sheet = (Interop.IHTMLStyleSheet) styleSheets.Item(ref pvarIndex);
                 if (sheet != null)
                 {
                     int num3 = 0;
                     Interop.IHTMLStyleSheetRulesCollection rules = sheet.GetRules();
                     if (rules != null)
                     {
                         num3 = rules.GetLength();
                     }
                     if (num3 != 0)
                     {
                         Interop.IHTMLStyleSheet sheet2 = document3.CreateStyleSheet(string.Empty, 0);
                         for (int j = 0; j < num3; j++)
                         {
                             Interop.IHTMLStyleSheetRule rule = rules.Item(j);
                             if (rule != null)
                             {
                                 string selectorText = rule.GetSelectorText();
                                 string cssText = rule.GetStyle().GetCssText();
                                 sheet2.AddRule(selectorText, cssText, j);
                             }
                         }
                     }
                 }
             }
         }
         catch (Exception)
         {
         }
     }
     else
     {
         this._viewElement = this._element;
     }
 }
示例#33
0
 internal Element(Interop.IHTMLElement peer)
 {
     Debug.Assert(peer != null);
     _peer = peer;
 }
示例#34
0
 private void OnBehaviorInit(Interop.IElementBehaviorSite behaviorSite)
 {
     this._behaviorSite = behaviorSite;
     this._paintSite = (Interop.IHTMLPaintSite) this._behaviorSite;
     this._element = this._behaviorSite.GetElement();
     behaviorSite.RegisterNotification(0);
     behaviorSite.RegisterNotification(3);
     behaviorSite.RegisterNotification(4);
     this._eventSink = new EventSink(this);
 }
示例#35
0
 internal FormulasElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }
示例#36
0
 private void SetControlParent(Interop.IHTMLElement newParent)
 {
     try
     {
         this._parent = newParent;
         Interop.IHTMLElement parentElement = newParent;
         System.Web.UI.Control defaultControlParent = null;
         while ((defaultControlParent == null) && (parentElement != null))
         {
             object[] pvars = new object[1];
             parentElement.GetAttribute("runat", 0, pvars);
             string strB = pvars[0] as string;
             if (string.Compare("server", strB, true) == 0)
             {
                 parentElement.GetAttribute("id", 0, pvars);
                 string str2 = pvars[0] as string;
                 defaultControlParent = this._designerHost.Container.Components[str2] as System.Web.UI.Control;
             }
             parentElement = parentElement.GetParentElement();
         }
         if (defaultControlParent == null)
         {
             defaultControlParent = this._editor.DefaultControlParent;
         }
         if (defaultControlParent == null)
         {
             defaultControlParent = (System.Web.UI.Control) this._designerHost.RootComponent;
         }
         if (this._control.Parent != defaultControlParent)
         {
             defaultControlParent.Controls.Add(this._control);
             if (this._designer != null)
             {
                 this._designer.OnSetParent();
                 if (!this._designer.ReadOnly)
                 {
                     this._control.Controls.Clear();
                     this.SetContainedControlsParent(this._element);
                 }
             }
         }
     }
     catch
     {
     }
 }
示例#37
0
 internal FigCaptionElement(Interop.IHTMLElement peer, HtmlEditor editor)
     : base(peer, editor)
 {
 }
示例#38
0
 public void Disconnect()
 {
     if (this._eventSinkCookie != null)
     {
         this._eventSinkCookie.Disconnect();
         this._eventSinkCookie = null;
     }
     this._element = null;
     this._designer = null;
     this._behavior = null;
 }
示例#39
0
 internal ParagraphElement(Interop.IHTMLElement peer, IHtmlEditor editor) : base(peer, editor)
 {
 }