public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { UltimaPacketPropertyDefinition definition = parameter as UltimaPacketPropertyDefinition; if (definition != null) { return(UltimaPacketFilterParser.GetTypeOperations(definition)); } return(null); }
private void UpdateSample() { UltimaPacketFilterProperty filter = Filters.SelectedValue as UltimaPacketFilterProperty; UltimaPacketPropertyDefinition property = Definition.SelectedValue as UltimaPacketPropertyDefinition; UltimaPacketFilterTypeOperation?operation = Operation.SelectedValue as UltimaPacketFilterTypeOperation?; if (filter != null && property != null && operation != null) { SampleValue.Text = UltimaPacketFilterParser.GetSample(property, (UltimaPacketFilterTypeOperation)operation, false); Sample.Text = UltimaPacketFilterParser.GetComposedSample(property, (UltimaPacketFilterTypeOperation)operation, false, false); } }
private void Validate() { try { IsValid = UltimaPacketFilterParser.TryParse(Value, Definition, Operation, out _Value); } catch { IsValid = false; } Text = ToString(); }
private void UpdateEntry() { UltimaPacketFilterEntry entry = Entry; if (entry == null) { DataContext = null; Filters.DataContext = null; return; } DataContext = entry; // Clone filter properties Properties = new List <UltimaPacketFilterProperty>(); if (entry.Properties != null) { foreach (UltimaPacketFilterProperty property in entry.Properties) { Properties.Add(property.Clone()); } } Filters.ItemsSource = null; Filters.ItemsSource = Properties; if (Properties.Count > 0) { Filters.SelectedIndex = 0; } // Get available properties List <UltimaPacketPropertyDefinition> availableProperties = new List <UltimaPacketPropertyDefinition>(); foreach (UltimaPacketPropertyDefinition definition in Entry.Definition.Properties) { if (UltimaPacketFilterParser.GetTypeOperations(definition) != null) { availableProperties.Add(definition); } } Definition.ItemsSource = availableProperties; }
private void Definition_SelectionChanged(object sender, SelectionChangedEventArgs e) { UltimaPacketFilterProperty filter = Filters.SelectedValue as UltimaPacketFilterProperty; UltimaPacketPropertyDefinition property = Definition.SelectedValue as UltimaPacketPropertyDefinition; if (property != null) { Operation.ItemsSource = UltimaPacketFilterParser.GetTypeOperations(property); } if (filter != null) { Operation.SelectedValue = null; Operation.SelectedValue = filter.Operation; } UpdateSample(); }
private static void Definition_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e) { UltimaPacketFilterProperty property = d as UltimaPacketFilterProperty; if (property != null) { property._Code = Type.GetTypeCode(property.Definition.Info.PropertyType); // Check operation if (property.Definition != null) { UltimaPacketFilterTypeOperation operation = UltimaPacketFilterTypeOperation.Greater; if (!UltimaPacketFilterParser.IsValidOperation(property.Definition, property.Operation, ref operation)) { property.Operation = operation; } } property.Validate(); } }