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); }
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); } } } }
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); }
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); }