Skip to content

Commit 4c68f18

Browse files
committed
Invoke Plugin with reflection
1 parent aa09919 commit 4c68f18

File tree

3 files changed

+31
-15
lines changed

3 files changed

+31
-15
lines changed

PlsqlDeveloperUtPlsqlPlugin/PlsqlDeveloperUtPlsqlPlugin/PlsqlDeveloperUtPlsqlPlugin.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ public static void OnMenuClick(int index)
223223
{
224224
if (PlsqlDeveloperUtPlsqlPlugin.connected())
225225
{
226-
var testResultWindow = new TestRunnerWindow(_testRunner);
226+
var testResultWindow = new TestRunnerWindow(_testRunner, _plugin);
227227
Windows.Add(testResultWindow);
228228
testResultWindow.RunTestsAsync("_ALL", username, null, null, false);
229229
}
@@ -232,7 +232,7 @@ public static void OnMenuClick(int index)
232232
{
233233
if (PlsqlDeveloperUtPlsqlPlugin.connected())
234234
{
235-
var testResultWindow = new TestRunnerWindow(_testRunner);
235+
var testResultWindow = new TestRunnerWindow(_testRunner, _plugin);
236236
Windows.Add(testResultWindow);
237237
testResultWindow.RunTestsAsync("_ALL", username, null, null, true);
238238
}
@@ -247,7 +247,7 @@ public static void OnMenuClick(int index)
247247
IntPtr subType;
248248
PlsqlDeveloperUtPlsqlPlugin.getPopupObject(out type, out owner, out name, out subType);
249249

250-
var testResultWindow = new TestRunnerWindow(_testRunner);
250+
var testResultWindow = new TestRunnerWindow(_testRunner, _plugin);
251251
Windows.Add(testResultWindow);
252252
testResultWindow.RunTestsAsync(Marshal.PtrToStringAnsi(type), Marshal.PtrToStringAnsi(owner),
253253
Marshal.PtrToStringAnsi(name), Marshal.PtrToStringAnsi(subType), false);
@@ -263,7 +263,7 @@ public static void OnMenuClick(int index)
263263
IntPtr subType;
264264
PlsqlDeveloperUtPlsqlPlugin.getPopupObject(out type, out owner, out name, out subType);
265265

266-
var testResultWindow = new TestRunnerWindow(_testRunner);
266+
var testResultWindow = new TestRunnerWindow(_testRunner, _plugin);
267267
Windows.Add(testResultWindow);
268268
testResultWindow.RunTestsAsync(Marshal.PtrToStringAnsi(type), Marshal.PtrToStringAnsi(owner),
269269
Marshal.PtrToStringAnsi(name), Marshal.PtrToStringAnsi(subType), true);
@@ -280,10 +280,10 @@ public static string About()
280280

281281
#endregion
282282

283-
internal static void OpenPackageBody(string owner, string name)
283+
public void OpenPackageBody(string owner, string name)
284284
{
285285
IntPtr source = getObjectSource("PACKAGE BODY", owner, name);
286-
createWindow(3, Marshal.PtrToStringAnsi(source), false);
286+
PlsqlDeveloperUtPlsqlPlugin.createWindow(3, Marshal.PtrToStringAnsi(source), false);
287287
}
288288

289289
private static void ConnectToDatabase()

PlsqlDeveloperUtPlsqlPlugin/utPLSQL.UI.Standalone/LoginForm.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ private void btnRunTests_Click(object sender, EventArgs e)
2121
var realTimeTestRunner = new RealTimeTestRunner();
2222
realTimeTestRunner.Connect("toscamtest", "toscamtest", "CA40");
2323

24-
var testRunnerWindow = new TestRunnerWindow(realTimeTestRunner);
24+
var testRunnerWindow = new TestRunnerWindow(realTimeTestRunner, null);
2525
testRunnerWindow.RunTestsAsync("USER", null, "toscamtest", null, false);
2626
}
2727
}

PlsqlDeveloperUtPlsqlPlugin/utPLSQL.UI/TestRunnerWindow.cs

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Drawing;
55
using System.Globalization;
66
using System.IO;
7+
using System.Reflection;
78
using System.Text;
89
using System.Threading.Tasks;
910
using System.Windows.Forms;
@@ -18,13 +19,17 @@ public partial class TestRunnerWindow : Form
1819
private const int Steps = 1000;
1920

2021
private readonly RealTimeTestRunner testRunner;
22+
private readonly object pluginIntegration;
2123
private readonly BindingList<TestResult> testResults = new BindingList<TestResult>();
24+
2225
private int totalNumberOfTests;
2326
private int rowIndexOnRightClick;
2427

25-
public TestRunnerWindow(RealTimeTestRunner testRunner)
28+
public TestRunnerWindow(RealTimeTestRunner testRunner, object pluginIntegration)
2629
{
2730
this.testRunner = testRunner;
31+
this.pluginIntegration = pluginIntegration;
32+
2833
InitializeComponent();
2934

3035
var bindingSource = new BindingSource { DataSource = testResults };
@@ -497,18 +502,29 @@ private void gridResults_SelectionChanged(object sender, EventArgs e)
497502

498503
private void gridResults_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
499504
{
500-
var testResult = testResults[e.RowIndex];
501-
//PlsqlDeveloperUtPlsqlPlugin.OpenPackageBody(testResult.Owner, testResult.Package);
505+
if (pluginIntegration != null)
506+
{
507+
invokeOpenPackageBody(e);
508+
}
502509
}
503510

504511
private void gridTestFailures_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
512+
{
513+
if (pluginIntegration != null)
514+
{
515+
invokeOpenPackageBody(e);
516+
}
517+
}
518+
519+
private void invokeOpenPackageBody(DataGridViewCellEventArgs e)
505520
{
506521
var testResult = testResults[e.RowIndex];
507-
//PlsqlDeveloperUtPlsqlPlugin.OpenPackageBody(testResult.Owner, testResult.Package);
522+
523+
MethodInfo methodInfo = pluginIntegration.GetType().GetMethod("OpenPackageBody");
524+
methodInfo.Invoke(pluginIntegration, new object[] { testResult.Owner, testResult.Package });
508525
}
509526

510-
private void gridResults_CellContextMenuStripNeeded(object sender,
511-
DataGridViewCellContextMenuStripNeededEventArgs e)
527+
private void gridResults_CellContextMenuStripNeeded(object sender, DataGridViewCellContextMenuStripNeededEventArgs e)
512528
{
513529
rowIndexOnRightClick = e.RowIndex;
514530
}
@@ -517,7 +533,7 @@ private void menuItemRunTests_Click(object sender, EventArgs e)
517533
{
518534
var testResult = testResults[rowIndexOnRightClick];
519535

520-
var testResultWindow = new TestRunnerWindow(testRunner);
536+
var testResultWindow = new TestRunnerWindow(testRunner, pluginIntegration);
521537
testResultWindow.RunTestsAsync(RealTimeTestRunner.Procedure, testResult.Owner, testResult.Package,
522538
testResult.Procedure, false);
523539
}
@@ -526,7 +542,7 @@ private void menuItemCoverage_Click(object sender, EventArgs e)
526542
{
527543
var testResult = testResults[rowIndexOnRightClick];
528544

529-
var testResultWindow = new TestRunnerWindow(testRunner);
545+
var testResultWindow = new TestRunnerWindow(testRunner, pluginIntegration);
530546
testResultWindow.RunTestsAsync(RealTimeTestRunner.Procedure, testResult.Owner, testResult.Package,
531547
testResult.Procedure, true);
532548
}

0 commit comments

Comments
 (0)