Example #1
0
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            IQueryable <World> query = null;

            Table <World> table;

            if (worldTable == null)
            {
                table = worldworkspace.WorldTable;
            }
            else
            {
                table = worldTable;
            }


            switch (comboBox1.Text)
            {
            case "Select all where Continent is equal to North America":
                query = this.GetContinentsForNorthAmerica(table);
                break;

            case "Select all where Pop_1994 is greater then 4,000,000":
                query = this.GetGreaterThenFilter(table, 4000000);
                break;
            }

            QueryTextbox.Clear();
            if (query != null)
            {
                QueryTextbox.Text = query.ToQueryString();
            }
        }
Example #2
0
        public Task <WallpaperSource> WaitForButtonPressAsync()
        {
            Dispatcher.BeginInvoke(new Action(() =>
            {
                this.Focus();
                QueryTextbox.Focus();
            }));

            var tcs = new TaskCompletionSource <WallpaperSource>();
            RoutedEventHandler negativeHandler       = null;
            KeyEventHandler    negativeKeyHandler    = null;
            RoutedEventHandler affirmativeHandler    = null;
            KeyEventHandler    affirmativeKeyHandler = null;
            KeyEventHandler    escapeKeyHandler      = null;
            Action             cleanUpHandlers       = null;

            cleanUpHandlers = () =>
            {
                QueryTextbox.KeyDown      -= affirmativeKeyHandler;
                this.KeyDown              -= escapeKeyHandler;
                NegativeButton.Click      -= negativeHandler;
                AffirmativeButton.Click   -= affirmativeHandler;
                NegativeButton.KeyDown    -= negativeKeyHandler;
                AffirmativeButton.KeyDown -= affirmativeKeyHandler;
            };

            escapeKeyHandler = (sender, e) =>
            {
                if (e.Key != Key.Escape)
                {
                    return;
                }
                cleanUpHandlers();
                tcs.TrySetResult(null);
            };

            negativeKeyHandler = (sender, e) =>
            {
                if (e.Key != Key.Enter)
                {
                    return;
                }
                cleanUpHandlers();
                tcs.TrySetResult(null);
            };

            affirmativeKeyHandler = (sender, e) =>
            {
                if (e.Key != Key.Enter)
                {
                    return;
                }
                cleanUpHandlers();
                tcs.TrySetResult(GetResult());
            };

            negativeHandler = (sender, e) =>
            {
                cleanUpHandlers();
                tcs.TrySetResult(null);
                e.Handled = true;
            };

            affirmativeHandler = (sender, e) =>
            {
                cleanUpHandlers();
                tcs.TrySetResult(GetResult());
                e.Handled = true;
            };

            NegativeButton.KeyDown    += negativeKeyHandler;
            AffirmativeButton.KeyDown += affirmativeKeyHandler;
            QueryTextbox.KeyDown      += affirmativeKeyHandler;
            this.KeyDown            += escapeKeyHandler;
            NegativeButton.Click    += negativeHandler;
            AffirmativeButton.Click += affirmativeHandler;
            return(tcs.Task);
        }