public SingleRoutineEditor(RoutineDefinition routine, HairAppBl.Interfaces.IHairBl hairBl) : this() { mRoutine = routine; mHairbl = hairBl; RefreshList(); OKButton.Clicked += OKButton_Clicked; }
public override bool Visit(RoutineDefinition node) { declEnv.EnterNextContext(); Visit((CallableDeclaration)node); traverse(node.body); declEnv.EnterNextContext(); return(true); }
public override Value Visit(RoutineDefinition node) { // set instance var func Function func = (Function)Visit((RoutineDeclaration)node); Debug.Assert(!func.IsNull, "Invalid function declaration " + node.name); evalCtx.inTopLevel = false; evalCtx.func = func; // Create a new basic block to start insertion into. BasicBlock bb = func.AppendBasicBlock("entry"); builder.SetInsertPoint(bb); int i = 0; var @params = node.Type.@params; foreach (var param in @params.Parameters()) { CreateRoutineArgument(func, i++, param); } Value retVal = null; if (node.IsFunction) { // Create local var for the return value (Result) var retvar = @params.returnVar; var llvmtype = GetLLVMType(retvar.type); retVal = builder.BuildAlloca(llvmtype, retvar.name); valuemap.AddValue(retvar, retVal); } Value ret = traverse(node.body); if (ret.IsNull) { // Error reading body, remove function. Error("Could not generate routine " + node.name); func.Delete(); return(null); } evalCtx.inTopLevel = true; if (node.IsFunction) { builder.BuildReturn(builder.BuildLoad(retVal)); } else { builder.BuildReturn(); } // Validate the generated code, checking for consistency. func.Validate(LLVMVerifierFailureAction.PrintMessageAction); // Optimize the function. passManager.Run(func); return(func); }
public void Setup() { allRoutines = new System.Collections.Generic.List <RoutineDefinition>(); allRoutines.Add(RoutineDefinition.Create("Wash", "wash", "", "")); allRoutines.Add(RoutineDefinition.Create("Creme", "Creme", "", "")); allRoutines.Add(RoutineDefinition.Create("Cut", "cut", "", "")); allRoutines.Add(RoutineDefinition.Create("DoSomething", "dosomething", "", "")); allRoutines.Add(RoutineDefinition.Create("Foo", "bar", "", "")); allRoutines.Add(RoutineDefinition.Create("Kämmen", "kaemmen", "", "")); }
private RoutineDefinitionCell GetRoutineControl(RoutineDefinition routine) { foreach (var c in mRoutineListControls) { if (c.Routine == routine) { return(c); } } return(null); }
public void RemoveRoutine(RoutineDefinition routine) { if (routine == null) { throw new ArgumentNullException("routine"); } if (routine.ID == string.Empty) { throw new ArgumentException($"Routine ID is empty"); } this.mWashingDay.Routines.Remove(routine.ID); }
public void Instantiate() { var r = new RoutineDefinition(); r.Name = ""; var dic = new Dictionary <string, object>(); var hbl = new HairAppBl.HairAppBl(new HairAppBl.ConsoleLogger(), dic); dic.Add("RoutineFrame", null); dic.Add("RoutineContent", null); dic.Add("RoutineButton", null); new HairApp.Controls.RoutineDefinitionCell(r, hbl, 1); }
public void InitRoutines() { MainSession.AllRoutines.Clear(); MainSession.AllRoutines.Add(RoutineDefinition.Create(Resources.AppResource.Prepoo, "Prepoo", "", Resources.AppResource.PrepooDescription)); MainSession.AllRoutines.Add(RoutineDefinition.Create(Resources.AppResource.HotOilTreatment, "HotOilTreatment", "", Resources.AppResource.HotOilTreatmentDescription)); MainSession.AllRoutines.Add(RoutineDefinition.Create(Resources.AppResource.Shampoo, "Shampoo", "", Resources.AppResource.ShampooDescription)); MainSession.AllRoutines.Add(RoutineDefinition.Create(Resources.AppResource.ClarifyingShampoo, "CarifyingShampoo", "", Resources.AppResource.ClarifyingShampooDescription)); MainSession.AllRoutines.Add(RoutineDefinition.Create(Resources.AppResource.Conditioner, "Conditioner", "", Resources.AppResource.ConditionerDescription)); MainSession.AllRoutines.Add(RoutineDefinition.Create(Resources.AppResource.DeepConditioner, "DeepConditioner", "", Resources.AppResource.DeepConditionerDescription)); MainSession.AllRoutines.Add(RoutineDefinition.Create(Resources.AppResource.ProteinTreatment, "ProteinTreatment", "", Resources.AppResource.ProteinTreatmentDescription)); MainSession.AllRoutines.Add(RoutineDefinition.Create(Resources.AppResource.MoisturisingMask, "MoisturisingMask", "", Resources.AppResource.MoisturisingMaskDescription)); MainSession.AllRoutines.Add(RoutineDefinition.Create(Resources.AppResource.LeaveInConditioner, "LeaveInConditioner", "", Resources.AppResource.LeaveInConditionerDescription)); MainSession.AllRoutines.Add(RoutineDefinition.Create(Resources.AppResource.Clay, "Clay", "", Resources.AppResource.ClayDescription)); MainSession.AllRoutines.Add(RoutineDefinition.Create(Resources.AppResource.Rinse, "Rinses", "", Resources.AppResource.RinseDescription)); }
public void SetUp() { Xamarin.Forms.Mocks.MockForms.Init(); allRoutines = new List <RoutineDefinition>(); allRoutines.Add(RoutineDefinition.Create("Wash", "wash", "", "")); allRoutines.Add(RoutineDefinition.Create("Creme", "Creme", "", "")); allRoutines.Add(RoutineDefinition.Create("Cut", "cut", "", "")); allRoutines.Add(RoutineDefinition.Create("DoSomething", "dosomething", "", "")); allRoutines.Add(RoutineDefinition.Create("Foo", "bar", "", "")); allRoutines.Add(RoutineDefinition.Create("Kämmen", "kaemmen", "", "")); var dic = new Dictionary <string, object>(); hairAppBl = new HairAppBl.HairAppBl(new ConsoleLogger(), dic); msCOntroller = new MainSessionController(null); }
public void MoveDown(RoutineDefinition routine) { if (routine == null) { throw new ArgumentNullException("Routine is null"); } if (routine.ID == string.Empty) { throw new ArgumentException($"Routine ID is empty"); } var currentIndex = this.mWashingDay.Routines.IndexOf(routine.ID); if (currentIndex == this.mWashingDay.Routines.Count - 1) { return; } this.mWashingDay.Routines.Remove(routine.ID); this.mWashingDay.Routines.Insert(currentIndex + 1, routine.ID); }
public override bool Visit(RoutineDefinition node) { if (node.IsFunction) { ProceduralType p = node.type as ProceduralType; node.body.decls.Add(new VarDeclaration("result", p.funcret)); } Visit((CallableDeclaration)node); traverse(node.body); if (node.IsFunction) { builder.Remove(builder.Length - 3, 3); outputCode(" return result;", true, true); outputCode("}", true, true); } outputCode("", false, true); return(true); }
public void DeleteRoutine(RoutineDefinition r) { MainSession.AllRoutines.Remove(r); Save(); }
public virtual T Visit(RoutineDefinition node) { Visit((RoutineDeclaration)node); return(traverse(node.body)); }
public override bool Visit(RoutineDefinition node) { Visit((RoutineDeclaration)node); TraversePrint(node.body); return(true); }
public RoutineDefinitionEditCell(RoutineDefinition routine, HairAppBl.Interfaces.IHairBl hairbl) { this.mHairBl = hairbl; this.Routine = routine; var labelTitle = new Label { Text = Resources.AppResources.Title }; var labelDescription = new Label { Text = Resources.AppResources.Description }; title = new Entry { Text = Routine.Name, FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)), FontAttributes = FontAttributes.Bold }; description = new Entry { Text = Routine.Description, FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)), FontAttributes = FontAttributes.Bold }; deleteButton = Common.GetButton("remove.png", hairbl); deleteButton.Clicked += (sender, e) => { SendRemoved(); }; buttonGroup = new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.EndAndExpand, IsVisible = false, Children = { deleteButton } }; var frame = new Frame { Style = (Style)hairbl.Resources["RoutineFrame"], Content = new StackLayout { Style = (Style)hairbl.Resources["RoutineContent"], Orientation = StackOrientation.Vertical, Children = { labelTitle, new StackLayout { Orientation = StackOrientation.Horizontal, Children = { title, buttonGroup } }, labelDescription, description } } }; var editClicked = new TapGestureRecognizer(); editClicked.Tapped += EditClicked_Tapped;; frame.GestureRecognizers.Add(editClicked); View = frame; }
public RoutineDefinitionCell(RoutineDefinition routine, HairAppBl.Interfaces.IHairBl hairbl, int number) { this.mHairBl = hairbl; this.Routine = routine; text = new Label { Text = $"{number}) {Routine.Name}", FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)), FontAttributes = FontAttributes.Bold }; var tapGestureRecognizer = new TapGestureRecognizer(); tapGestureRecognizer.Tapped += (s, e) => { Select(); }; editButton = Common.GetButton("edit.png", hairbl); editButton.Clicked += (sender, e) => { SendEdit(); }; deleteButton = Common.GetButton("remove.png", hairbl); deleteButton.Clicked += (sender, e) => { SendRemoved(); }; downButton = Common.GetButton("down.png", hairbl); downButton.Clicked += (sender, e) => { SendMoveDown(); }; upButton = Common.GetButton("up.png", hairbl); upButton.Clicked += (sender, e) => { SendMoveUp(); }; buttonGroup = new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.EndAndExpand, IsVisible = false, Children = { downButton, upButton, editButton, deleteButton } }; var frame = new Frame { Style = (Style)hairbl.Resources["RoutineFrame"], Content = new StackLayout { Style = (Style)hairbl.Resources["RoutineContent"], Orientation = StackOrientation.Horizontal, Children = { new StackLayout { Orientation = StackOrientation.Vertical, Children = { text } }, buttonGroup } } }; frame.GestureRecognizers.Add(tapGestureRecognizer); View = frame; }