BioImager  5.0.0
A .NET microscopy imaging application based on Bio library. Supports various microscopes by using imported libraries & GUI automation. Supports XInput game controllers to move stage, take images, run ImageJ macros on images or Bio C# scripts.
Loading...
Searching...
No Matches
BioImager.Plugins Class Reference

Static Public Member Functions

static void Initialize ()
 
static void KeyUpEvent (object o, KeyEventArgs e)
 
static void KeyDownEvent (object o, KeyEventArgs e)
 
static void KeyPressEvent (object o, KeyPressEventArgs e)
 
static void ScrollEvent (object o, MouseEventArgs args)
 
static void Paint (object o, PaintEventArgs e)
 
static void Render (object o, PaintEventArgs e)
 
static void MouseMove (object o, PointD e, MouseEventArgs buts)
 
static void MouseUp (object o, PointD e, MouseEventArgs buts)
 
static void MouseDown (object o, PointD e, MouseEventArgs buts)
 

Detailed Description

Definition at line 35 of file Plugin.cs.

Member Function Documentation

◆ Initialize()

static void BioImager.Plugins.Initialize ( )
static

Definition at line 37 of file Plugin.cs.

38 {
39 Directory.CreateDirectory("Plugins");
40 foreach (string s in Directory.GetFiles("Plugins"))
41 {
42 if (!s.EndsWith(".dll") || Plugin.Plugins.ContainsKey(Path.GetFileName(s)))
43 continue;
44 // Load the plugin assembly
45 Assembly pluginAssembly = Assembly.LoadFile(Environment.CurrentDirectory + "/" + s);
46 // Find the type which implements the IPlugin interface
47 var pluginType = pluginAssembly.GetTypes().FirstOrDefault(t => typeof(IPlugin).IsAssignableFrom(t) && !t.IsInterface);
48 if (pluginType != null)
49 {
50 // Create an instance of this type
51 IPlugin pluginInstance = Activator.CreateInstance(pluginType) as IPlugin;
52 Plugin.Plugins.Add(Path.GetFileName(s), pluginInstance);
53 if (pluginInstance.ContextMenu)
54 App.AddContextMenu(pluginInstance.MenuPath);
55 else
56 App.AddMenu(pluginInstance.MenuPath);
57 }
58 else
59 {
60 Console.WriteLine("No plugin found in the assembly: " + s);
61 }
62 }
63 }
static Dictionary< string, IPlugin > Plugins
Definition Plugin.cs:16

◆ KeyDownEvent()

static void BioImager.Plugins.KeyDownEvent ( object o,
KeyEventArgs e )
static

Definition at line 71 of file Plugin.cs.

72 {
73 foreach (IPlugin p in Plugin.Plugins.Values)
74 {
75 p.KeyDownEvent(o, e);
76 }
77 }

◆ KeyPressEvent()

static void BioImager.Plugins.KeyPressEvent ( object o,
KeyPressEventArgs e )
static

Definition at line 78 of file Plugin.cs.

79 {
80 foreach (IPlugin p in Plugin.Plugins.Values)
81 {
82 p.KeyPressEvent(o, e);
83 }
84 }

◆ KeyUpEvent()

static void BioImager.Plugins.KeyUpEvent ( object o,
KeyEventArgs e )
static

Definition at line 64 of file Plugin.cs.

65 {
66 foreach (IPlugin p in Plugin.Plugins.Values)
67 {
68 p.KeyUpEvent(o, e);
69 }
70 }

◆ MouseDown()

static void BioImager.Plugins.MouseDown ( object o,
PointD e,
MouseEventArgs buts )
static

Definition at line 120 of file Plugin.cs.

121 {
122 foreach (IPlugin p in Plugin.Plugins.Values)
123 {
124 p.MouseDown(o, e, buts);
125 }
126 }

◆ MouseMove()

static void BioImager.Plugins.MouseMove ( object o,
PointD e,
MouseEventArgs buts )
static

Definition at line 106 of file Plugin.cs.

107 {
108 foreach (IPlugin p in Plugin.Plugins.Values)
109 {
110 p.MouseMove(o, e, buts);
111 }
112 }

◆ MouseUp()

static void BioImager.Plugins.MouseUp ( object o,
PointD e,
MouseEventArgs buts )
static

Definition at line 113 of file Plugin.cs.

114 {
115 foreach (IPlugin p in Plugin.Plugins.Values)
116 {
117 p.MouseUp(o, e, buts);
118 }
119 }

◆ Paint()

static void BioImager.Plugins.Paint ( object o,
PaintEventArgs e )
static

Definition at line 92 of file Plugin.cs.

93 {
94 foreach (IPlugin p in Plugin.Plugins.Values)
95 {
96 p.Paint(o, e);
97 }
98 }

◆ Render()

static void BioImager.Plugins.Render ( object o,
PaintEventArgs e )
static

Definition at line 99 of file Plugin.cs.

100 {
101 foreach (IPlugin p in Plugin.Plugins.Values)
102 {
103 p.Render(o, e);
104 }
105 }

◆ ScrollEvent()

static void BioImager.Plugins.ScrollEvent ( object o,
MouseEventArgs args )
static

Definition at line 85 of file Plugin.cs.

86 {
87 foreach (IPlugin p in Plugin.Plugins.Values)
88 {
89 p.ScrollEvent(o, args);
90 }
91 }

The documentation for this class was generated from the following file: