internal StylesEditorDialog(StyleSheet stylesheet, StyleSheetDesigner styleSheetDesigner, string initialStyleName) { if (Utils.GetDuplicateStyles(stylesheet).Count > 0) { MessageBox.Show(MobileResource.GetString("StylesEditorDialog_DuplicateStyleNames"), MobileResource.GetString("StylesEditorDialog_Title")); throw new ArgumentException(MobileResource.GetString("StylesEditorDialog_DuplicateStyleException")); } this._tempStyleSheet = new StyleSheet(); this._previewStyle = new Style(); this._styleSheet = stylesheet; this._styleSheetDesigner = styleSheetDesigner; this._tempStyleSheet.Site = this._styleSheet.Site; this.InitializeComponent(); this.InitAvailableStyles(); this.LoadStyleItems(); if (this._tvDefinedStyles.Nodes.Count > 0) { int num = 0; if (initialStyleName != null) { num = this.StyleIndex(initialStyleName); } this.SelectedStyle = (StyleNode) this._tvDefinedStyles.Nodes[num]; this._tvDefinedStyles.Enabled = true; this.UpdateTypeText(); this.UpdatePropertyGrid(); } this.UpdateButtonsEnabling(); this.UpdateFieldsEnabling(); }
/// <summary> /// </summary> protected virtual Object [] GetChoices(Object instance) { bool defaultAdded = false; DeviceSpecific deviceSpecific; if (instance is System.Web.UI.MobileControls.StyleSheet) { StyleSheet ss = (StyleSheet)instance; ISite componentSite = ss.Site; Debug.Assert(componentSite != null, "Expected the component to be sited."); IDesignerHost designerHost = (IDesignerHost)componentSite.GetService(typeof(IDesignerHost)); Debug.Assert(designerHost != null, "Expected a designer host."); Object designer = designerHost.GetDesigner(ss); Debug.Assert(designer != null, "Expected a designer for the stylesheet."); Debug.Assert(designer is StyleSheetDesigner, "Expected a StyleSheet designer."); StyleSheetDesigner ssd = (StyleSheetDesigner)designer; Style style = (Style)ssd.CurrentStyle; if (null != style) { deviceSpecific = style.DeviceSpecific; } else { deviceSpecific = null; } } else if (instance is System.Web.UI.MobileControls.DeviceSpecific) { deviceSpecific = (DeviceSpecific)instance; } else if (instance is MobileControl) { MobileControl mc = (MobileControl)instance; deviceSpecific = mc.DeviceSpecific; } else { // Simply return null if the instance is not recognizable. return(null); } ArrayList returnArray = new ArrayList(); // entry that corresponds to null CurrentChoice. returnArray.Add(SR.GetString(SR.DeviceFilter_NoChoice)); if (null == deviceSpecific) { return(returnArray.ToArray()); } Debug.Assert(deviceSpecific.Choices != null); foreach (DeviceSpecificChoice choice in deviceSpecific.Choices) { // Choice must have a Name if (choice.Filter != null && choice.Filter.Length == 0) { if (!defaultAdded) { returnArray.Add(SR.GetString(SR.DeviceFilter_DefaultChoice)); defaultAdded = true; } } else { if (!choice.Filter.Equals(SR.GetString(SR.DeviceFilter_NoChoice))) { returnArray.Add(DesignerUtility.ChoiceToUniqueIdentifier(choice)); } } } returnArray.Sort(); return(returnArray.ToArray()); }