Ejemplo n.º 1
0
        void CreateToolsButton()
        {
            //添加
            NavButton btnAdd = new NavButton();

            btnAdd.Caption       = "添加";
            btnAdd.Glyph         = global::USL.Properties.Resources.add;
            btnAdd.Name          = "btnAdd";
            btnAdd.ElementClick += btnAdd_ElementClick;
            tileNavPane.Buttons.Add(btnAdd);
            //保存
            NavButton btnSave = new NavButton();

            btnSave.Caption       = "保存";
            btnSave.Glyph         = global::USL.Properties.Resources.save;
            btnSave.Name          = "btnSave";
            btnSave.ElementClick += btnSave_ElementClick;
            tileNavPane.Buttons.Add(btnSave);
            //清空
            NavButton btnClear = new NavButton();

            btnClear.Caption       = "清空";
            btnClear.Glyph         = global::USL.Properties.Resources.clear;
            btnClear.Name          = "btnClear";
            btnClear.ElementClick += btnClear_ElementClick;
            tileNavPane.Buttons.Add(btnClear);
        }
Ejemplo n.º 2
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            TileNavPaneBar    pane = value as TileNavPaneBar;
            BindingExpression bindingExpression = pane.GetBindingExpression(ItemsControl.ItemsSourceProperty);

            if (bindingExpression != null)
            {
                NavButton navButton = bindingExpression.DataItem as NavButton;
                if (navButton?.HorizontalAlignment == HorizontalAlignment.Right)
                {
                    return(HorizontalAlignment.Right);
                }
            }
            return(HorizontalAlignment.Left);
        }
Ejemplo n.º 3
0
    public void Update(PSMoveSharpNavPadData padData)
    {
        PrevButtons = Buttons;
        Buttons     = NavButton.None;
        if ((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlUp) != 0)
        {
            Buttons |= NavButton.Up;
        }
        if ((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlDown) != 0)
        {
            Buttons |= NavButton.Down;
        }
        if ((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlLeft) != 0)
        {
            Buttons |= NavButton.Left;
        }
        if ((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlRight) != 0)
        {
            Buttons |= NavButton.Right;
        }
        if ((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlCross) != 0)
        {
            Buttons |= NavButton.Cross;
        }
        if ((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlCircle) != 0)
        {
            Buttons |= NavButton.Circle;
        }
        if ((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlL1) != 0)
        {
            Buttons |= NavButton.L1;
        }
        if ((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlL3) != 0)
        {
            Buttons |= NavButton.L3;
        }

        ValueL2 = padData.button[PSMoveSharpConstants.offsetPressL2];

        if (ValueL2 >= thresholdL2)
        {
            Buttons |= NavButton.L2;
        }

        ValueAnalog.x = padData.button[PSMoveSharpConstants.offsetAnalogLeftX] - 128;
        ValueAnalog.y = padData.button[PSMoveSharpConstants.offsetAnalogLeftY] - 128;
    }
Ejemplo n.º 4
0
    void spawnButton(int id)
    {
        Vector3 spawnLoc = GetRoomDirectionalPosition(id);

        if (spawnLoc == Vector3.zero)
        {
            return;
        }
        GameObject Spawn = Instantiate(ButtonPrefab, spawnLoc, Quaternion.identity, null);

        Spawn.transform.rotation = Quaternion.LookRotation(-transform.position + Spawn.transform.position, Vector3.up);
        NavButton SpawnedNav = Spawn.GetComponent <NavButton>();

        SpawnedNav.RoomID        = id;
        SpawnedNav.ParentManager = this;
        SpawnedRoomButtons.Add(Spawn);
    }
Ejemplo n.º 5
0
 public bool GetButtonsUp(NavButton requestButtons)
 {
     return GetButtons(PrevButtons, requestButtons) && !GetButtons(Buttons, requestButtons);
 }
Ejemplo n.º 6
0
 public bool GetButtonsDown(NavButton requestButtons)
 {
     return !GetButtons(PrevButtons, requestButtons) && GetButtons(Buttons, requestButtons);
 }
Ejemplo n.º 7
0
 public bool GetButtonsAny(NavButton requestButtons)
 {
     return GetButtons(Buttons, requestButtons);
 }
Ejemplo n.º 8
0
        public void InitNavPain()
        {
            #region navButtonHome

            var navButtonHome = new NavButton();
            navButtonHome.Alignment     = NavButtonAlignment.Left;
            navButtonHome.Glyph         = Icons.Home_Black_32;
            navButtonHome.ElementClick += NavButtonHome_ElementClick;

            #endregion

            //#region navButtonMenu
            //var navButtonMenu = new NavButton();
            //navButtonMenu.Caption = "Application";
            //navButtonMenu.IsMain = true;
            //#endregion

            #region navButtonUser

            var navButtonUser = new TileNavCategoryEx();
            navButtonUser.Allignment = HorzAlignment.Far;
            navButtonUser.Alignment  = NavButtonAlignment.Right;
            navButtonUser.Caption    = "User";
            navButtonUser.Glyph      = Icons.User_Black_32;


            var tileNavItem31 = new TileNavItem();
            var tileNavItem32 = new TileNavItem();
            var tileNavItem33 = new TileNavItem();

            navButtonUser.Items.AddRange(new[]
            {
                tileNavItem31,
                tileNavItem32,
                tileNavItem33
            });

            #endregion

            #region navButtonMin

            var navButtonMin = new NavButton();
            navButtonMin.Alignment     = NavButtonAlignment.Right;
            navButtonMin.Glyph         = Icons.Minus_Black_32;
            navButtonMin.ElementClick += NavButtonMin_ElementClick;

            #endregion

            #region navButtonClose

            var navButtonClose = new NavButton();
            navButtonClose.Alignment     = NavButtonAlignment.Right;
            navButtonClose.Glyph         = Icons.Close_Black_32;
            navButtonClose.ElementClick += NavButtonClose_ElementClick;

            #endregion

            #region config

            AllowGlyphSkinning   = true;
            ContinuousNavigation = true;
            Dock          = DockStyle.Fill;
            ButtonPadding = new Padding(12);


            KZHelper.KZAppearanceSetter.SetAppearance(Appearance, null, KZHelper.KZColours.MainColour.ActiveColour, KZHelper.KZColours.MainForeColour.ActiveColour);

            KZHelper.KZAppearanceSetter.SetAppearance(AppearanceHovered, null, KZHelper.KZColours.MainColour.HoverColour, KZHelper.KZColours.MainForeColour.HoverColour);

            KZHelper.KZAppearanceSetter.SetAppearance(AppearanceSelected, null, KZHelper.KZColours.MainColour.SelectColour, KZHelper.KZColours.MainForeColour.SelectColour);



            #endregion

            Buttons.Add(navButtonHome);
            //Buttons.Add(navButtonMenu);
            Buttons.Add(navButtonUser);
            Buttons.Add(navButtonMin);
            Buttons.Add(navButtonClose);
        }
Ejemplo n.º 9
0
 private bool GetButtonsAny(NavButton state, NavButton requestButtons)
 {
     return (state & requestButtons) > 0;
 }
Ejemplo n.º 10
0
 private bool GetButtonsAny(NavButton state, NavButton requestButtons)
 {
     return((state & requestButtons) > 0);
 }
Ejemplo n.º 11
0
 private bool GetButtons(NavButton state, NavButton requestButtons)
 {
     return((state & requestButtons) == requestButtons);
 }
Ejemplo n.º 12
0
 public bool GetButtonsDown(NavButton requestButtons)
 {
     return(!GetButtons(PrevButtons, requestButtons) && GetButtons(Buttons, requestButtons));
 }
Ejemplo n.º 13
0
 public bool GetButtonsUp(NavButton requestButtons)
 {
     return(GetButtons(PrevButtons, requestButtons) && !GetButtons(Buttons, requestButtons));
 }
Ejemplo n.º 14
0
 public bool GetButtonsAny(NavButton requestButtons)
 {
     return(GetButtons(Buttons, requestButtons));
 }
Ejemplo n.º 15
0
    public void Update(PSMoveSharpNavPadData padData)
    {
        PrevButtons = Buttons;
        Buttons = NavButton.None;
        if((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlUp)!=0)
            Buttons |= NavButton.Up;
        if((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlDown)!=0)
            Buttons |= NavButton.Down;
        if((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlLeft)!=0)
            Buttons |= NavButton.Left;
        if((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlRight)!=0)
            Buttons |= NavButton.Right;
        if((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlCross)!=0)
            Buttons |= NavButton.Cross;
        if((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlCircle)!=0)
            Buttons |= NavButton.Circle;
        if((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlL1)!=0)
            Buttons |= NavButton.L1;
        if((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlL3)!=0)
            Buttons |= NavButton.L3;

        ValueL2 = padData.button[PSMoveSharpConstants.offsetPressL2];

        if(ValueL2 >= thresholdL2)
            Buttons |= NavButton.L2;

        ValueAnalog.x = padData.button[PSMoveSharpConstants.offsetAnalogLeftX] - 128;
        ValueAnalog.y = padData.button[PSMoveSharpConstants.offsetAnalogLeftY] - 128;
    }
Ejemplo n.º 16
0
 private bool GetButtons(NavButton state, NavButton requestButtons)
 {
     return (state & requestButtons) == requestButtons;
 }
Ejemplo n.º 17
0
 private void OnSelect(NavButton button, string id)
 {
     _callback?.Invoke(NavButton, _category);
 }
Ejemplo n.º 18
0
        protected void InitUserTool(List <NavItemConfig> toolsCfg)
        {
            try
            {
                //先移除用户控件
                menuPopup.Items.Clear();

                tileNavPane.Appearance.BackColor = _navDesign.BackColor;
                tileNavPane.Appearance.ForeColor = _navDesign.ForceColor;

                tileNavPane.Appearance.Options.UseBackColor = true;
                tileNavPane.Appearance.Options.UseForeColor = true;

                NavButton navButton = null;
                for (int i = tileNavPane.Buttons.Count - 1; i >= 0; i--)
                {
                    navButton = (NavButton)tileNavPane.Buttons[i];

                    if (navButton.Tag != null && navButton.Tag.ToString().Equals("Navigate"))
                    {
                        continue;
                    }

                    tileNavPane.Buttons.Remove(navButton);
                }

                Font bMainFont   = new Font(this.Font.FontFamily, (float)11.5, FontStyle.Bold);
                Font bSmallFont  = new Font(this.Font.FontFamily, (float)10.5);
                int  insertIndex = 1;

                //添加用户工具按钮
                foreach (NavItemConfig mt in toolsCfg)
                {
                    switch (mt.Style)
                    {
                    case NavigateType.ntMain:
                        //创建主导航
                        NavButton funcMenu = new NavButton();
                        funcMenu.Caption   = mt.Name;
                        funcMenu.Tag       = mt.Tag;
                        funcMenu.Alignment = NavButtonAlignment.Left;

                        funcMenu.Glyph = Img24Resource.LoadImg(mt.IconName);

                        funcMenu.Appearance.Font            = bMainFont;
                        funcMenu.Appearance.Options.UseFont = true;

                        funcMenu.AppearanceHovered.Font                 = bMainFont;
                        funcMenu.AppearanceHovered.ForeColor            = Color.FromArgb(255, 255, 128);
                        funcMenu.AppearanceHovered.Options.UseFont      = true;
                        funcMenu.AppearanceHovered.Options.UseForeColor = true;

                        funcMenu.AppearanceSelected.Font            = bMainFont;
                        funcMenu.AppearanceSelected.Options.UseFont = true;

                        funcMenu.ElementClick += DoUserToolEvent_NavElement;

                        tileNavPane.Buttons.Insert(insertIndex, funcMenu);

                        mt.LinkObj = funcMenu;

                        insertIndex = insertIndex + 1;

                        break;

                    case NavigateType.ntDropdown:
                        //创建下拉项
                        ToolStripItem tsMenu = menuPopup.Items.Add(mt.Name);

                        tsMenu.Image = Img24Resource.LoadImg(mt.IconName);

                        tsMenu.Tag    = mt.Tag;
                        tsMenu.Click += DoUserToolEvent_StripItem;

                        mt.LinkObj = tsMenu;
                        break;

                    default:

                        break;
                    }
                }

                int attachButCount = 0;
                //添加用户工具按钮
                foreach (NavItemConfig mt in toolsCfg)
                {
                    if (mt.Style == NavigateType.ntAttach)
                    {
                        if (attachButCount == 0)
                        {
                            NavButton funcSplit = new NavButton();
                            funcSplit.Caption = "|";

                            funcSplit.Appearance.ForeColor            = Color.DarkGray;
                            funcSplit.Appearance.Options.UseForeColor = true;

                            funcSplit.AppearanceHovered.ForeColor            = Color.DarkGray;
                            funcSplit.AppearanceHovered.Options.UseForeColor = true;

                            funcSplit.AppearanceSelected.ForeColor            = Color.DarkGray;
                            funcSplit.AppearanceSelected.Options.UseForeColor = true;

                            funcSplit.Enabled = false;

                            tileNavPane.Buttons.Insert(insertIndex, funcSplit);

                            insertIndex = insertIndex + 1;
                        }


                        NavButton funcMenu = new NavButton();
                        funcMenu.Caption   = mt.Name;
                        funcMenu.Tag       = mt.Tag;
                        funcMenu.Alignment = NavButtonAlignment.Left;

                        funcMenu.Appearance.Font                    = bSmallFont;
                        funcMenu.Appearance.Options.UseFont         = true;
                        funcMenu.AppearanceHovered.Font             = bSmallFont;
                        funcMenu.AppearanceHovered.Options.UseFont  = true;
                        funcMenu.AppearanceSelected.Font            = bSmallFont;
                        funcMenu.AppearanceSelected.Options.UseFont = true;

                        funcMenu.Glyph = Img24Resource.LoadImg(mt.IconName);

                        tileNavPane.Buttons.Insert(insertIndex, funcMenu);

                        mt.LinkObj = funcMenu;

                        insertIndex = insertIndex + 1;

                        attachButCount = attachButCount + 1;
                    }
                }
            }
            catch (Exception ex)
            {
                MsgBox.ShowException(ex, this);
            }
        }
Ejemplo n.º 19
0
        public void InitNavPain()
        {
            #region _navButtonHome

            _navButtonHome = new NavButton();
            _navButtonHome.Alignment = NavButtonAlignment.Left;
            _navButtonHome.Glyph = Icons.Home_Black_32;
            _navButtonHome.ElementClick += NavButtonHome_ElementClick;

            #endregion

            #region _navButtonMenu

            _navButtonMenu = new NavButton();
            _navButtonMenu.Caption = translate.Application;
            _navButtonMenu.Visible = false;
            _navButtonMenu.IsMain = true;

            #endregion

            #region navButtonUser

            //var navButtonUser = new TileNavCategoryEx();
            //navButtonUser.Allignment = HorzAlignment.Far;
            //navButtonUser.Alignment = NavButtonAlignment.Right;
            //navButtonUser.Caption = "User";
            //navButtonUser.Glyph = Icons.User_Black_32;


            //var tileNavItem31 = new TileNavItem();
            //var tileNavItem32 = new TileNavItem();
            //var tileNavItem33 = new TileNavItem();


            //navButtonUser.Items.AddRange(new[]
            //{
            //    tileNavItem31,
            //    tileNavItem32,
            //    tileNavItem33
            //});

            #endregion

            #region navButtonMin

            var navButtonMin = new NavButton();
            navButtonMin.Alignment = NavButtonAlignment.Right;
            navButtonMin.Glyph = Icons.Minus_Black_32;
            navButtonMin.ElementClick += NavButtonMin_ElementClick;

            #endregion

            #region navButtonClose

            var navButtonClose = new NavButton();
            navButtonClose.Alignment = NavButtonAlignment.Right;
            navButtonClose.Glyph = Icons.Close_Black_32;
            navButtonClose.ElementClick += NavButtonClose_ElementClick;

            #endregion

            #region config

            AllowGlyphSkinning = true;
            ContinuousNavigation = false;
            Dock = DockStyle.Fill;
            ButtonPadding = new Padding(12);


            KZHelper.KZAppearanceSetter.SetAppearance(Appearance, KZHelper.KZFonts.ButtonFont,
                KZHelper.KZColours.MainColour.ActiveColour,
                KZHelper.KZColours.MainForeColour.ActiveColour);

            KZHelper.KZAppearanceSetter.SetAppearance(AppearanceHovered, KZHelper.KZFonts.ButtonFont,
                KZHelper.KZColours.MainColour.HoverColour,
                KZHelper.KZColours.MainForeColour.HoverColour);

            KZHelper.KZAppearanceSetter.SetAppearance(AppearanceSelected, KZHelper.KZFonts.ButtonFont,
                KZHelper.KZColours.MainColour.SelectColour, KZHelper.KZColours.MainForeColour.SelectColour);


            #endregion

                Buttons.Add(_navButtonHome);
            Buttons.Add(_navButtonMenu);
            //Buttons.Add(navButtonUser);
            Buttons.Add(navButtonMin);
            Buttons.Add(navButtonClose);
        }