BioGTK  6.7.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)
 
ImageView? GetViewer (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 21 of file TabsView.cs.

Constructor & Destructor Documentation

◆ TabsView()

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

Definition at line 552 of file TabsView.cs.

552 : base(handle)
553 {
554 _builder = builder;
555 App.tabsView = this;
556 builder.Autoconnect(this);
557 InitializeOpenRecentMenu();
558 filteredMenu.Active = true;
560 progress = Progress.Create(title, "", "");
561 Function.InitializeMainMenu();
562 filechooser =
563 new Gtk.FileChooserDialog("Choose file to open",
564 this,
565 FileChooserAction.Open,
566 "Cancel", ResponseType.Cancel,
567 "OK", ResponseType.Accept);
568 filechooser.SelectMultiple = true;
569 Menu m = new Menu();
570 foreach (RotateFlipType flip in (RotateFlipType[])Enum.GetValues(typeof(RotateFlipType)))
571 {
572 MenuItem mi = new MenuItem(flip.ToString());
573 mi.ButtonPressEvent += RotateFlip_ButtonPressEvent;
574 m.Append(mi);
575 }
576 rotateFlipMenu.Submenu = m;
577 rotateFlipMenu.ShowAll();
578 string a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
579 Menu me = new Menu();
580 foreach (char c in a)
581 {
582 MenuItem mi = new MenuItem(c.ToString());
583 Menu men = new Menu();
584 foreach (Fiji.Macro.Command command in Fiji.Macro.Commands.Values)
585 {
586 if (command.Name.StartsWith(c))
587 {
588 MenuItem menuItem = new MenuItem(command.Name.ToString());
589 menuItem.ButtonPressEvent += CommandMenuItem_ButtonPressEvent;
590 men.Append(menuItem);
591 }
592 }
593 mi.Submenu = men;
594 me.Append(mi);
595 }
596 commandsMenu.Submenu = me;
597 commandsMenu.ShowAll();
598 recentMenu.Submenu = recent;
599
600 App.ApplyStyles(this);
601 Menu rm = new Menu();
602 foreach(Scripting.Script s in Scripting.scripts.Values)
603 {
604 MenuItem mi = new MenuItem(s.name);
605 mi.ButtonPressEvent += Mi_ButtonPressEvent;
606 rm.Append(mi);
607 }
608 //runMenu.ShowAll();
609 Plugins.Initialize();
610 ML.ML.Initialize();
611 AIMenu.ShowAll();
612 App.MoveToMain(this);
613 }
void SetupHandlers()
This function sets up the event handlers for the menu items.
Definition TabsView.cs:1033

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 2726 of file TabsView.cs.

2727 {
2728 App.about = About.Create();
2729 App.about.Show();
2730 App.about.Present();
2731 }

◆ 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 2147 of file TabsView.cs.

2148 {
2149 filechooser = new FileChooserDialog("Choose file to add to current tab.", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2150 filechooser.SelectMultiple = true;
2151 if (filechooser.Run() != (int)ResponseType.Accept)
2152 return;
2153 filechooser.Hide();
2154 string[] sts = filechooser.Filenames;
2155 foreach (string item in filechooser.Filenames)
2156 {
2157 StartProgress("Add Image to Tab", "Opening");
2158 await BioImage.OpenAsync(item, false, false, true, 0);
2159 BioImage im = Images.GetImage(item);
2160 AddTab(im, item);
2161 StopProgress();
2162 }
2163 this.ShowAll();
2164 BioLib.Recorder.Record("BioImage.OpenAsync(" + StrArray(sts) + ", false, false, true);");
2165 }
void AddTab(BioImage im, string? sourcePath=null)
Definition TabsView.cs:1791
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 2173 of file TabsView.cs.

2174 {
2175 filechooser = new FileChooserDialog("Choose OME file to add to current tab.", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2176 filechooser.SelectMultiple = true;
2177 if (filechooser.Run() != (int)ResponseType.Accept)
2178 return;
2179 filechooser.Hide();
2180 string[] sts = filechooser.Filenames;
2181 foreach (string item in filechooser.Filenames)
2182 {
2183 StartProgress("Add Image to Tab", "Opening");
2184 await BioImage.OpenAsync(item, true, false, true, 0);
2185 BioImage im = Images.GetImage(item);
2186 AddTab(im, item);
2187 StopProgress();
2188 }
2189 this.Show();
2190 BioLib.Recorder.Record("BioImage.OpenAsync(" + StrArray(sts) + ", true, false, true);");
2191 }

◆ 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 1791 of file TabsView.cs.

1792 {
1793
1794 try
1795 {
1796 if (im == null)
1797 return;
1798 for (int vi = 0; vi < viewers.Count; vi++)
1799 {
1800 for (int i = 0; i < viewers[vi].Images.Count; i++)
1801 {
1802 if (viewers[vi].Images[i].Filename == im.Filename)
1803 {
1804 RememberRecentImage(sourcePath ?? im.SourceFile);
1805 return;
1806 }
1807 }
1808 }
1809 TryLoadZarrROIs(im);
1810 ImageView v = ImageView.Create(im);
1811 v.RefreshZarrLabelOverlays(sourcePath ?? im.file);
1812 viewers.Add(v);
1813 Label dummy = new Gtk.Label(System.IO.Path.GetDirectoryName(im.file.Replace("\\", "/")) + "/" + im.Filename);
1814 dummy.Text = im.file.Replace("\\", "/") + "/" + im.Filename;
1815 dummy.Visible = false;
1816 Label l = new Gtk.Label(System.IO.Path.GetFileName(im.Filename));
1817 l.Text = System.IO.Path.GetFileName(im.Filename);
1818 tabsView.AppendPage(dummy, l);
1819 Console.WriteLine("New tab added for " + im.Filename);
1820 App.nodeView.UpdateItems();
1821 tabsView.ShowAll();
1822 v.ShowAll();
1823 RememberRecentImage(sourcePath ?? im.SourceFile);
1824 BioLib.Recorder.Record("AddTab(" + (im?.file ?? string.Empty) + ", " + Q(sourcePath ?? string.Empty) + ");");
1825 GLib.Timeout.Add(16, () =>
1826 {
1827 if (v.View == null || !v.View.IsRealized || v.View.AllocatedWidth <= 1 || v.View.AllocatedHeight <= 1)
1828 return true;
1829
1830 App.viewer = v;
1831 v.GoToImage();
1832 v.UpdateView();
1833 if (!ImageView.MacOS)
1834 v.glArea?.RequestRedraw();
1835 else
1836 v.View.QueueDraw();
1837 return false;
1838 });
1839 }
1840 catch (Exception e)
1841 {
1842 BioLib.Recorder.Record("AddTab(" + (im?.file ?? string.Empty) + ", " + Q(sourcePath ?? string.Empty) + ");");
1843 // Execute on UI thread
1844 Gtk.Application.Invoke((sender, args) =>
1845 {
1846 if (im == null)
1847 return;
1848 for (int vi = 0; vi < viewers.Count; vi++)
1849 {
1850 for (int i = 0; i < viewers[vi].Images.Count; i++)
1851 {
1852 if (viewers[vi].Images[i].Filename == im.Filename)
1853 {
1854 RememberRecentImage(sourcePath ?? im.SourceFile);
1855 return;
1856 }
1857 }
1858 }
1859 ImageView v = ImageView.Create(im);
1860 viewers.Add(v);
1861 v.RefreshZarrLabelOverlays(sourcePath ?? im.file);
1862 Label dummy = new Gtk.Label(System.IO.Path.GetDirectoryName(im.file.Replace("\\", "/")) + "/" + im.Filename);
1863 dummy.Text = im.file.Replace("\\", "/") + "/" + im.Filename;
1864 dummy.Visible = false;
1865 Label l = new Gtk.Label(System.IO.Path.GetFileName(im.Filename));
1866 l.Text = System.IO.Path.GetFileName(im.Filename);
1867 tabsView.AppendPage(dummy, l);
1868 Console.WriteLine("New tab added for " + im.Filename);
1869 App.nodeView.UpdateItems();
1870 tabsView.ShowAll();
1871 v.ShowAll();
1872 RememberRecentImage(sourcePath ?? im.SourceFile);
1873 GLib.Timeout.Add(16, () =>
1874 {
1875 if (v.View == null || !v.View.IsRealized || v.View.AllocatedWidth <= 1 || v.View.AllocatedHeight <= 1)
1876 return true;
1877
1878 App.viewer = v;
1879 v.GoToImage();
1880 v.UpdateView();
1881 if (!ImageView.MacOS)
1882 v.glArea?.RequestRedraw();
1883 else
1884 v.View.QueueDraw();
1885 return false;
1886 });
1887 });
1888 }
1889 }

◆ AddViewer()

void BioGTK.TabsView.AddViewer ( ImageView v)

Definition at line 70 of file TabsView.cs.

71 {
72 viewers.Add(v);
73 }

◆ 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 2591 of file TabsView.cs.

2592 {
2593 BioImage.AutoThreshold(ImageView.SelectedImage, true);
2594 if (ImageView.SelectedImage.bitsPerPixel > 8)
2595 ImageView.SelectedImage.StackThreshold(true);
2596 else
2597 ImageView.SelectedImage.StackThreshold(false);
2598 App.viewer.RefreshPyramidalTiles();
2599 App.viewer.UpdateImage();
2600 App.viewer.UpdateView();
2601 }

◆ 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 2606 of file TabsView.cs.

2607 {
2608 if (App.viewer == null)
2609 return;
2610 App.channelsTool = ChannelsTool.Create();
2611 App.channelsTool.Show();
2612 App.channelsTool.Present();
2613 }

◆ 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 2705 of file TabsView.cs.

2706 {
2707 App.console = BioConsole.Create();
2708 App.console.Show();
2709 App.console.Present();
2710 }

◆ 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 545 of file TabsView.cs.

546 {
547 Builder builder = new Builder(new FileStream(System.IO.Path.GetDirectoryName(Environment.ProcessPath) + "/" + "Glade/TabsView.glade", FileMode.Open));
548 return new TabsView(builder, builder.GetObject("TabsView").Handle);
549 }

◆ 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 2561 of file TabsView.cs.

2562 {
2563 Gtk.FileChooserDialog folderchooser = new Gtk.FileChooserDialog("Set folder of images for export.",
2564 this,
2565 FileChooserAction.SelectFolder,
2566 "Cancel", ResponseType.Cancel,
2567 "Ok", ResponseType.Ok);
2568 folderchooser.SelectMultiple = true;
2569 if (folderchooser.Run() != (int)ResponseType.Ok)
2570 return;
2571 string folder = folderchooser.Filename;
2572 folderchooser.Destroy();
2573 Gtk.FileChooserDialog filechooser = new Gtk.FileChooserDialog("Set filename for CSV to export.",
2574 this,
2575 FileChooserAction.Save,
2576 "Cancel", ResponseType.Cancel,
2577 "Ok", ResponseType.Ok);
2578 filechooser.SelectMultiple = false;
2579 if (filechooser.Run() != (int)ResponseType.Ok)
2580 return;
2581 string file = filechooser.Filename;
2582 filechooser.Hide();
2583 BioImage.ExportROIFolder(folder, file);
2584 BioLib.Recorder.Record("BioImage.ExportROIFolder(" + Q(folder) + ", " + Q(file) + ");");
2585 }

◆ 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 2520 of file TabsView.cs.

2521 {
2522 Gtk.FileChooserDialog filechooser = new Gtk.FileChooserDialog("Set filename for export.",
2523 this,
2524 FileChooserAction.Save,
2525 "Cancel", ResponseType.Cancel,
2526 "Ok", ResponseType.Ok);
2527 filechooser.SelectMultiple = false;
2528 if (filechooser.Run() != (int)ResponseType.Ok)
2529 return;
2530 BioImage.ExportROIsCSV(filechooser.Filename, ImageView.SelectedImage.Annotations);
2531 filechooser.Hide();
2532 BioLib.Recorder.Record("BioImage.ExportROIsCSV(" + Q(filechooser.Filename) + ", ImageView.SelectedImage.Annotations);");
2533 }

◆ 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 2684 of file TabsView.cs.

2685 {
2686 App.filters = FiltersView.Create();
2687 App.filters.Show();
2688 App.filters.Present();
2689 }

◆ 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 2695 of file TabsView.cs.

2696 {
2697 App.funcs = Functions.Create();
2698 App.funcs.Show();
2699 App.funcs.Present();
2700 }

◆ GetViewer() [1/2]

ImageView BioGTK.TabsView.GetViewer ( int i)

Definition at line 46 of file TabsView.cs.

47 {
48 return viewers[i];
49 }

◆ GetViewer() [2/2]

ImageView? BioGTK.TabsView.GetViewer ( string name)

Definition at line 50 of file TabsView.cs.

51 {
52 for (int v = 0; v < viewers.Count; v++)
53 {
54 for (int i = 0; i < viewers[v].Images.Count; i++)
55 {
56 if (viewers[v].Images[i].Filename == name)
57 return viewers[v];
58 }
59 }
60 return null;
61 }

◆ GetViewerCount()

int BioGTK.TabsView.GetViewerCount ( )

Definition at line 62 of file TabsView.cs.

63 {
64 return viewers.Count;
65 }

◆ 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 2466 of file TabsView.cs.

2467 {
2468 Gtk.FileChooserDialog filechooser =
2469 new Gtk.FileChooserDialog("Choose images to convert to stack.",
2470 this,
2471 FileChooserAction.Save,
2472 "Cancel", ResponseType.Cancel,
2473 "Save", ResponseType.Accept);
2474 filechooser.SelectMultiple = true;
2475 if (filechooser.Run() != (int)ResponseType.Accept)
2476 return;
2477 filechooser.Hide();
2478 string[] sts = filechooser.Filenames;
2479 BioImage b = BioImage.ImagesToStack(sts, true);
2480 AddTab(b);
2481 }

◆ 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 2538 of file TabsView.cs.

2539 {
2540 Gtk.FileChooserDialog filechooser = new Gtk.FileChooserDialog("Choose the file to open.",
2541 this,
2542 FileChooserAction.Open,
2543 "Cancel", ResponseType.Cancel,
2544 "Ok", ResponseType.Ok);
2545 filechooser.SelectMultiple = true;
2546 if (filechooser.Run() != (int)ResponseType.Ok)
2547 return;
2548 string[] sts = filechooser.Filenames;
2549 foreach (string item in filechooser.Filenames)
2550 {
2551 ImageView.SelectedImage.Annotations.AddRange(BioImage.ImportROIsCSV(item));
2552 }
2553 filechooser.Hide();
2554 BioLib.Recorder.Record("BioImage.ImportROIsCSV(" + StrArray(sts) + ");");
2555 }

◆ 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 2769 of file TabsView.cs.

2770 {
2771 await OpenPyramidRootsAsViewsAsync(file, true);
2772 }

◆ 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 1998 of file TabsView.cs.

1999 {
2000 filechooser = new FileChooserDialog("Choose file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2001 filechooser.SelectMultiple = true;
2002 if (filechooser.Run() != (int)ResponseType.Accept)
2003 return;
2004 string[] sts = filechooser.Filenames;
2005 filechooser.Hide();
2006 foreach (string item in sts)
2007 {
2008 StartProgress("Open File", "Opening");
2009 try
2010 {
2011 await FlushGtkEventsAsync();
2012 await OpenPyramidRootsAsTabsAsync(item);
2013 }
2014 finally
2015 {
2016 StopProgress();
2017 }
2018 }
2019 BioLib.Recorder.Record("BioImage.OpenAsync(" + StrArray(sts) + ", false, true, true);");
2020 }

◆ 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 2028 of file TabsView.cs.

2029 {
2030 filechooser = new FileChooserDialog("Choose OME file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2031 filechooser.SelectMultiple = true;
2032 if (filechooser.Run() != (int)ResponseType.Accept)
2033 return;
2034 filechooser.Hide();
2035 string[] sts = filechooser.Filenames;
2036 foreach (string item in filechooser.Filenames)
2037 {
2038 StartProgress("Open OME", "Opening");
2039 await OpenPyramidRootsAsTabsAsync(item);
2040 StopProgress();
2041 }
2042 BioLib.Recorder.Record("BioImage.OpenAsync(" + StrArray(sts) + ", true, true, true);");
2043 }

◆ 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 2051 of file TabsView.cs.

2052 {
2053 filechooser = new FileChooserDialog("Choose OME Series file to open.", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2054 filechooser.SelectMultiple = true;
2055 if (filechooser.Run() != (int)ResponseType.Accept)
2056 return;
2057 filechooser.Hide();
2058 string[] sts = filechooser.Filenames;
2059 foreach (string item in filechooser.Filenames)
2060 {
2061 StartProgress("Open OME", "Opening");
2062 await OpenPyramidRootsAsTabsAsync(item);
2063 }
2064 tabsView.ShowAll();
2065 BioLib.Recorder.Record("BioImage.OpenAsync(" + StrArray(sts) + ", true, true, true);");
2066
2067 }

◆ 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 2075 of file TabsView.cs.

2076 {
2077 filechooser = new FileChooserDialog("Choose series file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2078 filechooser.SelectMultiple = true;
2079 if (filechooser.Run() != (int)ResponseType.Accept)
2080 return;
2081 filechooser.Hide();
2082 string[] sts = filechooser.Filenames;
2083 foreach (string item in filechooser.Filenames)
2084 {
2085 StartProgress("Open OME Series", "Opening");
2086 await OpenPyramidRootsAsTabsAsync(item);
2087 StopProgress();
2088 }
2089 tabsView.Show();
2090 BioLib.Recorder.Record("BioImage.ImportROIsCSV(" + StrArray(sts) + ");");
2091 }

◆ 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 2736 of file TabsView.cs.

2737 {
2738 string shortName = System.IO.Path.GetFileName(tabName);
2739 for (int i = tabsView.NPages - 1; i >= 0; i--)
2740 {
2741 Widget page = tabsView.GetNthPage(i);
2742 // Check the visible tab label (the one the user sees)
2743 Widget tabLabelWidget = tabsView.GetTabLabel(page);
2744 string tabText = null;
2745 if (tabLabelWidget is Gtk.Label tl)
2746 tabText = tl.Text;
2747
2748 // Also check the page content widget (a hidden dummy Label
2749 // whose Text holds the full path)
2750 string pageText = null;
2751 if (page is Gtk.Label pl)
2752 pageText = pl.Text;
2753
2754 bool match = (tabText != null && (tabText == tabName || tabText == shortName))
2755 || (pageText != null && (pageText == tabName
2756 || System.IO.Path.GetFileName(pageText) == shortName));
2757
2758 if (match)
2759 {
2760 tabsView.RemovePage(i);
2761 App.nodeView.UpdateItems();
2762 return;
2763 }
2764 }
2765 }

◆ RemoveViewer()

void BioGTK.TabsView.RemoveViewer ( ImageView v)

Definition at line 66 of file TabsView.cs.

67 {
68 viewers.Remove(v);
69 }

◆ RenameTab()

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

Definition at line 1379 of file TabsView.cs.

1380 {
1381 int i = 0;
1382 foreach (Widget item in tabsView.Children)
1383 {
1384 // Get the tab widget for the page and set the new title
1385 Label l = (Label)tabsView.GetTabLabel(tabsView.GetNthPage(i));
1386 if (l.Text == name)
1387 {
1388 l.Text = newName;
1389 BioLib.Recorder.Record("TabsView.RenameTab(" + Q(name) + ", " + Q(newName) + ");");
1390 return;
1391 }
1392 }
1393 }

◆ 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 2509 of file TabsView.cs.

2510 {
2511 App.roiManager = ROIManager.Create();
2512 App.roiManager.Show();
2513 App.roiManager.Present();
2514 }

◆ 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 2374 of file TabsView.cs.

2375 {
2376 filechooser = new FileChooserDialog("Save Selected OME Image to File", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2377 if (filechooser.Run() != (int)ResponseType.Accept)
2378 return;
2379 filechooser.Hide();
2380 StartProgress("Save Selected OME", "Saving");
2381 var (exportImage, isTemporary) = await GetOmeExportImageAsync(ImageView.SelectedImage);
2382 try
2383 {
2384 PreserveSourceAnnotations(ImageView.SelectedImage, exportImage);
2385 NormalizeMasksForOmeExport(exportImage);
2386 await Task.Run(() => BioImage.SaveOMESeries(new[] { exportImage }, filechooser.Filename, BioImage.Planes));
2387 }
2388 finally
2389 {
2390 if (isTemporary)
2391 ReleaseTemporaryExportImage(exportImage);
2392 }
2393 StopProgress();
2394 }

◆ 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 2358 of file TabsView.cs.

2359 {
2360 filechooser = new FileChooserDialog("Save Selected Image To TIFF", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2361 if (filechooser.Run() != (int)ResponseType.Accept)
2362 return;
2363 filechooser.Hide();
2364 StartProgress("Save Selected Tiff","Saving");
2365 await BioImage.SaveAsync(filechooser.Filename, ImageView.SelectedImage.Filename, 0, false);
2366 StopProgress();
2367 }

◆ 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 2452 of file TabsView.cs.

2453 {
2454 filechooser = new FileChooserDialog("Save TIFF series.", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2455 if (filechooser.Run() != (int)ResponseType.Accept)
2456 return;
2457 filechooser.Hide();
2458 StartProgress("Save Selected Tiff", "Saving");
2459 await BioImage.SaveSeriesAsync(App.viewer.Images.ToArray(), filechooser.Filename, true);
2460 StopProgress();
2461 }

◆ 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 2401 of file TabsView.cs.

2402 {
2403 filechooser = new FileChooserDialog("Save Tab as an OME image.", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2404 if (filechooser.Run() != (int)ResponseType.Accept)
2405 return;
2406 filechooser.Hide();
2407 StartProgress("Save Selected OME", "Saving");
2408 BioImage[] exportImages = new BioImage[App.viewer.Images.Count];
2409 List<BioImage> temporaryImages = new List<BioImage>();
2410 try
2411 {
2412 for (int i = 0; i < App.viewer.Images.Count; i++)
2413 {
2414 BioImage sourceImage = App.viewer.Images[i];
2415 var (exportImage, isTemporary) = await GetOmeExportImageAsync(sourceImage);
2416 PreserveSourceAnnotations(sourceImage, exportImage);
2417 NormalizeMasksForOmeExport(exportImage);
2418 exportImages[i] = exportImage;
2419 if (isTemporary)
2420 temporaryImages.Add(exportImage);
2421 }
2422
2423 await Task.Run(() => BioImage.SaveOMESeries(exportImages, filechooser.Filename, true));
2424 }
2425 finally
2426 {
2427 foreach (BioImage temp in temporaryImages)
2428 ReleaseTemporaryExportImage(temp);
2429 }
2430 StopProgress();
2431 }

◆ 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 2438 of file TabsView.cs.

2439 {
2440 filechooser = new FileChooserDialog("Save Tab as an image.", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "OK", ResponseType.Accept);
2441 if (filechooser.Run() != (int)ResponseType.Accept)
2442 return;
2443 filechooser.Hide();
2444 StartProgress("Save Selected Tiff", "Saving");
2445 await BioImage.SaveSeriesAsync(App.viewer.Images.ToArray(), filechooser.Filename, false);
2446 StopProgress();
2447 }

◆ 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 2715 of file TabsView.cs.

2716 {
2717 App.scripting = Scripting.Create();
2718 App.scripting.Show();
2719 App.scripting.Present();
2720 }

◆ 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 634 of file TabsView.cs.

635 {
636 string st = BioLib.Settings.GetSettings("ImageJPath");
637 if (st != "")
638 {
639 Fiji.ImageJPath = BioLib.Settings.GetSettings("ImageJPath");
640 return true;
641 }
642 string title = "Select ImageJ Executable Location";
643 if (OperatingSystem.IsMacOS())
644 title = "Select ImageJ Executable Location (Fiji.app/Contents/MacOS/ImageJ-macosx)";
645 Gtk.FileChooserDialog filechooser =
646 new Gtk.FileChooserDialog(title, Scripting.window,
647 FileChooserAction.Open,
648 "Cancel", ResponseType.Cancel,
649 "Save", ResponseType.Accept);
650 filechooser.SetCurrentFolder(System.IO.Path.GetDirectoryName(Environment.ProcessPath));
651 if (filechooser.Run() != (int)ResponseType.Accept)
652 return false;
653 Fiji.ImageJPath = filechooser.Filename;
654 BioLib.Settings.AddSettings("ImageJPath", filechooser.Filename);
655 filechooser.Destroy();
656 BioLib.Settings.Save();
657 return true;
658 }

◆ SetTab()

void BioGTK.TabsView.SetTab ( int i)

Sets the current tab index.

Parameters
i

Definition at line 1783 of file TabsView.cs.

1784 {
1785 tabsView.Page = i;
1786 BioLib.Recorder.Record("tabsView.Page = " + i + ";");
1787 }

◆ 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 2498 of file TabsView.cs.

2499 {
2500 App.setTool = SetTool.Create();
2501 App.setTool.Show();
2502 App.setTool.Present();
2503 }

◆ SetupHandlers()

void BioGTK.TabsView.SetupHandlers ( )
protected

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

Definition at line 1033 of file TabsView.cs.

1034 {
1035 openURLMenu.ButtonPressEvent += OpenURLMenu_ButtonPressEvent;
1036 openImagesMenu.ButtonPressEvent += openImagesMenuClick;
1037 openOMEImagesMenu.ButtonPressEvent += openOMEImagesMenuClick;
1038 openOMESeriesMenu.ButtonPressEvent += openOMESeriesMenuClick;
1039 openSeriesMenu.ButtonPressEvent += openSeriesMenuClick;
1040 openQuPathProject.ButtonPressEvent += openQuPathProjectMenuClick;
1041 addImagesToTabMenu.ButtonPressEvent += addImagesToTabMenuClick;
1042 addOMEImagesToTab.ButtonPressEvent += addOMEImagesToTabClick;
1043 openZarr.ButtonPressEvent += OpenZarr_ButtonPressEvent;
1044 saveSelectedTiff.ButtonPressEvent += saveSelectedTiffClick;
1045 saveSelectedOME.ButtonPressEvent += saveSelectedOMEClick;
1046 saveNumPyBut.ButtonPressEvent += SaveNumPyBut_ButtonPressEvent;
1047
1048 saveTabOME.ButtonPressEvent += saveTabOMEClick;
1049 saveTabTiffMenu.ButtonPressEvent += saveTabTiffMenuClick;
1050 saveSeriesMenu.ButtonPressEvent += saveSeriesMenuClick;
1051 savePyramidalMenu.ButtonPressEvent += SavePyramidalMenu_ButtonPressEvent;
1052 saveZarr.ButtonPressEvent += SaveZarr_ButtonPressEvent;
1053 saveQuPathProject.ButtonPressEvent += saveQuPathProject_ButtonPressEvent;
1054 imagesToStack.ButtonPressEvent += imagesToStackClick;
1055 uploadImageMenu.ButtonPressEvent += UploadImageMenu_ButtonPressEvent;
1056
1057 rgbMenu.ButtonPressEvent += RgbMenu_ButtonPressEvent;
1058 filteredMenu.ButtonPressEvent += FilteredMenu_ButtonPressEvent;
1059 rawMenu.ButtonPressEvent += RawMenu_ButtonPressEvent;
1060 emissionMenu.ButtonPressEvent += EmissionMenu_ButtonPressEvent;
1061
1062 toolsMenu.ButtonPressEvent += toolsMenuClick;
1063 setToolMenu.ButtonPressEvent += setToolMenuClick;
1064 runSAMMenu.ButtonPressEvent += RunSAMMenu_ButtonPressEvent;
1065 runMicroSAMMenu.ButtonPressEvent += RunMicroSAMMenu_ButtonPressEvent;
1066 plateToolMenu.ButtonPressEvent += PlateToolMenu_ButtonPressEvent;
1067 extractRegionMenu.ButtonPressEvent += ExtractRegionMenu_ButtonPressEvent;
1068
1069 roiManagerMenu.ButtonPressEvent += roiManagerMenuClick;
1070 exportROIsToCSVMenu.ButtonPressEvent += exportROIsToCSVMenuClick;
1071 importROIsFromCSVMenu.ButtonPressEvent += importROIsFromCSVMenuClick;
1072 exportROIsOfFolderOfImagesMenu.ButtonPressEvent += exportROIsOfFolderOfImagesMenuClick;
1073 importROIsFromImageJMenu.ButtonPressEvent += ImportROIsFromImageJMenu_ButtonPressEvent;
1074 exportROIsFromImageJMenu.ButtonPressEvent += ExportROIsFromImageJMenu_ButtonPressEvent;
1075 importROIQuPath.ButtonPressEvent += ImportROIQuPath_ButtonPressEvent;
1076 exportROIQuPath.ButtonPressEvent += ExportROIQuPath_ButtonPressEvent;
1077 importPointsNapari.ButtonPressEvent += ImportPointsNapari_ButtonPressEvent;
1078 importShapesNapari.ButtonPressEvent += ImportShapesNapari_ButtonPressEvent;
1079 exportROINapari.ButtonPressEvent += ExportROINapari_ButtonPressEvent;
1080
1081 autoThresholdAllMenu.ButtonPressEvent += autoThresholdAllMenuClick;
1082 channelsToolMenu.ButtonPressEvent += channelsToolMenuClick;
1083 switchRedBlueMenu.ButtonPressEvent += switchRedBlueMenuClick;
1084
1085 stackToolMenu.ButtonPressEvent += stackToolMenuClick;
1086 focusMenu.ButtonPressEvent += FocusMenu_ButtonPressEvent;
1087
1088 to8BitMenu.ButtonPressEvent += to8BitMenuClick;
1089 to16BitMenu.ButtonPressEvent += to16BitMenuClick;
1090 to24BitMenu.ButtonPressEvent += to24BitMenuClick;
1091 to32BitMenu.ButtonPressEvent += to32BitMenuClick;
1092 to48BitMenu.ButtonPressEvent += to48BitMenuClick;
1093 toFloatMenu.ButtonPressEvent += ToFloatMenu_ButtonPressEvent;
1094 toShortMenu.ButtonPressEvent += ToShortMenu_ButtonPressEvent;
1095
1096 filtersMenu.ButtonPressEvent += filtersMenuClick;
1097 functionsToolMenu.ButtonPressEvent += functionsToolMenuClick;
1098 consoleMenu.ButtonPressEvent += consoleMenuClick;
1099 scriptRunnerMenu.ButtonPressEvent += scriptRunnerMenuClick;
1100 scriptRecorderMenu.ButtonPressEvent += ScriptRecorderMenu_ButtonPressEvent;
1101
1102 aboutMenu.ButtonPressEvent += AboutClick;
1103
1104 tabClose.ButtonPressEvent += TabClose_ButtonPressEvent;
1105 tabDuplicate.ButtonPressEvent += TabDuplicate_ButtonPressEvent;
1106 this.FocusInEvent += TabsView_FocusInEvent;
1107 rgbMenu.ButtonPressEvent += RgbMenu_ButtonPressEvent;
1108 filteredMenu.ButtonPressEvent += FilteredMenu_ButtonPressEvent;
1109 rawMenu.ButtonPressEvent += RawMenu_ButtonPressEvent;
1110 emissionMenu.ButtonPressEvent += EmissionMenu_ButtonPressEvent;
1111 tabsView.SwitchPage += TabsView_SwitchPage;
1112 tabsView.ButtonPressEvent += TabsView_ButtonPressEvent;
1113 this.WindowStateEvent += TabsView_WindowStateEvent;
1114 this.DeleteEvent += TabsView_DeleteEvent;
1115 omeroMenu.ButtonPressEvent += OmeroMenu_ButtonPressEvent;
1116
1117 searchMenu.ButtonPressEvent += SearchMenu_ButtonPressEvent;
1118 updateMenu.ButtonPressEvent += UpdateMenu_ButtonPressEvent;
1119 renameMenu.ButtonPressEvent += RenameMenu_ButtonPressEvent;
1120 AIMenu.ButtonPressEvent += AiMenu_ButtonPressEvent;
1121
1122 // Enable drag-and-drop for this window
1123 Gtk.Drag.DestSet(this, DestDefaults.All, new TargetEntry[]
1124 {
1125 new TargetEntry("text/uri-list", TargetFlags.OtherApp, 0)
1126 }, Gdk.DragAction.Copy);
1127 this.DragDataReceived += TabsView_DragDataReceived;
1128
1129 }
void to32BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2667
async void addImagesToTabMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2147
void AboutClick(object sender, EventArgs a)
Definition TabsView.cs:2726
void exportROIsOfFolderOfImagesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2561
async void saveSelectedTiffClick(object sender, EventArgs a)
Definition TabsView.cs:2358
void exportROIsToCSVMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2520
void to8BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2643
async void saveSelectedOMEClick(object sender, EventArgs a)
Definition TabsView.cs:2374
void autoThresholdAllMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2591
void to48BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2675
async void openOMESeriesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2051
void to16BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2651
async void saveTabOMEClick(object sender, EventArgs a)
Definition TabsView.cs:2401
async void openSeriesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2075
void filtersMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2684
void functionsToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2695
async void openImagesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:1998
void scriptRunnerMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2715
void toolsMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2487
void stackToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2632
async void openOMEImagesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2028
void channelsToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2606
void imagesToStackClick(object sender, EventArgs a)
Definition TabsView.cs:2466
async void saveSeriesMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2452
void to24BitMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2659
async void addOMEImagesToTabClick(object sender, EventArgs a)
Definition TabsView.cs:2173
void switchRedBlueMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2618
void consoleMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2705
void importROIsFromCSVMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2538
async void saveTabTiffMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2438
void setToolMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2498
void roiManagerMenuClick(object sender, EventArgs a)
Definition TabsView.cs:2509

◆ 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 2632 of file TabsView.cs.

2633 {
2634 App.stack = StackTools.Create();
2635 App.stack.Show();
2636 App.stack.Present();
2637 }

◆ 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 2618 of file TabsView.cs.

2619 {
2620 foreach (AForge.Bitmap bf in ImageView.SelectedImage.Buffers)
2621 {
2622 bf.SwitchRedBlue();
2623 }
2624 App.viewer.UpdateImage();
2625 App.viewer.UpdateView();
2626 }

◆ 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 2651 of file TabsView.cs.

2652 {
2653 ImageView.SelectedImage.To16Bit();
2654 }

◆ 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 2659 of file TabsView.cs.

2660 {
2661 ImageView.SelectedImage.To24Bit();
2662 }

◆ 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 2667 of file TabsView.cs.

2668 {
2669 ImageView.SelectedImage.To32Bit();
2670 }

◆ 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 2675 of file TabsView.cs.

2676 {
2677 ImageView.SelectedImage.To48Bit();
2678 }

◆ 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 2643 of file TabsView.cs.

2644 {
2645 ImageView.SelectedImage.To8Bit();
2646 }

◆ 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 2487 of file TabsView.cs.

2488 {
2489 if(App.tools == null)
2490 App.tools = Tools.Create();
2491 App.tools.Show();
2492 App.tools.Present();
2493 }

Member Data Documentation

◆ ImageJMenu

MenuBar BioGTK.TabsView.ImageJMenu

Definition at line 375 of file TabsView.cs.

◆ MainMenu

MenuBar BioGTK.TabsView.MainMenu

Definition at line 389 of file TabsView.cs.


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