Ejemplo n.º 1
0
        /// <summary>
        /// Konstruktor
        /// </summary>
        public App()
        {
            /*Defult Culture set*/
            CultureService.Instance.CurrentCultureName = Settings.Default.CurrentCultureName;

            /*Application Settings Upgrade*/
            if (Settings.Default.ApplictionSettingsSaveCounter == 0)
            {
                Settings.Default.Upgrade();
                Settings.Default.ApplictionSettingsUpgradeCounter++;
            }
            Settings.Default.ApplictionSettingsSaveCounter++;
            Settings.Default.PropertyChanged += new PropertyChangedEventHandler(Settings_PropertyChanged);
            Settings.Default.SettingChanging += new SettingChangingEventHandler(Settings_SettingChanging);


            _adapterStatistics = new AppModules.Statistics.Adapter.Model.AdapterStatistics();
            _messageStatistics = new AppModules.Statistics.Message.Model.MessageStatistics();

            _parameters   = new ProjectParameters();
            _messageTrace = new AppModules.Tracer.Model.MessageTraceCollection();

            _storage = new Storage(_parameters);
            _storage.ContentChanged += new EventHandler <StorageChanegdEventArgs>(ProjectService_ContentChanged);
            _storage.Loading        += new EventHandler(ProjectService_Loading);
            _storage.Saving         += new EventHandler(ProjectService_Saving);
            _storage.LoadCompleted  += new EventHandler(ProjectService_LoadCompleted);
            _storage.SaveCompleted  += new EventHandler(ProjectService_SaveCompleted);

            _mainForm             = new AppModules.Main.View.MainForm();
            MainForm.FormClosed  += new FormClosedEventHandler(MainForm_FormClosed);
            MainForm.FormClosing += new FormClosingEventHandler(MainForm_FormClosing);
            MainForm.Disposed    += new EventHandler(MainForm_Disposed);
            MainForm.KeyUp       += new KeyEventHandler(MainForm_KeyUp);
            MainForm.Shown       += new EventHandler(MainForm_Shown);

            MainForm.TreeView.AfterSelect    += new TreeViewEventHandler(TreeView_AfterSelect);
            MainForm.TreeView.AfterExpand    += new TreeViewEventHandler(TreeView_AfterExpand);
            MainForm.TreeView.AfterCollapse  += new TreeViewEventHandler(TreeView_AfterCollapse);
            MainForm.TreeView.NodeMouseClick += new TreeNodeMouseClickEventHandler(TreeView_NodeMouseClick);
            MainForm.Text = _storage.ToString();


            #region Set TimeService
            Services.TimerService.Instance.Interval = Settings.Default.GuiRefreshRateMs;
            #endregion

            EventAggregator.Instance.PublishEvent += EventAggregator_PublishEvent;

            _adapterService = new AppModules.Adapters.AdapterService(
                _messageTrace,
                _storage.Parameters,
                _adapterStatistics,
                _messageStatistics,
                _storage,
                _storage.Tools);

            #region  Presenters


            //new AppModules.Tracer.Presenter(
            //    MainForm.TraceAndPagesView.TraceGridView,
            //    _messageTrace,
            //    _parameters);

            new AppModules.Statistics.Message.Presenter(
                MainForm.StatisticsView,
                _messageStatistics,
                _storage);

            #endregion


            _adapterService.Stopped += Adapter_Stopped;
            _adapterService.Started += AdapterService_Started;

            #region Main Toolbar Menu

            _traceSenderMainToolbarCommands = new ToolStripMenuItem[]
            {
                new AppModules.Main.Commands.NewCommand(_storage, _adapterService),
                new AppModules.Main.Commands.SaveCommand(_storage),
                new AppModules.Main.Commands.SaveAsCommand(_storage),
                new AppModules.Main.Commands.PlayCommand(_storage, _adapterService),
                new AppModules.Main.Commands.StopCommand(_adapterService),
                //new AppModules.Main.Commands.TraceExportToExcelCommand(traceMessages),
                new AppModules.Main.Commands.OptionsCommand(),
            };

            _workspaceMainToolbarCommands = new ToolStripMenuItem[]
            {
                new AppModules.Main.Commands.BackCommand(this),
            };

            #endregion



            #region The Tree Nodes
            MainForm.TreeView.Nodes.Add(
                new AppModules.Adapters.TreeNodes.ProjectTopTreeNode(
                    new TreeNode[]
            {
                (_startTreeNode = new AppModules.Adapters.TreeNodes.AdapterTreeNode(_mainForm.TreeView,
                                                                                    new TreeNode[]
                {
                    new AppModules.Statistics.Adapter.TreeNodes.AdapterStatisticsTreeNode(_adapterStatistics),
                    new AppModules.Statistics.Message.TreeNodes.MessagesTreeNode(_messageStatistics, _adapterService, _parameters),
                    new TopTreeNode(MainForm.TraceAndPagesView.Pages),
                })),
            })

                );
            #endregion

            #region Main TreeView Items
            MainForm.TreeView.ContextMenuStrip = new ContextMenuStrip();
            MainForm.TreeView.ContextMenuStrip.Items.AddRange(
                new ToolStripItem[]
            {
                new AppModules.Main.Commands.ExpandAllSectionCommand(),
                new AppModules.Main.Commands.ExpandMainSectionCommand(),
                new AppModules.Main.Commands.CollapseAllSectionCommand(),

                new AppModules.Adapters.Commands.EnabledCommand(),


                new AppModules.Statistics.Adapter.Commands.DefaultNodeCommand(_adapterStatistics),
                new AppModules.Statistics.Adapter.Commands.EnabledNodeCommand(),
                new AppModules.Statistics.Message.Commands.EnabledNodeCommand(),
                new AppModules.Statistics.Message.Commands.ClearNodeCommand(_messageStatistics),
                new AppModules.Statistics.Message.Commands.DefaultNodeCommand(_messageStatistics, MainForm.StatisticsView),

                new NewToolNodeCommand(MainForm.TreeView, _storage.Tools),
                new DeleteToolNodeCommand(MainForm.TreeView, _storage.Tools),
                new RenameToolNodeCommand(MainForm.TreeView, _storage.Tools, MainForm.TraceAndPagesView.Pages),
            }
                );
            #endregion

            #region  Tree Menu Items
            MainForm.TreeToolStrip.Items.AddRange(
                new ToolStripItem[]