private FastDataListView LoadGridControl(string key, TabPage tabPage)
        {
            tabPage.SuspendLayout();
            var gridCtrl = new GridWrapperControl <EventLogEntryShort>(RecalcFilterBox, _gridAndData[key].GridAndDataWrapper);

            gridCtrl.RightClikFilterGenerator        = GenerateRightClickMenu;
            gridCtrl.RightClikFilterDateColumnGetter = RightClikFilterDateColumnGetter;
            gridCtrl.Dock = DockStyle.Fill;
            tabPage.Controls.Add(gridCtrl);
            //_gridAndData[key].GridWrapperControl = gridCtrl;
            tabPage.ResumeLayout();
            return(gridCtrl.Grid);
        }
Exemplo n.º 2
0
        private void AddNewLog(SenseLogInfo logInfo, string key)
        {
            var splash = SplashManager.Loader.ShowFloatingSplash(this, "Opening log");

            try
            {
                if (_gridAndData.ContainsKey(key))
                {
                    return;
                }
                _gridAndData.Add(key, new DataWrapper
                {
                    Name         = logInfo.Name,
                    IsDirectory  = logInfo.IsDirectory,
                    LogFilePath  = logInfo.LogFilePath,
                    LastModified = logInfo.LastModified
                });

                ctrlTab1.SuspendLayout();
                ctrlTab1.TabPages.Add(key, logInfo.Name);


                var tab = ctrlTab1.TabPages[key];
                tab.Tag        = key;
                tab.ImageIndex = 0;


                var gridCtrl = new GridWrapperControl <GenericDataWrapper>(RecalcFilterBox, _gridAndData[key].GridAndDataWrapper);
                gridCtrl.Grid.Scroll                    += GridCtrlOnScroll;
                gridCtrl.Grid.MouseMove                 += GridOnMouseMove;
                gridCtrl.Grid.MouseDown                 += (sender, args) => { ctrlPreview.HideDisplay(); };
                gridCtrl.RightClikFilterGenerator        = GenerateRightClickMenu;
                gridCtrl.RightClikFilterDateColumnGetter = RightClikFilterDateColumnGetter;

                gridCtrl.ClearFiltersInAllGrids = ClearFiltersInAllGrids;
                gridCtrl.Dock = DockStyle.Fill;
                tab.Controls.Add(gridCtrl);

                _gridAndData[key].GenericDataWrapperService.LogFileAnalyzer = new LogFileAnalyzerService();

                var fileCutoff = _gridAndData[key].GenericDataWrapperService.LoadToJson(logInfo.LogFilePath);
                _gridAndData[key].GridAndDataWrapper.GridHelper  = CreateGrid(gridCtrl.Grid, key, _gridAndData[key]);
                _gridAndData[key].GridAndDataWrapper.GridInvoked = true;
                _gridAndData[key].GridAndDataWrapper.GridHelper.Grid.FormatRow += GridOnFormatRow;
                _gridAndData[key].GridAndDataWrapper.DateColumnGetter           = GetDateColumnGetter;
                _gridAndData[key].GridWrapperControl = gridCtrl;


                ResizeAllToCurrentSize(gridCtrl.Controls);
                _closeTabHelper[0].SetTabHeader(tab, _gridAndData[key].GenericDataWrapperService.LogFileAnalyzer.SimplifiedFailureLevel);

                ctrlTab1.SelectedTab = tab;
                ctrlTab1.ResumeLayout();
                if (ctrlTab1.TabPages.Count > 1 || ctrlTab1.TabPages.Count > 1)
                {
                    picDown.Visible = true;
                }
                splash.Dispose();
                if (fileCutoff > 0)
                {
                    Mbox.Show("This file is too large and has been capped at 1 million lines.", "I'm sorry about this");
                }
            }
            catch (Exception e)
            {
                splash.Dispose();
                Mbox.Show($"Failed opening log \r\n{e}", "Failure");
            }
        }