protected override void PartRemoved(string partName, object instance) { base.PartRemoved(partName, instance); if (instance == DataGroup) { DataGroup.RemoveEventListener(RendererExistenceEvent.RENDERER_ADD, DispatchEvent); DataGroup.RemoveEventListener(RendererExistenceEvent.RENDERER_REMOVE, DispatchEvent); // copy proxied values from DataGroup (if explicitly set) to DataGroupProperties var newDataGroupProperties = new DataGroupProperties(); if (_dataGroupProperties.LayoutSet) { newDataGroupProperties.Layout = DataGroup.Layout; } if (_dataGroupProperties.AutoLayoutSet) { newDataGroupProperties.AutoLayout = DataGroup.AutoLayout; } if (_dataGroupProperties.DataProviderSet) { newDataGroupProperties.DataProvider = DataGroup.DataProvider; } if (_dataGroupProperties.ItemRendererSet) { newDataGroupProperties.ItemRenderer = DataGroup.ItemRenderer; } if (_dataGroupProperties.ItemRendererFunctionSet) { newDataGroupProperties.ItemRendererFunction = DataGroup.ItemRendererFunction; } if (_dataGroupProperties.TypicalItemSet) { newDataGroupProperties.TypicalItem = DataGroup.TypicalItem; } _dataGroupProperties = newDataGroupProperties; DataGroup.DataProvider = null; DataGroup.Layout = null; DataGroup.RendererUpdateDelegate = null; } }
protected override void PartRemoved(string partName, object instance) { base.PartRemoved(partName, instance); if (instance == DataGroup) { DataGroup.RemoveEventListener(RendererExistenceEvent.RENDERER_ADD, DispatchEvent); DataGroup.RemoveEventListener(RendererExistenceEvent.RENDERER_REMOVE, DispatchEvent); // copy proxied values from DataGroup (if explicitly set) to DataGroupProperties var newDataGroupProperties = new DataGroupProperties(); if (_dataGroupProperties.LayoutSet) newDataGroupProperties.Layout = DataGroup.Layout; if (_dataGroupProperties.AutoLayoutSet) newDataGroupProperties.AutoLayout = DataGroup.AutoLayout; if (_dataGroupProperties.DataProviderSet) newDataGroupProperties.DataProvider = DataGroup.DataProvider; if (_dataGroupProperties.ItemRendererSet) newDataGroupProperties.ItemRenderer = DataGroup.ItemRenderer; if (_dataGroupProperties.ItemRendererFunctionSet) newDataGroupProperties.ItemRendererFunction = DataGroup.ItemRendererFunction; if (_dataGroupProperties.TypicalItemSet) newDataGroupProperties.TypicalItem = DataGroup.TypicalItem; _dataGroupProperties = newDataGroupProperties; DataGroup.DataProvider = null; DataGroup.Layout = null; DataGroup.RendererUpdateDelegate = null; } }
protected override void PartAdded(string partName, object instance) { base.PartAdded(partName, instance); if (instance == DataGroup) { // copy proxied values from dataGroupProperties (if set) to dataGroup var newDataGroupProperties = new DataGroupProperties(); if (null != _dataGroupProperties.Layout) { DataGroup.Layout = _dataGroupProperties.Layout; newDataGroupProperties.LayoutSet = true; } if (null != _dataGroupProperties.AutoLayout) { DataGroup.AutoLayout = (bool)_dataGroupProperties.AutoLayout; newDataGroupProperties.AutoLayoutSet = true; } if (null != _dataGroupProperties.DataProvider) { //Debug.Log("_dataGroupProperties.DataProvider: " + _dataGroupProperties.DataProvider); DataGroup.DataProvider = _dataGroupProperties.DataProvider; newDataGroupProperties.DataProviderSet = true; } if (null != _dataGroupProperties.ItemRenderer) { DataGroup.ItemRenderer = _dataGroupProperties.ItemRenderer; newDataGroupProperties.ItemRendererSet = true; } if (null != _dataGroupProperties.ItemRendererFunction) { DataGroup.ItemRendererFunction = _dataGroupProperties.ItemRendererFunction; newDataGroupProperties.ItemRendererFunctionSet = true; } if (null != _dataGroupProperties.TypicalItem) { DataGroup.TypicalItem = _dataGroupProperties.TypicalItem; newDataGroupProperties.TypicalItemSet = true; } _dataGroupProperties = newDataGroupProperties; // Register our instance as the dataGroup's item renderer update delegate. DataGroup.RendererUpdateDelegate = this; // The only reason we have these listeners is to re-dispatch events. // We only add as necessary. if (HasEventListener(RendererExistenceEvent.RENDERER_ADD)) { DataGroup.AddEventListener(RendererExistenceEvent.RENDERER_ADD, DispatchEvent); } if (HasEventListener(RendererExistenceEvent.RENDERER_REMOVE)) { DataGroup.AddEventListener(RendererExistenceEvent.RENDERER_REMOVE, DispatchEvent); } } }
protected override void PartAdded(string partName, object instance) { base.PartAdded(partName, instance); if (instance == DataGroup) { // copy proxied values from dataGroupProperties (if set) to dataGroup var newDataGroupProperties = new DataGroupProperties(); if (null != _dataGroupProperties.Layout) { DataGroup.Layout = _dataGroupProperties.Layout; newDataGroupProperties.LayoutSet = true; } if (null != _dataGroupProperties.AutoLayout) { DataGroup.AutoLayout = (bool) _dataGroupProperties.AutoLayout; newDataGroupProperties.AutoLayoutSet = true; } if (null != _dataGroupProperties.DataProvider) { //Debug.Log("_dataGroupProperties.DataProvider: " + _dataGroupProperties.DataProvider); DataGroup.DataProvider = _dataGroupProperties.DataProvider; newDataGroupProperties.DataProviderSet = true; } if (null != _dataGroupProperties.ItemRenderer) { DataGroup.ItemRenderer = _dataGroupProperties.ItemRenderer; newDataGroupProperties.ItemRendererSet = true; } if (null != _dataGroupProperties.ItemRendererFunction) { DataGroup.ItemRendererFunction = _dataGroupProperties.ItemRendererFunction; newDataGroupProperties.ItemRendererFunctionSet = true; } if (null != _dataGroupProperties.TypicalItem) { DataGroup.TypicalItem = _dataGroupProperties.TypicalItem; newDataGroupProperties.TypicalItemSet = true; } _dataGroupProperties = newDataGroupProperties; // Register our instance as the dataGroup's item renderer update delegate. DataGroup.RendererUpdateDelegate = this; // The only reason we have these listeners is to re-dispatch events. // We only add as necessary. if (HasEventListener(RendererExistenceEvent.RENDERER_ADD)) { DataGroup.AddEventListener(RendererExistenceEvent.RENDERER_ADD, DispatchEvent); } if (HasEventListener(RendererExistenceEvent.RENDERER_REMOVE)) { DataGroup.AddEventListener(RendererExistenceEvent.RENDERER_REMOVE, DispatchEvent); } } }