Пример #1
0
        public static Grid FixtureWithNoLabel(FixtureClass fixtureClass)
        {
            Grid grid = new Grid();

            grid.Margin = new Thickness(1, 1, 1, 1);

            RowDefinition rowdef = new RowDefinition();

            rowdef.Height = new GridLength(1, GridUnitType.Star);
            grid.RowDefinitions.Add(rowdef);

            rowdef        = new RowDefinition();
            rowdef.Height = GridLength.Auto;
            grid.RowDefinitions.Add(rowdef);

            Image image = new Image();

            image.Style  = (Style)ResourceLocator.FindResource("ImageStyle");
            image.Source = TwGui.GetImage(fixtureClass.ImageFilename);

            Border border = new Border();

            border.Style      = (Style)ResourceLocator.FindResource("FixtureBorderStyle");
            border.Background = TwBrushes.FrozenSolidColorBrush(fixtureClass.Color);
            border.Child      = image;

            Grid.SetRow(border, 1);
            grid.Children.Add(border);

            grid.ToolTip = fixtureClass.FriendlyName;

            return(grid);
        }
Пример #2
0
        FixtureClass GetFixture(string token, ref string error, ref bool exclude)
        {
            exclude = token[0] == '-' ? true : false;

            string s = null;

            if (exclude && token.Length == 1)
            {
                error = "Invalid Fixture: " + token[0];
                return(null);
            }
            else
            {
                s = exclude ? token.Substring(1) : token;
            }

            FixtureClass fixtureClass = FixtureClasses.GetByName(s);

            if (fixtureClass == null)
            {
                fixtureClass = FixtureClasses.GetByShortName(s);
            }
            if (fixtureClass == null)
            {
                fixtureClass = FixtureClasses.GetByCharacter(s);
            }

            return(fixtureClass);
        }
Пример #3
0
        void DispatchDrop(FixtureClass fixtureClass)
        {
            if (fixtureClass != null)
            {
                bool withAdoption = AdoptionRequested();

                if (Events.SelectedEvents.Contains(Event))
                {
                    Events.ManuallyClassify(Events.SelectedEvents, fixtureClass, withAdoption, EventsCanvas.UndoPosition);
                }
                else
                {
                    Events.ManuallyClassify(Event, fixtureClass, withAdoption, EventsCanvas.UndoPosition);
                }
            }
            else
            {
                if (Events.SelectedEvents.Contains(Event))
                {
                    Events.ManuallyToggleFirstCycle(Events.SelectedEvents, false, null, EventsCanvas.UndoPosition);
                }
                else
                {
                    Events.ManuallyToggleFirstCycle(Event, EventsCanvas.UndoPosition);
                }
            }
        }
Пример #4
0
        public static Brush FrozenSolidColorBrush(FixtureClass fixtureClass)
        {
            var brush = new SolidColorBrush(fixtureClass.Color);

            brush.Freeze();
            return(brush);
        }
Пример #5
0
        void UpdateFixturesMenu(ItemCollection items)
        {
            foreach (var item in items)
            {
                var menuItem = item as MenuItem;
                if (menuItem != null)
                {
                    Grid grid = menuItem.Header as Grid;

                    if (grid != null)
                    {
                        FixtureClass fixtureClass = grid.Tag as FixtureClass;
                        if (fixtureClass != null)
                        {
                            var polygon = menuItem.Tag as Polygon;
                            if (polygon != null)
                            {
                                var @event = polygon.Tag as Event;
                                if (@event != null)
                                {
                                    if (@event.FixtureClass == fixtureClass)
                                    {
                                        menuItem.IsChecked = true;
                                    }
                                    else
                                    {
                                        menuItem.IsChecked = false;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Пример #6
0
        MenuItem CreateFixtureMenuFindPreviousOtherItem(FixtureClass fixtureClass)
        {
            var menuItem = CreateFixtureMenuItemLow(fixtureClass);

            menuItem.Click += new RoutedEventHandler(contextMenuFindPreviousOther_Click);
            return(menuItem);
        }
Пример #7
0
 void SetActualTotalInstancesToolTip(FrameworkElement element, FixtureClass fixtureClass)
 {
     element.ToolTip = new EventsProperties(
         null, fixtureClass, Trace.ClassificationAggregationActual.FixtureSummaries[fixtureClass].Events,
         Trace.ClassificationAggregationActual.FixtureSummaries[fixtureClass].Events.Count);
     SetToolTipService(element);
 }
Пример #8
0
        void PopulateCell(int iRow, int iColumn, FixtureClass fixtureClassRow, FixtureClass fixtureClassColumn)
        {
            TextBlock textBlock;

            textBlock            = FormatCell(Trace.ConfusionMatrix[fixtureClassRow][fixtureClassColumn].Count);
            textBlock.FontWeight = iRow == iColumn ? FontWeights.Bold : FontWeights.Normal;
            textBlock.Tag        = DisplayMode.By_Events;
            textBlock.Visibility = Visibility.Hidden;

            if (Trace.ConfusionMatrix[fixtureClassRow][fixtureClassColumn].Count > 0)
            {
                SetCellToolTip(textBlock, fixtureClassRow, fixtureClassColumn);
            }

            Grid.SetRow(textBlock, iRow);
            Grid.SetColumn(textBlock, iColumn);
            gridOuter.Children.Add(textBlock);

            textBlock            = FormatCell(Trace.ConfusionMatrix[fixtureClassRow][fixtureClassColumn].Volume, FormatVolume);
            textBlock.FontWeight = iRow == iColumn ? FontWeights.Bold : FontWeights.Normal;
            textBlock.Tag        = DisplayMode.By_Volume;
            textBlock.Visibility = Visibility.Hidden;

            if (Trace.ConfusionMatrix[fixtureClassRow][fixtureClassColumn].Count > 0)
            {
                SetCellToolTip(textBlock, fixtureClassRow, fixtureClassColumn);
            }

            Grid.SetRow(textBlock, iRow);
            Grid.SetColumn(textBlock, iColumn);
            gridOuter.Children.Add(textBlock);

            textBlock            = FormatCell(Trace.ConfusionMatrix[fixtureClassRow][fixtureClassColumn].AdoptionSources.Count);
            textBlock.FontWeight = iRow == iColumn ? FontWeights.Bold : FontWeights.Normal;
            textBlock.Tag        = DisplayMode.Adoption_Sources;
            textBlock.Visibility = Visibility.Hidden;

            if (Trace.ConfusionMatrix[fixtureClassRow][fixtureClassColumn].AdoptionSources.Count > 0)
            {
                SetAdoptionSourcesCellToolTip(textBlock, fixtureClassRow, fixtureClassColumn);
            }

            Grid.SetRow(textBlock, iRow);
            Grid.SetColumn(textBlock, iColumn);
            gridOuter.Children.Add(textBlock);

            textBlock            = FormatCell(Trace.ConfusionMatrix[fixtureClassRow][fixtureClassColumn].AdoptionTargets.Count);
            textBlock.FontWeight = iRow == iColumn ? FontWeights.Bold : FontWeights.Normal;
            textBlock.Tag        = DisplayMode.Adoption_Targets;
            textBlock.Visibility = Visibility.Hidden;

            if (Trace.ConfusionMatrix[fixtureClassRow][fixtureClassColumn].AdoptionTargets.Count > 0)
            {
                SetAdoptionTargetsCellToolTip(textBlock, fixtureClassRow, fixtureClassColumn);
            }

            Grid.SetRow(textBlock, iRow);
            Grid.SetColumn(textBlock, iColumn);
            gridOuter.Children.Add(textBlock);
        }
Пример #9
0
        void PopulateRowHeaderNoText(FixtureClass fixtureClass, int iColumn)
        {
            Grid grid = TwGui.FixtureWithNoLabel(fixtureClass);

            Grid.SetRow(grid, gridOuter.RowDefinitions.Count - 1);
            Grid.SetColumn(grid, iColumn);
            gridOuter.Children.Add(grid);
        }
Пример #10
0
        MenuItem CreateFixtureMenuItem(FixtureClass fixtureClass)
        {
            var menuItem = CreateFixtureMenuItemLow(fixtureClass);

            menuItem.IsChecked = (Event.FixtureClass == fixtureClass);
            menuItem.Click    += new RoutedEventHandler(contextMenuFixture_Click);
            return(menuItem);
        }
Пример #11
0
 public ShortFixtureLabel(FixtureClass fixtureClass, bool manuallyClassified, bool firstCycle, bool firstCycleManuallyClassified)
 {
     InitializeComponent();
     ManuallyClassified           = manuallyClassified;
     FixtureClass                 = fixtureClass;
     FirstCycle                   = firstCycle;
     FirstCycleManuallyClassified = firstCycleManuallyClassified;
 }
Пример #12
0
 void InitializeFixtureSummaries(FixtureSummaries fixtureSummaries)
 {
     for (int i = 0; i < FixtureClasses.Items.Count; i++)
     {
         FixturePanel fixturePanel = (FixturePanel)grid.Children[i];
         FixtureClass fixtureClass = fixturePanel.FixtureClass;
     }
 }
Пример #13
0
 public ConfusionMatrixCell(FixtureClass fixtureClassPredicted, FixtureClass fixtureClassActual)
 {
     Events                = new Events();
     AdoptionSources       = new Events();
     AdoptionTargets       = new Events();
     FixtureClassPredicted = fixtureClassPredicted;
     FixtureClassActual    = fixtureClassActual;
 }
Пример #14
0
        MenuItem CreateFixtureMenuItemLow(FixtureClass fixtureClass)
        {
            var menuItem = new MenuItem();

            menuItem.Header           = TwGui.FixtureWithImageLeftMenu(fixtureClass);
            menuItem.Tag              = Polygon;
            menuItem.InputGestureText = fixtureClass.Character.ToString();
            return(menuItem);
        }
Пример #15
0
        void PopulateRow(int iRow, FixtureClass fixtureClassRow)
        {
            int iCol = FirstMatrixColumn;

            foreach (FixtureClass fixtureClassColumn in FixtureClasses.Items.Values)
            {
                PopulateCell(iRow, iCol++, fixtureClassRow, fixtureClassColumn);
            }
        }
Пример #16
0
        public override FixtureClass Classify(Event @event)
        {
            FixtureClass fixtureClass = base.Classify(@event);

            if (fixtureClass == FixtureClasses.Irrigation)
            {
                fixtureClass = FixtureClasses.Unclassified;
            }

            return(fixtureClass);
        }
Пример #17
0
        public override FixtureClass Classify(Event @event)
        {
            FixtureClass fixtureClass = base.Classify(@event);

            if (fixtureClass == FixtureClasses.Leak && Analysis.Events.IsIsolated(@event, new TimeSpan(0, 20, 0)))
            {
                fixtureClass = FixtureClasses.Faucet;
            }

            return(fixtureClass);
        }
Пример #18
0
        public PieChartToolTip(FixtureClass fixtureClass, bool byInstances, string data, double percent)
        {
            InitializeComponent();

            this.fixtureClass = fixtureClass;
            this.byInstances  = byInstances;
            this.data         = data;
            this.percent      = percent;

            Initialize();
        }
Пример #19
0
 void Classify(FixtureClass fixtureClass, bool adopt)
 {
     if (EventsCanvas.Events.SelectedEvents.Contains(Event))
     {
         EventsCanvas.Events.ManuallyClassify(EventsCanvas.Events.SelectedEvents, fixtureClass, adopt, EventPolygon.EventsCanvas.UndoPosition);
     }
     else
     {
         EventsCanvas.Events.ManuallyClassify(Event, fixtureClass, adopt, EventPolygon.EventsCanvas.UndoPosition);
     }
 }
Пример #20
0
        public FixtureClassSelector AddFixtureClassSelector(FixtureClass fixtureClass, int row, int column)
        {
            FixtureClassSelector fixtureClassSelector = new FixtureClassSelector();

            fixtureClassSelector.Margin       = new Thickness(0, 0, 0, 0);
            fixtureClassSelector.Padding      = new Thickness(0, 0, 0, 0);
            fixtureClassSelector.FixtureClass = fixtureClass;
            Grid.SetRow(fixtureClassSelector, row);
            Grid.SetColumn(fixtureClassSelector, column);
            return(fixtureClassSelector);
        }
Пример #21
0
 FrameworkElement ItemFromFixtureClass(FixtureClass fixtureClass)
 {
     foreach (StyledFixtureLabel item in ComboBoxFixtureClass.Items)
     {
         if (item.FixtureClass == fixtureClass)
         {
             return(item);
         }
     }
     return(null);
 }
Пример #22
0
        void InitializeFixturePanels(FixtureClass fixtureClass, int i)
        {
            var fixturePanel = new FixturePanel();

            fixturePanel.FixtureClass = fixtureClass;
            fixturePanel.Analysis     = Analysis;
            fixturePanel.Initialize();
            Grid.SetRow(fixturePanel, 0);
            Grid.SetColumn(fixturePanel, i);
            grid.Children.Add(fixturePanel);
        }
Пример #23
0
        UIElement CreateFixtureClass(FixtureClass fixtureClass)
        {
            var checkBox = new CheckBox();

            checkBox.IsChecked = true;
//            checkBox.Content = fixtureClass.FriendlyName;
            checkBox.Content = TwGui.FixtureWithImageLeft(fixtureClass);
            checkBox.Tag     = fixtureClass;
            checkBox.Margin  = new Thickness(3);

            return(checkBox);
        }
Пример #24
0
        void PopulateRowHeader(FixtureClass fixtureClass)
        {
            RowDefinition rowDefinition = new RowDefinition();

            rowDefinition.Height = new GridLength(1, GridUnitType.Star);
            gridOuter.RowDefinitions.Add(rowDefinition);

            Grid grid = TwGui.FixtureWithImageRight(fixtureClass);

            Grid.SetRow(grid, gridOuter.RowDefinitions.Count - 1);
            Grid.SetColumn(grid, 1);
            gridOuter.Children.Add(grid);
        }
        List <FixtureProfile> GetFixtureProfiles(FixtureClass fixtureClass)
        {
            var list = new List <FixtureProfile>();

            foreach (FixtureProfile fixtureProfile in Analysis.FixtureProfiles)
            {
                if (fixtureProfile.FixtureClass == fixtureClass)
                {
                    list.Add(fixtureProfile);
                }
            }
            return(list);
        }
Пример #26
0
        double CalculateVolumeStandardDeviation(FixtureClass fixtureClass)
        {
            List <double> list = new List <double>();

            foreach (Event @event in Events)
            {
                if (@event.FixtureClass == fixtureClass)
                {
                    list.Add(@event.Volume);
                }
            }
            return(GetStdev(list));
        }
Пример #27
0
        void PopulateColumnHeader(FixtureClass fixtureClass)
        {
            ColumnDefinition columnDefinition = new ColumnDefinition();

            columnDefinition.Width = new GridLength(1, GridUnitType.Star);
            gridOuter.ColumnDefinitions.Add(columnDefinition);

            var fixtureImage = new ShortFixtureLabel(fixtureClass);

            Grid.SetRow(fixtureImage, 1);
            Grid.SetColumn(fixtureImage, gridOuter.ColumnDefinitions.Count - 1);
            gridOuter.Children.Add(fixtureImage);
        }
Пример #28
0
        void UpdateFixtureSummary(FixtureSummaryPanel fixtureSummaryPanel, FixtureSummaries fixtureSummariesOld, FixtureSummaries fixtureSummariesNew)
        {
            FixtureClass fixtureClass = fixtureSummaryPanel.FixtureClass;

            UpdateFixtureSummaryInstanceCount(fixtureSummaryPanel.textBlockInstancesCount, fixtureSummariesNew, fixtureClass);

            UpdateFixtureSummaryInstanceDelta(fixtureSummaryPanel.textBlockInstancesDelta, fixtureSummariesNew, fixtureSummariesOld, fixtureClass);

            UpdateFixtureSummaryVolumeCount(fixtureSummaryPanel.textBlockVolume, fixtureSummariesNew, fixtureClass);

            UpdateFixtureSummaryVolumePercent(fixtureSummaryPanel.textBlockVolumePercent, fixtureSummariesNew, fixtureClass);

            UpdateFixtureSummarySelectedCountLabels(fixtureSummaryPanel.textBlockSelected, fixtureSummariesNew, fixtureClass);
        }
Пример #29
0
        double CalculateMeanMode(FixtureClass fixtureClass)
        {
            double modeSum = 0;
            int    count   = 0;

            foreach (Event @event in Events)
            {
                if (@event.FixtureClass == fixtureClass)
                {
                    modeSum += @event.Mode;
                    count++;
                }
            }
            return(modeSum / count);
        }
Пример #30
0
        public static Border FixtureImage(FixtureClass fixtureClass)
        {
            Image image = new Image();

            image.Style  = (Style)ResourceLocator.FindResource("ImageStyle");
            image.Source = TwGui.GetImage(fixtureClass.ImageFilename);

            Border border = new Border();

            border.Style      = (Style)ResourceLocator.FindResource("FixtureBorderStyle");
            border.Background = TwSingletonBrushes.Instance.FrozenSolidColorBrush(fixtureClass.Color);
            border.Child      = image;

            return(border);
        }