|
1 | 1 | using System;
|
2 |
| -using System.Collections.Generic; |
3 | 2 | using System.Linq;
|
4 | 3 | using System.Runtime.InteropServices;
|
5 | 4 | using System.Text.RegularExpressions;
|
@@ -80,12 +79,41 @@ private void RenameModule()
|
80 | 79 |
|
81 | 80 | private void RenameDeclaration()
|
82 | 81 | {
|
| 82 | + if (_view.Target.DeclarationType == DeclarationType.Control) |
| 83 | + { |
| 84 | + RenameControl(); |
| 85 | + return; |
| 86 | + } |
| 87 | + |
83 | 88 | var module = _vbe.FindCodeModules(_view.Target.QualifiedName.QualifiedModuleName).First();
|
84 | 89 | var content = module.get_Lines(_view.Target.Selection.StartLine, 1);
|
85 | 90 | var newContent = GetReplacementLine(content, _view.Target.IdentifierName, _view.NewName);
|
86 | 91 | module.ReplaceLine(_view.Target.Selection.StartLine, newContent);
|
87 | 92 | }
|
88 | 93 |
|
| 94 | + private void RenameControl() |
| 95 | + { |
| 96 | + try |
| 97 | + { |
| 98 | + var form = _vbe.FindCodeModules(_view.Target.QualifiedName.QualifiedModuleName).First(); |
| 99 | + var control = form.Parent.Designer.Controls(_view.Target.IdentifierName); |
| 100 | + control.Name = _view.NewName; |
| 101 | + |
| 102 | + foreach (var handler in _declarations.FindEventHandlers(_view.Target)) |
| 103 | + { |
| 104 | + var newMemberName = _view.Target.ComponentName + '_' + _view.NewName; |
| 105 | + var module = handler.Project.VBComponents.Item(handler.ComponentName).CodeModule; |
| 106 | + |
| 107 | + var content = module.get_Lines(handler.Selection.StartLine, 1); |
| 108 | + var newContent = GetReplacementLine(content, handler.IdentifierName, newMemberName); |
| 109 | + module.ReplaceLine(handler.Selection.StartLine, newContent); |
| 110 | + } |
| 111 | + } |
| 112 | + catch (COMException) |
| 113 | + { |
| 114 | + } |
| 115 | + } |
| 116 | + |
89 | 117 | private void RenameUsages()
|
90 | 118 | {
|
91 | 119 | // todo: refactor
|
|
0 commit comments