private static void OnEnableSelectionTrackingChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { MenuTool menuTool = d as MenuTool; menuTool.Loaded -= OnMenuToolLoaded; menuTool.Loaded += OnMenuToolLoaded; }
private static void OnMenuToolLoaded(object sender, RoutedEventArgs e) { MenuTool menuTool = sender as MenuTool; foreach (var item in menuTool.Items) { if (item is ButtonTool) { var buttonTool = (ButtonTool)item; buttonTool.Click += (s, a) => { var btnTool = (ButtonTool)s; var mTool = (MenuTool)Utilities.GetAncestorFromType(btnTool, typeof(MenuTool), false); if (mTool != null) { mTool.Command = btnTool.Command; mTool.CommandParameter = btnTool.CommandParameter; mTool.SmallImage = btnTool.SmallImage; } }; } } }
public override void OnSceneViewGUI(SceneView sceneView) { if (MenuTool == null) { PerformRemoveFromParent(); return; } if ((!MenuTool.WindowIsActive || MenuTool.Target != Manager.MouseOverObject) && Manager.HijackLeftMouseClick() && SceneViewWindow.GetMouseOverWindow(Event.current.mousePosition) == null) { // We know that we're hovering 'mouse over object' but we should check if we have a // good hit on some if it's children as well. Since: // - We're using unity's internal 'pick object' functionality and it's not always // (understandably) finding the leafs. We're interested in the leafs since we // present a list of all parents to MenuTool.Target. GameObject target = Manager.MouseOverObject; if (target != null && target.transform.childCount > 0) { var childHits = AgXUnity.Utils.Raycast.TestChildren(target, HandleUtility.GUIPointToWorldRay(Event.current.mousePosition), 500f); if (childHits.Count > 0 && childHits[0].Triangle.Valid) { target = childHits[0].Triangle.Target; } } MenuTool.Target = target; MenuTool.Show(); } }
private void Button_Click(object sender, RoutedEventArgs e) { var c1 = new MenuTool(" FILE "); Config.LoadConfig("Data/tree.xml", c1.ContextMenu); this.AddWidget(c1.BaseInitialize(this)); }
private static void menu_Opening(object sender, Infragistics.Windows.Ribbon.Events.ToolOpeningEventArgs e) { MenuTool menu = sender as MenuTool; object selectedItem = menu.GetValue(MenuToolProperties.SelectedItemProperty); if (selectedItem != null) { var dd = menu.Items[0]; } }
private static void OnEnableSelectionChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { MenuTool menu = d as MenuTool; if (menu != null) { if ((bool)e.NewValue) { menu.Opening += menu_Opening; } else { menu.Opening -= menu_Opening; } } }
private void mCommandBarManager_UILoaded(object sender, EventArgs e) { //Load menus for selection and header String contextMenuKey = "NewAddin.SelectMenu"; if (mCommandBarManager.RootTools.Contains(contextMenuKey)) { MenuTool menu = (MenuTool)mCommandBarManager.RootTools[contextMenuKey]; mAddinControl.SelectionMenu = menu; } contextMenuKey = "NewAddin.HeaderMenu"; if (mCommandBarManager.RootTools.Contains(contextMenuKey)) { MenuTool menu = (MenuTool)mCommandBarManager.RootTools[contextMenuKey]; mAddinControl.HeaderMenu = menu; } }
public static bool GetEnableSelectionTracking(MenuTool source) { return((bool)source.GetValue(EnableSelectionTrackingProperty)); }
public static void SetEnableSelectionTracking(MenuTool source, bool value) { source.SetValue(EnableSelectionTrackingProperty, value); }
//设置 protected override void SetMenuTool(MenuTool menu) { switch (menu) { case MenuTool.无: PanFile.Visibility = Visibility.Collapsed; //PanEdit.Visibility = Visibility.Collapsed; PanSetting.Visibility = Visibility.Collapsed; PanAbout.Visibility = Visibility.Collapsed; BtnFile.BorderThickness = new Thickness(0, 0, 0, 0); //BtnEdit.BorderThickness = new Thickness(0, 0, 0, 0); BtnSetting.BorderThickness = new Thickness(0, 0, 0, 0); BtnAbout.BorderThickness = new Thickness(0, 0, 0, 0); break; case MenuTool.文件: PanFile.Visibility = Visibility.Visible; //PanEdit.Visibility = Visibility.Collapsed; PanSetting.Visibility = Visibility.Collapsed; PanAbout.Visibility = Visibility.Collapsed; BtnFile.BorderThickness = new Thickness(4, 0, 0, 0); //BtnEdit.BorderThickness = new Thickness(0, 0, 0, 0); BtnSetting.BorderThickness = new Thickness(0, 0, 0, 0); BtnAbout.BorderThickness = new Thickness(0, 0, 0, 0); break; case MenuTool.编辑: PanFile.Visibility = Visibility.Collapsed; //PanEdit.Visibility = Visibility.Visible; PanSetting.Visibility = Visibility.Collapsed; PanAbout.Visibility = Visibility.Collapsed; BtnFile.BorderThickness = new Thickness(0, 0, 0, 0); //BtnEdit.BorderThickness = new Thickness(4, 0, 0, 0); BtnSetting.BorderThickness = new Thickness(0, 0, 0, 0); BtnAbout.BorderThickness = new Thickness(0, 0, 0, 0); break; case MenuTool.设置: PanFile.Visibility = Visibility.Collapsed; //PanEdit.Visibility = Visibility.Collapsed; PanSetting.Visibility = Visibility.Visible; PanAbout.Visibility = Visibility.Collapsed; BtnFile.BorderThickness = new Thickness(0, 0, 0, 0); //BtnEdit.BorderThickness = new Thickness(0, 0, 0, 0); BtnSetting.BorderThickness = new Thickness(4, 0, 0, 0); BtnAbout.BorderThickness = new Thickness(0, 0, 0, 0); break; case MenuTool.关于: PanFile.Visibility = Visibility.Collapsed; //PanEdit.Visibility = Visibility.Collapsed; PanSetting.Visibility = Visibility.Collapsed; PanAbout.Visibility = Visibility.Visible; BtnFile.BorderThickness = new Thickness(0, 0, 0, 0); //BtnEdit.BorderThickness = new Thickness(0, 0, 0, 0); BtnSetting.BorderThickness = new Thickness(0, 0, 0, 0); BtnAbout.BorderThickness = new Thickness(4, 0, 0, 0); break; default: break; } CurrentMenuTool = menu; }
public static string GetEnableSelection(MenuTool menu) { return(menu.GetValue(EnableSelectionProperty) as string); }
public static void SetEnableSelection(MenuTool menu, object value) { menu.SetValue(EnableSelectionProperty, value); }
public static string GetSelectedItem(MenuTool menu) { return(menu.GetValue(SelectedItemProperty) as string); }
public static void SetSelectedItem(MenuTool menu, object value) { menu.SetValue(SelectedItemProperty, value); }
/// <summary> /// 设置当前菜单 /// </summary> /// <param name="menu"></param> protected virtual void SetMenuTool(MenuTool menu) { }