BioGTK  6.5.0
A .NET library & program for annotating, editing various microscopy imaging formats using Bioformats supported images. Including whole slide, pyramidal, and series.
Loading...
Searching...
No Matches
BioGTK.TabsView Class Reference
Inheritance diagram for BioGTK.TabsView:

Public Member Functions

ImageView GetViewer (int i)
 
ImageViewGetViewer (string name)
 
int GetViewerCount ()
 
void RemoveViewer (ImageView v)
 
void AddViewer (ImageView v)
 
void RenameTab (string name, string newName)
 
void SetTab (int i)
 Sets the current tab index.
 
void AddTab (BioImage im, string? sourcePath=null)
 
void RemoveTab (string tabName)
 
async void Open (string file)
 

Static Public Member Functions

static TabsView Create ()
 
static bool SetImageJPath ()
 

Public Attributes

MenuBar ImageJMenu
 
MenuBar MainMenu
 

Protected Member Functions

 TabsView (Builder builder, IntPtr handle)
 
void SetupHandlers ()
 This function sets up the event handlers for the menu items.
 
async void openImagesMenuClick (object sender, EventArgs a)
 
async void openOMEImagesMenuClick (object sender, EventArgs a)
 
async void openOMESeriesMenuClick (object sender, EventArgs a)
 
async void openSeriesMenuClick (object sender, EventArgs a)
 
async void addImagesToTabMenuClick (object sender, EventArgs a)
 
async void addOMEImagesToTabClick (object sender, EventArgs a)
 
async void saveSelectedTiffClick (object sender, EventArgs a)
 
async void saveSelectedOMEClick (object sender, EventArgs a)
 
async void saveTabOMEClick (object sender, EventArgs a)
 
async void saveTabTiffMenuClick (object sender, EventArgs a)
 
async void saveSeriesMenuClick (object sender, EventArgs a)
 
void imagesToStackClick (object sender, EventArgs a)
 
void toolsMenuClick (object sender, EventArgs a)
 
void setToolMenuClick (object sender, EventArgs a)
 
void roiManagerMenuClick (object sender, EventArgs a)
 
void exportROIsToCSVMenuClick (object sender, EventArgs a)
 
void importROIsFromCSVMenuClick (object sender, EventArgs a)
 
void exportROIsOfFolderOfImagesMenuClick (object sender, EventArgs a)
 
void autoThresholdAllMenuClick (object sender, EventArgs a)
 
void channelsToolMenuClick (object sender, EventArgs a)
 
void switchRedBlueMenuClick (object sender, EventArgs a)
 
void stackToolMenuClick (object sender, EventArgs a)
 
void to8BitMenuClick (object sender, EventArgs a)
 
void to16BitMenuClick (object sender, EventArgs a)
 
void to24BitMenuClick (object sender, EventArgs a)
 
void to32BitMenuClick (object sender, EventArgs a)
 
void to48BitMenuClick (object sender, EventArgs a)
 
void filtersMenuClick (object sender, EventArgs a)
 
void functionsToolMenuClick (object sender, EventArgs a)
 
void consoleMenuClick (object sender, EventArgs a)
 
void scriptRunnerMenuClick (object sender, EventArgs a)
 
void AboutClick (object sender, EventArgs a)
 

Detailed Description

Definition at line 20 of file TabsView.cs.

Constructor & Destructor Documentation

◆ TabsView()

BioGTK.TabsView.TabsView ( Builder builder,
IntPtr handle )
protected

Definition at line 429 of file TabsView.cs.

429 : base(handle)
430 {
431 _builder = builder;
432 App.tabsView = this;
433 builder.Autoconnect(this);
434 filteredMenu.Active = true;
436 progress = Progress.Create(title, "", "");
437 Function.InitializeMainMenu();
438 filechooser =
439 new Gtk.FileChooserDialog("Choose file to open",
440 this,
441 FileChooserAction.Open,
442 "Cancel", ResponseType.Cancel,
443 "OK", ResponseType.Accept);
444 filechooser.SelectMultiple = true;
445 Menu m = new Menu();
446 foreach (RotateFlipType flip in (RotateFlipType[])Enum.GetValues(typeof(RotateFlipType)))
447 {
448 MenuItem mi = new MenuItem(flip.ToString());
449 mi.ButtonPressEvent += RotateFlip_ButtonPressEvent;
450 m.Append(mi);
451 }
452 rotateFlipMenu.Submenu = m;
453 rotateFlipMenu.ShowAll();
454 string a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
455 Menu me = new Menu();
456 foreach (char c in a)
457 {
458 MenuItem mi = new MenuItem(c.ToString());
459 Menu men = new Menu();
460 foreach (Fiji.Macro.Command command in Fiji.Macro.Commands.Values)
461 {
462 if (command.Name.StartsWith(c))
463 {
464 MenuItem menuItem = new MenuItem(command.Name.ToString());
465 menuItem.ButtonPressEvent += CommandMenuItem_ButtonPressEvent;
466 men.Append(menuItem);
467 }
468 }
469 mi.Submenu = men;
470 me.Append(mi);
471 }
472 commandsMenu.Submenu = me;
473 commandsMenu.ShowAll();
474 recentMenu.Submenu = recent;
475
476 App.ApplyStyles(this);
477 Menu rm = new Menu();
478 foreach(Scripting.Script s in Scripting.scripts.Values)
479 {
480 MenuItem mi = new MenuItem(s.name);
481 mi.ButtonPressEvent += Mi_ButtonPressEvent;
482 rm.Append(mi);
483 }
484 //runMenu.ShowAll();
485 Plugins.Initialize();
486 ML.ML.Initialize();
487 AIMenu.ShowAll();
488 App.MoveToMain(this);
489 }
void SetupHandlers()
This function sets up the event handlers for the menu items.
Definition TabsView.cs:783

Member Function Documentation

◆ AboutClick()

void BioGTK.TabsView.AboutClick ( object sender,
EventArgs a )
protected

It creates a new instance of the About class, and then shows it

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes containing event data.

Definition at line 2468 of file TabsView.cs.

2469 {
2470 App.about = About.Create();
2471 App.about.Show();
2472 App.about.Present();
2473 }

◆ addImagesToTabMenuClick()

async void BioGTK.TabsView.addImagesToTabMenuClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and then adds the selected images to the currently selected viewer

Parameters
senderThe object that sent the event.
EventArgsThe event arguments.
Returns
The response type of the filechooser dialog.

Definition at line 1889 of file TabsView.cs.

1890 {
1891 filechooser = new FileChooserDialog("Choose file to add to current tab.", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1892 filechooser.SelectMultiple = true;
1893 if (filechooser.Run() != (int)ResponseType.Accept)
1894 return;
1895 filechooser.Hide();
1896 string[] sts = filechooser.Filenames;
1897 foreach (string item in filechooser.Filenames)
1898 {
1899 StartProgress("Add Image to Tab", "Opening");
1900 await BioImage.OpenAsync(item, false, false, true, 0);
1901 BioImage im = Images.GetImage(item);
1902 AddTab(im, item);
1903 StopProgress();
1904 }
1905 this.ShowAll();
1906 BioLib.Recorder.Record("BioImage.OpenAsync(" + StrArray(sts) + ", false, false, true);");
1907 }
void AddTab(BioImage im, string? sourcePath=null)
Definition TabsView.cs:1541
Definition Zarr.cs:20

◆ addOMEImagesToTabClick()

async void BioGTK.TabsView.addOMEImagesToTabClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and when the user selects a file, it opens the file as an OME image, and adds it to the currently selected viewer

Parameters
senderThe object that sent the event.
EventArgsThe event arguments.
Returns
The response type of the filechooser dialog.

Definition at line 1915 of file TabsView.cs.

1916 {
1917 filechooser = new FileChooserDialog("Choose OME file to add to current tab.", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1918 filechooser.SelectMultiple = true;
1919 if (filechooser.Run() != (int)ResponseType.Accept)
1920 return;
1921 filechooser.Hide();
1922 string[] sts = filechooser.Filenames;
1923 foreach (string item in filechooser.Filenames)
1924 {
1925 StartProgress("Add Image to Tab", "Opening");
1926 await BioImage.OpenAsync(item, true, false, true, 0);
1927 BioImage im = Images.GetImage(item);
1928 AddTab(im, item);
1929 StopProgress();
1930 }
1931 this.Show();
1932 BioLib.Recorder.Record("BioImage.OpenAsync(" + StrArray(sts) + ", true, false, true);");
1933 }

◆ AddTab()

void BioGTK.TabsView.AddTab ( BioImage im,
string? sourcePath = null )

It adds a new tab to the tab control

Parameters
BioImageThis is the image that you want to display.

Definition at line 1541 of file TabsView.cs.

1542 {
1543
1544 try
1545 {
1546 if (im == null)
1547 return;
1548 for (int vi = 0; vi < viewers.Count; vi++)
1549 {
1550 for (int i = 0; i < viewers[vi].Images.Count; i++)
1551 {
1552 if (viewers[vi].Images[i].Filename == im.Filename)
1553 return;
1554 }
1555 }
1556 TryLoadZarrROIs(im);
1557 ImageView v = ImageView.Create(im);
1558 v.RefreshZarrLabelOverlays(sourcePath ?? im.file);
1559 viewers.Add(v);
1560 Label dummy = new Gtk.Label(System.IO.Path.GetDirectoryName(im.file.Replace("\\", "/")) + "/" + im.Filename);
1561 dummy.Text = im.file.Replace("\\", "/") + "/" + im.Filename;
1562 dummy.Visible = false;
1563 Label l = new Gtk.Label(System.IO.Path.GetFileName(im.Filename));
1564 l.Text = System.IO.Path.GetFileName(im.Filename);
1565 tabsView.AppendPage(dummy, l);
1566 Console.WriteLine("New tab added for " + im.Filename);
1567 App.nodeView.UpdateItems();
1568 tabsView.ShowAll();
1569 v.ShowAll();
1570 BioLib.Recorder.Record("AddTab(" + (im?.file ?? string.Empty) + ", " + Q(sourcePath ?? string.Empty) + ");");
1571 GLib.Timeout.Add(16, () =>
1572 {
1573 if (v.View == null || !v.View.IsRealized || v.View.AllocatedWidth <= 1 || v.View.AllocatedHeight <= 1)
1574 return true;
1575
1576 App.viewer = v;
1577 v.GoToImage();
1578 v.UpdateView();
1579 if (!ImageView.MacOS)
1580 v.glArea?.RequestRedraw();
1581 else
1582 v.View.QueueDraw();
1583 return false;
1584 });
1585 }
1586 catch (Exception e)
1587 {
1588 BioLib.Recorder.Record("AddTab(" + (im?.file ?? string.Empty) + ", " + Q(sourcePath ?? string.Empty) + ");");
1589 // Execute on UI thread
1590 Gtk.Application.Invoke((sender, args) =>
1591 {
1592 if (im == null)
1593 return;
1594 for (int vi = 0; vi < viewers.Count; vi++)
1595 {
1596 for (int i = 0; i < viewers[vi].Images.Count; i++)
1597 {
1598 if (viewers[vi].Images[i].Filename == im.Filename)
1599 return;
1600 }
1601 }
1602 ImageView v = ImageView.Create(im);
1603 viewers.Add(v);
1604 v.RefreshZarrLabelOverlays(sourcePath ?? im.file);
1605 Label dummy = new Gtk.Label(System.IO.Path.GetDirectoryName(im.file.Replace("\\", "/")) + "/" + im.Filename);
1606 dummy.Text = im.file.Replace("\\", "/") + "/" + im.Filename;
1607 dummy.Visible = false;
1608 Label l = new Gtk.Label(System.IO.Path.GetFileName(im.Filename));
1609 l.Text = System.IO.Path.GetFileName(im.Filename);
1610 tabsView.AppendPage(dummy, l);
1611 Console.WriteLine("New tab added for " + im.Filename);
1612 App.nodeView.UpdateItems();
1613 tabsView.ShowAll();
1614 v.ShowAll();
1615 GLib.Timeout.Add(16, () =>
1616 {
1617 if (v.View == null || !v.View.IsRealized || v.View.AllocatedWidth <= 1 || v.View.AllocatedHeight <= 1)
1618 return true;
1619
1620 App.viewer = v;
1621 v.GoToImage();
1622 v.UpdateView();
1623 if (!ImageView.MacOS)
1624 v.glArea?.RequestRedraw();
1625 else
1626 v.View.QueueDraw();
1627 return false;
1628 });
1629 });
1630 }
1631 }

◆ AddViewer()

void BioGTK.TabsView.AddViewer ( ImageView v)

Definition at line 61 of file TabsView.cs.

62 {
63 viewers.Add(v);
64 }

◆ autoThresholdAllMenuClick()

void BioGTK.TabsView.autoThresholdAllMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Auto Threshold All" menu item.

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.

Definition at line 2333 of file TabsView.cs.

2334 {
2335 BioImage.AutoThreshold(ImageView.SelectedImage, true);
2336 if (ImageView.SelectedImage.bitsPerPixel > 8)
2337 ImageView.SelectedImage.StackThreshold(true);
2338 else
2339 ImageView.SelectedImage.StackThreshold(false);
2340 App.viewer.RefreshPyramidalTiles();
2341 App.viewer.UpdateImage();
2342 App.viewer.UpdateView();
2343 }

◆ channelsToolMenuClick()

void BioGTK.TabsView.channelsToolMenuClick ( object sender,
EventArgs a )
protected

It creates a new instance of the ChannelsTool class, and then shows it

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.

Definition at line 2348 of file TabsView.cs.

2349 {
2350 if (App.viewer == null)
2351 return;
2352 App.channelsTool = ChannelsTool.Create();
2353 App.channelsTool.Show();
2354 App.channelsTool.Present();
2355 }

◆ consoleMenuClick()

void BioGTK.TabsView.consoleMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the console menu button

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 2447 of file TabsView.cs.

2448 {
2449 App.console = BioConsole.Create();
2450 App.console.Show();
2451 App.console.Present();
2452 }

◆ Create()

static TabsView BioGTK.TabsView.Create ( )
static

It creates a new instance of the TabsView class, which is a class that inherits from Gtk.Window

Returns
A new instance of the TabsView class.

Definition at line 422 of file TabsView.cs.

423 {
424 Builder builder = new Builder(new FileStream(System.IO.Path.GetDirectoryName(Environment.ProcessPath) + "/" + "Glade/TabsView.glade", FileMode.Open));
425 return new TabsView(builder, builder.GetObject("TabsView").Handle);
426 }

◆ exportROIsOfFolderOfImagesMenuClick()

void BioGTK.TabsView.exportROIsOfFolderOfImagesMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Export ROIs of Folder of Images" menu item

Parameters
senderThe object that raised the event.
EventArgs

Definition at line 2303 of file TabsView.cs.

2304 {
2305 Gtk.FileChooserDialog folderchooser = new Gtk.FileChooserDialog("Set folder of images for export.",
2306 this,
2307 FileChooserAction.SelectFolder,
2308 "Cancel", ResponseType.Cancel,
2309 "Ok", ResponseType.Ok);
2310 folderchooser.SelectMultiple = true;
2311 if (folderchooser.Run() != (int)ResponseType.Ok)
2312 return;
2313 string folder = folderchooser.Filename;
2314 folderchooser.Destroy();
2315 Gtk.FileChooserDialog filechooser = new Gtk.FileChooserDialog("Set filename for CSV to export.",
2316 this,
2317 FileChooserAction.Save,
2318 "Cancel", ResponseType.Cancel,
2319 "Ok", ResponseType.Ok);
2320 filechooser.SelectMultiple = false;
2321 if (filechooser.Run() != (int)ResponseType.Ok)
2322 return;
2323 string file = filechooser.Filename;
2324 filechooser.Hide();
2325 BioImage.ExportROIFolder(folder, file);
2326 BioLib.Recorder.Record("BioImage.ExportROIFolder(" + Q(folder) + ", " + Q(file) + ");");
2327 }

◆ exportROIsToCSVMenuClick()

void BioGTK.TabsView.exportROIsToCSVMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Export ROIs to CSV" menu item

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes containing event data.

Definition at line 2262 of file TabsView.cs.

2263 {
2264 Gtk.FileChooserDialog filechooser = new Gtk.FileChooserDialog("Set filename for export.",
2265 this,
2266 FileChooserAction.Save,
2267 "Cancel", ResponseType.Cancel,
2268 "Ok", ResponseType.Ok);
2269 filechooser.SelectMultiple = false;
2270 if (filechooser.Run() != (int)ResponseType.Ok)
2271 return;
2272 BioImage.ExportROIsCSV(filechooser.Filename, ImageView.SelectedImage.Annotations);
2273 filechooser.Hide();
2274 BioLib.Recorder.Record("BioImage.ExportROIsCSV(" + Q(filechooser.Filename) + ", ImageView.SelectedImage.Annotations);");
2275 }

◆ filtersMenuClick()

void BioGTK.TabsView.filtersMenuClick ( object sender,
EventArgs a )
protected

It shows the filters menu.

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes that contain event data.

Definition at line 2426 of file TabsView.cs.

2427 {
2428 App.filters = FiltersView.Create();
2429 App.filters.Show();
2430 App.filters.Present();
2431 }

◆ functionsToolMenuClick()

void BioGTK.TabsView.functionsToolMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the functions tool menu item

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes containing event data.

Definition at line 2437 of file TabsView.cs.

2438 {
2439 App.funcs = Functions.Create();
2440 App.funcs.Show();
2441 App.funcs.Present();
2442 }

◆ GetViewer() [1/2]

ImageView BioGTK.TabsView.GetViewer ( int i)

Definition at line 37 of file TabsView.cs.

38 {
39 return viewers[i];
40 }

◆ GetViewer() [2/2]

ImageView? BioGTK.TabsView.GetViewer ( string name)

Definition at line 41 of file TabsView.cs.

42 {
43 for (int v = 0; v < viewers.Count; v++)
44 {
45 for (int i = 0; i < viewers[v].Images.Count; i++)
46 {
47 if (viewers[v].Images[i].Filename == name)
48 return viewers[v];
49 }
50 }
51 return null;
52 }

◆ GetViewerCount()

int BioGTK.TabsView.GetViewerCount ( )

Definition at line 53 of file TabsView.cs.

54 {
55 return viewers.Count;
56 }

◆ imagesToStackClick()

void BioGTK.TabsView.imagesToStackClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks the "Images to Stack" button

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes that contain event data.

Definition at line 2208 of file TabsView.cs.

2209 {
2210 Gtk.FileChooserDialog filechooser =
2211 new Gtk.FileChooserDialog("Choose images to convert to stack.",
2212 this,
2213 FileChooserAction.Save,
2214 "Cancel", ResponseType.Cancel,
2215 "Save", ResponseType.Accept);
2216 filechooser.SelectMultiple = true;
2217 if (filechooser.Run() != (int)ResponseType.Accept)
2218 return;
2219 filechooser.Hide();
2220 string[] sts = filechooser.Filenames;
2221 BioImage b = BioImage.ImagesToStack(sts, true);
2222 AddTab(b);
2223 }

◆ importROIsFromCSVMenuClick()

void BioGTK.TabsView.importROIsFromCSVMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Import ROIs from CSV" menu item

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes containing event data.

Definition at line 2280 of file TabsView.cs.

2281 {
2282 Gtk.FileChooserDialog filechooser = new Gtk.FileChooserDialog("Choose the file to open.",
2283 this,
2284 FileChooserAction.Open,
2285 "Cancel", ResponseType.Cancel,
2286 "Ok", ResponseType.Ok);
2287 filechooser.SelectMultiple = true;
2288 if (filechooser.Run() != (int)ResponseType.Ok)
2289 return;
2290 string[] sts = filechooser.Filenames;
2291 foreach (string item in filechooser.Filenames)
2292 {
2293 ImageView.SelectedImage.Annotations.AddRange(BioImage.ImportROIsCSV(item));
2294 }
2295 filechooser.Hide();
2296 BioLib.Recorder.Record("BioImage.ImportROIsCSV(" + StrArray(sts) + ");");
2297 }

◆ Open()

async void BioGTK.TabsView.Open ( string file)

Open's a file in a new tab.

Parameters
tabNameThe filename of the image to add to tabcontrol

Definition at line 2511 of file TabsView.cs.

2512 {
2513 await OpenPyramidRootsAsViewsAsync(file, true);
2514 }

◆ openImagesMenuClick()

async void BioGTK.TabsView.openImagesMenuClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and when the user selects a file, it creates a new BioImage object, creates a new ImageView object, and adds the ImageView object to the list of viewers

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.
Returns
The response type of the dialog.

Definition at line 1740 of file TabsView.cs.

1741 {
1742 filechooser = new FileChooserDialog("Choose file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1743 filechooser.SelectMultiple = true;
1744 if (filechooser.Run() != (int)ResponseType.Accept)
1745 return;
1746 string[] sts = filechooser.Filenames;
1747 filechooser.Hide();
1748 foreach (string item in sts)
1749 {
1750 StartProgress("Open File", "Opening");
1751 try
1752 {
1753 await FlushGtkEventsAsync();
1754 await OpenPyramidRootsAsTabsAsync(item);
1755 }
1756 finally
1757 {
1758 StopProgress();
1759 }
1760 }
1761 BioLib.Recorder.Record("BioImage.OpenAsync(" + StrArray(sts) + ", false, true, true);");
1762 }

◆ openOMEImagesMenuClick()

async void BioGTK.TabsView.openOMEImagesMenuClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and when the user selects a file, it opens the file and adds it to the list of open images

Parameters
senderThe object that sent the event.
EventArgsThe event arguments.
Returns
The response type of the dialog.

Definition at line 1770 of file TabsView.cs.

1771 {
1772 filechooser = new FileChooserDialog("Choose OME file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1773 filechooser.SelectMultiple = true;
1774 if (filechooser.Run() != (int)ResponseType.Accept)
1775 return;
1776 filechooser.Hide();
1777 string[] sts = filechooser.Filenames;
1778 foreach (string item in filechooser.Filenames)
1779 {
1780 StartProgress("Open OME", "Opening");
1781 await OpenPyramidRootsAsTabsAsync(item);
1782 StopProgress();
1783 }
1784 BioLib.Recorder.Record("BioImage.OpenAsync(" + StrArray(sts) + ", true, true, true);");
1785 }

◆ openOMESeriesMenuClick()

async void BioGTK.TabsView.openOMESeriesMenuClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and when the user selects a file, it opens the file as a BioImage, creates an ImageView for it, and adds the ImageView to the notebook

Parameters
senderThe object that sent the event.
EventArgsThe event arguments.
Returns
A list of file names.

Definition at line 1793 of file TabsView.cs.

1794 {
1795 filechooser = new FileChooserDialog("Choose OME Series file to open.", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1796 filechooser.SelectMultiple = true;
1797 if (filechooser.Run() != (int)ResponseType.Accept)
1798 return;
1799 filechooser.Hide();
1800 string[] sts = filechooser.Filenames;
1801 foreach (string item in filechooser.Filenames)
1802 {
1803 StartProgress("Open OME", "Opening");
1804 await OpenPyramidRootsAsTabsAsync(item);
1805 }
1806 tabsView.ShowAll();
1807 BioLib.Recorder.Record("BioImage.OpenAsync(" + StrArray(sts) + ", true, true, true);");
1808
1809 }

◆ openSeriesMenuClick()

async void BioGTK.TabsView.openSeriesMenuClick ( object sender,
EventArgs a )
protected

It opens a file chooser dialog, and when the user selects a file, it opens the file as a series of images, and adds each image to the notebook

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.
Returns
The response type of the dialog.

Definition at line 1817 of file TabsView.cs.

1818 {
1819 filechooser = new FileChooserDialog("Choose series file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
1820 filechooser.SelectMultiple = true;
1821 if (filechooser.Run() != (int)ResponseType.Accept)
1822 return;
1823 filechooser.Hide();
1824 string[] sts = filechooser.Filenames;
1825 foreach (string item in filechooser.Filenames)
1826 {
1827 StartProgress("Open OME Series", "Opening");
1828 await OpenPyramidRootsAsTabsAsync(item);
1829 StopProgress();
1830 }
1831 tabsView.Show();
1832 BioLib.Recorder.Record("BioImage.ImportROIsCSV(" + StrArray(sts) + ");");
1833 }

◆ RemoveTab()

void BioGTK.TabsView.RemoveTab ( string tabName)

This function removes a tab from the tab control

Parameters
tabNameThe name of the tab to remove.

Definition at line 2478 of file TabsView.cs.

2479 {
2480 string shortName = System.IO.Path.GetFileName(tabName);
2481 for (int i = tabsView.NPages - 1; i >= 0; i--)
2482 {
2483 Widget page = tabsView.GetNthPage(i);
2484 // Check the visible tab label (the one the user sees)
2485 Widget tabLabelWidget = tabsView.GetTabLabel(page);
2486 string tabText = null;
2487 if (tabLabelWidget is Gtk.Label tl)
2488 tabText = tl.Text;
2489
2490 // Also check the page content widget (a hidden dummy Label
2491 // whose Text holds the full path)
2492 string pageText = null;
2493 if (page is Gtk.Label pl)
2494 pageText = pl.Text;
2495
2496 bool match = (tabText != null && (tabText == tabName || tabText == shortName))
2497 || (pageText != null && (pageText == tabName
2498 || System.IO.Path.GetFileName(pageText) == shortName));
2499
2500 if (match)
2501 {
2502 tabsView.RemovePage(i);
2503 App.nodeView.UpdateItems();
2504 return;
2505 }
2506 }
2507 }

◆ RemoveViewer()

void BioGTK.TabsView.RemoveViewer ( ImageView v)

Definition at line 57 of file TabsView.cs.

58 {
59 viewers.Remove(v);
60 }

◆ RenameTab()

void BioGTK.TabsView.RenameTab ( string name,
string newName )

Definition at line 1129 of file TabsView.cs.

1130 {
1131 int i = 0;
1132 foreach (Widget item in tabsView.Children)
1133 {
1134 // Get the tab widget for the page and set the new title
1135 Label l = (Label)tabsView.GetTabLabel(tabsView.GetNthPage(i));
1136 if (l.Text == name)
1137 {
1138 l.Text = newName;
1139 BioLib.Recorder.Record("TabsView.RenameTab(" + Q(name) + ", " + Q(newName) + ");");
1140 return;
1141 }
1142 }
1143 }

◆ roiManagerMenuClick()

void BioGTK.TabsView.roiManagerMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the ROI Manager menu item

Parameters
senderThe object that raised the event.
EventArgsThis is the class that contains the event data.

Definition at line 2251 of file TabsView.cs.

2252 {
2253 App.roiManager = ROIManager.Create();
2254 App.roiManager.Show();
2255 App.roiManager.Present();
2256 }

◆ saveSelectedOMEClick()

async void BioGTK.TabsView.saveSelectedOMEClick ( object sender,
EventArgs a )
protected

This function saves the selected image in the OME-TIFF format

Parameters
senderThe object that triggered the event.
EventArgsThis is the event that is being called.
Returns
The response type of the filechooser dialog.

Definition at line 2116 of file TabsView.cs.

2117 {
2118 filechooser = new FileChooserDialog("Save Selected OME Image to File", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2119 if (filechooser.Run() != (int)ResponseType.Accept)
2120 return;
2121 filechooser.Hide();
2122 StartProgress("Save Selected OME", "Saving");
2123 var (exportImage, isTemporary) = await GetOmeExportImageAsync(ImageView.SelectedImage);
2124 try
2125 {
2126 PreserveSourceAnnotations(ImageView.SelectedImage, exportImage);
2127 NormalizeMasksForOmeExport(exportImage);
2128 await Task.Run(() => BioImage.SaveOMESeries(new[] { exportImage }, filechooser.Filename, BioImage.Planes));
2129 }
2130 finally
2131 {
2132 if (isTemporary)
2133 ReleaseTemporaryExportImage(exportImage);
2134 }
2135 StopProgress();
2136 }

◆ saveSelectedTiffClick()

async void BioGTK.TabsView.saveSelectedTiffClick ( object sender,
EventArgs a )
protected

It creates a file chooser dialog, and if the user selects a file, it saves the selected image to that file

Parameters
senderThe object that triggered the event.
EventArgsThis is the event that is being passed to the method.
Returns
The response type of the dialog.

Definition at line 2100 of file TabsView.cs.

2101 {
2102 filechooser = new FileChooserDialog("Save Selected Image To TIFF", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2103 if (filechooser.Run() != (int)ResponseType.Accept)
2104 return;
2105 filechooser.Hide();
2106 StartProgress("Save Selected Tiff","Saving");
2107 await BioImage.SaveAsync(filechooser.Filename, ImageView.SelectedImage.Filename, 0, false);
2108 StopProgress();
2109 }

◆ saveSeriesMenuClick()

async void BioGTK.TabsView.saveSeriesMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks the "Save Series" menu item

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes containing event data.

Definition at line 2194 of file TabsView.cs.

2195 {
2196 filechooser = new FileChooserDialog("Save TIFF series.", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2197 if (filechooser.Run() != (int)ResponseType.Accept)
2198 return;
2199 filechooser.Hide();
2200 StartProgress("Save Selected Tiff", "Saving");
2201 await BioImage.SaveSeriesAsync(App.viewer.Images.ToArray(), filechooser.Filename, true);
2202 StopProgress();
2203 }

◆ saveTabOMEClick()

async void BioGTK.TabsView.saveTabOMEClick ( object sender,
EventArgs a )
protected

This function saves the current series of images to an OME-TIFF file

Parameters
senderThe object that triggered the event.
EventArgsThe event arguments.
Returns
The response from the filechooser dialog.

Definition at line 2143 of file TabsView.cs.

2144 {
2145 filechooser = new FileChooserDialog("Save Tab as an OME image.", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2146 if (filechooser.Run() != (int)ResponseType.Accept)
2147 return;
2148 filechooser.Hide();
2149 StartProgress("Save Selected OME", "Saving");
2150 BioImage[] exportImages = new BioImage[App.viewer.Images.Count];
2151 List<BioImage> temporaryImages = new List<BioImage>();
2152 try
2153 {
2154 for (int i = 0; i < App.viewer.Images.Count; i++)
2155 {
2156 BioImage sourceImage = App.viewer.Images[i];
2157 var (exportImage, isTemporary) = await GetOmeExportImageAsync(sourceImage);
2158 PreserveSourceAnnotations(sourceImage, exportImage);
2159 NormalizeMasksForOmeExport(exportImage);
2160 exportImages[i] = exportImage;
2161 if (isTemporary)
2162 temporaryImages.Add(exportImage);
2163 }
2164
2165 await Task.Run(() => BioImage.SaveOMESeries(exportImages, filechooser.Filename, true));
2166 }
2167 finally
2168 {
2169 foreach (BioImage temp in temporaryImages)
2170 ReleaseTemporaryExportImage(temp);
2171 }
2172 StopProgress();
2173 }

◆ saveTabTiffMenuClick()

async void BioGTK.TabsView.saveTabTiffMenuClick ( object sender,
EventArgs a )
protected

It saves the current tab as a tiff file

Parameters
senderThe object that sent the event.
EventArgs
Returns
The response type of the filechooser dialog.

Definition at line 2180 of file TabsView.cs.

2181 {
2182 filechooser = new FileChooserDialog("Save Tab as an image.", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2183 if (filechooser.Run() != (int)ResponseType.Accept)
2184 return;
2185 filechooser.Hide();
2186 StartProgress("Save Selected Tiff", "Saving");
2187 await BioImage.SaveSeriesAsync(App.viewer.Images.ToArray(), filechooser.Filename, false);
2188 StopProgress();
2189 }

◆ scriptRunnerMenuClick()

void BioGTK.TabsView.scriptRunnerMenuClick ( object sender,
EventArgs a )
protected

It's a function that runs when the user clicks on the "Script Runner" menu item

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments.

Definition at line 2457 of file TabsView.cs.

2458 {
2459 App.scripting = Scripting.Create();
2460 App.scripting.Show();
2461 App.scripting.Present();
2462 }

◆ SetImageJPath()

static bool BioGTK.TabsView.SetImageJPath ( )
static

This function creates a file chooser dialog that allows the user to select the location of the ImageJ executable

Returns
A boolean value.

Definition at line 510 of file TabsView.cs.

511 {
512 string st = BioLib.Settings.GetSettings("ImageJPath");
513 if (st != "")
514 {
515 Fiji.ImageJPath = BioLib.Settings.GetSettings("ImageJPath");
516 return true;
517 }
518 string title = "Select ImageJ Executable Location";
519 if (OperatingSystem.IsMacOS())
520 title = "Select ImageJ Executable Location (Fiji.app/Contents/MacOS/ImageJ-macosx)";
521 Gtk.FileChooserDialog filechooser =
522 new Gtk.FileChooserDialog(title, Scripting.window,
523 FileChooserAction.Open,
524 "Cancel", ResponseType.Cancel,
525 "Save", ResponseType.Accept);
526 filechooser.SetCurrentFolder(System.IO.Path.GetDirectoryName(Environment.ProcessPath));
527 if (filechooser.Run() != (int)ResponseType.Accept)
528 return false;
529 Fiji.ImageJPath = filechooser.Filename;
530 BioLib.Settings.AddSettings("ImageJPath", filechooser.Filename);
531 filechooser.Destroy();
532 BioLib.Settings.Save();
533 return true;
534 }

◆ SetTab()

void BioGTK.TabsView.SetTab ( int i)

Sets the current tab index.

Parameters
i

Definition at line 1533 of file TabsView.cs.

1534 {
1535 tabsView.Page = i;
1536 BioLib.Recorder.Record("tabsView.Page = " + i + ";");
1537 }

◆ setToolMenuClick()

void BioGTK.TabsView.setToolMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Tools" menu item

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 2240 of file TabsView.cs.

2241 {
2242 App.setTool = SetTool.Create();
2243 App.setTool.Show();
2244 App.setTool.Present();
2245 }

◆ SetupHandlers()

void BioGTK.TabsView.SetupHandlers ( )
protected

This function sets up the event handlers for the menu items.

Definition at line 783 of file TabsView.cs.

784 {
785 openURLMenu.ButtonPressEvent += OpenURLMenu_ButtonPressEvent;
786 openImagesMenu.ButtonPressEvent += openImagesMenuClick;
787 openOMEImagesMenu.ButtonPressEvent += openOMEImagesMenuClick;
788 openOMESeriesMenu.ButtonPressEvent += openOMESeriesMenuClick;
789 openSeriesMenu.ButtonPressEvent += openSeriesMenuClick;
790 openQuPathProject.ButtonPressEvent += openQuPathProjectMenuClick;
791 addImagesToTabMenu.ButtonPressEvent += addImagesToTabMenuClick;
792 addOMEImagesToTab.ButtonPressEvent += addOMEImagesToTabClick;
793 openZarr.ButtonPressEvent += OpenZarr_ButtonPressEvent;
794 saveSelectedTiff.ButtonPressEvent += saveSelectedTiffClick;
795 saveSelectedOME.ButtonPressEvent += saveSelectedOMEClick;
796 saveNumPyBut.ButtonPressEvent += SaveNumPyBut_ButtonPressEvent;
797
798 saveTabOME.ButtonPressEvent += saveTabOMEClick;
799 saveTabTiffMenu.ButtonPressEvent += saveTabTiffMenuClick;
800 saveSeriesMenu.ButtonPressEvent += saveSeriesMenuClick;
801 savePyramidalMenu.ButtonPressEvent += SavePyramidalMenu_ButtonPressEvent;
802 saveZarr.ButtonPressEvent += SaveZarr_ButtonPressEvent;
803 saveQuPathProject.ButtonPressEvent += saveQuPathProject_ButtonPressEvent;
804 imagesToStack.ButtonPressEvent += imagesToStackClick;
805 uploadImageMenu.ButtonPressEvent += UploadImageMenu_ButtonPressEvent;
806
807 rgbMenu.ButtonPressEvent += RgbMenu_ButtonPressEvent;
808 filteredMenu.ButtonPressEvent += FilteredMenu_ButtonPressEvent;
809 rawMenu.ButtonPressEvent += RawMenu_ButtonPressEvent;
810 emissionMenu.ButtonPressEvent += EmissionMenu_ButtonPressEvent;
811
812 toolsMenu.ButtonPressEvent += toolsMenuClick;
813 setToolMenu.ButtonPressEvent += setToolMenuClick;
814 runSAMMenu.ButtonPressEvent += RunSAMMenu_ButtonPressEvent;
815 runMicroSAMMenu.ButtonPressEvent += RunMicroSAMMenu_ButtonPressEvent;
816 plateToolMenu.ButtonPressEvent += PlateToolMenu_ButtonPressEvent;
817 extractRegionMenu.ButtonPressEvent += ExtractRegionMenu_ButtonPressEvent;
818
819 roiManagerMenu.ButtonPressEvent += roiManagerMenuClick;
820 exportROIsToCSVMenu.ButtonPressEvent += exportROIsToCSVMenuClick;
821 importROIsFromCSVMenu.ButtonPressEvent += importROIsFromCSVMenuClick;
822 exportROIsOfFolderOfImagesMenu.ButtonPressEvent += exportROIsOfFolderOfImagesMenuClick;
823 importROIsFromImageJMenu.ButtonPressEvent += ImportROIsFromImageJMenu_ButtonPressEvent;
824 exportROIsFromImageJMenu.ButtonPressEvent += ExportROIsFromImageJMenu_ButtonPressEvent;
825 importROIQuPath.ButtonPressEvent += ImportROIQuPath_ButtonPressEvent;
826 exportROIQuPath.ButtonPressEvent += ExportROIQuPath_ButtonPressEvent;
827 importPointsNapari.ButtonPressEvent += ImportPointsNapari_ButtonPressEvent;
828 importShapesNapari.ButtonPressEvent += ImportShapesNapari_ButtonPressEvent;
829 exportROINapari.ButtonPressEvent += ExportROINapari_ButtonPressEvent;
830
831 autoThresholdAllMenu.ButtonPressEvent += autoThresholdAllMenuClick;
832 channelsToolMenu.ButtonPressEvent += channelsToolMenuClick;
833 switchRedBlueMenu.ButtonPressEvent += switchRedBlueMenuClick;
834
835 stackToolMenu.ButtonPressEvent += stackToolMenuClick;
836 focusMenu.ButtonPressEvent += FocusMenu_ButtonPressEvent;
837
838 to8BitMenu.ButtonPressEvent += to8BitMenuClick;
839 to16BitMenu.ButtonPressEvent += to16BitMenuClick;
840 to24BitMenu.ButtonPressEvent += to24BitMenuClick;
841 to32BitMenu.ButtonPressEvent += to32BitMenuClick;
842 to48BitMenu.ButtonPressEvent += to48BitMenuClick;
843 toFloatMenu.ButtonPressEvent += ToFloatMenu_ButtonPressEvent;
844 toShortMenu.ButtonPressEvent += ToShortMenu_ButtonPressEvent;
845
846 filtersMenu.ButtonPressEvent += filtersMenuClick;
847 functionsToolMenu.ButtonPressEvent += functionsToolMenuClick;
848 consoleMenu.ButtonPressEvent += consoleMenuClick;
849 scriptRunnerMenu.ButtonPressEvent += scriptRunnerMenuClick;
850 scriptRecorderMenu.ButtonPressEvent += ScriptRecorderMenu_ButtonPressEvent;
851
852 aboutMenu.ButtonPressEvent += AboutClick;
853
854 tabClose.ButtonPressEvent += TabClose_ButtonPressEvent;
855 tabDuplicate.ButtonPressEvent += TabDuplicate_ButtonPressEvent;
856 this.FocusInEvent += TabsView_FocusInEvent;
857 rgbMenu.ButtonPressEvent += RgbMenu_ButtonPressEvent;
858 filteredMenu.ButtonPressEvent += FilteredMenu_ButtonPressEvent;
859 rawMenu.ButtonPressEvent += RawMenu_ButtonPressEvent;
860 emissionMenu.ButtonPressEvent += EmissionMenu_ButtonPressEvent;
861 tabsView.SwitchPage += TabsView_SwitchPage;
862 tabsView.ButtonPressEvent += TabsView_ButtonPressEvent;
863 this.WindowStateEvent += TabsView_WindowStateEvent;
864 this.DeleteEvent += TabsView_DeleteEvent;
865 omeroMenu.ButtonPressEvent += OmeroMenu_ButtonPressEvent;
866
867 searchMenu.ButtonPressEvent += SearchMenu_ButtonPressEvent;
868 updateMenu.ButtonPressEvent += UpdateMenu_ButtonPressEvent;
869 renameMenu.ButtonPressEvent += RenameMenu_ButtonPressEvent;
870 AIMenu.ButtonPressEvent += AiMenu_ButtonPressEvent;
871
872 // Enable drag-and-drop for this window
873 Gtk.Drag.DestSet(this, DestDefaults.All, new TargetEntry[]
874 {
875 new TargetEntry("text/uri-list", TargetFlags.OtherApp, 0)
876 }, Gdk.DragAction.Copy);
877 this.DragDataReceived += TabsView_DragDataReceived;
878
879 }
void to32BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2409
async void addImagesToTabMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1889
void AboutClick(object sender, EventArgs a)
Definition TabsView.cs:2468
void exportROIsOfFolderOfImagesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2303
async void saveSelectedTiffClick(object sender, EventArgs a)
Definition TabsView.cs:2100
void exportROIsToCSVMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2262
void to8BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2385
async void saveSelectedOMEClick(object sender, EventArgs a)
Definition TabsView.cs:2116
void autoThresholdAllMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2333
void to48BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2417
async void openOMESeriesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1793
void to16BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2393
async void saveTabOMEClick(object sender, EventArgs a)
Definition TabsView.cs:2143
async void openSeriesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1817
void filtersMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2426
void functionsToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2437
async void openImagesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1740
void scriptRunnerMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2457
void toolsMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2229
void stackToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2374
async void openOMEImagesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1770
void channelsToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2348
void imagesToStackClick(object sender, EventArgs a)
Definition TabsView.cs:2208
async void saveSeriesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2194
void to24BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2401
async void addOMEImagesToTabClick(object sender, EventArgs a)
Definition TabsView.cs:1915
void switchRedBlueMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2360
void consoleMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2447
void importROIsFromCSVMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2280
async void saveTabTiffMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2180
void setToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2240
void roiManagerMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2251

◆ stackToolMenuClick()

void BioGTK.TabsView.stackToolMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the stack tool menu item

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.

Definition at line 2374 of file TabsView.cs.

2375 {
2376 App.stack = StackTools.Create();
2377 App.stack.Show();
2378 App.stack.Present();
2379 }

◆ switchRedBlueMenuClick()

void BioGTK.TabsView.switchRedBlueMenuClick ( object sender,
EventArgs a )
protected

This function is called when the user clicks on the "Switch Red and Blue" menu item

Parameters
senderThe object that raised the event.
EventArgsThe EventArgs class is the base class for classes that contain event data.

Definition at line 2360 of file TabsView.cs.

2361 {
2362 foreach (AForge.Bitmap bf in ImageView.SelectedImage.Buffers)
2363 {
2364 bf.SwitchRedBlue();
2365 }
2366 App.viewer.UpdateImage();
2367 App.viewer.UpdateView();
2368 }

◆ to16BitMenuClick()

void BioGTK.TabsView.to16BitMenuClick ( object sender,
EventArgs a )
protected

This function converts the selected image to 16 bit

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 2393 of file TabsView.cs.

2394 {
2395 ImageView.SelectedImage.To16Bit();
2396 }

◆ to24BitMenuClick()

void BioGTK.TabsView.to24BitMenuClick ( object sender,
EventArgs a )
protected

This function converts the selected image to 24 bit

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 2401 of file TabsView.cs.

2402 {
2403 ImageView.SelectedImage.To24Bit();
2404 }

◆ to32BitMenuClick()

void BioGTK.TabsView.to32BitMenuClick ( object sender,
EventArgs a )
protected

It converts the selected image to 32 bit

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 2409 of file TabsView.cs.

2410 {
2411 ImageView.SelectedImage.To32Bit();
2412 }

◆ to48BitMenuClick()

void BioGTK.TabsView.to48BitMenuClick ( object sender,
EventArgs a )
protected

This function converts the selected image to 48 bit

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 2417 of file TabsView.cs.

2418 {
2419 ImageView.SelectedImage.To48Bit();
2420 }

◆ to8BitMenuClick()

void BioGTK.TabsView.to8BitMenuClick ( object sender,
EventArgs a )
protected

The function is called when the user clicks on the "To 8-bit" menu item

Parameters
senderThe object that raised the event.
EventArgsThis is the event arguments that are passed to the event handler.

Definition at line 2385 of file TabsView.cs.

2386 {
2387 ImageView.SelectedImage.To8Bit();
2388 }

◆ toolsMenuClick()

void BioGTK.TabsView.toolsMenuClick ( object sender,
EventArgs a )
protected

If the tools window is not open, open it

Parameters
senderThe object that raised the event.
EventArgsThe event arguments.

Definition at line 2229 of file TabsView.cs.

2230 {
2231 if(App.tools == null)
2232 App.tools = Tools.Create();
2233 App.tools.Show();
2234 App.tools.Present();
2235 }

Member Data Documentation

◆ ImageJMenu

MenuBar BioGTK.TabsView.ImageJMenu

Definition at line 252 of file TabsView.cs.

◆ MainMenu

MenuBar BioGTK.TabsView.MainMenu

Definition at line 266 of file TabsView.cs.


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