public bool Remove(IMenuElement obj) { return(Items.Remove(obj)); }
public void Insert(int index, IMenuElement view) { PlatformView.Items.Insert(index, (MenuFlyoutItemBase)view.ToPlatform(MauiContext !)); }
private void addControlNew(Property p, TabPage tp, string Caption) { IDataType dt = p.PropertyType.DataTypeDefinition.DataType; dt.DataEditor.Editor.ID = string.Format("prop_{0}", p.PropertyType.Alias); dt.Data.PropertyId = p.Id; // check for buttons IDataFieldWithButtons df1 = dt.DataEditor.Editor as IDataFieldWithButtons; if (df1 != null) { // df1.Alias = p.PropertyType.Alias; /* * // df1.Version = _content.Version; * editDataType.Data.PropertyId = p.Id; */ ((Control)df1).ID = p.PropertyType.Alias; if (df1.MenuIcons.Length > 0) { tp.Menu.InsertSplitter(); } // Add buttons int c = 0; bool atEditHtml = false; bool atSplitter = false; foreach (object o in df1.MenuIcons) { try { MenuIconI m = (MenuIconI)o; MenuIconI mi = tp.Menu.NewIcon(); mi.ImageURL = m.ImageURL; mi.OnClickCommand = m.OnClickCommand; mi.AltText = m.AltText; mi.ID = tp.ID + "_" + m.ID; if (m.ID == "html") { atEditHtml = true; } else { atEditHtml = false; } atSplitter = false; } catch { tp.Menu.InsertSplitter(); atSplitter = true; } // Testing custom styles in editor if (atSplitter && atEditHtml && dt.DataEditor.TreatAsRichTextEditor) { DropDownList ddl = tp.Menu.NewDropDownList(); ddl.Style.Add("margin-bottom", "5px"); ddl.Items.Add(ui.Text("buttons", "styleChoose", null)); ddl.ID = tp.ID + "_editorStyle"; if (StyleSheet.GetAll().Length > 0) { foreach (StyleSheet s in StyleSheet.GetAll()) { foreach (StylesheetProperty sp in s.Properties) { ddl.Items.Add(new ListItem(sp.Text, sp.Alias)); } } } ddl.Attributes.Add("onChange", "addStyle(this, '" + p.PropertyType.Alias + "');"); atEditHtml = false; } c++; } } // check for element additions IMenuElement menuElement = dt.DataEditor.Editor as IMenuElement; if (menuElement != null) { // add separator tp.Menu.InsertSplitter(); // add the element tp.Menu.NewElement(menuElement.ElementName, menuElement.ElementIdPreFix + p.Id.ToString(), menuElement.ElementClass, menuElement.ExtraMenuWidth); } // fieldData.Alias = p.PropertyType.Alias; // ((Control) fieldData).ID = p.PropertyType.Alias; // fieldData.Text = p.Value.ToString(); _dataFields.Add(dt.DataEditor.Editor); Pane pp = new Pane(); Control holder = new Control(); holder.Controls.Add(dt.DataEditor.Editor); if (p.PropertyType.DataTypeDefinition.DataType.DataEditor.ShowLabel) { string caption = p.PropertyType.Name; if (p.PropertyType.Description != null && p.PropertyType.Description != String.Empty) { switch (UmbracoSettings.PropertyContextHelpOption) { case "icon": caption += " <img src=\"" + this.ResolveUrl(SystemDirectories.Umbraco) + "/images/help.png\" class=\"umbPropertyContextHelp\" alt=\"" + p.PropertyType.Description + "\" title=\"" + p.PropertyType.Description + "\" />"; break; case "text": caption += "<br /><small>" + umbraco.library.ReplaceLineBreaks(p.PropertyType.Description) + "</small>"; break; } } pp.addProperty(caption, holder); } else { pp.addProperty(holder); } // Validation if (p.PropertyType.Mandatory) { try { RequiredFieldValidator rq = new RequiredFieldValidator(); rq.ControlToValidate = dt.DataEditor.Editor.ID; Control component = dt.DataEditor.Editor; // holder.FindControl(rq.ControlToValidate); ValidationPropertyAttribute attribute = (ValidationPropertyAttribute) TypeDescriptor.GetAttributes(component)[typeof(ValidationPropertyAttribute)]; PropertyDescriptor pd = null; if (attribute != null) { pd = TypeDescriptor.GetProperties(component, (Attribute[])null)[attribute.Name]; } if (pd != null) { rq.EnableClientScript = false; rq.Display = ValidatorDisplay.Dynamic; string[] errorVars = { p.PropertyType.Name, Caption }; rq.ErrorMessage = ui.Text("errorHandling", "errorMandatory", errorVars, null) + "<br/>"; holder.Controls.AddAt(0, rq); } } catch (Exception valE) { HttpContext.Current.Trace.Warn("contentControl", "EditorControl (" + dt.DataTypeName + ") does not support validation", valE); } } // RegExp Validation if (p.PropertyType.ValidationRegExp != "") { try { RegularExpressionValidator rv = new RegularExpressionValidator(); rv.ControlToValidate = dt.DataEditor.Editor.ID; Control component = dt.DataEditor.Editor; // holder.FindControl(rq.ControlToValidate); ValidationPropertyAttribute attribute = (ValidationPropertyAttribute) TypeDescriptor.GetAttributes(component)[typeof(ValidationPropertyAttribute)]; PropertyDescriptor pd = null; if (attribute != null) { pd = TypeDescriptor.GetProperties(component, (Attribute[])null)[attribute.Name]; } if (pd != null) { rv.ValidationExpression = p.PropertyType.ValidationRegExp; rv.EnableClientScript = false; rv.Display = ValidatorDisplay.Dynamic; string[] errorVars = { p.PropertyType.Name, Caption }; rv.ErrorMessage = ui.Text("errorHandling", "errorRegExp", errorVars, null) + "<br/>"; holder.Controls.AddAt(0, rv); } } catch (Exception valE) { HttpContext.Current.Trace.Warn("contentControl", "EditorControl (" + dt.DataTypeName + ") does not support validation", valE); } } // This is once again a nasty nasty hack to fix gui when rendering wysiwygeditor if (dt.DataEditor.TreatAsRichTextEditor) { tp.Controls.Add(dt.DataEditor.Editor); } else { Panel ph = new Panel(); ph.Attributes.Add("style", "padding: 0; position: relative;"); // NH 4.7.1, latest styles added to support CP item: 30363 ph.Controls.Add(pp); tp.Controls.Add(ph); } }
public void Insert(int index, IMenuElement view) { }
public void Add(IMenuElement view) { PlatformView.Items.Add((MenuFlyoutItemBase)view.ToPlatform(MauiContext !)); }
public void Add(IMenuElement view) { }
public void Remove(IMenuElement view) { }
public bool Contains(IMenuElement item) { return(_menus.Contains(item)); }
public int IndexOf(IMenuElement item) { return(_menus.IndexOf(item)); }
void NotifyHandler(string action, int index, IMenuElement view) { var args = new Maui.Handlers.MenuFlyoutSubItemHandlerUpdate(index, view); Handler?.Invoke(action, args); }
/// <summary> /// Inserts the item into the specified row and column of the panel. /// </summary> public void Insert(int row, int column, IMenuElement item) { Insert(row * columns + column, item); }
public void Insert(int index, IMenuElement view) { Rebuild(); }
public void Remove(IMenuElement view) { Rebuild(); }
public void Add(IMenuElement view) { Rebuild(); }