@@ -1641,7 +1641,7 @@ private void BuildScreensModule()
16411641 Tag = screen ,
16421642 TabStop = false
16431643 } ;
1644- buttonChangeScreen . Click += new EventHandler ( Click_buttonChangeScreen ) ;
1644+ buttonChangeScreen . Click += new EventHandler ( Click_changeScreen ) ;
16451645 tabPageScreens . Controls . Add ( buttonChangeScreen ) ;
16461646
16471647 // Move down the Screens tab page so we're ready to loop around again and add the next Screen to it.
@@ -1732,7 +1732,7 @@ private void BuildRegionsModule()
17321732 Tag = region ,
17331733 TabStop = false
17341734 } ;
1735- buttonChangeRegion . Click += new EventHandler ( Click_buttonChangeRegion ) ;
1735+ buttonChangeRegion . Click += new EventHandler ( Click_changeRegion ) ;
17361736 tabPageRegions . Controls . Add ( buttonChangeRegion ) ;
17371737
17381738 // Move down the Regions tab page so we're ready to loop around again and add the next Region to it.
@@ -1749,7 +1749,8 @@ private void BuildViewTabPages()
17491749 ToolStrip toolStripScreen = new ToolStrip
17501750 {
17511751 Name = screen . Name + "toolStrip" ,
1752- GripStyle = ToolStripGripStyle . Hidden
1752+ GripStyle = ToolStripGripStyle . Hidden ,
1753+ Tag = screen
17531754 } ;
17541755
17551756 toolStripScreen = BuildViewTabPageToolStripItems ( toolStripScreen , screen . Name ) ;
@@ -1785,7 +1786,8 @@ private void BuildViewTabPages()
17851786 ToolStrip toolStripRegion = new ToolStrip
17861787 {
17871788 Name = region . Name + "toolStrip" ,
1788- GripStyle = ToolStripGripStyle . Hidden
1789+ GripStyle = ToolStripGripStyle . Hidden ,
1790+ Tag = region
17891791 } ;
17901792
17911793 toolStripRegion = BuildViewTabPageToolStripItems ( toolStripRegion , region . Name ) ;
@@ -1847,8 +1849,56 @@ private ToolStrip BuildViewTabPageToolStripItems(ToolStrip toolStrip, string nam
18471849 Image = Resources . options
18481850 } ;
18491851
1850- toolStripSplitButtonConfigure . DropDown . Items . Add ( "Add New Screen ..." ) ;
1851- toolStripSplitButtonConfigure . DropDown . Items . Add ( "Add New Region ..." ) ;
1852+ toolStripSplitButtonConfigure . DropDown . Items . Add ( "Add New Screen" , null , Click_addScreen ) ;
1853+ toolStripSplitButtonConfigure . DropDown . Items . Add ( "Add New Region" , null , Click_addRegion ) ;
1854+
1855+ toolStripSplitButtonConfigure . DropDown . Items . Add ( new ToolStripSeparator ( ) ) ;
1856+
1857+ if ( toolStrip . Tag is Screen )
1858+ {
1859+ ToolStripMenuItem toolStripMenuItemChangeScreen = new ToolStripMenuItem
1860+ {
1861+ Text = "Change Screen" ,
1862+ Tag = toolStrip . Tag
1863+ } ;
1864+
1865+ toolStripMenuItemChangeScreen . Click += new EventHandler ( Click_changeScreen ) ;
1866+
1867+ toolStripSplitButtonConfigure . DropDown . Items . Add ( toolStripMenuItemChangeScreen ) ;
1868+
1869+ ToolStripMenuItem toolStripMenuItemRemoveScreen = new ToolStripMenuItem
1870+ {
1871+ Text = "Remove Screen" ,
1872+ Tag = toolStrip . Tag
1873+ } ;
1874+
1875+ toolStripMenuItemRemoveScreen . Click += new EventHandler ( Click_removeScreen ) ;
1876+
1877+ toolStripSplitButtonConfigure . DropDown . Items . Add ( toolStripMenuItemRemoveScreen ) ;
1878+ }
1879+
1880+ if ( toolStrip . Tag is Region )
1881+ {
1882+ ToolStripMenuItem toolStripMenuItemRegion = new ToolStripMenuItem
1883+ {
1884+ Text = "Change Region" ,
1885+ Tag = toolStrip . Tag
1886+ } ;
1887+
1888+ toolStripMenuItemRegion . Click += new EventHandler ( Click_changeRegion ) ;
1889+
1890+ toolStripSplitButtonConfigure . DropDown . Items . Add ( toolStripMenuItemRegion ) ;
1891+
1892+ ToolStripMenuItem toolStripMenuItemRemoveRegion = new ToolStripMenuItem
1893+ {
1894+ Text = "Remove Region" ,
1895+ Tag = toolStrip . Tag
1896+ } ;
1897+
1898+ toolStripMenuItemRemoveRegion . Click += new EventHandler ( Click_removeRegion ) ;
1899+
1900+ toolStripSplitButtonConfigure . DropDown . Items . Add ( toolStripMenuItemRemoveRegion ) ;
1901+ }
18521902
18531903 ToolStripItem toolStripLabelFilename = new ToolStripLabel
18541904 {
@@ -2196,26 +2246,52 @@ private void Click_removeSelectedRegions(object sender, EventArgs e)
21962246 /// </summary>
21972247 /// <param name="sender"></param>
21982248 /// <param name="e"></param>
2199- private void Click_buttonChangeRegion ( object sender , EventArgs e )
2249+ private void Click_changeRegion ( object sender , EventArgs e )
22002250 {
2201- Button buttonSelected = ( Button ) sender ;
2251+ Region region = new Region ( ) ;
22022252
2203- if ( buttonSelected . Tag != null )
2253+ if ( sender is Button )
22042254 {
2205- formRegion . RegionObject = ( Region ) buttonSelected . Tag ;
2206- formRegion . ImageFormatCollection = _imageFormatCollection ;
2207- formRegion . MacroTagCollection = _macroTagCollection ;
2208- formRegion . screenCapture = _screenCapture ;
2255+ Button buttonSelected = ( Button ) sender ;
2256+ region = ( Region ) buttonSelected . Tag ;
2257+ }
22092258
2210- formRegion . ShowDialog ( this ) ;
2259+ if ( sender is ToolStripMenuItem )
2260+ {
2261+ ToolStripMenuItem toolStripMenuItemSelected = ( ToolStripMenuItem ) sender ;
2262+ region = ( Region ) toolStripMenuItemSelected . Tag ;
2263+ }
22112264
2212- if ( formRegion . DialogResult == DialogResult . OK )
2213- {
2214- BuildRegionsModule ( ) ;
2215- BuildViewTabPages ( ) ;
2265+ formRegion . RegionObject = region ;
2266+ formRegion . ImageFormatCollection = _imageFormatCollection ;
2267+ formRegion . MacroTagCollection = _macroTagCollection ;
2268+ formRegion . screenCapture = _screenCapture ;
22162269
2217- formRegion . RegionCollection . Save ( ) ;
2218- }
2270+ formRegion . ShowDialog ( this ) ;
2271+
2272+ if ( formRegion . DialogResult == DialogResult . OK )
2273+ {
2274+ BuildRegionsModule ( ) ;
2275+ BuildViewTabPages ( ) ;
2276+
2277+ formRegion . RegionCollection . Save ( ) ;
2278+ }
2279+ }
2280+
2281+ private void Click_removeRegion ( object sender , EventArgs e )
2282+ {
2283+ if ( sender is ToolStripMenuItem )
2284+ {
2285+ ToolStripMenuItem toolStripMenuItemSelected = ( ToolStripMenuItem ) sender ;
2286+ Region regionSelected = ( Region ) toolStripMenuItemSelected . Tag ;
2287+
2288+ Region region = formRegion . RegionCollection . Get ( regionSelected ) ;
2289+ formRegion . RegionCollection . Remove ( region ) ;
2290+
2291+ BuildRegionsModule ( ) ;
2292+ BuildViewTabPages ( ) ;
2293+
2294+ formRegion . RegionCollection . Save ( ) ;
22192295 }
22202296 }
22212297
@@ -2283,26 +2359,52 @@ private void Click_removeSelectedScreens(object sender, EventArgs e)
22832359 /// </summary>
22842360 /// <param name="sender"></param>
22852361 /// <param name="e"></param>
2286- private void Click_buttonChangeScreen ( object sender , EventArgs e )
2362+ private void Click_changeScreen ( object sender , EventArgs e )
22872363 {
2288- Button buttonSelected = ( Button ) sender ;
2364+ Screen screen = new Screen ( ) ;
22892365
2290- if ( buttonSelected . Tag != null )
2366+ if ( sender is Button )
22912367 {
2292- formScreen . ScreenObject = ( Screen ) buttonSelected . Tag ;
2293- formScreen . ImageFormatCollection = _imageFormatCollection ;
2294- formScreen . MacroTagCollection = _macroTagCollection ;
2295- formScreen . screenCapture = _screenCapture ;
2368+ Button buttonSelected = ( Button ) sender ;
2369+ screen = ( Screen ) buttonSelected . Tag ;
2370+ }
22962371
2297- formScreen . ShowDialog ( this ) ;
2372+ if ( sender is ToolStripMenuItem )
2373+ {
2374+ ToolStripMenuItem toolStripMenuItemSelected = ( ToolStripMenuItem ) sender ;
2375+ screen = ( Screen ) toolStripMenuItemSelected . Tag ;
2376+ }
22982377
2299- if ( formScreen . DialogResult == DialogResult . OK )
2300- {
2301- BuildScreensModule ( ) ;
2302- BuildViewTabPages ( ) ;
2378+ formScreen . ScreenObject = screen ;
2379+ formScreen . ImageFormatCollection = _imageFormatCollection ;
2380+ formScreen . MacroTagCollection = _macroTagCollection ;
2381+ formScreen . screenCapture = _screenCapture ;
23032382
2304- formScreen . ScreenCollection . Save ( ) ;
2305- }
2383+ formScreen . ShowDialog ( this ) ;
2384+
2385+ if ( formScreen . DialogResult == DialogResult . OK )
2386+ {
2387+ BuildScreensModule ( ) ;
2388+ BuildViewTabPages ( ) ;
2389+
2390+ formScreen . ScreenCollection . Save ( ) ;
2391+ }
2392+ }
2393+
2394+ private void Click_removeScreen ( object sender , EventArgs e )
2395+ {
2396+ if ( sender is ToolStripMenuItem )
2397+ {
2398+ ToolStripMenuItem toolStripMenuItemSelected = ( ToolStripMenuItem ) sender ;
2399+ Screen screenSelected = ( Screen ) toolStripMenuItemSelected . Tag ;
2400+
2401+ Screen screen = formScreen . ScreenCollection . Get ( screenSelected ) ;
2402+ formScreen . ScreenCollection . Remove ( screen ) ;
2403+
2404+ BuildScreensModule ( ) ;
2405+ BuildViewTabPages ( ) ;
2406+
2407+ formScreen . ScreenCollection . Save ( ) ;
23062408 }
23072409 }
23082410
0 commit comments