示例#1
0
        private void InitGridView()
        {
            MoreDataMessage = "more data below".ToConsoleString(DefaultColors.H1Color);
            this.KeyInputReceived.SubscribeForLifetime(OnKeyInputReceived, this);

            this.filterTextDebouncer = new ActionDebouncer(TimeSpan.FromSeconds(0), () =>
            {
                if (Application != null && FilterTextBox != null)
                {
                    Application.QueueAction(() =>
                    {
                        FilterText = FilterTextBox.Value.ToString();
                    });
                }
            });

            // don't accept focus unless I have at least one item in the data view
            this.Focused.SubscribeForLifetime(() =>
            {
                if (DataView.Items.Count == 0)
                {
                    Application.FocusManager.TryMoveFocus();
                }
            }, this);
        }
示例#2
0
        private void DebounceResize()
        {
            console.Clear();
            bool            done      = false;
            ActionDebouncer debouncer = new ActionDebouncer(TimeSpan.FromSeconds(.25), () =>
            {
                done = true;
            });

            debouncer.Trigger();
            while (done == false)
            {
                if (console.BufferWidth != lastConsoleWidth || console.WindowHeight != lastConsoleHeight)
                {
                    lastConsoleWidth  = console.BufferWidth;
                    lastConsoleHeight = console.WindowHeight;
                    debouncer.Trigger();
                }
            }
        }
示例#3
0
        private void InitGridView()
        {
            this.KeyInputReceived.SubscribeForLifetime(OnKeyInputReceived, this.LifetimeManager);

            this.filterTextDebouncer = new ActionDebouncer(TimeSpan.FromSeconds(0), () =>
            {
                if (Application != null && FilterTextBox != null)
                {
                    Application.QueueAction(() =>
                    {
                        FilterText = FilterTextBox.Value.ToString();
                    });
                }
            });

            // don't accept focus unless I have at least one item in the data view
            this.Focused.SubscribeForLifetime(() =>
            {
                if (DataView.Items.Count == 0)
                {
                    Application.FocusManager.TryMoveFocus();
                }
            }, this.LifetimeManager);
        }