public void SettersNotAppliedOnAttachIfOneConditionIsFalse() { var conditionbp = BindableProperty.Create("foo", typeof(string), typeof(BindableObject), null); var setterbp = BindableProperty.Create("bar", typeof(string), typeof(BindableObject), null); var element = new MockElement(); var multiTrigger = new MultiTrigger(typeof(VisualElement)) { Conditions = { new PropertyCondition { Property = conditionbp, Value = "foobar" }, new BindingCondition { Binding = new Binding("baz"), Value = "foobaz" }, }, Setters = { new Setter { Property = setterbp, Value = "qux" }, } }; element.SetValue(setterbp, "default"); element.SetValue(conditionbp, "foobar"); element.BindingContext = new { baz = "foobazXX" }; Assert.AreEqual("default", element.GetValue(setterbp)); element.Triggers.Add(multiTrigger); Assert.AreEqual("default", element.GetValue(setterbp)); }
internal static Style GetUpDownBaseStyle <T>() { if (_upDownStyles == null) { _upDownStyles = new Dictionary <Type, Style>(); } Style style; if (!_upDownStyles.TryGetValue(typeof(T), out style)) { style = new Style(typeof(UpDownBase <T>)); var trigger = new MultiTrigger(); trigger.Conditions.Add(new Condition(Control.IsKeyboardFocusWithinProperty, false)); trigger.Conditions.Add(new Condition(Control.IsMouseOverProperty, false)); trigger.Setters.Add( new Setter(Control.BorderBrushProperty, new SolidColorBrush(Colors.Transparent))); trigger.Setters.Add( new Setter(UpDownBase <T> .ShowButtonSpinnerProperty, false)); style.Triggers.Add(trigger); _upDownStyles.Add(typeof(T), style); } return(style); }
private void Value_AddMultiTriggerClicked(Controls.Value val) { if (val.ParentValue != null && val.ParentEvent != null) { if (val.ParentEvent.values.Contains(val.ParentValue)) { Controls.Event e = events.Find(x => x.ParentEvent == val.ParentEvent); if (e != null) { int index = e.Values.ToList().FindIndex(x => x.ParentValue == val.ParentValue); if (index >= 0) { Controls.Value v = e.Values[index]; if (v != null) { var multitrigger = new MultiTrigger(); val.ParentValue.triggers.Add(multitrigger); Controls.MultiTrigger uiMultiTrigger = CreateMultiTrigger(multitrigger, val.ParentValue, val.ParentEvent); var trigger = new Trigger(); multitrigger.triggers.Add(trigger); Controls.Trigger uiTrigger = CreateTrigger(trigger, uiMultiTrigger.ParentValue, uiMultiTrigger.ParentEvent); uiTrigger.modifier_COMBO.SelectedItem = "Equal To"; uiMultiTrigger.Triggers.Add(uiTrigger); val.Triggers.Add(uiMultiTrigger); } } } } } }
public void SettersUnappliedOnDetach () { var conditionbp = BindableProperty.Create ("foo", typeof(string), typeof(BindableObject), null); var setterbp = BindableProperty.Create ("bar", typeof(string), typeof(BindableObject), null); var element = new MockElement (); var multiTrigger = new MultiTrigger (typeof(VisualElement)) { Conditions = { new PropertyCondition { Property = conditionbp, Value = "foobar" }, new BindingCondition { Binding = new Binding ("baz"), Value = "foobaz" }, }, Setters = { new Setter { Property = setterbp, Value = "qux" }, } }; element.SetValue (setterbp, "default"); element.BindingContext = new {baz = "" }; element.Triggers.Add (multiTrigger); Assert.AreEqual ("default", element.GetValue (setterbp)); //both conditions false element.SetValue (conditionbp, "foobar"); Assert.AreEqual ("default", element.GetValue (setterbp)); //one condition false element.BindingContext = new {baz = "foobaz"}; Assert.AreEqual ("qux", element.GetValue (setterbp)); //both condition true element.Triggers.Remove (multiTrigger); Assert.AreEqual ("default", element.GetValue (setterbp)); }
public void MultiTriggerConstructor() { tlog.Debug(tag, $"MultiTriggerConstructor START"); MultiTrigger dt = new MultiTrigger(typeof(View)); Assert.IsNotNull(dt, "Should not be null"); tlog.Debug(tag, $"MultiTriggerConstructor END"); }
public void SettersTest() { tlog.Debug(tag, $"SettersTest START"); MultiTrigger dt = new MultiTrigger(typeof(View)); Assert.IsNotNull(dt, "Should not be null"); var ret = dt.Setters; //null Assert.AreEqual(0, ret.Count, "Should be equal"); tlog.Debug(tag, $"SettersTest END"); }
//SerializedProperty prop; private void OnEnable() { trig = (MultiTrigger)target; curbox = -1; //prop = serializedObject.FindProperty("Triggers"); list = new ReorderableList(serializedObject, serializedObject.FindProperty("Triggers"), true, true, true, true); list.elementHeight = EditorGUIUtility.singleLineHeight * 5f + 5f; list.drawElementCallback = BuildGUI; list.drawHeaderCallback = BuildTitle; list.onSelectCallback = OnSelectItem; }
public void SettersAppliedAndUnappliedOnConditionsChange() { var conditionbp = BindableProperty.Create("foo", typeof(string), typeof(BindableObject), null); var setterbp = BindableProperty.Create("bar", typeof(string), typeof(BindableObject), null); var element = new MockElement(); var multiTrigger = new MultiTrigger(typeof(VisualElement)) { Conditions = { new PropertyCondition { Property = conditionbp, Value = "foobar" }, new BindingCondition { Binding = new Binding("baz"), Value = "foobaz" }, }, Setters = { new Setter { Property = setterbp, Value = "qux" }, } }; element.SetValue(setterbp, "default"); element.BindingContext = new { baz = "" }; element.Triggers.Add(multiTrigger); Assert.AreEqual("default", element.GetValue(setterbp)); //both conditions false element.SetValue(conditionbp, "foobar"); Assert.AreEqual("default", element.GetValue(setterbp)); //one condition false element.BindingContext = new { baz = "foobaz" }; Assert.AreEqual("qux", element.GetValue(setterbp)); //both condition true element.BindingContext = new { baz = "" }; Assert.AreEqual("default", element.GetValue(setterbp)); //one condition false element.BindingContext = new { baz = "foobaz" }; Assert.AreEqual("qux", element.GetValue(setterbp)); //both condition true element.SetValue(conditionbp, ""); Assert.AreEqual("default", element.GetValue(setterbp)); //one condition false element.SetValue(conditionbp, "foobar"); Assert.AreEqual("qux", element.GetValue(setterbp)); //both condition true element.SetValue(conditionbp, ""); element.BindingContext = new { baz = "foobaz" }; Assert.AreEqual("default", element.GetValue(setterbp)); //both conditions false }
/// <summary> /// Рассчитывает стиль линии в зависимости от предоставленной кисти /// </summary> public static Style CalculateRectangleStyle(Brush brush) { Brush b = (VisualBrush)XamlReader.Parse(DrawTool.HatchBrushXaml); Style style = new Style(); style.TargetType = typeof(Path); style.Setters.Add(new Setter(Path.FillProperty, brush)); Trigger t = new Trigger() { Property = Path.TagProperty, Value = ShapeTag.Select }; t.Setters.Add(new Setter(Path.StrokeProperty, Brushes.Red)); t.Setters.Add(new Setter(Path.StrokeThicknessProperty, 2.0)); style.Triggers.Add(t); MultiTrigger mt = new MultiTrigger(); mt.Conditions.Add(new Condition(Path.IsMouseOverProperty, true)); mt.Conditions.Add(new Condition(Path.TagProperty, ShapeTag.None)); mt.Setters.Add(new Setter(Path.StrokeProperty, Brushes.Red)); mt.Setters.Add(new Setter(Path.StrokeDashArrayProperty, new DoubleCollection(new double[] { 2, 2 }))); mt.Setters.Add(new Setter(Path.StrokeThicknessProperty, 2.0)); style.Triggers.Add(mt); t = new Trigger() { Property = Path.TagProperty, Value = ShapeTag.Select | ShapeTag.Deleting }; t.Setters.Add(new Setter(Path.StrokeProperty, Brushes.Red)); t.Setters.Add(new Setter(Path.StrokeThicknessProperty, 2.0)); t.Setters.Add(new Setter(Path.FillProperty, b)); style.Triggers.Add(t); t = new Trigger() { Property = Path.TagProperty, Value = ShapeTag.Deleting }; t.Setters.Add(new Setter(Path.StrokeProperty, Brushes.Red)); t.Setters.Add(new Setter(Path.StrokeThicknessProperty, 2.0)); t.Setters.Add(new Setter(Path.FillProperty, b)); style.Triggers.Add(t); return(style); }
public void AddEvent_containMultiTrigger_TheAddedEventGetsFired() { TriggerManager tm = new TriggerManager(); bool eventfired = false; MultiTrigger mt = new MultiTrigger(); tm.Register(mt); mt.AddAction<XmasEvent>(e => eventfired = true); mt.RegisterEvent<UnitTakesDamagePostEvent>(); tm.Raise(new UnitTakesDamagePostEvent(null, null, 0, 0)); Assert.IsTrue(eventfired); }
public ListBoxHotColor(Color hotColor) { var setter = new Setter(); setter.Property = ListBoxItem.BackgroundProperty; setter.Value = new SolidColorBrush(hotColor); var trigger = new MultiTrigger(); trigger.Conditions.Add(new Condition(ListBoxItem.IsMouseOverProperty, true)); trigger.Conditions.Add(new Condition(ListBoxItem.IsSelectedProperty, false)); trigger.Setters.Add(setter); var listBoxStyle = new Style(typeof(ListBoxItem)); listBoxStyle.Triggers.Add(trigger); _listBoxStyle = listBoxStyle; }
public static Style CalculatePolylineStyle(Brush brush, double stroke) { Brush b = (VisualBrush)XamlReader.Parse(DrawTool.HatchBrushXaml); Style style = new Style { TargetType = typeof(Line) }; style.Setters.Add(new Setter(Line.StrokeProperty, brush)); style.Setters.Add(new Setter(Line.StrokeThicknessProperty, stroke)); style.Setters.Add(new Setter(Line.StrokeLineJoinProperty, PenLineJoin.Round)); MultiTrigger mt = new MultiTrigger(); mt.Conditions.Add(new Condition(Line.IsMouseOverProperty, true)); mt.Conditions.Add(new Condition(Line.TagProperty, ShapeTag.None)); mt.Setters.Add(new Setter(Line.StrokeProperty, Brushes.Red)); style.Triggers.Add(mt); Trigger t = new Trigger() { Property = Line.TagProperty, Value = ShapeTag.Select }; t.Setters.Add(new Setter(Line.StrokeProperty, Brushes.Red)); style.Triggers.Add(t); t = new Trigger() { Property = Line.TagProperty, Value = ShapeTag.Select | ShapeTag.Deleting }; t.Setters.Add(new Setter(Line.StrokeProperty, b)); style.Triggers.Add(t); t = new Trigger() { Property = Line.TagProperty, Value = ShapeTag.Deleting }; t.Setters.Add(new Setter(Line.StrokeProperty, b)); style.Triggers.Add(t); return(style); }
public void TriggerOverlapTest() { Trigger trigger1 = new Trigger { Property = new DependencyPropertyPathElement(Value1Property), Value = 1 }; trigger1.Setters.Add(new Setter { Property = new DependencyPropertyPathElement(Value3Property), Value = 1 }); MultiTrigger trigger2 = new MultiTrigger(); trigger2.Conditions.Add(new Condition { Property = new DependencyPropertyPathElement(Value1Property), Value = 1 }); trigger2.Conditions.Add(new Condition { Property = new DependencyPropertyPathElement(Value2Property), Value = 2 }); trigger2.Setters.Add(new Setter { Property = new DependencyPropertyPathElement(Value3Property), Value = 2 }); FrameworkElement element = new FrameworkElement(); element.Triggers.Add(trigger1); element.Triggers.Add(trigger2); element.SetValue(Value1Property, 1); element.SetValue(Value2Property, 0); Assert.AreEqual(1, element.GetValue(Value3Property)); element.SetValue(Value1Property, 1); element.SetValue(Value2Property, 2); Assert.AreEqual(2, element.GetValue(Value3Property)); element.SetValue(Value1Property, 1); element.SetValue(Value2Property, 0); Assert.AreEqual(1, element.GetValue(Value3Property)); }
Controls.MultiTrigger CreateMultiTrigger(MultiTrigger t, Value v, Event e) { var result = new Controls.MultiTrigger(); result.ParentPage = this; result.ParentEvent = e; result.ParentValue = v; result.ParentMultiTrigger = t; foreach (var trigger in t.triggers) { result.Triggers.Add(CreateTrigger(trigger, v, e)); } result.AddTriggerClicked += MultiTrigger_AddTriggerClicked; result.SettingChanged += MultiTrigger_SettingChanged; result.RemoveClicked += MultiTrigger_RemoveClicked; return(result); }
public void AddAction_containMultiTrigger_TheActionIsNotFired() { TriggerManager tm = new TriggerManager(); bool actionfired = false; MultiTrigger mt = new MultiTrigger(); Action<UnitTakesDamagePostEvent> action = (e => actionfired = true); mt.RegisterEvent<UnitTakesDamagePostEvent>(); tm.Register(mt); mt.AddAction(action); tm.Raise(new UnitTakesDamagePostEvent(null, null, 0, 0)); Assert.IsTrue(actionfired); }
public void AddEventToUnit_containMultiTrigger_TheAddedEventGetsFired() { EventManager gem = new EventManager(); Unit A = new Unit(); gem.AddEntity(A); bool eventfired = false; MultiTrigger mt = new MultiTrigger(); A.Register(mt); mt.AddAction<XmasEvent>(e => eventfired = true); mt.RegisterEvent<UnitTakesDamagePostEvent>(); A.Raise(new UnitTakesDamagePostEvent(null, null, 0, 0)); Assert.IsTrue(eventfired); }
public void MultiTriggerBasicTest() { Condition condition1 = new Condition { Property = new DependencyPropertyPathElement(Value1Property), Value = 1 }; Condition condition2 = new Condition { Property = new DependencyPropertyPathElement(Value2Property), Value = 2 }; MultiTrigger multiTrigger = new MultiTrigger(); multiTrigger.Conditions.Add(condition1); multiTrigger.Conditions.Add(condition2); multiTrigger.Setters.Add(new Setter { Property = new DependencyPropertyPathElement(Value3Property), Value = 3 }); FrameworkElement element = new FrameworkElement(); element.SetValue(Value1Property, 1); element.SetValue(Value2Property, 2); Assert.AreEqual(1, element.GetValue(Value1Property)); Assert.AreEqual(2, element.GetValue(Value2Property)); Assert.AreEqual(0, element.GetValue(Value3Property)); element.Triggers.Add(multiTrigger); Assert.AreEqual(3, element.GetValue(Value3Property)); element.SetValue(Value1Property, 2); Assert.AreEqual(0, element.GetValue(Value3Property)); element.SetValue(Value1Property, 1); Assert.AreEqual(3, element.GetValue(Value3Property)); element.Triggers.Remove(multiTrigger); Assert.AreEqual(0, element.GetValue(Value3Property)); }
void SaveMultiTrigger(MultiTrigger mt, Value v, Event e, DataTable dt) { string adr = "/GeneratedData/GeneratedEvents/Event||" + e.id.ToString("00"); adr += "/Value||" + v.id.ToString("00") + "/Triggers"; adr += "/MultiTrigger"; int id = DataTable_Functions.TrakHound.GetUnusedAddressId(adr, dt); adr = adr + "||" + id.ToString("00"); // Set Attributes string attr = ""; attr += "id||" + id.ToString("00") + ";"; DataTable_Functions.UpdateTableValue(dt, "address", adr, "attributes", attr); foreach (var trigger in mt.triggers) { SaveTrigger(trigger, v, e, dt, adr); } }
protected override void Invoke(SwitchGroupLayout sender) { MultiTrigger _trigger = new MultiTrigger(typeof(SwitchGroupLayout)); BindingCondition _condition = new BindingCondition() { }; List <Switch> lista = new List <Switch>(); var _this = sender as Layout <View>; foreach (var view in _this.Children) { if (view is Switch && view != sender) { /* * _trigger.Conditions.Add(new BindingCondition() { * * Binding:((Switch)view).BindingContext.ToString(),source:"IsToggled" * * }); * //lista.Add((Switch)view);*/ } } //_trigger.Conditions.Add(); }
static MultiTrigger GetMultiTriggerFromRow(Value v, DataRow row) { MultiTrigger result = null; string adr = row["address"].ToString(); if (adr.Contains("MultiTrigger")) { int eventIndex = adr.IndexOf("MultiTrigger"); int separatorIndex = adr.IndexOf("||", eventIndex); int slashIndex = adr.IndexOf("/", separatorIndex + 1); if (slashIndex > separatorIndex || slashIndex == -1) { string val = row["value"].ToString(); string strId = null; if (slashIndex >= 0) { strId = adr.Substring(separatorIndex + 2, 2); } else { strId = adr.Substring(separatorIndex + 2); } int id; if (int.TryParse(strId, out id)) { result = new MultiTrigger(); result.id = id; } } } return(result); }
public void deregMulti(MultiTrigger trigger) { trigger.DeregisteredEvent -= trigger_DeregisteredEvent; trigger.RegisteredEvent -= trigger_RegisteredEvent; }
public static bool CreaBloccoAnimazioni(Style stile, List <Condition> condizioni, List <Timeline> animazioniEntrata, List <Timeline> animazioniUscita = null, bool RemoveStbInUscita = true, Mess logMess = null) { if (logMess == null) { logMess = new Mess(LogType.Warn, Log.main.warnUserText); } if (stile == null) { logMess.testoDaLoggare = "ricevuto stile a null"; Log.main.Add(logMess); return(false); } if (condizioni == null) { logMess.testoDaLoggare = "ricevuto condizioni a null"; Log.main.Add(logMess); return(false); } if (animazioniEntrata == null) { logMess.testoDaLoggare = "ricevuto animazioniEntrata a null"; Log.main.Add(logMess); return(false); } if (animazioniEntrata.Count == 0) { logMess.testoDaLoggare = "ricevuta lista animazioniEntrata vuota"; Log.main.Add(logMess); return(false); } object trgMain = null; Storyboard stbMain = new Storyboard(); switch (condizioni.Count) { case 0: logMess.testoDaLoggare = "ricevuta lista condizioni vuota"; Log.main.Add(logMess); return(false); case 1: trgMain = new Trigger(); (trgMain as Trigger).Property = condizioni[0].Property; (trgMain as Trigger).Value = condizioni[0].Value; break; case int n when(n > 1): trgMain = new MultiTrigger(); foreach (Condition condizione in condizioni) { (trgMain as MultiTrigger).Conditions.Add(condizione); } break; } //Animazioni in trigger EnterActions Storyboard stbEnterAction = new Storyboard(); foreach (Timeline animazione in animazioniEntrata) { stbEnterAction.Children.Add(animazione); } //Animazioni in trigger ExitActions Storyboard stbExitAction; if (animazioniUscita != null && animazioniUscita.Count == 0) { animazioniUscita = null; } if (animazioniUscita != null) { stbExitAction = new Storyboard(); foreach (Timeline animazione in animazioniEntrata) { stbEnterAction.Children.Add(animazione); } } string nomeBeginStoryboard = Str.GeneraRandom(5, Str.TipiRandom.soloLettere); (trgMain as TriggerBase).EnterActions.Add(new BeginStoryboard() { Name = nomeBeginStoryboard, Storyboard = stbEnterAction }); if (animazioniUscita == null && RemoveStbInUscita == true) { (trgMain as TriggerBase).ExitActions.Add(new RemoveStoryboard() { BeginStoryboardName = nomeBeginStoryboard }); } stile.RegisterName(nomeBeginStoryboard, (trgMain as TriggerBase).EnterActions[0]); stile.Triggers.Add((trgMain as TriggerBase)); return(true); }
public void RemoveCondition_containMultiTrigger_TheActionIsFired() { TriggerManager tm = new TriggerManager(); bool actionfired = false; MultiTrigger mt = new MultiTrigger(); Predicate<UnitTakesDamagePostEvent> cond = (e => false); mt.AddCondition(cond); mt.AddAction<XmasEvent>(e => actionfired = true); mt.RegisterEvent<UnitTakesDamagePostEvent>(); tm.Register(mt); mt.RemoveCondition(cond); tm.Raise(new UnitTakesDamagePostEvent(null, null, 0, 0)); Assert.IsTrue(actionfired); }
/// <summary> /// Initializes a new instance of the <see cref="MultiTriggerItem" /> class. /// </summary> public MultiTriggerItem(MultiTrigger trigger, DependencyObject source, TriggerSource triggerSource) : base(trigger, source, TriggerType.MultiTrigger, triggerSource) { this.trigger = trigger; this.source = source; }
/// <summary> /// Initializes a new instance of the <see cref="MultiTriggerItem" /> class. /// </summary> public MultiTriggerItem(MultiTrigger trigger, FrameworkElement source, TriggerSource triggerSource) : base(trigger, source, TriggerType.MultiTrigger, triggerSource) { this.trigger = trigger; this.source = source; }
/*public class esCorrecte : IValueConverter * { * object IValueConverter.ConvertBack (object value, Type targetType, object parameter, CultureInfo culture) * { * throw new NotImplementedException (); * } * public object Convert(object value, Type TargetType, object parameter, CultureInfo culture) * { * var aux = value as CustomCell; * var a = aux.esPrimerCop (); * var b = aux.esValid2 (); * if (aux.esPrimerCop ())return false; * else { * return aux.esValid2() ? true : false; * } * * * } * }*/ private void inicialitzarComponents() { var a = new CustomCell(0, "ex: Eolymp Run", "Nom: ", "nomCursa"); var b = new CustomCell(1, "ex: 1", "Dorsal: ", "dorsal"); var c = new CustomCell(1, "ex: 1", "Posicio: ", "posicio"); var d = new CustomCell(1, "en km", "Distancia: ", "distancia"); var ee = new CustomCell(1, "ex: 1", "Posicio Categoria: ", "posicioCategoria"); var f = new CustomCell(0, "ex: Masculina", "Categoria: ", "categoria"); var g = new CustomCell(0, "ex: Eolymp club", "Club: ", "club"); var h = new CustomCell(2, "HH:MM:SS", "Inici cursa: ", "iniciCursa"); var i = new CustomCell(3, "HH:MM:SS", "Temps real: ", "tempsReal"); var j = new CustomCell(3, "HH:MM:SS", "Temps oficial: ", "tempsOficial"); var k = new CustomCell(2, "HH:MM:SS", "Inici real: ", "iniciReal"); var l = new CustomCell(2, "HH:MM:SS", "Hora meta: ", "horaMeta"); var m = new CustomCell(3, "HH:MM:SS", "Ritme: ", "ritme"); var n = new CustomCell(2, "HH:MM:SS", "Temps Km5: ", "km5"); var o = new CustomCell(3, "HH:MM:SS", "Hora Km 5: ", "horaKm5"); var p = new CustomCell(2, "HH:MM:SS", "Temps Km 10: ", "km10"); var q = new CustomCell(3, "HH:MM:SS", "Hora Km 10: ", "horaKm10"); var afageix = new Button { Text = "Afageix", IsEnabled = false }; afageix.SetBinding(Button.CommandProperty, "Save"); afageix.Clicked += (sender, e) => { DisplayAlert("Guardada!", "La vostre marca ha estat guardada satisfactoriament", "D'acord"); ((MasterDetailPage)App.Current.MainPage).Detail.Navigation.PopAsync(); }; /*var correcte = new Setter { * Property = VisualElement.IsEnabledProperty, * Value = true, * }; * var incorrecte = new Setter { * Property = Button.IsEnabledProperty, * Value = false, * }; * * var totCorrecte = new MultiTrigger(typeof(Button)) { * Conditions = { * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: a), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: b), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: c), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: d), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: ee), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: f), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: g), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: h), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: i), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: j), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: k), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: l), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: m), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: n), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: o), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: p), * Value = true * }, * new BindingCondition { * Binding = new Binding(".",BindingMode.Default,new esCorrecte(), source: q), * Value = true * }, * }, * Setters = { correcte }, * }; */ var correcte = new Setter { Property = VisualElement.IsEnabledProperty, Value = true, }; var totCorrecte = new MultiTrigger(typeof(Button)) { Conditions = { new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: a.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: b.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: c.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: d.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: ee.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: f.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: g.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: h.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: i.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: j.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: k.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: l.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: m.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: n.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: o.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: p.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: q.esCorrecte()), Value = " ", }, }, Setters = { correcte }, }; afageix.Triggers.Add(totCorrecte); //afageix.Triggers.Add (totbuit); //afageix.Triggers.Add(multiFormatInvalid); //afageix.Triggers.Add (multiCaracterInvalid); var tabView = new TableView { BackgroundColor = Color.Transparent, Intent = TableIntent.Form, Root = new TableRoot() { } }; var aux = new TableSection(); aux.Add(a); aux.Add(f); aux.Add(g); aux.Add(b); aux.Add(c); aux.Add(d); aux.Add(ee); aux.Add(m); aux.Add(h); aux.Add(i); aux.Add(j); aux.Add(k); aux.Add(l); aux.Add(n); aux.Add(o); aux.Add(p); aux.Add(q); tabView.Root.Add(aux); var sl = new StackLayout(); sl.Children.Add(tabView); sl.Children.Add(afageix); Content = sl; }
private void inicialitzarComponents(Dictionary <string, object> info) { var a = new CustomCell(0, info["nom"].ToString(), "Nom: ", "nomCursa"); var b = new CustomCell(1, info ["dorsal"].ToString(), "Dorsal: ", "dorsal"); var c = new CustomCell(1, info ["posicio"].ToString(), "Posicio: ", "posicio"); var d = new CustomCell(1, info ["distancia"].ToString(), "Distancia: ", "distancia"); var ee = new CustomCell(1, info ["posicioCategoria"].ToString(), "Posicio Categoria: ", "posicioCategoria"); var f = new CustomCell(0, info ["categoria"].ToString(), "Categoria: ", "categoria"); var g = new CustomCell(0, info ["club"].ToString(), "Club: ", "club"); var h = new CustomCell(2, info ["iniciCursa"].ToString(), "Inici cursa: ", "iniciCursa"); var i = new CustomCell(3, info ["tempsReal"].ToString(), "Temps real: ", "tempsReal"); var j = new CustomCell(3, info ["tempsOficial"].ToString(), "Temps oficial: ", "tempsOficial"); var k = new CustomCell(2, info ["iniciReal"].ToString(), "Inici real: ", "iniciReal"); var l = new CustomCell(2, info ["horaMeta"].ToString(), "Hora meta: ", "horaMeta"); var m = new CustomCell(3, info ["ritme"].ToString(), "Ritme: ", "ritme"); var n = new CustomCell(2, info ["k59"].ToString(), "Temps Km5: ", "km5"); var o = new CustomCell(3, info ["h59"].ToString(), "Hora Km 5: ", "horaKm5"); var p = new CustomCell(2, info ["k10"].ToString(), "Temps Km 10: ", "km10"); var q = new CustomCell(3, info ["h10"].ToString(), "Hora Km 10: ", "horaKm10"); var afageix = new Button { Text = "Modifica", IsEnabled = false }; //afageix.SetBinding (Button.CommandProperty, "Modificada"); afageix.Clicked += (object sender, EventArgs e) => { DisplayAlert("Modificada!", "Per veure els canvis feu lliscar la llista cap abaix", "D'acord"); ((MasterDetailPage)App.Current.MainPage).Detail.Navigation.PopToRootAsync(); }; var correcte = new Setter { Property = VisualElement.IsEnabledProperty, Value = true, }; var totCorrecte = new MultiTrigger(typeof(Button)) { Conditions = { new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: a.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: b.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: c.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: d.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: ee.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: f.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: g.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: h.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: i.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: j.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: k.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: l.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: m.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: n.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: o.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: p.esCorrecte()), Value = " ", }, new BindingCondition { Binding = new Binding(Label.TextProperty.PropertyName, source: q.esCorrecte()), Value = " ", }, }, Setters = { correcte }, }; afageix.Triggers.Add(totCorrecte); //a,b,c,d,ee,f,g,h,i,j,k,l,m,n,o,p,q,afageix)); var tabView = new TableView { BackgroundColor = Color.Transparent, Intent = TableIntent.Form, Root = new TableRoot() { } }; var aux = new TableSection(); aux.Add(a); aux.Add(f); aux.Add(g); aux.Add(b); aux.Add(c); aux.Add(d); aux.Add(ee); aux.Add(m); aux.Add(h); aux.Add(i); aux.Add(j); aux.Add(k); aux.Add(l); aux.Add(n); aux.Add(o); aux.Add(p); aux.Add(q); tabView.Root.Add(aux); mainStackL = new StackLayout(); mainStackL.Children.Add(tabView); mainStackL.Children.Add(afageix); Content = mainStackL; }
/// <summary> /// Initializes a new instance of the <see cref="MultiTriggerItem"/> class. /// </summary> public MultiTriggerItem(MultiTrigger trigger, FrameworkElement source, TriggerSource triggerSource) : base(source, TriggerType.MultiTrigger, triggerSource) { _trigger = trigger; _source = source; }
private void Awake() { c = 0; mt = GetComponentInParent <MultiTrigger>(); }
private void regMulti(MultiTrigger trigger) { trigger.DeregisteredEvent += trigger_DeregisteredEvent; trigger.RegisteredEvent += trigger_RegisteredEvent; }
public static List <Event> GetGeneratedEvents(DataTable dt) { var result = new List <Event>(); var table = UpdateTable(dt); string address = "/GeneratedEvents/"; string filter = "address LIKE '" + address + "*'"; DataView dv = table.AsDataView(); dv.RowFilter = filter; DataTable temp_dt = dv.ToTable(); temp_dt.PrimaryKey = new DataColumn[] { temp_dt.Columns["address"] }; // Get Events foreach (DataRow row in temp_dt.Rows) { Event e = GetEventFromRow(result, row); if (e != null) { result.Add(e); } } // Get Values foreach (Event e in result) { string eventfilter = "address LIKE '" + address + "Event||" + e.id.ToString("00") + "/"; dv = table.AsDataView(); dv.RowFilter = eventfilter + "*'"; temp_dt = dv.ToTable(); temp_dt.PrimaryKey = new DataColumn[] { temp_dt.Columns["address"] }; foreach (DataRow row in temp_dt.Rows) { Value v = GetValueFromRow(e, row); if (v != null) { e.values.Add(v); } GetDefaultFromRow(e, row); // Get Capture Items CaptureItem ci = GetCaptureItemFromRow(e, row); if (ci != null) { e.captureItems.Add(ci); } } foreach (Value v in e.values) { filter = eventfilter + "Value||" + v.id.ToString("00") + "/" + "*'"; dv = table.AsDataView(); dv.RowFilter = filter; temp_dt = dv.ToTable(); temp_dt.PrimaryKey = new DataColumn[] { temp_dt.Columns["address"] }; foreach (DataRow row in temp_dt.Rows) { Trigger t = GetTriggerFromRow(v, row); if (t != null) { var match = GetMultiTriggerFromRow(v, row); if (match != null) { MultiTrigger multiTrigger = v.triggers.OfType <MultiTrigger>().ToList().Find(x => x.id == match.id); if (multiTrigger != null) { multiTrigger.triggers.Add(t); } } else { v.triggers.Add(t); } } MultiTrigger mt = GetMultiTriggerFromRow(v, row); if (mt != null) { MultiTrigger multiTrigger = v.triggers.OfType <MultiTrigger>().ToList().Find(x => x.id == mt.id); if (multiTrigger == null) { v.triggers.Add(mt); } } GetResultFromRow(v, row); } } } return(result); }