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); }
void IRefreshableDeviceSpecificEditor.Refresh(String deviceSpecificID, DeviceSpecific ds) { _ds = ds; FillChoicesComboBox(); FillSchemasComboBox(); SetSchemaValue(); UpdateControlEnabling(); }
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(); }
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); }
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(); }
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(); }
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); } }
bool IDeviceSpecificDesigner.GetDeviceSpecific(String deviceSpecificParentID, out DeviceSpecific ds) { return(_dsd.GetDeviceSpecific(deviceSpecificParentID, out ds)); }
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); }
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); }
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; }
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); }