コード例 #1
0
        }  // method

        // ******* Выбор гарнира *********
        // здесь возможно три состояния:
        // - установить выделение гарнира в этом же или другом блюде
        // - снять выделение в этом же блюде этого же (текущего) гарнира
        private void GrdGarn_SelectGarnish(object sender, SelectGarnishEventArgs e)
        {
            if (AppLib.IsDrag == true)
            {
                return;
            }
            if (AppLib.IsEventsEnable == false)
            {
                AppLib.IsEventsEnable = true; return;
            }

            // выбран гарнир
            if (e.Selected == true)
            {
                // снять выделение ранее выбранного гарнира
                // в том же блюде
                if ((this._selectedGarnIndex > -1) && (this._selectedGarnIndex != e.GarnishIndex))
                {
                    getSelectedGarnish().IsSelected = false;
                }
                //  в другом блюде
                else
                {
                    (this.Parent as MainMenuDishesCanvas).ClearSelectedGarnish();
                }

                // установить выделение
                MainMenuGarnish currentGarnItem = (MainMenuGarnish)sender;
                currentGarnItem.IsSelected = true;

                this._selectedGarnIndex = e.GarnishIndex;

                AppLib.WriteAppAction($"MainWin|Блюдо '{_dishItem.langNames["ru"]}', выделен гарнир '{_dishItem.Garnishes[_selectedGarnIndex].langNames["ru"]}'");

                // изменить изображение блюда с гарниром
                if (_pathImage != null)
                {
                    _pathImage.Fill = currentGarnItem.DishWithGarnishImageBrush;
                }
                // изменить описание блюда
                if (string.IsNullOrEmpty(e.DishWithGarnishDescription) == false)
                {
                    _descrText.Text = e.DishWithGarnishDescription;
                }

                setAddButtonState(true);
            }

            // снять выделение с текущего гарнира
            else
            {
                if (_selectedGarnIndex > -1)
                {
                    AppLib.WriteAppAction($"MainWin|Блюдо '{_dishItem.langNames["ru"]}', снято выделение с гарнира '{_dishItem.Garnishes[_selectedGarnIndex].langNames["ru"]}'");
                }

                unselectGarnish();
            }
        }  // method
コード例 #2
0
        private void createGarnisheButtons()
        {
            double grnColWidth = Math.Floor(contentPanelWidth / 3d);
            double grnH = dGrid.RowDefinitions[4].Height.Value, grnW = ((AppLib.IsAppVerticalLayout)?1.1d:1.3) * grnH; // пропорции кнопки

            if (grnW > grnColWidth)
            {
                grnW = grnColWidth;
            }

            _grdGarnishes = new Grid();
            _grdGarnishes.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(grnColWidth, GridUnitType.Pixel)
            });
            _grdGarnishes.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(grnColWidth, GridUnitType.Pixel)
            });
            _grdGarnishes.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(grnColWidth, GridUnitType.Pixel)
            });

            Brush notSelTextBrush = AppLib.GetSolidColorBrushFromAppProps("dishPanelGarnishTextColor", Brushes.Black);
            Brush selTextBrush    = AppLib.GetSolidColorBrushFromAppProps("dishPanelGarnishSelectTextColor", Brushes.Black);

            MainMenuGarnish grdGarn = new MainMenuGarnish(_dishItem, 0, grnH, grnW, dGrid);

            grdGarn.NotSelectedTextBrush = notSelTextBrush;
            grdGarn.SelectedTextBrush    = selTextBrush;
            grdGarn.HorizontalAlignment  = HorizontalAlignment.Left;
            grdGarn.SetValue(Grid.ColumnProperty, 0);
            grdGarn.SelectGarnish += GrdGarn_SelectGarnish;
            _grdGarnishes.Children.Add(grdGarn);

            if (_dishItem.Garnishes.Count >= 2)
            {
                grdGarn = new MainMenuGarnish(_dishItem, 1, grnH, grnW, dGrid);
                grdGarn.NotSelectedTextBrush = notSelTextBrush;
                grdGarn.SelectedTextBrush    = selTextBrush;
                grdGarn.HorizontalAlignment  = HorizontalAlignment.Center;
                grdGarn.SetValue(Grid.ColumnProperty, 1);
                grdGarn.SelectGarnish += GrdGarn_SelectGarnish;
                _grdGarnishes.Children.Add(grdGarn);
            }
            if (_dishItem.Garnishes.Count >= 3)
            {
                grdGarn = new MainMenuGarnish(_dishItem, 2, grnH, grnW, dGrid);
                grdGarn.NotSelectedTextBrush = notSelTextBrush;
                grdGarn.SelectedTextBrush    = selTextBrush;
                grdGarn.HorizontalAlignment  = HorizontalAlignment.Right;
                grdGarn.SetValue(Grid.ColumnProperty, 2);
                grdGarn.SelectGarnish += GrdGarn_SelectGarnish;
                _grdGarnishes.Children.Add(grdGarn);
            }

            Grid.SetRow(_grdGarnishes, 4); dGrid.Children.Add(_grdGarnishes);
        }  // method
コード例 #3
0
 public void ClearSelectedGarnish()
 {
     if ((this._selectedGarnIndex > -1) || _isAnimating.IsSetBit(2) || _isAnimating.IsSetBit(3))
     {
         MainMenuGarnish garn = getSelectedGarnish();
         if (garn != null)
         {
             garn.IsSelected = false;
         }
         unselectGarnish();
     }
 }