示例#1
0
        private static void OnEnableSelectionTrackingChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            MenuTool menuTool = d as MenuTool;

            menuTool.Loaded -= OnMenuToolLoaded;
            menuTool.Loaded += OnMenuToolLoaded;
        }
示例#2
0
        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();
            }
        }
示例#4
0
        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));
        }
示例#5
0
        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];
            }
        }
示例#6
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;
                }
            }
        }
示例#7
0
        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;
            }
        }
示例#8
0
 public static bool GetEnableSelectionTracking(MenuTool source)
 {
     return((bool)source.GetValue(EnableSelectionTrackingProperty));
 }
示例#9
0
 public static void SetEnableSelectionTracking(MenuTool source, bool value)
 {
     source.SetValue(EnableSelectionTrackingProperty, value);
 }
示例#10
0
        //设置
        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;
        }
示例#11
0
 public static string GetEnableSelection(MenuTool menu)
 {
     return(menu.GetValue(EnableSelectionProperty) as string);
 }
示例#12
0
 public static void SetEnableSelection(MenuTool menu, object value)
 {
     menu.SetValue(EnableSelectionProperty, value);
 }
示例#13
0
 public static string GetSelectedItem(MenuTool menu)
 {
     return(menu.GetValue(SelectedItemProperty) as string);
 }
示例#14
0
 public static void SetSelectedItem(MenuTool menu, object value)
 {
     menu.SetValue(SelectedItemProperty, value);
 }
示例#15
0
 /// <summary>
 /// 设置当前菜单
 /// </summary>
 /// <param name="menu"></param>
 protected virtual void SetMenuTool(MenuTool menu)
 {
 }