public void ColorPalette_CreatesCorrectUndoStackForComplexState() { var homespace = Model.CurrentWorkspace as HomeWorkspaceModel; Assert.NotNull(homespace, "The current workspace is not a HomeWorkspaceModel"); var colorPalette = new ColorPalette(); Model.AddNodeToCurrentWorkspace(colorPalette, true); homespace.Run(); Assert.DoesNotThrow(DispatcherUtil.DoEvents); Assert.AreEqual(DSColor.ByARGB(255, 0, 0, 0), colorPalette.DsColor); homespace.UpdateModelValue(new List <System.Guid>() { colorPalette.GUID }, "DsColor", DSColor.ByARGB(255, 255, 0, 0).ToString()); homespace.UpdateModelValue(new List <System.Guid>() { colorPalette.GUID }, "DsColor", DSColor.ByARGB(255, 0, 0, 255).ToString()); homespace.UpdateModelValue(new List <System.Guid>() { colorPalette.GUID }, "DsColor", DSColor.ByARGB(255, 255, 0, 0).ToString()); //now undo a few times and assert the color is red. homespace.Undo(); Assert.AreEqual(DSColor.ByARGB(255, 0, 0, 255), colorPalette.DsColor); homespace.Undo(); Assert.AreEqual(DSColor.ByARGB(255, 255, 0, 0), colorPalette.DsColor); Assert.IsTrue(homespace.UndoRecorder.CanUndo); homespace.Undo(); Assert.AreEqual(DSColor.ByARGB(255, 0, 0, 0), colorPalette.DsColor); }
private DSColor DeserializeValue(string val) { try { //Splits the xml string and returns each of the ARGB values as a string array. string[] argb = Regex.Split(val, @"\D+").Where(s => !string.IsNullOrWhiteSpace(s)).ToArray(); return(DSColor.ByARGB(int.Parse(argb[3]), int.Parse(argb[0]), int.Parse(argb[1]), int.Parse(argb[2]))); } catch { return(DSColor.ByARGB(255, 0, 0, 0)); } }
public ColorPalette(JObject DsColor, IEnumerable <PortModel> inPorts, IEnumerable <PortModel> outPorts) : base(inPorts, outPorts) { // RGBA to ARGB try { this.DsColor = DSColor.ByARGB((int)DsColor["Alpha"], (int)DsColor["Red"], (int)DsColor["Green"], (int)DsColor["Blue"]); } catch { this.DsColor = DSColor.ByARGB(255, 0, 0, 0); } }
public ColorPalette(JObject InputValue, IEnumerable <PortModel> inPorts, IEnumerable <PortModel> outPorts) : base(inPorts, outPorts) { // RGBA to ARGB try { this.DsColor = DSColor.ByARGB((int)InputValue["A"], (int)InputValue["R"], (int)InputValue["G"], (int)InputValue["B"]); } catch { this.DsColor = DSColor.ByARGB(255, 0, 0, 0); } }
public void ColorPalette_AddToHomespaceAndRun_NoException() { var homespace = Model.CurrentWorkspace as HomeWorkspaceModel; Assert.NotNull(homespace, "The current workspace is not a HomeWorkspaceModel"); var colorPalette = new ColorPalette(); Model.AddNodeToCurrentWorkspace(colorPalette, true); homespace.Run(); Assert.DoesNotThrow(DispatcherUtil.DoEvents); Assert.AreEqual(colorPalette.DsColor, DSColor.ByARGB(255, 0, 0, 0)); Assert.Pass(); }
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { color = (Color)value; if (!color.Equals(null)) { dscolor = DSColor.ByARGB(color.A, color.R, color.G, color.B); } else { dscolor = DSColor.ByARGB(0, 0, 0, 0); } return(dscolor); }
public void ColorPalette_Undo() { var homespace = Model.CurrentWorkspace as HomeWorkspaceModel; Assert.NotNull(homespace, "The current workspace is not a HomeWorkspaceModel"); var colorPalette = new ColorPalette(); Model.AddNodeToCurrentWorkspace(colorPalette, true); homespace.Run(); Assert.DoesNotThrow(DispatcherUtil.DoEvents); Assert.AreEqual(DSColor.ByARGB(255, 0, 0, 0), colorPalette.DsColor); homespace.UpdateModelValue(new List <System.Guid>() { colorPalette.GUID }, "DsColor", DSColor.ByARGB(255, 255, 255, 255).ToString()); Assert.AreEqual(DSColor.ByARGB(255, 255, 255, 255), colorPalette.DsColor); homespace.Undo(); Assert.AreEqual(DSColor.ByARGB(255, 0, 0, 0), colorPalette.DsColor); homespace.Redo(); Assert.AreEqual(DSColor.ByARGB(255, 255, 255, 255), colorPalette.DsColor); }
public void ColorPalette_AddToHomespaceAndRun_NoException() { var homespace = Model.CurrentWorkspace as HomeWorkspaceModel; Assert.NotNull(homespace, "The current workspace is not a HomeWorkspaceModel"); var colorPalette = new ColorPalette(); Model.AddNodeToCurrentWorkspace(colorPalette, true); homespace.Run(); Assert.DoesNotThrow(DispatcherUtil.DoEvents); Assert.AreEqual(colorPalette.DsColor, DSColor.ByARGB(255, 0, 0, 0)); Assert.Pass(); // Verify same results in JSON // Change from default color to red homespace.UpdateModelValue(new List <System.Guid>() { colorPalette.GUID }, "DsColor", DSColor.ByARGB(255, 255, 0, 0).ToString()); homespace.Run(); Assert.AreEqual(DSColor.ByARGB(255, 255, 0, 0), colorPalette.DsColor); // Save in temp location var tempPath = Path.GetTempPath() + "ColorPaletteTest_temp.dyn"; ViewModel.SaveAs(tempPath); // Close workspace Assert.IsTrue(ViewModel.CloseHomeWorkspaceCommand.CanExecute(null)); ViewModel.CloseHomeWorkspaceCommand.Execute(null); // Open JSON temp file OpenDynamoDefinition(tempPath); // Run RunCurrentModel(); // Verify xml results against json Assert.DoesNotThrow(DispatcherUtil.DoEvents); Assert.AreEqual(colorPalette.DsColor, DSColor.ByARGB(255, 255, 0, 0)); // Delete temp file File.Delete(tempPath); }
public void MediatoDSColorConverterConvertConvertBackTest() { //Red DSColor var redDSColor = DSColor.ByARGB(255, 255, 0, 0); var dsColorConverter = new MediatoDSColorConverter(); //Convert from DSColor to Color var colorConverted = (Color)dsColorConverter.Convert(redDSColor, null, null, null); //Validates that the convertion to Color was successful Assert.IsNotNull(colorConverted); Assert.AreEqual(colorConverted.GetType(), typeof(Color)); Assert.AreEqual(colorConverted.ToString(), "#FFFF0000"); //Convert back from Color to DSColor var dsColorBack = (DSColor)dsColorConverter.ConvertBack(colorConverted, null, null, null); //Validates that the convertion to DSColor was successful Assert.IsNotNull(dsColorBack); Assert.AreEqual(dsColorBack.GetType(), typeof(DSColor)); Assert.AreEqual(dsColorBack.ToString(), "Color(Red = 255, Green = 0, Blue = 0, Alpha = 255)"); }
public void SetupCustomUIElements(dynNodeView view) { var drawPlane = new Image { Stretch = Stretch.Fill, HorizontalAlignment = HorizontalAlignment.Stretch, Width = 100, Height = 200 }; var dm = this.Workspace.DynamoModel; view.inputGrid.Children.Add(drawPlane); RequestChangeColorRange += delegate { DispatchOnUIThread(delegate { var colorStartNode = InPorts[0].Connectors[0].Start.Owner; var startIndex = InPorts[0].Connectors[0].Start.Index; var colorEndNode = InPorts[1].Connectors[0].Start.Owner; var endIndex = InPorts[1].Connectors[0].Start.Index; var startId = colorStartNode.GetAstIdentifierForOutputIndex(startIndex).Name; var endId = colorEndNode.GetAstIdentifierForOutputIndex(endIndex).Name; var startMirror = dm.EngineController.GetMirror(startId); var endMirror = dm.EngineController.GetMirror(endId); object start = null; object end = null; if (startMirror == null) { start = Color.ByARGB(255, 192, 192, 192); } else { if (startMirror.GetData().IsCollection) { start = startMirror.GetData().GetElements(). Select(x => x.Data).FirstOrDefault(); } else { start = startMirror.GetData().Data; } } if (endMirror == null) { end = Color.ByARGB(255, 64, 64, 64); } else { if (endMirror.GetData().IsCollection) { end = endMirror.GetData().GetElements(). Select(x => x.Data).FirstOrDefault(); } else { end = endMirror.GetData().Data; } } Color startColor = start as Color; Color endColor = end as Color; if (null != startColor && null != endColor) { WriteableBitmap bmp = CompleteColorScale(startColor, endColor); drawPlane.Source = bmp; } }); }; }
/// <summary> /// Converts the Revit color into a Dynamo Core Color. /// </summary> /// <param name="color">A wrapped Revit color</param> /// <returns name="dynamoColor">A Dynamo Core Color.</returns> public static DynColor ToDynamoColor(ColorWrapper color) { return(DynColor.ByARGB(255, color._red, color._green, color._blue)); }