Esempio n. 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);
        }
Esempio n. 2
0
        UIElement CreateTabItemHeader(AnalysisPanel analysisPanel, string fileNameIn)
        {
            string     fileName   = string.IsNullOrEmpty(analysisPanel.SaveFileName) ? fileNameIn : analysisPanel.SaveFileName;
            StackPanel stackPanel = new StackPanel();

            stackPanel.Orientation = Orientation.Horizontal;
            stackPanel.Margin      = new Thickness(2, 1, 0, 0);

            Image image = new Image();

            image.Style = (Style)FindResource("ImageStyle");

            image.Source = TwGui.GetImage("trace.png");
            image.Margin = new Thickness(0);
            stackPanel.Children.Add(image);

            TextBlock textBlock = new TextBlock();

            textBlock.Margin = new Thickness(4, 0, 0, 0);
            textBlock.Text   = System.IO.Path.GetFileNameWithoutExtension(fileName);
            stackPanel.Children.Add(textBlock);

            stackPanel.ToolTip = fileName;

            return(stackPanel);
        }
Esempio n. 3
0
        void CompareAnalysesExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            string fileNameAnalysisLower = TwFile.GetAnalysisFile();

            if (fileNameAnalysisLower == null || fileNameAnalysisLower == string.Empty)
            {
                return;
            }

            string fileNameAnalysisUpper = TwFile.GetAnalysisFile();

            if (fileNameAnalysisUpper == null || fileNameAnalysisUpper == string.Empty)
            {
                return;
            }

            UpdateAnalysisFolder(fileNameAnalysisUpper);

            Mouse.OverrideCursor = Cursors.Wait;

            var analysisLower = TwServices.CreateAnalysis(fileNameAnalysisLower);
            var analysisUpper = TwServices.CreateAnalysis(fileNameAnalysisUpper);

            var compareAnalysesPanel = new CompareAnalysesPanel();

            compareAnalysesPanel.AnalysisLower = analysisLower;
            compareAnalysesPanel.AnalysisUpper = analysisUpper;
            compareAnalysesPanel.Initialize();

            AddTab(CreateTabItemHeader("Compare", TwGui.GetImage("traces2.png"), CreateCompareAnalysesHeaderToolTip(fileNameAnalysisUpper, fileNameAnalysisLower)), compareAnalysesPanel, compareAnalysesPanel.StyledEventsViewerUpper.EventsViewer.ScrollViewer, false);

            Mouse.OverrideCursor = null;
        }
Esempio n. 4
0
        AnalysisPanel CreateAnalysisPanel(Analysis analysis, string fileName, Disaggregator disaggregator, bool showAnalyzer,
                                          double viewportSeconds, double viewportVolume)
        {
            var toolTip = TwGui.CreateAnalyzerToolTip(disaggregator.GetType(), disaggregator);

            return(CreateAnalysisPanel(analysis, fileName, showAnalyzer ? disaggregator.Name : null, toolTip));
        }
Esempio n. 5
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);
        }
Esempio n. 6
0
        MenuItem CreateFixtureMenuItemLow(FixtureClass fixtureClass)
        {
            var menuItem = new MenuItem();

            menuItem.Header           = TwGui.FixtureWithImageLeftMenu(fixtureClass);
            menuItem.Tag              = Polygon;
            menuItem.InputGestureText = fixtureClass.Character.ToString();
            return(menuItem);
        }
Esempio n. 7
0
 public void Initialize()
 {
     Image.Source          = TwGui.GetImage(FixtureClass.ImageFilename);
     this.Content          = Image;
     this.Tag              = FixtureClass;
     this.Background       = TwBrushes.FrozenSolidColorBrush(FixtureClass.Color);
     this.Style            = (Style)ResourceLocator.FindResource(FixtureClass.LowFrequency ? "ToolBarFixtureLowFrequencyButtonStyle" : "ToolBarFixtureButtonStyle");
     this.ToolTip          = "Classify as " + FixtureClass.FriendlyName + " (" + FixtureClass.Character + ")";
     this.ContextMenu      = FixtureButtonContextMenu();
     this.CommandParameter = FixtureClass;
 }
Esempio n. 8
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);
        }
Esempio n. 9
0
 void Initialize()
 {
     Border.Child = TwGui.FixtureWithImageLeft(fixtureClass, FontWeights.Bold);
     if (byInstances)
     {
         Label.Text = "Number of " + fixtureClass.FriendlyName + " Events: " + data + " \r\nPercentage of Events that are " + fixtureClass.FriendlyName + " Events: " + (percent * 100.0).ToString("0.0") + "%";
     }
     else
     {
         Label.Text = "Total Volume of " + fixtureClass.FriendlyName + " Events: " + data + " \r\nPercentage of Total Volume Attributed to " + fixtureClass.FriendlyName + " Events: " + (percent * 100.0).ToString("0.0") + "%";
     }
 }
Esempio n. 10
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);
        }
Esempio n. 11
0
        void ExecuteConfusionMatrix(List <Classifier> classifiers, Adopter adopter)
        {
            List <string> files = TwFile.GetAnalysisFilesIncludingZipped();

            if (files.Count > 0)
            {
                foreach (var classifier in classifiers)
                {
                    var panel = LoadConfusionMatrix(files, classifier, adopter);
                    AddTab(CreateTabItemHeader("Confusion Matrix: " + classifier.Name,
                                               TwGui.GetImage("confusionmatrix.png")), panel, null, true);
                }
            }
        }
Esempio n. 12
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);
        }
Esempio n. 13
0
        void Initialize(FeatureLevel featureLevel)
        {
            Title = "About " + TwAssembly.CompanyAndTitle();

            ImageIcon.Source = TwGui.GetIcon32();

            LabelTitle.Text     = TwAssembly.CompanyAndTitle();
            LabelVersion.Text   = TwAssembly.CompleteVersion() + " " + featureLevel.Text;
            LabelCopyright.Text = TwAssembly.Copyright();

            var hyperlink = new Hyperlink();

            hyperlink.NavigateUri      = new System.Uri(TwEnvironment.WebSite);
            hyperlink.RequestNavigate += new RequestNavigateEventHandler(HyperlinkAbout_RequestNavigate);
            hyperlink.Inlines.Add(TwEnvironment.WebSite);
            LabelHyperlink.Inlines.Add(hyperlink);
        }
Esempio n. 14
0
        public static Grid FixtureWithImageLeftMenu(FixtureClass fixtureClass)
        {
            Grid grid = new Grid();

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

            grid.Tag = fixtureClass;

            ColumnDefinition columnDefinition = new ColumnDefinition();

            columnDefinition.Width = GridLength.Auto;
            grid.ColumnDefinitions.Add(columnDefinition);

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

            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.SetColumn(border, 0);
            grid.Children.Add(border);

            var label = new Label();

            label.Content             = fixtureClass.LabelName;
            label.FontWeight          = FontWeights.Normal;
            label.HorizontalAlignment = HorizontalAlignment.Left;
            label.VerticalAlignment   = VerticalAlignment.Top;
            label.Padding             = new Thickness(1, 0, 1, 0);
            label.Margin = new Thickness(5, 0, 5, 0);

            Grid.SetColumn(label, 1);
            grid.Children.Add(label);

            return(grid);
        }
Esempio n. 15
0
        void ButtonMoreFixtures_Click(object sender, RoutedEventArgs e)
        {
            if (showingMoreFixtures)
            {
//                AnalysisPanel.SetVisibility(panelFixturesLowFrequency, Visibility.Collapsed);
                panelFixturesLowFrequency.Visibility = Visibility.Collapsed;
                ButtonMoreFixtures.ToolTip           = "Show More Fixtures";
                ImageMoreFixtures.Source             = TwGui.GetImage("arrowright.png");
            }
            else
            {
                panelFixturesLowFrequency.Visibility = Visibility.Visible;
                ButtonMoreFixtures.ToolTip           = "Hide More Fixtures";
                ImageMoreFixtures.Source             = TwGui.GetImage("arrowleft.png");
            }

            showingMoreFixtures = !showingMoreFixtures;
        }
Esempio n. 16
0
        void Populate()
        {
            var classifiers = TwClassifiers.CreateClassifiers();

            for (int i = 0; i < classifiers.Count; i++)
            {
                var classifier = classifiers[i];

                int column = 0;
                grid.RowDefinitions.Add(new RowDefinition());

                var button = new CheckBox();
                button.Padding                  = new Thickness(4, 0, 4, 4);
                button.Margin                   = new Thickness(4);
                button.VerticalAlignment        = VerticalAlignment.Top;
                button.VerticalContentAlignment = VerticalAlignment.Top;
                button.Tag     = classifier;
                button.Content = classifier.Name;

                button.ToolTip = TwGui.CreateAnalyzerToolTip(classifier.GetType(), classifier);

                if (!TwClassifiers.CanLoad(classifier) || classifier is FixtureListClassifier)
                {
                    button.IsEnabled = false;
                }

                Grid.SetRow(button, i);
                Grid.SetColumn(button, column++);
                grid.Children.Add(button);

                var description = new TextBlock();
                description.TextWrapping      = TextWrapping.Wrap;
                description.MaxWidth          = 200;
                description.Padding           = new Thickness(4, 0, 4, 4);
                description.Margin            = new Thickness(4);
                description.VerticalAlignment = VerticalAlignment.Top;
                description.Text = classifier.Description;

                Grid.SetRow(description, i);
                Grid.SetColumn(description, column++);
                grid.Children.Add(description);
            }
        }
Esempio n. 17
0
        public static Grid FixtureWithImageRight(FixtureClass fixtureClass)
        {
            Grid grid = new Grid();

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

            var coldefImage = new ColumnDefinition();

            coldefImage.Width = new GridLength(1, GridUnitType.Star);
            grid.ColumnDefinitions.Add(coldefImage);

            var coldefText = new ColumnDefinition();

            coldefText.Width = GridLength.Auto;
            grid.ColumnDefinitions.Add(coldefText);

            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.SetColumn(border, 1);
            grid.Children.Add(border);

            TextBlock textBlock = new TextBlock();

            textBlock.Text                = fixtureClass.FriendlyName;
            textBlock.Margin              = new Thickness(0, 0, 6, 0);
            textBlock.TextAlignment       = TextAlignment.Right;
            textBlock.HorizontalAlignment = HorizontalAlignment.Right;
            textBlock.VerticalAlignment   = VerticalAlignment.Center;

            Grid.SetColumn(textBlock, 0);
            grid.Children.Add(textBlock);

            return(grid);
        }
Esempio n. 18
0
        MenuItem FixtureButtonContextMenuItem(string label, RoutedUICommand command)
        {
            var menuItem = new MenuItem();

            menuItem.Header = label + " " + FixtureClass.FriendlyName;
            var image = new Image();

            image.Source = TwGui.GetImage(FixtureClass.ImageFilename);
            var border = new Border();

            border.Padding            = new Thickness(2);
            border.Background         = TwBrushes.FrozenSolidColorBrush(FixtureClass.Color);
            border.Child              = image;
            menuItem.Icon             = border;
            menuItem.Command          = command;
            menuItem.CommandParameter = FixtureClass;

            return(menuItem);
        }
Esempio n. 19
0
        public void Load(Traces traces)
        {
            Traces = traces;

            InitUserControl();

            DockPanel dockPanel = new DockPanel();

            dockPanel.Background = Brushes.White;

            DockPanel.SetDock(aggregatePanel = CreateAggregatePanel(), Dock.Bottom);
            dockPanel.Children.Add(aggregatePanel);

            DockPanel.SetDock(gridOuter = CreateGrid(), Dock.Bottom);
            dockPanel.Children.Add(gridOuter);

            this.Content = WrapWithLabel(dockPanel,
                                         traces.Classifier.Name, TwGui.CreateAnalyzerToolTip(traces.Classifier.GetType(), traces.Classifier),
                                         traces.Adopter.Name, TwGui.CreateAnalyzerToolTip(traces.Adopter.GetType(), traces.Adopter),
                                         System.IO.Path.GetDirectoryName(traces.FilesLoaded[0]),
                                         CreateElementFiles(traces.FilesLoaded));

            PopulateRowLabel();
            PopulateColumnLabel();

            CreateDisplayModeSelector();

            CreateRowAndColumnHeaders();
            PopulateRowHeaders();
            PopulateColumnHeaders();

            PopulateRows();
            RenderRows();

            PopulateFixturesColumnNoText();
            PopulateFixturesRowNoText();

            PopulateStatistics();

            PopulateAggregatePanel();
        }
Esempio n. 20
0
        void PopulateColumnHeaderStatistic(string text, UIElement toolTip)
        {
            ColumnDefinition columnDefinition = new ColumnDefinition();

            gridOuter.ColumnDefinitions.Add(columnDefinition);

            Grid grid = TwGui.FixtureWithNoImageBottom(text);

            Border borderOuter = new Border();

            borderOuter.BorderBrush = Brushes.LightGray;

            borderOuter.BorderThickness = new Thickness(0, 0, 0, 1);

            borderOuter.Child   = grid;
            borderOuter.ToolTip = toolTip;

            Grid.SetRow(borderOuter, 1);
            Grid.SetColumn(borderOuter, gridOuter.ColumnDefinitions.Count - 1);
            gridOuter.Children.Add(borderOuter);
        }
Esempio n. 21
0
        void PopulateRowHeaderStatistic(string text)
        {
            RowDefinition rowDefinition = new RowDefinition();

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

            Grid grid = TwGui.FixtureWithNoImageRight(text);

            Border borderOuter = new Border();

            borderOuter.BorderBrush = Brushes.LightGray;

            borderOuter.BorderThickness = new Thickness(0, 0, 1, 0);

            borderOuter.Child = grid;

            Grid.SetRow(borderOuter, gridOuter.RowDefinitions.Count - 1);
            Grid.SetColumn(borderOuter, 1);
            gridOuter.Children.Add(borderOuter);
        }
Esempio n. 22
0
        void Initialize()
        {
            if (FixtureClass != null)
            {
                if (CanDrag)
                {
                    this.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(previewMouseLeftButtonDown);
                    this.PreviewMouseLeftButtonUp   += new MouseButtonEventHandler(previewMouseLeftButtonUp);
                    this.PreviewMouseMove           += new MouseEventHandler(previewMouseMove);
                }

                Image.Source      = TwGui.GetImage(FixtureClass.ImageFilename);
                Border.Background = TwBrushes.FrozenSolidColorBrush(FixtureClass.Color);
                Tag = FixtureClass;
                LabelFixtureName.Text = FixtureClass.ShortName;

                if (manuallyClassified)
                {
                    LabelFixtureName.Text   += "*";
                    LabelFixtureName.ToolTip = "* Manually classified as " + fixtureClass.FriendlyName + " by user. Will not be overridden by machine classification.";
                }

                LabelFirstCycle.ToolTip = "Manually classified as 1st Cycle";

                if (firstCycleManuallyClassified)
                {
                    LabelFirstCycle.Text   += "*";
                    LabelFirstCycle.ToolTip = "* Manually classified as 1st Cycle by user. Will not be overridden by machine classification.";
                }
            }
            else if (!string.IsNullOrEmpty(Label))
            {
                LabelFixtureName.Text = Label;
            }
            LabelFirstCycle.Visibility           = firstCycle ? Visibility.Visible : Visibility.Collapsed;
            Border.HorizontalAlignment           = HorizontalImageAlignment;
            LabelFixtureName.HorizontalAlignment = HorizontalImageAlignment;
        }
Esempio n. 23
0
 public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 {
     return(TwGui.GetImage(((FixtureClass)value).ImageFilename));
 }
Esempio n. 24
0
 public void AddTab(UIElement content, string iconFile, string keyCode)
 {
     AddTab(CreateTabItemHeader(keyCode, TwGui.GetImage(iconFile)), content, content, true);
 }
Esempio n. 25
0
        public StyledFixtureLabel(FixtureClass fixtureClass, FontWeight fontWeight, bool showKey, bool manuallyClassified, bool firstCycle, bool firstCycleManuallyClassified, bool showFriendlyName, bool singleRow, bool showHasNotes)
        {
            this.Focusable = false;
            this.IsTabStop = false;

            this.InputBindings.Add(new MouseBinding(AnalysisPanel.BringSelectedEventIntoViewCommand, new MouseGesture(MouseAction.LeftDoubleClick, ModifierKeys.None)));

            FixtureClass = fixtureClass;

            Grid grid = new Grid();

            ColumnDefinition coldefText = new ColumnDefinition();

            coldefText.Width = GridLength.Auto;
            grid.ColumnDefinitions.Add(coldefText);

            ColumnDefinition coldefImage = new ColumnDefinition();

            coldefImage.Width = new GridLength(1, GridUnitType.Star);
            grid.ColumnDefinitions.Add(coldefImage);

            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.VerticalAlignment = VerticalAlignment.Top;
            border.Child             = image;

            Grid.SetColumn(border, 0);
            grid.Children.Add(border);

            var stackPanel = new StackPanel();

            var label = new TextBlock();

            var name = showFriendlyName ? fixtureClass.FriendlyName : fixtureClass.ShortName;

            if (showKey)
            {
                label.Text = name + " (" + fixtureClass.Character + ")";
            }
            else
            {
                label.Text = name;
            }

            if (singleRow)
            {
                grid.ToolTip = "Selected Event is " + fixtureClass.FriendlyName;
            }

            if (manuallyClassified)
            {
                label.Text += "*";
                if (singleRow)
                {
                    grid.ToolTip += "\r\n* = Manually classified";
                }
            }

            label.Margin              = new Thickness(6, 0, 0, 0);
            label.FontWeight          = fontWeight;
            label.HorizontalAlignment = HorizontalAlignment.Left;
            label.VerticalAlignment   = VerticalAlignment.Center;

            stackPanel.Children.Add(label);

            if (firstCycle)
            {
                label                     = new TextBlock();
                label.Text                = "(1st Cycle)";
                label.Margin              = new Thickness(6, 0, 0, 0);
                label.FontWeight          = fontWeight;
                label.HorizontalAlignment = HorizontalAlignment.Left;
                label.VerticalAlignment   = VerticalAlignment.Center;
                stackPanel.Children.Add(label);

                if (singleRow)
                {
                    stackPanel.Orientation = Orientation.Horizontal;
                    label.Text             = "1";
                    if (singleRow)
                    {
                        grid.ToolTip += "\r\n1 = 1st Cycle";
                    }
                }

                if (firstCycleManuallyClassified)
                {
                    label.Text += "*";
                }
            }

            if (showHasNotes)
            {
                label                     = new TextBlock();
                label.Text                = "Notes";
                label.Margin              = new Thickness(6, 0, 0, 0);
                label.FontWeight          = fontWeight;
                label.HorizontalAlignment = HorizontalAlignment.Left;
                label.VerticalAlignment   = VerticalAlignment.Center;
                stackPanel.Children.Add(label);

                if (singleRow)
                {
                    stackPanel.Orientation = Orientation.Horizontal;
                    label.Text             = "N";
                    grid.ToolTip          += "\r\nN = Has User Notes";
                }
            }

            Grid.SetColumn(stackPanel, 1);
            grid.Children.Add(stackPanel);

            this.Content = grid;
        }
Esempio n. 26
0
        public StyledFixtureLabel(Event @event, bool showFriendlyName, bool activateCommand)
        {
            this.Focusable = false;
            this.IsTabStop = false;

            if (activateCommand)
            {
                this.InputBindings.Add(new MouseBinding(AnalysisPanel.BringSelectedEventIntoViewCommand, new MouseGesture(MouseAction.LeftDoubleClick, ModifierKeys.None)));
            }

            FixtureClass = @event.FixtureClass;

            this.ToolTip = BuildToolTip(@event);

            var panel = new StackPanel();

            panel.Orientation = Orientation.Horizontal;


            var panelTicks = new StackPanel();

            {
                var tick = new ClassificationTick();
                tick.Padding           = new Thickness(0, 1, 4, 1);
                tick.VerticalAlignment = VerticalAlignment.Center;

                if (@event.ManuallyClassified)
                {
                    tick.TickClassifiedUsingFixtureList.Visibility     = Visibility.Collapsed;
                    tick.TickClassifiedUsingMachineLearning.Visibility = Visibility.Collapsed;
                }
                else if (@event.ClassifiedUsingFixtureList)
                {
                    tick.TickManuallyClassified.Visibility             = Visibility.Collapsed;
                    tick.TickClassifiedUsingMachineLearning.Visibility = Visibility.Collapsed;
                }
                else
                {
                    tick.TickManuallyClassified.Visibility         = Visibility.Collapsed;
                    tick.TickClassifiedUsingFixtureList.Visibility = Visibility.Collapsed;
                }
                panelTicks.Children.Add(tick);
            }

            if (@event.ManuallyApproved)
            {
                var tick = new ApprovalTick();
                tick.Padding           = new Thickness(0, 1, 4, 1);
                tick.VerticalAlignment = VerticalAlignment.Center;
                panelTicks.Children.Add(tick);
            }

            panel.Children.Add(panelTicks);

            Image image = new Image();

            image.Style  = (Style)ResourceLocator.FindResource("ImageStyle");
            image.Source = TwGui.GetImage(@event.FixtureClass.ImageFilename);

            Border border = new Border();

            border.Margin            = new Thickness(3, 0, 0, 0);
            border.Style             = (Style)ResourceLocator.FindResource("FixtureBorderStyle");
            border.Background        = TwBrushes.FrozenSolidColorBrush(@event.FixtureClass.Color);
            border.VerticalAlignment = VerticalAlignment.Top;
            border.Child             = image;
            panel.Children.Add(border);

            var label = new TextBlock();

            label.Text    = showFriendlyName ? @event.FixtureClass.FriendlyName : @event.FixtureClass.ShortName;
            label.Padding = new Thickness(3, 0, 0, 0);
            panel.Children.Add(label);

            if (@event.FirstCycle)
            {
                label                = new TextBlock();
                label.FontSize       = 8;
                label.BaselineOffset = 10;
                label.Text           = "1";
                if ([email protected])
                {
                    label.FontStyle = FontStyles.Italic;
                }
                label.Padding = new Thickness(3, 0, 0, 0);
                panel.Children.Add(label);
            }
            else if (@event.ManuallyClassifiedFirstCycle)
            {
                label                = new TextBlock();
                label.FontSize       = 8;
                label.BaselineOffset = 10;
                label.Text           = "0";
                label.Padding        = new Thickness(3, 0, 0, 0);
                panel.Children.Add(label);
            }

            //if (!string.IsNullOrEmpty(@event.UserNotes)) {
            //    label = new TextBlock();
            //    label.Padding = new Thickness(3, 0, 0, 0);
            //    label.Text = "N";
            //    panel.Children.Add(label);
            //}

            this.Content = panel;
        }
Esempio n. 27
0
 public void Initialize()
 {
     LabelFixture.Child = TwGui.FixtureWithImageRight(FixtureSummary.FixtureClass);
     LabelCount.Text    = ByInstances ? FixtureSummary.Count.ToString() : FixtureSummary.Volume.ToString("0.0");
     LabelPercent.Text  = ByInstances ? (FixtureSummary.PercentCount * 100).ToString("0.0") + "%" : (FixtureSummary.PercentVolume * 100).ToString("0.0") + "%";
 }
Esempio n. 28
0
 void Update()
 {
     Image.Source      = TwGui.GetImage(Event.FixtureClass.ImageFilename);
     Border.Background = TwSingletonBrushes.Instance.FrozenSolidColorBrush(Event.FixtureClass.Color);
 }
Esempio n. 29
0
        public void CreateEventsProperties(FixtureClass fixtureClassPredicted, string fixtureClassPredictedLabel, FixtureClass fixtureClassActual, string fixtureClassActualLabel, Events events, int count, int cycles, bool showKey)
        {
            for (int i = 0; i < 10; i++)
            {
                this.RowDefinitions.Add(new RowDefinition());
            }
            for (int i = 0; i < 6; i++)
            {
                this.ColumnDefinitions.Add(new ColumnDefinition());
            }

            int       row = 0;
            TextBlock txt;

            HorizontalAlignment = HorizontalAlignment.Left;

            if (fixtureClassPredicted != null)
            {
                txt         = new TextBlock();
                txt.Padding = new Thickness(0, 0, 6, 0);
                if (!string.IsNullOrEmpty(fixtureClassPredictedLabel))
                {
                    txt.Text = fixtureClassPredictedLabel + ": ";
                }
                txt.HorizontalAlignment = HorizontalAlignment.Left;
                txt.VerticalAlignment   = VerticalAlignment.Center;
                Grid.SetRow(txt, row);
                Grid.SetColumn(txt, 0);
                this.Children.Add(txt);

                var fixtureImage = TwGui.FixtureWithImageLeft(fixtureClassPredicted, showKey);
                fixtureImage.HorizontalAlignment = HorizontalAlignment.Left;

                Grid.SetRow(fixtureImage, row);
                Grid.SetColumn(fixtureImage, 0);
                Grid.SetColumnSpan(fixtureImage, 2);
                this.Children.Add(fixtureImage);
            }

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(0, 0, 6, 0);
            txt.Text                = "Events: " + count.ToString();
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            txt.VerticalAlignment   = VerticalAlignment.Top;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 2);
            Grid.SetColumnSpan(txt, 2);
            this.Children.Add(txt);

            txt = new TextBlock();
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            txt.VerticalAlignment   = VerticalAlignment.Top;
            txt.Padding             = new Thickness(0, 0, 6, 0);
            txt.Text = "1st Cycles: " + cycles.ToString();
            Grid.SetRow(txt, row++);
            Grid.SetColumn(txt, 4);
            Grid.SetColumnSpan(txt, 2);
            this.Children.Add(txt);
            if (cycles == 0)
            {
                txt.Visibility = Visibility.Hidden;
            }

            WriteHorizontalSeparator(row++);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = "Min";
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            txt.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 1);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = "10%";
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            txt.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 2);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = "50%";
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            txt.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 3);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = "90%";
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            txt.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 4);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = "Max";
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            txt.VerticalAlignment   = VerticalAlignment.Center;
            Grid.SetRow(txt, row++);
            Grid.SetColumn(txt, 5);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = "Vol:";
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 0);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = Math.Round(events.MinVolume, 2).ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 1);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = Math.Round(events.LowerLimitVolume, 2).ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 2);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = Math.Round(events.MedianVolume, 2).ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 3);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = Math.Round(events.UpperLimitVolume, 2).ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 4);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = Math.Round(events.MaxVolume, 2).ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row++);
            Grid.SetColumn(txt, 5);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = "Peak:";
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 0);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = events.MinPeak.ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 1);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = events.LowerLimitPeak.ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 2);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = events.MedianPeak.ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 3);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = events.UpperLimitPeak.ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 4);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = events.MaxPeak.ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row++);
            Grid.SetColumn(txt, 5);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = "Mode:";
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 0);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = events.MinMode.ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 1);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = events.LowerLimitMode.ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 2);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = events.MedianMode.ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 3);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = events.UpperLimitMode.ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 4);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = events.MaxMode.ToString("0.00");
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row++);
            Grid.SetColumn(txt, 5);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = "Dur:";
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 0);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = ((string)(new FriendlyDurationConverter()).Convert(events.MinDuration, null, null, null)).Trim();
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 1);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = ((string)(new FriendlyDurationConverter()).Convert(events.LowerLimitDuration, null, null, null)).Trim();
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 2);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = ((string)(new FriendlyDurationConverter()).Convert(events.MedianDuration, null, null, null)).Trim();
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 3);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = ((string)(new FriendlyDurationConverter()).Convert(events.UpperLimitDuration, null, null, null)).Trim();
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row);
            Grid.SetColumn(txt, 4);
            this.Children.Add(txt);

            txt                     = new TextBlock();
            txt.Padding             = new Thickness(6, 0, 6, 0);
            txt.Text                = ((string)(new FriendlyDurationConverter()).Convert(events.MaxDuration, null, null, null)).Trim();
            txt.HorizontalAlignment = HorizontalAlignment.Right;
            Grid.SetRow(txt, row++);
            Grid.SetColumn(txt, 5);
            this.Children.Add(txt);
        }