Esempio n. 1
0
        public static void AddTransformToolToMenu(ICollection <KryptonContextMenuItemBase> items, TransformTool transformTool)
        //public static void AddTransformToolToMenu( ICollection<KryptonContextMenuItemBase> items, string workareaModeName )// TransformTool transformTool )
        {
            KryptonContextMenuItem item;
            string text;

            //Move
            text = Translate("Move");
            item = new KryptonContextMenuItem(text, null, delegate(object sender, EventArgs e)
            {
                EditorAPI.EditorActionClick(EditorAction.HolderEnum.ContextMenu, "Move");
            });
            item.Checked = transformTool.Mode == TransformTool.ModeEnum.Position;
            //item.Checked = workareaModeName == "Transform Move";
            item.Image = EditorResourcesCache.Move;
            item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Move");
            items.Add(item);

            //Rotate
            text = Translate("Rotate");
            item = new KryptonContextMenuItem(text, null, delegate(object sender, EventArgs e)
            {
                EditorAPI.EditorActionClick(EditorAction.HolderEnum.ContextMenu, "Rotate");
            });
            item.Checked = transformTool.Mode == TransformTool.ModeEnum.Rotation;
            //item.Checked = workareaModeName == "Transform Rotate";
            item.Image = EditorResourcesCache.Rotate;
            item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Rotate");
            items.Add(item);

            //Scale
            text = Translate("Scale");
            item = new KryptonContextMenuItem(text, null, delegate(object sender, EventArgs e)
            {
                EditorAPI.EditorActionClick(EditorAction.HolderEnum.ContextMenu, "Scale");
            });
            item.Checked = transformTool.Mode == TransformTool.ModeEnum.Scale;
            //item.Checked = workareaModeName == "Transform Scale";
            item.Image = EditorResourcesCache.Scale;
            item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Scale");
            items.Add(item);

            //Select
            text = Translate("Select");
            item = new KryptonContextMenuItem(text, null, delegate(object sender, EventArgs e)
            {
                EditorAPI.EditorActionClick(EditorAction.HolderEnum.ContextMenu, "Select");
            });
            item.Checked = transformTool.Mode == TransformTool.ModeEnum.None;
            //item.Checked = workareaModeName == "Transform Select";
            item.Image = EditorResourcesCache.Select;
            item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Select");
            items.Add(item);
        }
Esempio n. 2
0
        public static void AddActionsToMenu(MenuTypeEnum menuType, ICollection <KryptonContextMenuItemBase> items)         //, DocumentWindow documentWindow )
        {
            bool firstItem = true;

            foreach (var action in EditorActions.Actions)
            {
                if (action.ContextMenuSupport != MenuTypeEnum.None && action.ContextMenuSupport == menuType)
                {
                    var state = EditorAPI.EditorActionGetState(EditorAction.HolderEnum.ContextMenu, action);
                    //bool enabled = false;
                    //action.PerformUpdateContextMenuEvent( documentWindow, ref enabled );

                    if (state.Enabled)
                    {
                        if (firstItem)
                        {
                            if (items.Count != 0)
                            {
                                items.Add(new KryptonContextMenuSeparator());
                            }

                            firstItem = false;
                        }

                        var image = EditorAPI.GetImageForDispalyScale(action.GetImageSmall(), action.GetImageBig());
                        var item  = new KryptonContextMenuItem(Translate(action.GetContextMenuText()), image, delegate(object s, EventArgs e2)
                        {
                            ////var a = (EditorAction)item.Tag;

                            ////!!!!так?
                            var state2 = EditorAPI.EditorActionGetState(EditorAction.HolderEnum.ContextMenu, action);
                            //check still enabled
                            if (state2.Enabled)
                            {
                                EditorAPI.EditorActionClick(EditorAction.HolderEnum.ContextMenu, action.Name);
                            }

                            //action.PerformClickContextMenuEvent( documentWindow );
                        });

                        if (action.ActionType == EditorAction.ActionTypeEnum.DropDown)
                        {
                            var args = new CancelEventArgs();
                            action.DropDownContextMenu.PerformOpening(args);
                            //!!!!?
                            //if( !args.Cancel)
                            //{

                            foreach (var child in action.DropDownContextMenu.Items)
                            {
                                item.Items.Add(child);
                            }
                        }

                        //!!!!
                        //item.Enabled = !rootNodeSelected;
                        item.Tag = action;
                        item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString(action.Name);
                        items.Add(item);
                    }
                }
            }
        }
Esempio n. 3
0
        void ShowContextMenu()
        {
            var items = new List <KryptonContextMenuItemBase>();

            Component oneSelectedComponent = ObjectOfWindow as Component;

            //Editor
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Editor"), EditorResourcesCache.Edit, delegate(object s, EventArgs e2)
                {
                    EditorAPI.OpenDocumentWindowForObject(Document, oneSelectedComponent);
                });
                item.Enabled = oneSelectedComponent != null && EditorAPI.IsDocumentObjectSupport(oneSelectedComponent);
                items.Add(item);
            }

            //Settings
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Settings"), EditorResourcesCache.Settings, delegate(object s, EventArgs e2)
                {
                    bool canUseAlreadyOpened = !ModifierKeys.HasFlag(Keys.Shift);
                    EditorAPI.ShowObjectSettingsWindow(Document, oneSelectedComponent, canUseAlreadyOpened);
                });
                item.Enabled = oneSelectedComponent != null;
                items.Add(item);
            }

            items.Add(new KryptonContextMenuSeparator());

            //New object
            {
                EditorContextMenuWinForms.AddNewObjectItem(items, CanNewObject(out _), delegate(Metadata.TypeInfo type)
                {
                    TryNewObject(type);
                });
            }

            //separator
            items.Add(new KryptonContextMenuSeparator());

            //Cut
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Cut"), EditorResourcesCache.Cut,
                                                      delegate(object s, EventArgs e2)
                {
                    //Cut();
                });
                item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Cut");
                item.Enabled = false;                // CanCut();
                items.Add(item);
            }

            //Copy
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Copy"), EditorResourcesCache.Copy,
                                                      delegate(object s, EventArgs e2)
                {
                    Copy();
                });
                item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Copy");
                item.Enabled = CanCopy();
                items.Add(item);
            }

            //Paste
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Paste"), EditorResourcesCache.Paste,
                                                      delegate(object s, EventArgs e2)
                {
                    Paste();
                });
                item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Paste");
                item.Enabled = CanPaste(out _);
                items.Add(item);
            }

            //Clone
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Duplicate"), EditorResourcesCache.Clone,
                                                      delegate(object s, EventArgs e2)
                {
                    //TryCloneObjects();
                });
                item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Duplicate");
                item.Enabled = false;                // CanCloneObjects( out List<Component> dummy );
                items.Add(item);
            }

            //separator
            items.Add(new KryptonContextMenuSeparator());

            //Delete
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Delete"), EditorResourcesCache.Delete,
                                                      delegate(object s, EventArgs e2)
                {
                    //TryDeleteObjects();
                });
                item.Enabled = false;                // CanDeleteObjects( out List<Component> dummy );
                items.Add(item);
            }

            //Rename
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Rename"), null, delegate(object s, EventArgs e2)
                {
                    EditorUtility.ShowRenameComponentDialog(oneSelectedComponent);
                });
                item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Rename");
                //!!!!!
                item.Enabled = oneSelectedComponent != null;
                items.Add(item);
            }

            EditorContextMenuWinForms.AddActionsToMenu(EditorContextMenuWinForms.MenuTypeEnum.Document, items);              //, this );

            EditorContextMenuWinForms.Show(items, this);
        }
Esempio n. 4
0
        private void Editor_ContextMenuOpening(object sender, System.Windows.Controls.ContextMenuEventArgs e)
        {
            e.Handled = true;

            var items = new List <KryptonContextMenuItemBase>();

            //Find
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Find and Replace"), null,
                                                      delegate(object s, EventArgs e2)
                {
                    SearchReplacePanel?.ShowFindOrReplace(false);
                });
                item.ShortcutKeyDisplayString = EditorActions.ConvertShortcutKeysToString(new Keys[] { Keys.Control | Keys.F });
                //item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString( "Find" );
                items.Add(item);
            }

            //separator
            items.Add(new KryptonContextMenuSeparator());

            //Cut
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Cut"), EditorResourcesCache.Cut,
                                                      delegate(object s, EventArgs e2)
                {
                    editor.Cut();
                });
                item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Cut");
                item.Enabled = true;                // editor.CanCut();
                items.Add(item);
            }

            //Copy
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Copy"), EditorResourcesCache.Copy,
                                                      delegate(object s, EventArgs e2)
                {
                    editor.Copy();
                });
                item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Copy");
                item.Enabled = true;                // CanCopy();
                items.Add(item);
            }

            //Paste
            {
                var item = new KryptonContextMenuItem(TranslateContextMenu("Paste"), EditorResourcesCache.Paste,
                                                      delegate(object s, EventArgs e2)
                {
                    editor.Paste();
                });
                item.ShortcutKeyDisplayString = EditorActions.GetFirstShortcutKeyString("Paste");
                item.Enabled = true;                // CanPaste( out _ );
                items.Add(item);
            }

            EditorContextMenu.AddActionsToMenu(EditorContextMenu.MenuTypeEnum.General, items);

            EditorContextMenu.Show(items, this);
        }