Exemple #1
0
        private void ParentContainerInvalid()
        {
            // MessageBox.Show("ParentContainerInvalid call");
            if (null != _parentContainer && _ds == _parentContainer.DeviceSpecific)
            {
                _parentContainer.DeviceSpecific = null;

                // container's enabled deviceSpecific control is deleted.
                // another disabled deviceSpecific child may need to be enabled.
                foreach (System.Web.UI.Control control in _parentContainer.Controls)
                {
                    if (control is DeviceSpecific && control != _ds)
                    {
                        // found a valid candidate
                        DeviceSpecific newDS = (DeviceSpecific)control;
                        if (newDS.Site != null)
                        {
                            IDesignerHost host = (IDesignerHost)newDS.Site.GetService(typeof(IDesignerHost));
                            Debug.Assert(host != null, "host is null in DeviceSpecificDesigner");
                            IDesigner designer = host.GetDesigner((IComponent)newDS);

                            // this designer could be null if the page is disposing the controls (Page.Dispose).
                            if (designer != null)
                            {
                                _parentContainer.DeviceSpecific = newDS;
                                DeviceSpecificDesigner dsd = (DeviceSpecificDesigner)designer;
                                dsd.TreatAsDuplicate(false);
                                break;
                            }
                        }
                    }
                }
            }
        }
        protected void SaveChoices(
            IDeviceSpecificDesigner designer,
            String deviceSpecificID,
            ICollection choices
            )
        {
            DeviceSpecific deviceSpecific;

            if (!designer.GetDeviceSpecific(deviceSpecificID, out deviceSpecific))
            {
                return;
            }

            if (choices.Count == 0)
            {
                designer.SetDeviceSpecific(deviceSpecificID, null);
                return;
            }

            if (deviceSpecific == null)
            {
                deviceSpecific = new DeviceSpecific();
            }
            else
            {
                deviceSpecific.Choices.Clear();
            }
            foreach (ChoiceTreeNode node in choices)
            {
                node.CommitChanges();
                DeviceSpecificChoice choice = node.Choice.RuntimeChoice;
                deviceSpecific.Choices.Add(choice);
            }
            designer.SetDeviceSpecific(deviceSpecificID, deviceSpecific);
        }
Exemple #3
0
 void IRefreshableDeviceSpecificEditor.Refresh(String deviceSpecificID, DeviceSpecific ds)
 {
     _ds = ds;
     FillChoicesComboBox();
     FillSchemasComboBox();
     SetSchemaValue();
     UpdateControlEnabling();
 }
Exemple #4
0
        public override void Initialize(IComponent component)
        {
            Debug.Assert(component is System.Web.UI.MobileControls.DeviceSpecific,
                         "DeviceSpecificControlDesigner.Initialize - Invalid DeviceSpecific Control");

            _ds = (System.Web.UI.MobileControls.DeviceSpecific)component;
            base.Initialize(component);

            _isDuplicate = false;
        }
        private void LoadChoices(DeviceSpecific deviceSpecific)
        {
            _appliedFiltersList.TvList.Nodes.Clear();

            if (deviceSpecific != null)
            {
                foreach (DeviceSpecificChoice runtimeChoice in deviceSpecific.Choices)
                {
                    LoadChoice(runtimeChoice);
                }
            }
            EnsureDefaultFilterAvailableXorApplied();
        }
 void IRefreshableDeviceSpecificEditor.Refresh(
     String deviceSpecificID,
     DeviceSpecific deviceSpecific
     )
 {
     if (_currentDeviceSpecificID != null)
     {
         CacheCurrentState();
     }
     if (!RestoreState(deviceSpecificID))
     {
         // If we could not restore the state, we have not edited
         // this DeviceSpecific yet and need to load choices.
         LoadChoices(deviceSpecific);
     }
     UpdateUI();
 }
Exemple #7
0
        bool IDeviceSpecificDesigner.GetDeviceSpecific(String deviceSpecificParentID, out DeviceSpecific ds)
        {
            Debug.Assert(deviceSpecificParentID == _currentDeviceSpecificID);

            ds = null;
            if (_cbChoices.Items.Count > 0)
            {
                ds = new DeviceSpecific();
                foreach (ChoiceTreeNode choiceNode in _cbChoices.Items)
                {
                    DeviceSpecificChoice choice = choiceNode.Choice.RuntimeChoice;
                    ds.Choices.Add(choice);
                }
            }

            return(true);
        }
Exemple #8
0
 private void LoadChoices(DeviceSpecific deviceSpecific)
 {
     if (deviceSpecific != null)
     {
         foreach (DeviceSpecificChoice runtimeChoice in deviceSpecific.Choices)
         {
             debug_CheckChoicesForDuplicate(runtimeChoice);
             ChoiceTreeNode newChoiceNode = new ChoiceTreeNode(
                 null,
                 runtimeChoice,
                 _designer
                 );
             newChoiceNode.IncludeArgument = true;
             _cbChoices.Items.Add(newChoiceNode);
         }
     }
     UpdateUI();
 }
Exemple #9
0
        void IRefreshableDeviceSpecificEditor.Refresh(
            String deviceSpecificID,
            DeviceSpecific deviceSpecific
            )
        {
            if (_currentDeviceSpecificID != null)
            {
                CacheCurrentState();
            }
            _cbChoices.Items.Clear();

            if (!RestoreState(deviceSpecificID))
            {
                LoadChoices(deviceSpecific);
                if (!ValidateLoadedChoices())
                {
                    _designer.RefreshHeader(
                        MobileControlDesigner.MergingContextProperties
                        );
                }
            }
            UpdateUI();
        }
Exemple #10
0
        bool IDeviceSpecificDesigner.GetDeviceSpecific(String deviceSpecificParentID, out DeviceSpecific ds)
        {
            Style style = (Style)_styleSheet[deviceSpecificParentID];

            if (null == style)
            {
                ds = null;
                return(false);
            }
            else
            {
                ds = style.DeviceSpecific;
                return(true);
            }
        }
Exemple #11
0
 bool IDeviceSpecificDesigner.GetDeviceSpecific(String deviceSpecificParentID, out DeviceSpecific ds)
 {
     return(_dsd.GetDeviceSpecific(deviceSpecificParentID, out ds));
 }
Exemple #12
0
        private DeviceSpecificChoice GetChoiceFromIdentifier(String choiceIdentifier, DeviceSpecific ds)
        {
            if (null == ds)
            {
                return(null);
            }

            Debug.Assert(ds.Choices != null);

            foreach (DeviceSpecificChoice choice in ds.Choices)
            {
                if (DesignerUtility.ChoiceToUniqueIdentifier(choice).Equals(choiceIdentifier) ||
                    (String.Empty == choice.Filter &&
                     choiceIdentifier.Equals(SR.GetString(SR.DeviceFilter_DefaultChoice))))
                {
                    return(choice);
                }
            }

            return(null);
        }
Exemple #13
0
 void IDeviceSpecificDesigner.SetDeviceSpecific(String deviceSpecificParentID, DeviceSpecific ds)
 {
     _ds = ds;
     _dsd.SetDeviceSpecific(deviceSpecificParentID, ds);
 }
        void IDeviceSpecificDesigner.SetDeviceSpecific(String deviceSpecificParentID, DeviceSpecific ds)
        {
            Debug.Assert(_defaultDeviceSpecificIdentifier == deviceSpecificParentID);

            if (_mobileControl != null)
            {
                if (null != ds)
                {
                    ds.SetOwner(_mobileControl);
                }
                _mobileControl.DeviceSpecific = ds;
            }
            else if (_control != null && ds == null)
            {
                Debug.Assert(_control is DeviceSpecific);

                // Clear the choices if it is a DeviceSpecific control.
                ((DeviceSpecific)_control).Choices.Clear();
            }

            if (null != CurrentChoice)
            {
                if (null == ds)
                {
                    CurrentChoice = null;
                }
                else
                {
                    // This makes sure that the CurrentChoice value is set to null if
                    // it was deleted during the deviceSpecific object editing
                    if (CurrentChoice.Filter.Length == 0)
                    {
                        TemplateDeviceFilter = SR.GetString(SR.DeviceFilter_DefaultChoice);
                    }
                    else
                    {
                        TemplateDeviceFilter = DesignerUtility.ChoiceToUniqueIdentifier(CurrentChoice);
                    }
                }
            }
        }
 bool IDeviceSpecificDesigner.GetDeviceSpecific(String deviceSpecificParentID, out DeviceSpecific ds)
 {
     Debug.Assert(_defaultDeviceSpecificIdentifier == deviceSpecificParentID);
     ds = CurrentDeviceSpecific;
     return(true);
 }
Exemple #16
0
        void IDeviceSpecificDesigner.SetDeviceSpecific(String deviceSpecificParentID, DeviceSpecific ds)
        {
            Style style = (Style)_styleSheet[deviceSpecificParentID];

            Debug.Assert(null != style, "style is null in IDeviceSpecificDesigner.SetDeviceSpecific");
            if (null != ds)
            {
                ds.SetOwner((MobileControl)_styleSheet);
            }
            style.DeviceSpecific = ds;

            if (CurrentChoice != null && 0 == String.Compare(CurrentStyle.Name, deviceSpecificParentID, StringComparison.OrdinalIgnoreCase))
            {
                if (ds == null)
                {
                    CurrentChoice = null;
                }
                else
                {
                    // This makes sure that the CurrentChoice value is set to null is
                    // it was deleted during the deviceSpecific object editing
                    if (CurrentChoice.Filter.Length == 0)
                    {
                        TemplateDeviceFilter = SR.GetString(SR.DeviceFilter_DefaultChoice);
                    }
                    else
                    {
                        TemplateDeviceFilter = DesignerUtility.ChoiceToUniqueIdentifier(CurrentChoice);
                    }
                }
            }
        }
 void IDeviceSpecificDesigner.SetDeviceSpecific(String deviceSpecificParentID, DeviceSpecific ds)
 {
     Debug.Assert(_defaultDeviceSpecificIdentifier == deviceSpecificParentID);
     if (null != ds)
     {
         ds.SetOwner((MobileControl)_mobileControl);
     }
     _mobileControl.DeviceSpecific = ds;
 }
Exemple #18
0
 void IDeviceSpecificDesigner.SetDeviceSpecific(String deviceSpecificParentID, DeviceSpecific ds)
 {
     Debug.Assert(_currentDeviceSpecificID != null);
     _cbChoices.Items.Clear();
     LoadChoices(ds);
     UpdateUI();
 }
 bool IDeviceSpecificDesigner.GetDeviceSpecific(String deviceSpecificParentID, out DeviceSpecific ds)
 {
     Debug.Assert(_defaultDeviceSpecificIdentifier == deviceSpecificParentID);
     ds = ((MobileControl)_mobileControl).DeviceSpecific;
     return(true);
 }