private void GridCtrlOnScroll(object sender, ScrollEventArgs scrollEventArgs)
        {
            if (scrollEventArgs.ScrollOrientation != ScrollOrientation.VerticalScroll || !Switchboard.Instance.Settings.Documents.ParallelScrollingEnabled)
            {
                return;
            }

            if (!(sender is FastDataListView sentBy))
            {
                return;
            }
            if (_currentMasterScroller == null)
            {
                _currentMasterScroller = sentBy;
            }
            _paralellScroller.Values.ToList().ForEach(p =>
            {
                if (p == _currentMasterScroller)
                {
                    return;
                }
                if (sentBy.TopItemIndex != p.TopItemIndex)
                {
                    p.TopItemIndex = sentBy.TopItemIndex;
                }
            });
        }
 private void GridOnMouseMove(object sender, MouseEventArgs mouseEventArgs)
 {
     if (!(sender is FastDataListView sentBy))
     {
         return;
     }
     _currentMasterScroller = sentBy;
 }
        private GridHelper <EventLogEntryShort> CreateGrid(FastDataListView grid, string name)
        {
            var gridHelper = new GridHelper <EventLogEntryShort>(grid, () => LoadStaticData(name), DisposalHelper);

            gridHelper.UseAlternatingBackColor = true;
            gridHelper.Columns.CreateColumn("Level", x => x?.Level);
            gridHelper.Columns.CreateColumn("Date and time", x => x?.Logged, x => x?.ToString("yyyy-MM-dd HH:mm:ss"));
            gridHelper.Columns.CreateColumn("Source", x => x?.Source);
            gridHelper.Columns.CreateColumn("Event Id", x => x?.InstanceId.ToString());

            gridHelper.ReloadOnce(true);
            return(gridHelper);
        }
        private void ChangeLog()
        {
            ctrlOpenFiles.Visible  = false;
            _currentMasterScroller = null;
            var selected = GetCurrentGrid();

            if (selected == null || selected.GridAndDataWrapper.GridInvoked == false)
            {
                return;
            }

            RecalcFilterBox(selected.GridAndDataWrapper.Filter);
            ApplyFilter(GetCurrentGrid());
        }
        private GridHelper <GenericDataWrapper> CreateGrid(FastDataListView grid, string name, DataWrapper wrapper)
        {
            var headers = new Dictionary <string, ColumnHeaderWrapper <GenericDataWrapper> >();

            wrapper.GridAndDataWrapper.Headers = headers;
            var gridHelper = new GridHelper <GenericDataWrapper>(grid, () => LoadStaticData(name), DisposalHelper);

            gridHelper.AutoResizeGrid          = false;
            gridHelper.UseAlternatingBackColor = true;
            wrapper.GenericDataWrapperService.Headers.ForEach(p =>
            {
                if (headers.ContainsKey(p.HeaderName)) // log files might have the headers called the same thing
                {
                    for (var i = 1; i < 99; i++)
                    {
                        var header = $"{p.HeaderName} ({i})";
                        if (!headers.ContainsKey(header))
                        {
                            p.HeaderName = header;
                            break;
                        }
                    }
                }

                if (p.AspectGetter != null)
                {
                    if (!p.ShowInGrid)
                    {
                        return;
                    }
                    var col         = gridHelper.Columns.CreateColumn(p.HeaderName, p.AspectGetter); //x => x.String1
                    var headerWidth = (int)grid.Font.GetTextSize(p.HeaderName).Width + 5;
                    var textWidth   = (int)grid.Font.GetTextSize(new string('e', p.MaxCharCount)).Width;
                    textWidth       = textWidth > 400 ? 400 : textWidth;
                    col.Width       = headerWidth > textWidth ? headerWidth : textWidth;
                }
                else
                {
                    var col   = gridHelper.Columns.CreateColumn(p.HeaderName, x => x.DateTime1, x => x.ToString("yyyy-MM-dd HH:mm:ss")); //x => x.String1
                    col.Width = (int)grid.Font.GetTextSize("9999-19-99 99:99:99").Width;
                }
                headers.Add(p.HeaderName, p);
            });

            gridHelper.ReloadOnce(true);
            return(gridHelper);
        }
        public LoaderWithTimer(
            FastDataListView grid,
            Func <Task <T> > loader,
            Action <T> onAfterLoad,
            Action <Exception> onException)
        {
            _loader      = loader;
            _onAfterLoad = onAfterLoad;
            _onException = onException;

            _timer = new Timer(async t => await Tick());

            EventHandler gridOnDisposed = null;

            grid.Disposed += gridOnDisposed = (s, e) =>
            {
                _disposed = true;
                _timer.Dispose();
                grid.Disposed -= gridOnDisposed;
            };
        }
Esempio n. 7
0
 protected GridHelper(FastDataListView grid)
 {
     Grid = grid;
 }
 public ColumnHelper(GridHelper <TRow> gridHelper)
 {
     _grid       = gridHelper.Grid;
     _gridHelper = gridHelper;
 }