public DRenameNameDialog(RefactoringOptions options,DRenameRefactoring rename) { this.rename = rename; this.options = options; this.Build (); var ds = (INode)options.SelectedItem; #region Adjust dialog title var app = "Renaming "; if (ds is DClassLike) { var dc = (DClassLike)ds; app+=dc.ClassType.ToString(); } else if (ds is DMethod) app += "method"; else if (ds is DVariable) app += ((DVariable)ds).IsAlias ? "alias" : "variable"; else app += "item"; Title = app; #endregion text_NewId.Text = ds.Name; buttonPreview.Sensitive = buttonOk.Sensitive = false; buttonOk.Clicked += OnOKClicked; buttonPreview.Clicked += OnPreviewClicked; text_NewId.Changed += delegate { setNotifyIcon(buttonPreview.Sensitive = buttonOk.Sensitive = ValidateName()); }; ValidateName(); }
protected override void Update(CommandArrayInfo info) { ResolutionContext ctxt; var rr = Resolver.DResolverWrapper.ResolveHoveredCode(out ctxt); bool noRes = true; if (rr != null && rr.Length > 0) { res = rr[rr.Length - 1]; n = DResolver.GetResultMember(res); if (n != null) { noRes = false; info.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.GotoDeclaration), new Action(GotoDeclaration)); info.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.FindReferences), new Action(FindReferences)); if (DRenameRefactoring.CanRenameNode(n)) { info.AddSeparator(); info.Add(IdeApp.CommandService.GetCommandInfo(EditCommands.Rename), new Action(RenameSymbol)); } } } if (noRes) { info.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.ImportSymbol), new Action(ImportSymbol)); } info.Add(IdeApp.CommandService.GetCommandInfo(Commands.OpenDDocumentation), new Action(OpenDDoc)); }
protected override void Run(RefactoringOptions options) { var renameRefactoring = new DRenameRefactoring(); if (renameRefactoring.IsValid(options)) { renameRefactoring.Run(options); } }
protected override void Update(RefactoringOptions options, MonoDevelop.Components.Commands.CommandInfo info) { var renameRefactoring = new DRenameRefactoring(); if (!renameRefactoring.IsValid(options)) { info.Bypass = true; } }
public void RenameSymbol() { AbstractType res = GetResult(); INode n; if (res != null && (n = DResolver.GetResultMember(res, true)) != null && DRenameRefactoring.CanRenameNode(n)) { new DRenameHandler().Start(n); } }
protected override void Update(CommandArrayInfo info) { if (caps.Update()) { if (caps.resultResolutionAttempt != LooseResolution.NodeResolutionAttempt.RawSymbolLookup) { var refactoringMenu = new CommandInfoSet { Text = GettextCatalog.GetString("Refactoring") }; if (caps.lastResults.Any(t => t is DSymbol && DRenameRefactoring.CanRenameNode((t as DSymbol).Definition))) { refactoringMenu.CommandInfos.Add(IdeApp.CommandService.GetCommandInfo(EditCommands.Rename), new Action(caps.RenameSymbol)); } if (refactoringMenu.CommandInfos.Count > 0) { info.Add(refactoringMenu); } info.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.GotoDeclaration), new Action(caps.GotoDeclaration)); info.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.FindReferences), new Action(() => caps.FindReferences(false))); if (caps.lastResults.Any(t => t is DSymbol && (t as DSymbol).Definition.Parent is DClassLike)) { info.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.FindAllReferences), new Action(() => caps.FindReferences(true))); } if (caps.lastResults.Any(t => { var ds = DResolver.StripMemberSymbols(t); return(ds is ClassType || ds is InterfaceType); })) { info.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.FindDerivedClasses), new Action(caps.FindDerivedClasses)); } } else { var importSymbolMenu = new CommandInfoSet { Text = GettextCatalog.GetString("Resolve") }; foreach (var m in caps.GetImportableModulesForLastResults()) { importSymbolMenu.CommandInfos.Add(new CommandInfo { Text = "import " + AbstractNode.GetNodePath(m, true) + ";", Icon = MonoDevelop.Ide.Gui.Stock.AddNamespace }, new object[] { RefactoryCommands.ImportSymbol, m }); } if (importSymbolMenu.CommandInfos.Count > 0) { importSymbolMenu.CommandInfos.AddSeparator(); var alreadyAddedItems = new List <DModule> (); foreach (var t in caps.lastResults) { var n = DResolver.GetResultMember(t, true); if (n == null) { continue; } var m = n.NodeRoot as DModule; if (m != null && !alreadyAddedItems.Contains(m)) { alreadyAddedItems.Add(m); importSymbolMenu.CommandInfos.Add(new CommandInfo { Text = AbstractNode.GetNodePath(n, true) }, new object[] { RefactoryCommands.QuickFix, n }); } } // To explicitly show the Ctrl+Alt+Space hint. importSymbolMenu.CommandInfos.AddSeparator(); importSymbolMenu.CommandInfos.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.ImportSymbol), new Action(caps.TryImportMissingSymbol)); info.Add(importSymbolMenu); } } } if (SortImportsCommandHandler.CanSortImports(caps.lastDoc)) { info.Add(IdeApp.CommandService.GetCommandInfo(RefactoryCommands.SortImports), new Action(() => SortImportsCommandHandler.SortImports(caps.lastDoc))); } }
protected override void Update(RefactoringOptions options, MonoDevelop.Components.Commands.CommandInfo info) { var renameRefactoring = new DRenameRefactoring (); if (!renameRefactoring.IsValid (options)) info.Bypass = true; }
protected override void Run(RefactoringOptions options) { var renameRefactoring = new DRenameRefactoring (); if (renameRefactoring.IsValid (options)) renameRefactoring.Run (options); }