コード例 #1
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);
        }
コード例 #2
0
        public override void InitElements()
        {
            //top
            _topLayout.SetHeightPolicy(SizePolicy.Fixed);
            _topLayout.SetHeight(30);
            _topLayout.SetSpacing(5, 0);
            _topLayout.SetBackground(Color.FromArgb(20, 255, 255, 255));

            _expand.SetSize(20, 30);
            _expand.SetBackground(25, 25, 25);
            _expand.GetState(ItemStateType.Toggled).Background = Color.FromArgb(25, 25, 25);
            _expand.SetPadding(4, 9, 4, 9);
            _arrow.SetRotationAngle(180);
            _arrow.SetColorOverlay(Color.FromArgb(210, 210, 210));
            _arrow.KeepAspectRatio(true);

            Name.SetHeightPolicy(SizePolicy.Fixed);
            Name.SetHeight(30);
            Name.SetMargin(5, 0, 0, 0);
            Name.SetFontSize(16);
            Name.SetFontStyle(FontStyle.Bold);

            _remove.SetSize(12, 12);
            _remove.SetCustomFigure(new Figure(false, GraphicsMathService.GetCross(12, 12, 3, 45)));
            _remove.SetBackground(100, 100, 100);
            _remove.SetAlignment(ItemAlignment.VCenter, ItemAlignment.Left);
            _remove.SetMargin(0, 0, 5, 0);

            //bottom
            _bottomLayout.SetHeightPolicy(SizePolicy.Fixed);
            _bottomLayout.SetHeight(30);
            _bottomLayout.SetSpacing(5, 0);
            _bottomLayout.SetAlignment(ItemAlignment.Left, ItemAlignment.Bottom);

            _pathLabel.SetWidthPolicy(SizePolicy.Fixed);
            _pathLabel.SetWidth(_pathLabel.GetTextWidth() + 5);
            // _pathLabel.SetMargin(5, 0, 0, 0);
            _pathLabel.SetFontSize(14);

            _pathBrowse.SetSize(30, 30);
            _pathBrowse.SetBackground(255, 255, 255, 20);
            _pathBrowse.SetPadding(7, 7, 7, 7);
            _pathBrowse.GetState(ItemStateType.Hovered).Background = Color.FromArgb(150, 255, 255, 255);

            AddItems(
                _topLayout,
                _bottomLayout
                );

            _topLayout.AddItems(
                _expand,
                Name,
                _remove
                );

            _bottomLayout.AddItems(
                _pathLabel,
                _pathEdit,
                _pathBrowse
                );

            _expand.AddItem(_arrow);
            _pathBrowse.AddItem(new ImageItem(DefaultsService.GetDefaultImage(EmbeddedImage.Pencil, EmbeddedImageSize.Size32x32), false));

            //events
            _expand.EventToggle += (sender, args) =>
            {
                _bottomLayout.SetVisible(!_bottomLayout.IsVisible());
                if (_bottomLayout.IsVisible())
                {
                    SetHeight(70);
                    _arrow.SetRotationAngle(90);
                }
                else
                {
                    SetHeight(30);
                    _arrow.SetRotationAngle(180);
                }
            };

            Name.EventMouseDoubleClick += (sender, args) =>
            {
                OnDoubleClick.Invoke(this);
            };

            _remove.EventMouseClick += (sender, args) =>
            {
                Remove();
            };
        }
コード例 #3
0
        public override void InitElements()
        {
            //important!
            base.InitElements();

            //window init
            Window.SetMinSize(330, 150);
            Window.SetBackground(47, 49, 54);
            Window.SetPadding(0, 0, 0, 0);

            //title
            TitleBar title = new TitleBar("Adding a new friend");

            title.SetStyle(Styles.GetTitleBarStyle());
            title.GetMaximizeButton().SetVisible(false);
            title.GetMinimizeButton().SetVisible(false);

            VerticalStack layout = new VerticalStack();

            layout.SetAlignment(ItemAlignment.Top | ItemAlignment.HCenter);
            layout.SetMargin(0, 22, 0, 0);
            layout.SetPadding(6, 15, 6, 6);
            layout.SetSpacing(vertical: 30);
            layout.SetBackground(255, 255, 255, 20);

            //new friend's name
            input.SetBorderRadius(4);
            input.EventKeyRelease += OnKeyRelease;

            //add button
            add = InfinityItemsBox.GetOrdinaryButton();
            add.SetSize(150, 30);
            add.SetBackground(67, 181, 129);
            add.SetForeground(Color.White);
            add.SetText("Add");
            add.SetAlignment(ItemAlignment.HCenter | ItemAlignment.Bottom);
            add.SetPadding(0, 2, 0, 0);
            add.SetShadow(4, 0, 2, Color.FromArgb(150, 0, 0, 0));

            //adding items
            Window.AddItems(
                title,
                layout
                );
            layout.AddItems(
                input,
                add
                );

            add.EventMouseClick += (sender, args) =>
            {
                InputResult = input.GetText();
                Close();
            };

            title.GetCloseButton().EventMouseClick  = null;
            title.GetCloseButton().EventMouseClick += (sender, args) =>
            {
                Close();
            };
            //focus on textedit
            input.SetFocus();
        }
コード例 #4
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);
            };
        }