Пример #1
0
        private void SearchTextBoxControl_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            SearchTextBoxControl.LostFocus -= SearchTextBoxControl_LostFocus;

            if (e.Key == Key.Down && ItemList.Items.Count > 0 && !(e.OriginalSource is ListBoxItem))
            {
                ItemList.Focus();
                ItemList.SelectedIndex = 0;
                ((ListBoxItem)ItemList.ItemContainerGenerator.ContainerFromIndex(ItemList.SelectedIndex)).Focus();
                e.Handled = true;
            }
            else if (e.Key == Key.Up && ItemList.SelectedIndex == 0)
            {
                SearchTextBoxControl.Focus();
                ItemList.UnselectAll();
            }
            else if (e.Key == Key.Down && ItemList.Items.Count > 0)
            {
                ItemList.SelectedIndex += 1;
                ((ListBoxItem)ItemList.ItemContainerGenerator.ContainerFromIndex(ItemList.SelectedIndex)).Focus();
                e.Handled = true;
            }
            else if (e.Key == Key.Up && ItemList.Items.Count > 0 && ItemList.SelectedItem != null)
            {
                ItemList.SelectedIndex -= 1;
                ((ListBoxItem)ItemList.ItemContainerGenerator.ContainerFromIndex(ItemList.SelectedIndex)).Focus();
                e.Handled = true;
            }

            SearchTextBoxControl.LostFocus += SearchTextBoxControl_LostFocus;
        }
Пример #2
0
        private void ItemList_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.Key)
            {
            case Key.Enter:
                if (e.OriginalSource is ListBoxItem)
                {
                    e.Handled    = true;
                    Popup.IsOpen = false;

                    if (QueryResult != null && ItemList.SelectedItem != null)
                    {
                        QueryResult.Execute(ItemList.SelectedItem);
                        args = new RoutedEventArgs(QueryResultSelectedEvent);
                        RaiseEvent(args);
                        SearchTextBoxControl.Clear();
                    }
                }
                break;

            case Key.Up:
            case Key.Down:
                break;

            default:
                e.Handled = true;
                break;
            }
        }
Пример #3
0
 private void CityPopupControlButton_LostFocus(object sender, RoutedEventArgs e)
 {
     if (Popup != null && !IsMouseOver)
     {
         Popup.IsOpen = false;
         SearchTextBoxControl.Clear();
     }
 }
Пример #4
0
        private void OnSearchClick(object sender, RoutedEventArgs e)
        {
            e.Handled = true;

            if (Command != null && Command.CanExecute(CommandParameter))
            {
                Command.Execute(CommandParameter);
            }

            args = new RoutedEventArgs(SearchClickEvent);
            RaiseEvent(args);
            SearchTextBoxControl.Clear();
        }
Пример #5
0
 private void CityPopupControlButton_PreviewMouseDown(object sender, MouseButtonEventArgs e)
 {
     if (((FrameworkElement)Popup.FindName("BackGrid")).IsMouseOver || (ItemList.IsMouseOver && ItemList.SelectedItem != null))
     {
         Popup.IsOpen = false;
         SearchTextBoxControl.Clear();
     }
     else if (Popup != null && Popup.IsOpen && !(SearchTextBoxControl.IsMouseOver || ItemList.IsMouseOver))
     {
         ;
         e.Handled = true;
     }
 }
Пример #6
0
        private void ItemList_PreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed && ItemList.SelectedItem != null &&
                ((ListBoxItem)ItemList.ItemContainerGenerator.ContainerFromIndex(ItemList.SelectedIndex)).IsMouseOver)
            {
                Popup.IsOpen = false;
                e.Handled    = true;

                if (QueryResult != null)
                {
                    QueryResult.Execute(ItemList.SelectedItem);
                    args = new RoutedEventArgs(QueryResultSelectedEvent);
                    RaiseEvent(args);
                    SearchTextBoxControl.Clear();
                }
            }
        }
Пример #7
0
        private void PreviewEscapeTabKeyDown(KeyEventArgs e)
        {
            Popup.IsOpen = false;
            SearchTextBoxControl.Clear();

            if (e.Key == Key.Tab)
            {
                Frame    parent = GlobalUtils.FindVisualParent <Frame>(this);
                Selector child  = GlobalUtils.FindVisualChildren <Selector>(parent).FirstOrDefault();

                if (child != null)
                {
                    parent.Focusable = true;
                    child.Focus();
                    parent.Focusable = false;
                }
            }
        }
Пример #8
0
 private void ClearButtonControl_Click(object sender, RoutedEventArgs e)
 {
     SearchTextBoxControl.Clear();
 }
        internal MarkersManagerGump() : base(0, 0)
        {
            X                = 50;
            Y                = 50;
            CanMove          = true;
            AcceptMouseInput = true;

            var button_width = 50;

            if (_markerFiles.Count > 0)
            {
                _markers     = _markerFiles[0].Markers;
                button_width = WIDTH / _markerFiles.Count;
            }

            Add
            (
                new AlphaBlendControl(0.05f)
            {
                X                      = 1,
                Y                      = 1,
                Width                  = WIDTH,
                Height                 = HEIGHT,
                Hue                    = 999,
                AcceptMouseInput       = true,
                CanCloseWithRightClick = true,
                CanMove                = true,
            }
            );

            #region Boarder
            Add
            (
                new Line
                (
                    0,
                    0,
                    WIDTH,
                    1,
                    Color.Gray.PackedValue
                )
            );

            Add
            (
                new Line
                (
                    0,
                    0,
                    1,
                    HEIGHT,
                    Color.Gray.PackedValue
                )
            );

            Add
            (
                new Line
                (
                    0,
                    HEIGHT,
                    WIDTH,
                    1,
                    Color.Gray.PackedValue
                )
            );

            Add
            (
                new Line
                (
                    WIDTH,
                    0,
                    1,
                    HEIGHT,
                    Color.Gray.PackedValue
                )
            );
            #endregion

            var initY = 10;

            #region Legend

            Add(new Label(ResGumps.MarkerIcon, true, HUE_FONT, 185, 255, FontStyle.BlackBorder)
            {
                X = 5, Y = initY
            });

            Add(new Label(ResGumps.MarkerName, true, HUE_FONT, 185, 255, FontStyle.BlackBorder)
            {
                X = 50, Y = initY
            });

            Add(new Label(ResGumps.MarkerX, true, HUE_FONT, 35, 255, FontStyle.BlackBorder)
            {
                X = 315, Y = initY
            });

            Add(new Label(ResGumps.MarkerY, true, HUE_FONT, 35, 255, FontStyle.BlackBorder)
            {
                X = 380, Y = initY
            });

            Add(new Label(ResGumps.MarkerColor, true, HUE_FONT, 35, 255, FontStyle.BlackBorder)
            {
                X = 420, Y = initY
            });

            Add(new Label(ResGumps.Edit, true, HUE_FONT, 35, 255, FontStyle.BlackBorder)
            {
                X = 475, Y = initY
            });

            Add(new Label(ResGumps.Remove, true, HUE_FONT, 40, 255, FontStyle.BlackBorder)
            {
                X = 505, Y = initY
            });

            Add(new Label(ResGumps.MarkerGoTo, true, HUE_FONT, 40, 255, FontStyle.BlackBorder)
            {
                X = 550, Y = initY
            });

            #endregion

            Add
            (
                new Line
                (
                    0,
                    initY + 20,
                    WIDTH,
                    1,
                    Color.Gray.PackedValue
                )
            );

            // Search Field
            Add(_searchTextBox = new SearchTextBoxControl(WIDTH / 2 - 150, 40));

            DrawArea(_markerFiles[_categoryId].IsEditable);

            var initX = 0;
            foreach (var file in _markerFiles)
            {
                var b = new NiceButton(
                    button_width * initX,
                    HEIGHT - 40,
                    button_width,
                    40,
                    ButtonAction.Activate,
                    file.Name,
                    MARKERS_CATEGORY_GROUP_INDEX
                    )
                {
                    ButtonParameter = initX,
                    IsSelectable    = true,
                };

                b.SetTooltip(file.Name);
                if (initX == 0)
                {
                    b.IsSelected = true;
                }

                Add(b);

                Add
                (
                    new Line
                    (
                        b.X,
                        b.Y,
                        1,
                        b.Height,
                        Color.Gray.PackedValue
                    )
                );
                initX++;
            }

            Add
            (
                new Line
                (
                    0,
                    HEIGHT - 40,
                    WIDTH,
                    1,
                    Color.Gray.PackedValue
                )
            );

            SetInScreen();
        }