public CSharpContextActionWrapper(IContextActionProvider provider, CodeAction codeAction, Func<SDRefactoringContext, CodeAction> getUpdatedCodeAction) { if (provider == null) throw new ArgumentNullException("provider"); if (codeAction == null) throw new ArgumentNullException("codeAction"); if (getUpdatedCodeAction == null) throw new ArgumentNullException("getUpdatedCodeAction"); this.provider = provider; this.description = codeAction.Description; this.getUpdatedCodeAction = getUpdatedCodeAction; // Don't maintain a reference to 'action', it indirectly references the compilation etc. }
public MainViewModel(IStringProvider stringProvider, IDeviceProvider deviceProvider, IContextActionProvider contextActionProvider) { _stringProvider = stringProvider; _deviceProvider = deviceProvider; _contextActionProvider = contextActionProvider; _deviceProvider.SelectedDevicesChanged += _deviceProvider_SelectedDevicesChanged; _deviceProvider.RoomStructureChanged += _deviceProvider_RoomStructureChanged; _groupedDevices = _deviceProvider.Devices.GroupBy( (device) => { return(device.Room); }, (room, devices) => { return(new Devices.DevicesGroup(room, devices)); }).FillEmptyRooms(_deviceProvider.Rooms); }
public CSharpContextActionWrapper(IContextActionProvider provider, CodeAction codeAction, Func <SDRefactoringContext, CodeAction> getUpdatedCodeAction) { if (provider == null) { throw new ArgumentNullException("provider"); } if (codeAction == null) { throw new ArgumentNullException("codeAction"); } if (getUpdatedCodeAction == null) { throw new ArgumentNullException("getUpdatedCodeAction"); } this.provider = provider; this.description = codeAction.Description; this.getUpdatedCodeAction = getUpdatedCodeAction; // Don't maintain a reference to 'action', it indirectly references the compilation etc. }
public async Task InitializeData(IContextActionProvider contextActionProvider, string dataPath) { StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(dataPath)); string dataString = await FileIO.ReadTextAsync(file); JsonObject rootObject = JsonObject.Parse(dataString); _rooms = Room.ParseRoomList(rootObject["Rooms"].GetArray()); _presets = Preset.ParsePresetList(rootObject["Presets"].GetArray()); _deviceCategories = DeviceCategory.ParseDeviceCategoryList(rootObject["DeviceCategories"].GetArray(), _stringProvider, contextActionProvider); _devices = Device.ParseDeviceList(rootObject["Devices"].GetArray(), _stringProvider, contextActionProvider, _rooms, _deviceCategories); _products = Product.ParseProductList(rootObject["Products"].GetArray(), _deviceCategories); SortDevices(); foreach (var room in _rooms) { room.RoomSelected += Room_RoomSelected; } }
public Device(IStringProvider stringProvider, IContextActionProvider contextActionProvider, string id, DeviceCategory category, string caption, string thumbnailPath, Room room, List <IProperty> properties) { _stringProvider = stringProvider; _contextActionProvider = contextActionProvider; _id = id; _category = category; _caption = caption; _thumbnailPath = thumbnailPath; _room = room; _properties = properties; if (_properties != null) { foreach (IProperty prop in _properties) { if (prop != null) { prop.ValueChanged += Prop_ValueChanged; } } } }
public static Device ParseDevice(JsonObject data, IStringProvider stringProvider, IContextActionProvider contextActionProvider, List <Room> rooms, DeviceCategory category) { Room room = null; if (data.ContainsKey("Room")) { string roomId = data["Room"].GetString(); if (!string.IsNullOrEmpty(roomId) && rooms != null) { room = rooms.FirstOrDefault((a) => a.Id == roomId); if (room == null) { throw new Exception(string.Format("Unable to locate room with id {0}", roomId)); } } } List <IProperty> properties = Property.ParsePropertyList(data["Properties"].GetArray(), category.SharedBitmapLists); Device retVal = new Device(stringProvider, contextActionProvider, data["Id"].GetString(), category, data["Caption"].GetString(), data["Thumbnail"].GetString(), room, properties); if (room != null) { room.AddDevice(retVal); } return(retVal); }
public static List <Device> ParseDeviceList(JsonArray data, IStringProvider stringProvider, IContextActionProvider contextActionProvider, List <Room> rooms, List <DeviceCategory> categories) { var retVal = new List <Device>(data.Count); foreach (var node in data) { retVal.Add(ParseDevice(node.GetObject(), stringProvider, contextActionProvider, rooms, categories)); } return(retVal); }
public static DeviceCategory ParseDeviceCategory(JsonObject data, IStringProvider stringProvider, IContextActionProvider contextActionProvider) { bool showDeviceShelf = bool.Parse(data["ShowDeviceShelf"].GetString()); Vector3 shelfOffset = data["ShelfOffset"].GetObject().GetVector3(); Vector3 deviceOffset = data["DeviceOffset"].GetObject().GetVector3(); Vector3 spotlightOffset = data["SpotlightOffset"].GetObject().GetVector3(); Vector3 spotlight1Offset = data["Spotlight1Offset"].GetObject().GetVector3(); Vector3 pointlightOffset = data["PointlightOffset"].GetObject().GetVector3(); Dictionary <string, List <PropertyBitmapPickerItem> > sharedBitmapLists = new Dictionary <string, List <PropertyBitmapPickerItem> >(); JsonArray nodes = data["SharedBitmapLists"].GetArray(); foreach (var node in nodes) { JsonObject nodeObject = node.GetObject(); string id = nodeObject["Id"].GetString(); List <PropertyBitmapPickerItem> list = PropertyBitmapPickerItem.ParsePropertyBitmapPickerItemList(nodeObject["List"].GetArray()); sharedBitmapLists.Add(id, list); } var retVal = new DeviceCategory(data["Id"].GetString(), showDeviceShelf, shelfOffset, deviceOffset, spotlightOffset, spotlight1Offset, pointlightOffset, sharedBitmapLists, null, data["Caption"].GetString(), data["Thumbnail"].GetString(), data["ThumbnailHeight"].GetNumber(), data["ThumbnailTopMargin"].GetNumber()); var defaultDevice = Device.ParseDevice(data["DefaultDevice"].GetObject(), stringProvider, contextActionProvider, null, retVal); retVal.DefaultDevice = defaultDevice; return(retVal); }