コード例 #1
0
ファイル: MemberItem.cs プロジェクト: masums/spacevil
        public override void InitElements()
        {
            //Name
            MemberName.SetStyle(Styles.GetLabelStyle());
            MemberName.SetFontStyle(FontStyle.Regular);

            //Value
            MemberValue.SetStyle(Styles.GetLabelStyle());
            MemberValue.SetFontStyle(FontStyle.Regular);
            MemberValue.SetText("0%");
            MemberValue.SetWidth(45);
            MemberValue.SetWidthPolicy(SizePolicy.Fixed);
            MemberValue.SetTextAlignment(ItemAlignment.VCenter | ItemAlignment.Right);
            MemberValue.SetMargin(0, 0, 10, 0);

            //Button
            MemberRemove.SetBackground(255, 181, 111);
            MemberRemove.SetSize(14, 14);
            MemberRemove.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Fixed);
            MemberRemove.SetAlignment(ItemAlignment.VCenter | ItemAlignment.Left);
            MemberRemove.AddItemState(ItemStateType.Hovered, new ItemState(Color.FromArgb(125, 255, 255, 255)));
            MemberRemove.SetCustomFigure(new CustomFigure(false, GraphicsMathService.GetCross(14, 14, 5, 45)));
            MemberRemove.EventMouseClick += (sender, args) => DisposeSelf();

            //Adding
            AddItem(Layout);

            Layout.AddItems(
                MemberName,
                MemberValue,
                MemberRemove
                );
        }
コード例 #2
0
ファイル: InfinityItemsBox.cs プロジェクト: masums/spacevil
        internal static ButtonCore GetOrdinaryButton()
        {
            ButtonCore btn = new ButtonCore();

            btn.SetSize(30, 30);
            btn.SetBackground(74, 76, 82);
            btn.SetBorderRadius(6);
            btn.SetFont(new Font(DefaultsService.GetDefaultFont().FontFamily, 16, FontStyle.Bold));
            btn.AddItemState(ItemStateType.Hovered, new ItemState(Color.FromArgb(30, 255, 255, 255)));
            return(btn);
        }
コード例 #3
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);
        }
コード例 #4
0
ファイル: Contact.cs プロジェクト: spvessel/spacevil
        public override void InitElements()
        {
            border  = new Ellipse();
            contact = new Label();
            close   = new ButtonCore();
            signal  = new BlankItem();

            InitContactMenu(GetHandler());

            //contact image border
            border.SetBackground(250, 166, 26);
            border.SetSize(30, 30);
            border.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Fixed);
            border.SetAlignment(ItemAlignment.VCenter | ItemAlignment.Left);

            //contact name
            contact.SetText(name);
            contact.SetFont(new Font(DefaultsService.GetDefaultFont().FontFamily, 14, FontStyle.Bold));
            contact.SetAlignment(ItemAlignment.VCenter | ItemAlignment.Left);
            contact.SetTextAlignment(ItemAlignment.VCenter | ItemAlignment.Left);
            contact.SetForeground(101, 102, 106);
            contact.SetSizePolicy(SizePolicy.Expand, SizePolicy.Expand);
            contact.SetMargin(40, 0, 0, 0);

            //contact close
            close.SetVisible(false);
            close.SetBackground(91, 94, 99);
            close.SetSize(10, 10);
            close.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Fixed);
            close.SetAlignment(ItemAlignment.VCenter | ItemAlignment.Right);
            close.SetMargin(0, 0, 12, 0);
            close.SetCustomFigure(new Figure(false, GraphicsMathService.GetCross(10, 10, 1, 45)));
            close.AddItemState(ItemStateType.Hovered, new ItemState()
            {
                Background = Color.FromArgb(255, 255, 255, 255)
            });
            close.EventMouseClick += (sender, args) => DisposeSelf();

            signal.SetBackground(67, 181, 129);
            signal.SetSize(14, 14);
            signal.SetBorderFill(Color.FromArgb(255, 66, 70, 77));
            signal.SetBorderThickness(2);
            signal.SetBorderRadius(7);
            signal.SetAlignment(ItemAlignment.Left | ItemAlignment.Bottom);
            signal.SetMargin(18, 0, 0, 3);

            //adding
            AddItems(border, signal, contact, close);
            // IsFocusable = true;
        }
コード例 #5
0
ファイル: ItemFactory.cs プロジェクト: masums/spacevil
        internal static ButtonCore GetToolbarButton()
        {
            ButtonCore btn = new ButtonCore();

            btn.SetBackground(55, 55, 55);
            btn.SetHeightPolicy(SizePolicy.Expand);
            btn.SetWidth(30);
            btn.SetPadding(5, 5, 5, 5);
            btn.AddItemState(
                ItemStateType.Hovered,
                new ItemState(Color.FromArgb(30, 255, 255, 255)));

            return(btn);
        }
コード例 #6
0
ファイル: CharacterCard.cs プロジェクト: masums/spacevil
        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);
        }
コード例 #7
0
        public override void InitElements()
        {
            _palette.SetPassEvents(false);
            _palette.SetItemName("Palette");
            _palette.SetAlignment(ItemAlignment.Right | ItemAlignment.Top);
            _palette.SetMargin(0, 40, 0, 0);
            _palette.SetSize(16, 15);
            _palette.SetBackground(255, 128, 128);
            _palette.SetBorderRadius(new CornerRadius(3));

            CustomShape arrow = new CustomShape();

            arrow.SetTriangles(GraphicsMathService.GetTriangle(angle: 180));
            arrow.SetBackground(50, 50, 50);
            arrow.SetSize(14, 6);
            arrow.SetMargin(0, 1, 0, 0);
            arrow.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Fixed);
            arrow.SetAlignment(ItemAlignment.HCenter | ItemAlignment.VCenter);

            _lock.SetAlignment(ItemAlignment.Left | ItemAlignment.Top);
            _lock.SetSize(16, 16);
            _lock.SetBorderRadius(new CornerRadius(8));
            _lock.EventToggle += (sender, args) =>
            {
                IsLocked = !IsLocked;
                _text.SetEditable(!_text.IsEditable());
                _btn_close.SetDisabled(!_btn_close.IsDisabled());
            };

            VerticalScrollBar vs = _text.VScrollBar;

            vs.Slider.Handler.RemoveAllItemStates();
            vs.SetArrowsVisible(false);
            vs.SetBackground(Color.Transparent);
            vs.SetPadding(0, 2, 0, 2);
            vs.Slider.Track.SetBackground(Color.Transparent);
            vs.Slider.Handler.SetBorderRadius(new CornerRadius(3));
            vs.Slider.Handler.SetBackground(80, 80, 80, 255);
            vs.Slider.Handler.SetMargin(new Indents(5, 0, 5, 0));

            _text.SetBorderRadius(new CornerRadius(3));
            _text.SetHScrollBarPolicy(VisibilityPolicy.Never);
            _text.SetHeight(25);
            _text.SetAlignment(ItemAlignment.Left | ItemAlignment.Bottom);
            _text.SetBackground(151, 203, 255);
            _text.SetMargin(0, 60, 0, 0);

            _note.SetForeground(180, 180, 180);
            _note.SetHeight(25);
            _note.SetAlignment(ItemAlignment.Left | ItemAlignment.Top);
            _note.SetTextAlignment(ItemAlignment.VCenter | ItemAlignment.Left);
            _note.SetSizePolicy(SizePolicy.Expand, SizePolicy.Fixed);
            _note.SetText("Add a Note:");
            _note.SetMargin(0, 30, 0, 0);

            _btn_close = new ButtonCore();
            _btn_close.SetBackground(Color.FromArgb(255, 100, 100, 100));
            _btn_close.SetItemName("Close_" + GetItemName());
            _btn_close.SetSize(10, 10);
            _btn_close.SetMargin(0, 0, 0, 0);
            _btn_close.SetSizePolicy(SizePolicy.Fixed, SizePolicy.Fixed);
            _btn_close.SetAlignment(ItemAlignment.Top | ItemAlignment.Right);
            _btn_close.AddItemState(ItemStateType.Hovered, new ItemState()
            {
                Background = Color.FromArgb(125, 255, 255, 255)
            });
            _btn_close.SetCustomFigure(new Figure(false, GraphicsMathService.GetCross(10, 10, 3, 45)));
            _btn_close.EventMouseClick += (sender, args) =>
            {
                Dispose();
            };

            AddItems(_lock, _note, _text, _palette, _btn_close);

            _palette.AddItem(arrow);

            _palette_menu = new ContextMenu(GetHandler());
            _palette_menu.SetBorderRadius(5);
            _palette_menu.SetBorderThickness(1);
            _palette_menu.SetBorderFill(32, 32, 32);
            _palette_menu.SetBackground(60, 60, 60);
            _palette_menu.SetWidth(100);
            _palette_menu.ItemList.SetSelectionVisible(false);
            _palette_menu.ActiveButton = MouseButton.ButtonLeft;

            MenuItem red = InfinityItemsBox.GetMenuItem("Red");

            red.EventMouseClick += (sender, args) =>
            {
                _text.SetBackground(255, 196, 196);
            };
            MenuItem green = InfinityItemsBox.GetMenuItem("Green");

            green.EventMouseClick += (sender, args) =>
            {
                _text.SetBackground(138, 255, 180);
            };
            MenuItem blue = InfinityItemsBox.GetMenuItem("Blue");

            blue.EventMouseClick += (sender, args) =>
            {
                _text.SetBackground(151, 203, 255);
            };
            MenuItem yellow = InfinityItemsBox.GetMenuItem("Yellow");

            yellow.EventMouseClick += (sender, args) =>
            {
                _text.SetBackground(234, 232, 162);
            };
            _palette_menu.AddItems(red, green, blue, yellow);

            //mouse click to show palette
            _palette.EventMouseClick += (_, x) => _palette_menu.Show(_, x);
        }
コード例 #8
0
        public override void InitElements()
        {
            _image.KeepAspectRatio(true);
            _image.IsHover = false;

            _toolbar.SetHeightPolicy(SizePolicy.Fixed);
            _toolbar.SetHeight(30);
            _toolbar.SetBackground(32, 32, 32);
            _toolbar.SetSpacing(10, 0);
            _toolbar.SetPadding(30, 0, 10, 0);

            _pictureSize.SetWidthPolicy(SizePolicy.Fixed);
            _pictureSize.SetWidth(100);
            _pictureSize.SetTextAlignment(ItemAlignment.VCenter, ItemAlignment.Right);

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

            ButtonCore _expand = new ButtonCore();

            _expand.SetSize(30, 30);
            _expand.SetAlignment(ItemAlignment.Right, ItemAlignment.Bottom);
            _expand.SetMargin(0, 0, 10, 10);
            _expand.SetBackground(Color.Transparent);
            _expand.SetBorderRadius(15);
            _expand.SetPadding(5, 5, 5, 5);
            _expand.AddItemState(ItemStateType.Hovered, new ItemState(Color.FromArgb(20, 255, 255, 255)));
            _expand.AddItemState(ItemStateType.Pressed, new ItemState(Color.Transparent));

            ButtonCore _menu = new ButtonCore();

            _menu.SetSize(30, 30);
            _menu.SetAlignment(ItemAlignment.Right, ItemAlignment.Top);
            _menu.SetMargin(0, 40, 10, 0);
            _menu.SetBackground(Color.Transparent);
            _menu.SetBorderRadius(15);
            _menu.SetPadding(5, 5, 5, 5);
            _menu.AddItemState(ItemStateType.Hovered, new ItemState(Color.FromArgb(20, 255, 255, 255)));
            _menu.AddItemState(ItemStateType.Pressed, new ItemState(Color.Transparent));

            base.AddItem(_toolbar);
            base.AddItem(Area);
            base.AddItem(_expand);
            base.AddItem(_menu);
            Area.AddItem(_image);

            ImageItem eye = new ImageItem(DefaultsService.GetDefaultImage(EmbeddedImage.Eye, EmbeddedImageSize.Size32x32), false);

            eye.KeepAspectRatio(true);

            ImageItem gear = new ImageItem(DefaultsService.GetDefaultImage(EmbeddedImage.Gear, EmbeddedImageSize.Size32x32), false);

            gear.KeepAspectRatio(true);

            _expand.AddItem(eye);
            _menu.AddItem(gear);

            ContextMenu _rotationMenu = new ContextMenu(GetHandler());

            _rotationMenu.ActiveButton = MouseButton.ButtonLeft;
            MenuItem _rot0 = new MenuItem("Rotate 0\u00b0");

            _rot0.EventMouseClick += (sender, args) =>
            {
                _image.SetRotationAngle(0);
            };
            MenuItem _rot90 = new MenuItem("Rotate 90\u00b0");

            _rot90.EventMouseClick += (sender, args) =>
            {
                _image.SetRotationAngle(90);
            };
            MenuItem _rot180 = new MenuItem("Rotate 180\u00b0");

            _rot180.EventMouseClick += (sender, args) =>
            {
                _image.SetRotationAngle(180);
            };
            MenuItem _rot270 = new MenuItem("Rotate -90\u00b0");

            _rot270.EventMouseClick += (sender, args) =>
            {
                _image.SetRotationAngle(270);
            };
            _rotationMenu.AddItems(_rot0, _rot90, _rot180, _rot270);
            _menu.EventMouseClick += (sender, args) =>
            {
                _rotationMenu.Show(sender, args);
            };

            _toolbar.AddItems(_pictureName, _pictureSize);

            _expand.EventMouseClick += (sender, args) =>
            {
                String picture = Model.GetPicturePath(_wrapLink, _pictureName.GetText());
                if (picture != String.Empty)
                {
                    using (Bitmap img = new Bitmap(picture))
                    {
                        ImageItem       image  = new ImageItem(Model.DownScaleBitmap(img, 1920, 1080), false);
                        FullImageViewer viewer = new FullImageViewer(image);
                        viewer.Show(GetHandler());
                    }
                }
            };

            eye.SetColorOverlay(Color.FromArgb(0, 91, 225, 152), false);
            gear.SetColorOverlay(Color.FromArgb(0, 110, 170, 255), false);

            _expand.EventMouseHover += (sender, args) =>
            {
                eye.SetColorOverlay(true);
            };
            _expand.EventMouseLeave += (sender, args) =>
            {
                eye.SetColorOverlay(false);
            };

            _menu.EventMouseHover += (sender, args) =>
            {
                gear.SetColorOverlay(true);
            };
            _menu.EventMouseLeave += (sender, args) =>
            {
                gear.SetColorOverlay(false);
            };
        }