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); }
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); }
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; }
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); }
public bool GetButtonsUp(NavButton requestButtons) { return GetButtons(PrevButtons, requestButtons) && !GetButtons(Buttons, requestButtons); }
public bool GetButtonsDown(NavButton requestButtons) { return !GetButtons(PrevButtons, requestButtons) && GetButtons(Buttons, requestButtons); }
public bool GetButtonsAny(NavButton requestButtons) { return GetButtons(Buttons, requestButtons); }
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); }
private bool GetButtonsAny(NavButton state, NavButton requestButtons) { return (state & requestButtons) > 0; }
private bool GetButtonsAny(NavButton state, NavButton requestButtons) { return((state & requestButtons) > 0); }
private bool GetButtons(NavButton state, NavButton requestButtons) { return((state & requestButtons) == requestButtons); }
public bool GetButtonsDown(NavButton requestButtons) { return(!GetButtons(PrevButtons, requestButtons) && GetButtons(Buttons, requestButtons)); }
public bool GetButtonsUp(NavButton requestButtons) { return(GetButtons(PrevButtons, requestButtons) && !GetButtons(Buttons, requestButtons)); }
public bool GetButtonsAny(NavButton requestButtons) { return(GetButtons(Buttons, requestButtons)); }
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; }
private bool GetButtons(NavButton state, NavButton requestButtons) { return (state & requestButtons) == requestButtons; }
private void OnSelect(NavButton button, string id) { _callback?.Invoke(NavButton, _category); }
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); } }
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); }