예제 #1
0
 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();
 }
예제 #2
0
        /// <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());
        }