Пример #1
0
 public DefaultCommand(MessageStatistics statistics, IStatisticsGridView gridView)
 {
     Image       = Resources.Synchronize_16x16;
     Text        = CultureService.Instance.GetString(CultureText.menuItem_Default_Text);
     _statistics = statistics;
     _gridView   = gridView;
 }
Пример #2
0
        public DefaultNodeCommand(MessageStatistics statistics, IStatisticsGridView gridView)
        {
            Image       = Resources.Synchronize_16x16;
            Text        = CultureService.Instance.GetString(CultureText.menuItem_Default_Text);
            _statistics = statistics;
            _gridView   = gridView;

            EventAggregator.Instance.Subscribe <TreeViewSelectionChangedAppEvent>(e =>
            {
                Visible = (e.SelectedNode is MessagesTreeNode);
            });
        }
Пример #3
0
        public Presenter(
            IStatisticsGridView gridView,
            MessageStatistics statistics,
            Storage project)
        {
            gridView.Source = statistics.Messages;

            gridView.Menu.Items.AddRange(
                new ToolStripItem[]
            {
                new ClearCommand(statistics),
                new DefaultCommand(statistics, gridView),
                new EnabledCommand(project),
                new ExportCommand(project, gridView),
            });

            #region Project események
            EventAggregator.Instance.Subscribe <StorageAppEvent>(e1 =>
            {
                switch (e1.ChangingType)
                {
                case FileChangingType.Loading:
                    {
                        break;
                    }

                case FileChangingType.LoadComplete:
                    {
                        project = e1.Storage;

                        gridView.AllowClick = true;

                        gridView.GridLayout = e1.Storage.StatisticsGridLayout;

                        gridView.TimestampFormat = e1.Storage.Parameters.TimestampFormat;

                        if (e1.Storage.Parameters.MessageStatisticsEnabled)
                        {
                            gridView.BackgroundText = CultureService.Instance.GetString(CultureText.text_STATISTICS);
                        }
                        else
                        {
                            gridView.BackgroundText  = CultureService.Instance.GetString(CultureText.text_STATISTICS);
                            gridView.BackgroundText += " ";
                            gridView.BackgroundText += CultureService.Instance.GetString(CultureText.text_DISABLED);
                        }

                        gridView.Refresh();

                        break;
                    }

                case FileChangingType.Saving:
                    {
                        /*GridLayout hozza létre a default értéket és nem a project File.. ezért
                         * mentés előtt átt kell adni a projectnek a layout listákat.*/
                        gridView.GridLayout.CopyTo(e1.Storage.StatisticsGridLayout);
                        break;
                    }

                case FileChangingType.ContentChanged:
                    {
                        /*Célzott frssítések*/
                        if (e1.Details.DataObjects == DataObjects.ParameterProperty)
                        {
                            if (e1.Details.PropertyDescriptor.Name == PropertyPlus.GetPropertyName(() => e1.Storage.Parameters.ArbitrationIdFormat) ||
                                e1.Details.PropertyDescriptor.Name == PropertyPlus.GetPropertyName(() => e1.Storage.Parameters.DataFormat))
                            {
                                /*Converterek miatt újra kell rajzolni a Grid-et*/
                                /*Ez kritikus! ha egy sor törlésekor jön egy esemény ami frssíti a DGV-az DGV hibhoz vezet!*/
                                gridView.Refresh();
                            }

                            else if (e1.Details.PropertyDescriptor.Name == PropertyPlus.GetPropertyName(() => e1.Storage.Parameters.TimestampFormat))
                            {
                                gridView.TimestampFormat = e1.Storage.Parameters.TimestampFormat;
                            }

                            else if (e1.Details.PropertyDescriptor.Name == PropertyPlus.GetPropertyName(() => e1.Storage.Parameters.MessageStatisticsEnabled))
                            {
                                if (e1.Storage.Parameters.MessageStatisticsEnabled)
                                {
                                    gridView.BackgroundText = CultureService.Instance.GetString(CultureText.text_STATISTICS);
                                }
                                else
                                {
                                    gridView.BackgroundText  = CultureService.Instance.GetString(CultureText.text_STATISTICS);
                                    gridView.BackgroundText += " ";
                                    gridView.BackgroundText += CultureService.Instance.GetString(CultureText.text_DISABLED);
                                }
                            }
                        }
                        break;
                    }
                }
            });
            #endregion

            #region Adapter események

            EventAggregator.Instance.Subscribe <PlayAppEvent>(e =>
            {
                /*Periodikus frsstés itt indul.*/
                gridView.Start();
                gridView.RefreshRate = Settings.Default.dataGridViewStatisticsRefreshRateMs;
            });

            EventAggregator.Instance.Subscribe <StopAppEvent>(e =>
            {
                /*Periodikus frsstés itt leáll.*/
                gridView.Stop();
            });

            #endregion
        }