Beispiel #1
0
        internal static MenuItem GetMenuItem(String name, Bitmap bitmap)
        {
            MenuItem menuItem = new MenuItem(name);

            menuItem.SetStyle(StyleFactory.GetMenuItemStyle());
            menuItem.SetTextMargin(new Indents(25, 0, 0, 0));


            // Optionally: set an event on click
            menuItem.EventMouseClick += (sender, args) =>
            {
                PopUpMessage popUpInfo = new PopUpMessage("You choosed a function:\n" + menuItem.GetText());
                popUpInfo.SetStyle(StyleFactory.GetBluePopUpStyle());
                popUpInfo.SetTimeOut(2000);
                popUpInfo.Show(menuItem.GetHandler());
            };

            // Optionally: add an image into MenuItem
            ImageItem img = new ImageItem(bitmap, false);

            img.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Fixed);
            img.SetSize(20, 20);
            img.SetAlignment(ItemAlignment.Left, ItemAlignment.VCenter);
            img.KeepAspectRatio(true);
            menuItem.AddItem(img);


            // Optionally: add a button into MenuItem
            ButtonCore infoBtn = new ButtonCore("?");

            infoBtn.SetBackground(40, 40, 40);
            infoBtn.SetWidth(20);
            infoBtn.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Expand);
            infoBtn.SetFontStyle(FontStyle.Bold);
            infoBtn.SetForeground(210, 210, 210);
            infoBtn.SetAlignment(ItemAlignment.VCenter, ItemAlignment.Right);
            infoBtn.SetMargin(0, 0, 10, 0);
            infoBtn.SetBorderRadius(3);
            infoBtn.AddItemState(ItemStateType.Hovered, new ItemState(Color.FromArgb(0, 140, 210)));
            infoBtn.SetPassEvents(false, InputEventType.MousePress, InputEventType.MouseRelease, InputEventType.MouseDoubleClick);
            infoBtn.IsFocusable      = false; // prevent focus this button
            infoBtn.EventMouseClick += (sender, args) =>
            {
                PopUpMessage popUpInfo = new PopUpMessage("This is decorated MenuItem:\n" + menuItem.GetText());
                popUpInfo.SetStyle(StyleFactory.GetDarkPopUpStyle());
                popUpInfo.SetTimeOut(2000);
                popUpInfo.Show(infoBtn.GetHandler());
            };
            menuItem.AddItem(infoBtn);

            return(menuItem);
        }
Beispiel #2
0
        public static ImageItem GetImageMenuItem(Bitmap bitmap, Color overlay)
        {
            ImageItem image = new ImageItem(bitmap, false);

            image.KeepAspectRatio(true);
            image.SetAlignment(ItemAlignment.Left, ItemAlignment.VCenter);
            image.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Fixed);
            image.SetSize(20, 20);
            image.SetColorOverlay(overlay);
            image.SetMargin(-5, 0, 0, 0);

            return(image);
        }
Beispiel #3
0
        public override void InitElements()
        {
            _icon.IsHover = false;
            _icon.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Fixed);
            _icon.SetSize(40, 30);
            _icon.KeepAspectRatio(true);
            _icon.SetAlignment(ItemAlignment.Left, ItemAlignment.VCenter);
            if (_isChecked)
            {
                _icon.SetImage(Factory.Resources.SwitcherOn);
            }
            else
            {
                _icon.SetImage(Factory.Resources.SwitcherOff);
            }

            _text.IsHover = false;
            _text.SetTextAlignment(ItemAlignment.Left, ItemAlignment.VCenter);
            _text.SetMargin(_icon.GetWidth() + _spacing);
            SetMaxWidth(_text.GetTextWidth() + _icon.GetWidth() + _spacing);

            AddItems(
                _icon,
                _text
                );

            EventMouseHover += (sender, args) =>
            {
                _isHovered = true;
                UpdateImage();
            };
            EventMouseLeave += (sender, args) =>
            {
                _isHovered = false;
                UpdateImage();
            };
            EventMouseClick += (sender, args) =>
            {
                Toggle();
            };
        }
Beispiel #4
0
        public override void InitElements()
        {
            ImageItem _race = new ImageItem(DefaultsService.GetDefaultImage(
                                                EmbeddedImage.User,
                                                EmbeddedImageSize.Size32x32), false);

            _race.KeepAspectRatio(true);
            _race.SetWidthPolicy(SizePolicy.Fixed);
            _race.SetWidth(20);
            _race.SetAlignment(ItemAlignment.Left, ItemAlignment.VCenter);

            switch (_characterInfo.Race)
            {
            case CharacterRace.Human:
                _race.SetColorOverlay(Color.FromArgb(0, 162, 232));
                break;

            case CharacterRace.Elf:
                _race.SetColorOverlay(Color.FromArgb(35, 201, 109));
                break;

            case CharacterRace.Dwarf:
                _race.SetColorOverlay(Color.FromArgb(255, 127, 39));
                break;
            }

            _name.SetMargin(30, 0, 30, 0);

            ButtonCore infoBtn = new ButtonCore("?");

            infoBtn.SetBackground(Color.FromArgb(255, 40, 40, 40));
            infoBtn.SetWidth(20);
            infoBtn.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Expand);
            infoBtn.SetFontStyle(FontStyle.Bold);
            infoBtn.SetForeground(210, 210, 210);
            infoBtn.SetAlignment(ItemAlignment.VCenter, ItemAlignment.Right);
            infoBtn.SetMargin(0, 0, 20, 0);
            infoBtn.AddItemState(ItemStateType.Hovered, new ItemState(Color.FromArgb(0, 140, 210)));

            infoBtn.SetPassEvents(false);

            infoBtn.EventMouseHover += (sender, args) =>
            {
                SetMouseHover(true);
            };

            infoBtn.EventMouseClick += (sender, args) =>
            {
                ImageItem race = new ImageItem(DefaultsService.GetDefaultImage(EmbeddedImage.User, EmbeddedImageSize.Size32x32), false);
                race.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Fixed);
                race.SetSize(32, 32);
                race.SetAlignment(ItemAlignment.Left, ItemAlignment.Top);
                race.SetColorOverlay(_race.GetColorOverlay());

                PopUpMessage popUpInfo = new PopUpMessage(
                    _characterInfo.Name + "\n" +
                    "Age: " + _characterInfo.Age + "\n" +
                    "Sex: " + _characterInfo.Sex + "\n" +
                    "Race: " + _characterInfo.Race + "\n" +
                    "Class: " + _characterInfo.Class
                    );
                popUpInfo.SetTimeOut(3000);
                popUpInfo.SetHeight(200);
                popUpInfo.Show(GetHandler());
                popUpInfo.AddItem(race);
            };

            //close
            ButtonCore removeBtn = new ButtonCore();

            removeBtn.SetBackground(Color.FromArgb(255, 40, 40, 40));
            removeBtn.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Fixed);
            removeBtn.SetSize(10, 10);
            removeBtn.SetAlignment(ItemAlignment.VCenter, ItemAlignment.Right);
            removeBtn.SetCustomFigure(new CustomFigure(false, GraphicsMathService.GetCross(10, 10, 2, 45)));
            removeBtn.AddItemState(ItemStateType.Hovered, new ItemState(Color.FromArgb(200, 95, 97)));

            //close event
            removeBtn.EventMouseClick += (sender, args) =>
            {
                RemoveSelf();
            };

            //adding
            AddItems(_race, _name, infoBtn, removeBtn);
        }