Beispiel #1
0
        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);
            }
        }
Beispiel #3
0
        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();
        }
Beispiel #6
0
        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();
            }
        }