public SimpleCalcVM(CalcCore.ICalc calc) { this.calc = calc; Inputs = new List <IOValues>(); foreach (var item in calc.GetInputs()) { Inputs.Add(new IOValues(item, calc, this)); } Outputs = new ObservableCollection <IOValues>(); foreach (var item in calc.GetOutputs()) { Outputs.Add(new IOValues(item, calc, this)); } //this.calc = calculation; _formulae = new ObservableCollection <FormulaeVM>(); foreach (var item in calc.GetFormulae()) { _formulae.Add(new FormulaeVM() { Expression = item.Expression, Ref = item.Ref, Conclusion = item.Conclusion, Narrative = item.Narrative, Status = item.Status /*, Image=item.Image */ }); } }
void doClick(object sender, EventArgs e) { try { var calcInstance = (CalcCore.ICalc)Activator.CreateInstance(((sender as ToolStripMenuItem).Tag) as Type); calc = calcInstance; } catch (Exception ex) { MessageBox.Show(ex.Message); } foreach (var input in calc.GetInputs()) { if (input.Type == CalcCore.CalcValueType.DOUBLE) { Params.RegisterInputParam(createGHParam(input.Name)); //int ind = pManager.AddNumberParameter(name.Name, "", "", GH_ParamAccess.item); //pManager[ind].Optional = true; } } foreach (var output in calc.GetOutputs()) { if (output.Type == CalcCore.CalcValueType.DOUBLE) { Params.RegisterOutputParam(createGHParam(output.Name)); } } this.Name = calc.TypeName; this.NickName = calc.TypeName; this.Description = "SCaFFOLD Calculation"; Params.OnParametersChanged(); this.ExpireSolution(true); }
public MainViewData(CalculationViewModel vm, CalcCore.ICalc calc) { Parent = vm; Calc = calc; ViewType = MainViewTypes.CALC; Name = "Calc"; }
public override bool Read(GH_IReader reader) { if (!base.Read(reader)) { return(false); } string name = reader.GetString("CalcType"); var listOfCalcs = AvailableCalcsLoader.AvailableCalcs; foreach (var availableCalc in listOfCalcs) { if (availableCalc.Name == name) { var calcInstance = (CalcCore.ICalc)Activator.CreateInstance(availableCalc.Class); this.calc = calcInstance; } } return(true); }
public IOValues(CalcCore.CalcValueBase calcValue, CalcCore.ICalc calc, ICalcViewParent calcVM) { this.calcValue = calcValue; this.calc = calc; this.calcVM = calcVM; switch (calcValue.Type) { case CalcCore.CalcValueType.DOUBLE: MaxVal = Math.Max((calcValue as CalcCore.CalcDouble).Value * 5, 0); MinVal = Math.Min(0, (calcValue as CalcCore.CalcDouble).Value); break; case CalcCore.CalcValueType.SELECTIONLIST: _selectionList = (calcValue as CalcCore.CalcSelectionList).SelectionList; break; case CalcCore.CalcValueType.FOLDERPATH: break; default: break; } }