diff --git a/DesertPaintLab.csproj b/DesertPaintLab.csproj --- a/DesertPaintLab.csproj +++ b/DesertPaintLab.csproj @@ -75,6 +75,10 @@ + + + + diff --git a/MainWindow.cs b/MainWindow.cs --- a/MainWindow.cs +++ b/MainWindow.cs @@ -23,6 +23,7 @@ using System; using System.IO; using System.Collections.Generic; +using System.Text.RegularExpressions; using Gtk; using DesertPaintLab; @@ -49,6 +50,8 @@ public partial class MainWindow : Gtk.Wi int screenHeight = 0; int pixelMultiplier = 1; + bool enableDebugMenu = false; + Gdk.Window rootWindow = null; Gdk.Pixbuf screenBuffer = null; @@ -86,7 +89,7 @@ public partial class MainWindow : Gtk.Wi profileList.Add(dir.Name); } } - + Palette.Load(System.IO.Path.Combine( System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "colors.txt")); @@ -108,6 +111,14 @@ public partial class MainWindow : Gtk.Wi // get its width and height rootWindow.GetSize(out screenWidth, out screenHeight); + string settingsPath = System.IO.Path.Combine(appDataPath, "settings"); + if (System.IO.File.Exists(settingsPath)) + { + LoadSettings(settingsPath); + } + + this.DebugAction.Visible = enableDebugMenu; + ScreenCheckDialog screenCheckDialog = new ScreenCheckDialog(); screenCheckDialog.ScreenWidth = screenWidth; screenCheckDialog.ScreenHeight = screenHeight; @@ -118,6 +129,8 @@ public partial class MainWindow : Gtk.Wi pixelMultiplier = screenCheckDialog.GamePixelWidth; screenCheckDialog.Destroy(); + SaveSettings(settingsPath); + screenBuffer = new Gdk.Pixbuf(Gdk.Colorspace.Rgb, false, 8, screenWidth, screenHeight); swatchHeight *= pixelMultiplier; @@ -132,6 +145,83 @@ public partial class MainWindow : Gtk.Wi } } + static Regex optionEntry = new Regex(@"(?[^#=][^=]*)=(?.*)$"); + void LoadSettings(string file) + { + string line; + Match match; + using (StreamReader reader = new StreamReader(file)) + { + while ((line = reader.ReadLine()) != null) + { + match = optionEntry.Match(line); + if (match.Success) + { + String optName = match.Groups["opt"].Value.ToLower(); + String optVal = match.Groups["optval"].Value.Trim(); + switch (optName) + { + case "screenwidth": + try { + int val = Int32.Parse(optVal); + if (val > 0) + { + screenWidth = val; + } + } catch (FormatException) { + // ignore + } + break; + case "screenheight": + try { + int val = Int32.Parse(optVal); + if (val > 0) + { + screenHeight = val; + } + } catch (FormatException) { + // ignore + } + break; + case "pixelmultiplier": + try { + int val = Int32.Parse(optVal); + if (val > 0) + { + pixelMultiplier = val; + } + } catch (FormatException) { + // ignore + } + break; + case "debug": + try { + bool val = Boolean.Parse(optVal.ToLower()); + enableDebugMenu = val; + } catch (FormatException) { + // ignore + } + break; + default: + // ignore + break; + } + } + } + } + } + + void SaveSettings(string file) + { + using (StreamWriter writer = new StreamWriter(file)) + { + writer.WriteLine("screenwidth={0}", screenWidth); + writer.WriteLine("screenheight={0}", screenHeight); + writer.WriteLine("pixelmultiplier={0}", pixelMultiplier); + writer.WriteLine("debug={0}", enableDebugMenu); + } + } + bool ConfirmedExit() { if (unsavedData) @@ -605,6 +695,21 @@ public partial class MainWindow : Gtk.Wi } + protected virtual void OnDebugScreenshot(object sender, System.EventArgs e) + { + Gdk.Image rootImage = rootWindow.GetImage(0, 0, screenWidth, screenHeight); + screenBuffer.GetFromImage(rootImage, rootImage.Colormap, 0, 0, 0, 0, screenWidth, screenHeight); + string screenshotDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); + string filename; + int i = 0; + do + { + ++i; + filename = System.IO.Path.Combine(screenshotDir, String.Format("DesertPaintLab_{0}.png", i)); + } while (System.IO.File.Exists(filename)); + screenBuffer.Save(filename, "png"); + } + protected virtual void OnCaptureButton(object sender, System.EventArgs e) { if (CaptureReactionColor()) diff --git a/gtk-gui/DesertPaintLab.FirstRunDialog.cs b/gtk-gui/DesertPaintLab.FirstRunDialog.cs --- a/gtk-gui/DesertPaintLab.FirstRunDialog.cs +++ b/gtk-gui/DesertPaintLab.FirstRunDialog.cs @@ -1,88 +1,86 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace DesertPaintLab -{ - public partial class FirstRunDialog - { - private global::Gtk.Label label2; - - private global::Gtk.Button buttonCancel; - - private global::Gtk.Button buttonImport; - - private global::Gtk.Button buttonNew; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget DesertPaintLab.FirstRunDialog - this.Name = "DesertPaintLab.FirstRunDialog"; - this.Title = "Set Up Profile"; - this.WindowPosition = ((global::Gtk.WindowPosition)(4)); - this.Modal = true; - this.AllowShrink = true; - // Internal child DesertPaintLab.FirstRunDialog.VBox - global::Gtk.VBox w1 = this.VBox; - w1.Name = "dialog1_VBox"; - w1.BorderWidth = ((uint)(2)); - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.label2 = new global::Gtk.Label (); - this.label2.Name = "label2"; - this.label2.LabelProp = "Since this is your first time using this program, you need a new profile.\n\nYou ca" + - "n either import an existing PracticalPaint reactions.txt file, or you can start " + - "a new profile from scratch."; - this.label2.Wrap = true; - w1.Add (this.label2); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(w1 [this.label2])); - w2.Position = 0; - w2.Padding = ((uint)(5)); - // Internal child DesertPaintLab.FirstRunDialog.ActionArea - global::Gtk.HButtonBox w3 = this.ActionArea; - w3.Name = "dialog1_ActionArea"; - w3.Spacing = 10; - w3.BorderWidth = ((uint)(5)); - w3.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonCancel = new global::Gtk.Button (); - this.buttonCancel.CanDefault = true; - this.buttonCancel.CanFocus = true; - this.buttonCancel.Name = "buttonCancel"; - this.buttonCancel.UseStock = true; - this.buttonCancel.UseUnderline = true; - this.buttonCancel.Label = "gtk-cancel"; - this.AddActionWidget (this.buttonCancel, -6); - global::Gtk.ButtonBox.ButtonBoxChild w4 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w3 [this.buttonCancel])); - w4.Expand = false; - w4.Fill = false; - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonImport = new global::Gtk.Button (); - this.buttonImport.CanDefault = true; - this.buttonImport.CanFocus = true; - this.buttonImport.Name = "buttonImport"; - this.buttonImport.UseUnderline = true; - this.buttonImport.Label = "Import reactions.txt"; - this.AddActionWidget (this.buttonImport, -3); - global::Gtk.ButtonBox.ButtonBoxChild w5 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w3 [this.buttonImport])); - w5.Position = 1; - w5.Expand = false; - w5.Fill = false; - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonNew = new global::Gtk.Button (); - this.buttonNew.CanFocus = true; - this.buttonNew.Name = "buttonNew"; - this.buttonNew.UseUnderline = true; - this.buttonNew.Label = "New Profile"; - this.AddActionWidget (this.buttonNew, -5); - global::Gtk.ButtonBox.ButtonBoxChild w6 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w3 [this.buttonNew])); - w6.Position = 2; - w6.Expand = false; - w6.Fill = false; - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.DefaultWidth = 416; - this.DefaultHeight = 189; - this.Show (); - } - } -} + +// This file has been generated by the GUI designer. Do not modify. +namespace DesertPaintLab +{ + public partial class FirstRunDialog + { + private global::Gtk.Label label2; + + private global::Gtk.Button buttonCancel; + + private global::Gtk.Button buttonImport; + + private global::Gtk.Button buttonNew; + + protected virtual void Build () + { + global::Stetic.Gui.Initialize (this); + // Widget DesertPaintLab.FirstRunDialog + this.Name = "DesertPaintLab.FirstRunDialog"; + this.Title = "Set Up Profile"; + this.WindowPosition = ((global::Gtk.WindowPosition)(4)); + this.Modal = true; + this.AllowShrink = true; + // Internal child DesertPaintLab.FirstRunDialog.VBox + global::Gtk.VBox w1 = this.VBox; + w1.Name = "dialog1_VBox"; + w1.BorderWidth = ((uint)(2)); + // Container child dialog1_VBox.Gtk.Box+BoxChild + this.label2 = new global::Gtk.Label (); + this.label2.Name = "label2"; + this.label2.LabelProp = "Since this is your first time using this program, you need a new profile.\n\nYou can either import an existing PracticalPaint reactions.txt file, or you can start a new profile from scratch."; + this.label2.Wrap = true; + w1.Add (this.label2); + global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(w1 [this.label2])); + w2.Position = 0; + w2.Padding = ((uint)(5)); + // Internal child DesertPaintLab.FirstRunDialog.ActionArea + global::Gtk.HButtonBox w3 = this.ActionArea; + w3.Name = "dialog1_ActionArea"; + w3.Spacing = 10; + w3.BorderWidth = ((uint)(5)); + w3.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild + this.buttonCancel = new global::Gtk.Button (); + this.buttonCancel.CanDefault = true; + this.buttonCancel.CanFocus = true; + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.UseStock = true; + this.buttonCancel.UseUnderline = true; + this.buttonCancel.Label = "gtk-cancel"; + this.AddActionWidget (this.buttonCancel, -6); + global::Gtk.ButtonBox.ButtonBoxChild w4 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w3 [this.buttonCancel])); + w4.Expand = false; + w4.Fill = false; + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild + this.buttonImport = new global::Gtk.Button (); + this.buttonImport.CanDefault = true; + this.buttonImport.CanFocus = true; + this.buttonImport.Name = "buttonImport"; + this.buttonImport.UseUnderline = true; + this.buttonImport.Label = "Import reactions.txt"; + this.AddActionWidget (this.buttonImport, -3); + global::Gtk.ButtonBox.ButtonBoxChild w5 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w3 [this.buttonImport])); + w5.Position = 1; + w5.Expand = false; + w5.Fill = false; + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild + this.buttonNew = new global::Gtk.Button (); + this.buttonNew.CanFocus = true; + this.buttonNew.Name = "buttonNew"; + this.buttonNew.UseUnderline = true; + this.buttonNew.Label = "New Profile"; + this.AddActionWidget (this.buttonNew, -5); + global::Gtk.ButtonBox.ButtonBoxChild w6 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w3 [this.buttonNew])); + w6.Position = 2; + w6.Expand = false; + w6.Fill = false; + if ((this.Child != null)) { + this.Child.ShowAll (); + } + this.DefaultWidth = 416; + this.DefaultHeight = 189; + this.Show (); + } + } +} diff --git a/gtk-gui/DesertPaintLab.NewProfileDialog.cs b/gtk-gui/DesertPaintLab.NewProfileDialog.cs --- a/gtk-gui/DesertPaintLab.NewProfileDialog.cs +++ b/gtk-gui/DesertPaintLab.NewProfileDialog.cs @@ -1,87 +1,87 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace DesertPaintLab -{ - public partial class NewProfileDialog - { - private global::Gtk.Label label1; - - private global::Gtk.Entry profileNameEntry; - - private global::Gtk.Button buttonCancel; - - private global::Gtk.Button buttonOk; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget DesertPaintLab.NewProfileDialog - this.Name = "DesertPaintLab.NewProfileDialog"; - this.Title = "New Profile"; - this.WindowPosition = ((global::Gtk.WindowPosition)(4)); - this.BorderWidth = ((uint)(5)); - // Internal child DesertPaintLab.NewProfileDialog.VBox - global::Gtk.VBox w1 = this.VBox; - w1.Name = "dialog1_VBox"; - w1.Spacing = 10; - w1.BorderWidth = ((uint)(9)); - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.label1 = new global::Gtk.Label (); - this.label1.Name = "label1"; - this.label1.LabelProp = "Name your new profile:"; - w1.Add (this.label1); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(w1 [this.label1])); - w2.Position = 0; - w2.Expand = false; - w2.Fill = false; - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.profileNameEntry = new global::Gtk.Entry (); - this.profileNameEntry.CanFocus = true; - this.profileNameEntry.Name = "profileNameEntry"; - this.profileNameEntry.IsEditable = true; - this.profileNameEntry.InvisibleChar = '●'; - w1.Add (this.profileNameEntry); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(w1 [this.profileNameEntry])); - w3.Position = 1; - w3.Expand = false; - w3.Fill = false; - // Internal child DesertPaintLab.NewProfileDialog.ActionArea - global::Gtk.HButtonBox w4 = this.ActionArea; - w4.Name = "dialog1_ActionArea"; - w4.Spacing = 10; - w4.BorderWidth = ((uint)(5)); - w4.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonCancel = new global::Gtk.Button (); - this.buttonCancel.CanDefault = true; - this.buttonCancel.CanFocus = true; - this.buttonCancel.Name = "buttonCancel"; - this.buttonCancel.UseStock = true; - this.buttonCancel.UseUnderline = true; - this.buttonCancel.Label = "gtk-cancel"; - this.AddActionWidget (this.buttonCancel, -6); - global::Gtk.ButtonBox.ButtonBoxChild w5 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w4 [this.buttonCancel])); - w5.Expand = false; - w5.Fill = false; - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonOk = new global::Gtk.Button (); - this.buttonOk.CanDefault = true; - this.buttonOk.CanFocus = true; - this.buttonOk.Name = "buttonOk"; - this.buttonOk.UseStock = true; - this.buttonOk.UseUnderline = true; - this.buttonOk.Label = "gtk-ok"; - this.AddActionWidget (this.buttonOk, -5); - global::Gtk.ButtonBox.ButtonBoxChild w6 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w4 [this.buttonOk])); - w6.Position = 1; - w6.Expand = false; - w6.Fill = false; - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.DefaultWidth = 318; - this.DefaultHeight = 177; - this.Show (); - } - } -} + +// This file has been generated by the GUI designer. Do not modify. +namespace DesertPaintLab +{ + public partial class NewProfileDialog + { + private global::Gtk.Label label1; + + private global::Gtk.Entry profileNameEntry; + + private global::Gtk.Button buttonCancel; + + private global::Gtk.Button buttonOk; + + protected virtual void Build () + { + global::Stetic.Gui.Initialize (this); + // Widget DesertPaintLab.NewProfileDialog + this.Name = "DesertPaintLab.NewProfileDialog"; + this.Title = "New Profile"; + this.WindowPosition = ((global::Gtk.WindowPosition)(4)); + this.BorderWidth = ((uint)(5)); + // Internal child DesertPaintLab.NewProfileDialog.VBox + global::Gtk.VBox w1 = this.VBox; + w1.Name = "dialog1_VBox"; + w1.Spacing = 10; + w1.BorderWidth = ((uint)(9)); + // Container child dialog1_VBox.Gtk.Box+BoxChild + this.label1 = new global::Gtk.Label (); + this.label1.Name = "label1"; + this.label1.LabelProp = "Name your new profile:"; + w1.Add (this.label1); + global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(w1 [this.label1])); + w2.Position = 0; + w2.Expand = false; + w2.Fill = false; + // Container child dialog1_VBox.Gtk.Box+BoxChild + this.profileNameEntry = new global::Gtk.Entry (); + this.profileNameEntry.CanFocus = true; + this.profileNameEntry.Name = "profileNameEntry"; + this.profileNameEntry.IsEditable = true; + this.profileNameEntry.InvisibleChar = '●'; + w1.Add (this.profileNameEntry); + global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(w1 [this.profileNameEntry])); + w3.Position = 1; + w3.Expand = false; + w3.Fill = false; + // Internal child DesertPaintLab.NewProfileDialog.ActionArea + global::Gtk.HButtonBox w4 = this.ActionArea; + w4.Name = "dialog1_ActionArea"; + w4.Spacing = 10; + w4.BorderWidth = ((uint)(5)); + w4.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild + this.buttonCancel = new global::Gtk.Button (); + this.buttonCancel.CanDefault = true; + this.buttonCancel.CanFocus = true; + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.UseStock = true; + this.buttonCancel.UseUnderline = true; + this.buttonCancel.Label = "gtk-cancel"; + this.AddActionWidget (this.buttonCancel, -6); + global::Gtk.ButtonBox.ButtonBoxChild w5 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w4 [this.buttonCancel])); + w5.Expand = false; + w5.Fill = false; + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild + this.buttonOk = new global::Gtk.Button (); + this.buttonOk.CanDefault = true; + this.buttonOk.CanFocus = true; + this.buttonOk.Name = "buttonOk"; + this.buttonOk.UseStock = true; + this.buttonOk.UseUnderline = true; + this.buttonOk.Label = "gtk-ok"; + this.AddActionWidget (this.buttonOk, -5); + global::Gtk.ButtonBox.ButtonBoxChild w6 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w4 [this.buttonOk])); + w6.Position = 1; + w6.Expand = false; + w6.Fill = false; + if ((this.Child != null)) { + this.Child.ShowAll (); + } + this.DefaultWidth = 318; + this.DefaultHeight = 177; + this.Show (); + } + } +} diff --git a/gtk-gui/DesertPaintLab.PaintSwatch.cs b/gtk-gui/DesertPaintLab.PaintSwatch.cs --- a/gtk-gui/DesertPaintLab.PaintSwatch.cs +++ b/gtk-gui/DesertPaintLab.PaintSwatch.cs @@ -1,56 +1,56 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace DesertPaintLab -{ - public partial class PaintSwatch - { - private global::Gtk.VBox vbox1; - - private global::Gtk.Label colorNameLabel; - - private global::Gtk.DrawingArea colorBox; - - private global::Gtk.Label rgbLabel; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget DesertPaintLab.PaintSwatch - global::Stetic.BinContainer.Attach (this); - this.Name = "DesertPaintLab.PaintSwatch"; - // Container child DesertPaintLab.PaintSwatch.Gtk.Container+ContainerChild - this.vbox1 = new global::Gtk.VBox (); - this.vbox1.Name = "vbox1"; - this.vbox1.Spacing = 6; - // Container child vbox1.Gtk.Box+BoxChild - this.colorNameLabel = new global::Gtk.Label (); - this.colorNameLabel.Name = "colorNameLabel"; - this.colorNameLabel.LabelProp = "Unknown"; - this.vbox1.Add (this.colorNameLabel); - global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.colorNameLabel])); - w1.Position = 0; - w1.Expand = false; - w1.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.colorBox = new global::Gtk.DrawingArea (); - this.colorBox.Name = "colorBox"; - this.vbox1.Add (this.colorBox); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.colorBox])); - w2.Position = 1; - // Container child vbox1.Gtk.Box+BoxChild - this.rgbLabel = new global::Gtk.Label (); - this.rgbLabel.Name = "rgbLabel"; - this.rgbLabel.LabelProp = "???, ???, ???"; - this.vbox1.Add (this.rgbLabel); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.rgbLabel])); - w3.Position = 2; - w3.Expand = false; - w3.Fill = false; - this.Add (this.vbox1); - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.Hide (); - } - } -} + +// This file has been generated by the GUI designer. Do not modify. +namespace DesertPaintLab +{ + public partial class PaintSwatch + { + private global::Gtk.VBox vbox1; + + private global::Gtk.Label colorNameLabel; + + private global::Gtk.DrawingArea colorBox; + + private global::Gtk.Label rgbLabel; + + protected virtual void Build () + { + global::Stetic.Gui.Initialize (this); + // Widget DesertPaintLab.PaintSwatch + global::Stetic.BinContainer.Attach (this); + this.Name = "DesertPaintLab.PaintSwatch"; + // Container child DesertPaintLab.PaintSwatch.Gtk.Container+ContainerChild + this.vbox1 = new global::Gtk.VBox (); + this.vbox1.Name = "vbox1"; + this.vbox1.Spacing = 6; + // Container child vbox1.Gtk.Box+BoxChild + this.colorNameLabel = new global::Gtk.Label (); + this.colorNameLabel.Name = "colorNameLabel"; + this.colorNameLabel.LabelProp = "Unknown"; + this.vbox1.Add (this.colorNameLabel); + global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.colorNameLabel])); + w1.Position = 0; + w1.Expand = false; + w1.Fill = false; + // Container child vbox1.Gtk.Box+BoxChild + this.colorBox = new global::Gtk.DrawingArea (); + this.colorBox.Name = "colorBox"; + this.vbox1.Add (this.colorBox); + global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.colorBox])); + w2.Position = 1; + // Container child vbox1.Gtk.Box+BoxChild + this.rgbLabel = new global::Gtk.Label (); + this.rgbLabel.Name = "rgbLabel"; + this.rgbLabel.LabelProp = "???, ???, ???"; + this.vbox1.Add (this.rgbLabel); + global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.rgbLabel])); + w3.Position = 2; + w3.Expand = false; + w3.Fill = false; + this.Add (this.vbox1); + if ((this.Child != null)) { + this.Child.ShowAll (); + } + this.Hide (); + } + } +} diff --git a/gtk-gui/DesertPaintLab.ScreenCheckDialog.cs b/gtk-gui/DesertPaintLab.ScreenCheckDialog.cs --- a/gtk-gui/DesertPaintLab.ScreenCheckDialog.cs +++ b/gtk-gui/DesertPaintLab.ScreenCheckDialog.cs @@ -1,141 +1,141 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace DesertPaintLab -{ - public partial class ScreenCheckDialog - { - private global::Gtk.VBox vbox2; - - private global::Gtk.HBox hbox1; - - private global::Gtk.Label label1; - - private global::Gtk.Entry screenWidthEntry; - - private global::Gtk.Entry screenHeightEntry; - - private global::Gtk.HBox hbox2; - - private global::Gtk.Label label2; - - private global::Gtk.Entry gamePixelWidthEntry; - - private global::Gtk.Button buttonOk; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget DesertPaintLab.ScreenCheckDialog - this.Name = "DesertPaintLab.ScreenCheckDialog"; - this.Title = "Screen Check"; - this.WindowPosition = ((global::Gtk.WindowPosition)(4)); - this.Modal = true; - this.BorderWidth = ((uint)(9)); - // Internal child DesertPaintLab.ScreenCheckDialog.VBox - global::Gtk.VBox w1 = this.VBox; - w1.Name = "dialog1_VBox"; - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.vbox2 = new global::Gtk.VBox (); - this.vbox2.Name = "vbox2"; - this.vbox2.Spacing = 20; - this.vbox2.BorderWidth = ((uint)(20)); - // Container child vbox2.Gtk.Box+BoxChild - this.hbox1 = new global::Gtk.HBox (); - this.hbox1.Name = "hbox1"; - this.hbox1.Spacing = 20; - this.hbox1.BorderWidth = ((uint)(10)); - // Container child hbox1.Gtk.Box+BoxChild - this.label1 = new global::Gtk.Label (); - this.label1.Name = "label1"; - this.label1.LabelProp = "Screen Resolution"; - this.hbox1.Add (this.label1); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.label1])); - w2.Position = 0; - w2.Expand = false; - w2.Fill = false; - // Container child hbox1.Gtk.Box+BoxChild - this.screenWidthEntry = new global::Gtk.Entry (); - this.screenWidthEntry.WidthRequest = 50; - this.screenWidthEntry.CanFocus = true; - this.screenWidthEntry.Name = "screenWidthEntry"; - this.screenWidthEntry.IsEditable = true; - this.screenWidthEntry.InvisibleChar = '●'; - this.hbox1.Add (this.screenWidthEntry); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.screenWidthEntry])); - w3.Position = 1; - // Container child hbox1.Gtk.Box+BoxChild - this.screenHeightEntry = new global::Gtk.Entry (); - this.screenHeightEntry.WidthRequest = 50; - this.screenHeightEntry.CanFocus = true; - this.screenHeightEntry.Name = "screenHeightEntry"; - this.screenHeightEntry.IsEditable = true; - this.screenHeightEntry.InvisibleChar = '●'; - this.hbox1.Add (this.screenHeightEntry); - global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.screenHeightEntry])); - w4.Position = 2; - this.vbox2.Add (this.hbox1); - global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox1])); - w5.Position = 0; - w5.Expand = false; - w5.Fill = false; - // Container child vbox2.Gtk.Box+BoxChild - this.hbox2 = new global::Gtk.HBox (); - this.hbox2.Name = "hbox2"; - this.hbox2.Spacing = 20; - this.hbox2.BorderWidth = ((uint)(10)); - // Container child hbox2.Gtk.Box+BoxChild - this.label2 = new global::Gtk.Label (); - this.label2.Name = "label2"; - this.label2.LabelProp = "Game Pixel Width in Screen Pixels"; - this.hbox2.Add (this.label2); - global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.label2])); - w6.Position = 0; - w6.Expand = false; - w6.Fill = false; - // Container child hbox2.Gtk.Box+BoxChild - this.gamePixelWidthEntry = new global::Gtk.Entry (); - this.gamePixelWidthEntry.WidthRequest = 50; - this.gamePixelWidthEntry.CanFocus = true; - this.gamePixelWidthEntry.Name = "gamePixelWidthEntry"; - this.gamePixelWidthEntry.IsEditable = true; - this.gamePixelWidthEntry.InvisibleChar = '●'; - this.hbox2.Add (this.gamePixelWidthEntry); - global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.gamePixelWidthEntry])); - w7.Position = 1; - w7.Expand = false; - w7.Fill = false; - this.vbox2.Add (this.hbox2); - global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox2])); - w8.Position = 1; - w8.Expand = false; - w8.Fill = false; - w1.Add (this.vbox2); - global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(w1 [this.vbox2])); - w9.Position = 0; - // Internal child DesertPaintLab.ScreenCheckDialog.ActionArea - global::Gtk.HButtonBox w10 = this.ActionArea; - w10.Name = "dialog1_ActionArea"; - w10.Spacing = 10; - w10.BorderWidth = ((uint)(5)); - w10.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonOk = new global::Gtk.Button (); - this.buttonOk.CanDefault = true; - this.buttonOk.CanFocus = true; - this.buttonOk.Name = "buttonOk"; - this.buttonOk.UseStock = true; - this.buttonOk.UseUnderline = true; - this.buttonOk.Label = "gtk-ok"; - this.AddActionWidget (this.buttonOk, -5); - global::Gtk.ButtonBox.ButtonBoxChild w11 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w10 [this.buttonOk])); - w11.Expand = false; - w11.Fill = false; - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.DefaultWidth = 378; - this.DefaultHeight = 245; - this.Show (); - } - } -} + +// This file has been generated by the GUI designer. Do not modify. +namespace DesertPaintLab +{ + public partial class ScreenCheckDialog + { + private global::Gtk.VBox vbox2; + + private global::Gtk.HBox hbox1; + + private global::Gtk.Label label1; + + private global::Gtk.Entry screenWidthEntry; + + private global::Gtk.Entry screenHeightEntry; + + private global::Gtk.HBox hbox2; + + private global::Gtk.Label label2; + + private global::Gtk.Entry gamePixelWidthEntry; + + private global::Gtk.Button buttonOk; + + protected virtual void Build () + { + global::Stetic.Gui.Initialize (this); + // Widget DesertPaintLab.ScreenCheckDialog + this.Name = "DesertPaintLab.ScreenCheckDialog"; + this.Title = "Screen Check"; + this.WindowPosition = ((global::Gtk.WindowPosition)(4)); + this.Modal = true; + this.BorderWidth = ((uint)(9)); + // Internal child DesertPaintLab.ScreenCheckDialog.VBox + global::Gtk.VBox w1 = this.VBox; + w1.Name = "dialog1_VBox"; + // Container child dialog1_VBox.Gtk.Box+BoxChild + this.vbox2 = new global::Gtk.VBox (); + this.vbox2.Name = "vbox2"; + this.vbox2.Spacing = 20; + this.vbox2.BorderWidth = ((uint)(20)); + // Container child vbox2.Gtk.Box+BoxChild + this.hbox1 = new global::Gtk.HBox (); + this.hbox1.Name = "hbox1"; + this.hbox1.Spacing = 20; + this.hbox1.BorderWidth = ((uint)(10)); + // Container child hbox1.Gtk.Box+BoxChild + this.label1 = new global::Gtk.Label (); + this.label1.Name = "label1"; + this.label1.LabelProp = "Screen Resolution"; + this.hbox1.Add (this.label1); + global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.label1])); + w2.Position = 0; + w2.Expand = false; + w2.Fill = false; + // Container child hbox1.Gtk.Box+BoxChild + this.screenWidthEntry = new global::Gtk.Entry (); + this.screenWidthEntry.WidthRequest = 50; + this.screenWidthEntry.CanFocus = true; + this.screenWidthEntry.Name = "screenWidthEntry"; + this.screenWidthEntry.IsEditable = true; + this.screenWidthEntry.InvisibleChar = '●'; + this.hbox1.Add (this.screenWidthEntry); + global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.screenWidthEntry])); + w3.Position = 1; + // Container child hbox1.Gtk.Box+BoxChild + this.screenHeightEntry = new global::Gtk.Entry (); + this.screenHeightEntry.WidthRequest = 50; + this.screenHeightEntry.CanFocus = true; + this.screenHeightEntry.Name = "screenHeightEntry"; + this.screenHeightEntry.IsEditable = true; + this.screenHeightEntry.InvisibleChar = '●'; + this.hbox1.Add (this.screenHeightEntry); + global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.screenHeightEntry])); + w4.Position = 2; + this.vbox2.Add (this.hbox1); + global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox1])); + w5.Position = 0; + w5.Expand = false; + w5.Fill = false; + // Container child vbox2.Gtk.Box+BoxChild + this.hbox2 = new global::Gtk.HBox (); + this.hbox2.Name = "hbox2"; + this.hbox2.Spacing = 20; + this.hbox2.BorderWidth = ((uint)(10)); + // Container child hbox2.Gtk.Box+BoxChild + this.label2 = new global::Gtk.Label (); + this.label2.Name = "label2"; + this.label2.LabelProp = "Game Pixel Width in Screen Pixels"; + this.hbox2.Add (this.label2); + global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.label2])); + w6.Position = 0; + w6.Expand = false; + w6.Fill = false; + // Container child hbox2.Gtk.Box+BoxChild + this.gamePixelWidthEntry = new global::Gtk.Entry (); + this.gamePixelWidthEntry.WidthRequest = 50; + this.gamePixelWidthEntry.CanFocus = true; + this.gamePixelWidthEntry.Name = "gamePixelWidthEntry"; + this.gamePixelWidthEntry.IsEditable = true; + this.gamePixelWidthEntry.InvisibleChar = '●'; + this.hbox2.Add (this.gamePixelWidthEntry); + global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.gamePixelWidthEntry])); + w7.Position = 1; + w7.Expand = false; + w7.Fill = false; + this.vbox2.Add (this.hbox2); + global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox2])); + w8.Position = 1; + w8.Expand = false; + w8.Fill = false; + w1.Add (this.vbox2); + global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(w1 [this.vbox2])); + w9.Position = 0; + // Internal child DesertPaintLab.ScreenCheckDialog.ActionArea + global::Gtk.HButtonBox w10 = this.ActionArea; + w10.Name = "dialog1_ActionArea"; + w10.Spacing = 10; + w10.BorderWidth = ((uint)(5)); + w10.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild + this.buttonOk = new global::Gtk.Button (); + this.buttonOk.CanDefault = true; + this.buttonOk.CanFocus = true; + this.buttonOk.Name = "buttonOk"; + this.buttonOk.UseStock = true; + this.buttonOk.UseUnderline = true; + this.buttonOk.Label = "gtk-ok"; + this.AddActionWidget (this.buttonOk, -5); + global::Gtk.ButtonBox.ButtonBoxChild w11 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w10 [this.buttonOk])); + w11.Expand = false; + w11.Fill = false; + if ((this.Child != null)) { + this.Child.ShowAll (); + } + this.DefaultWidth = 378; + this.DefaultHeight = 245; + this.Show (); + } + } +} diff --git a/gtk-gui/DesertPaintLab.SelectProfileDialog.cs b/gtk-gui/DesertPaintLab.SelectProfileDialog.cs --- a/gtk-gui/DesertPaintLab.SelectProfileDialog.cs +++ b/gtk-gui/DesertPaintLab.SelectProfileDialog.cs @@ -1,99 +1,99 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace DesertPaintLab -{ - public partial class SelectProfileDialog - { - private global::Gtk.Label label3; - - private global::Gtk.TreeView profileListView; - - private global::Gtk.Button buttonCancel; - - private global::Gtk.Button button56; - - private global::Gtk.Button buttonOk; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget DesertPaintLab.SelectProfileDialog - this.Name = "DesertPaintLab.SelectProfileDialog"; - this.Title = "Open Profile"; - this.WindowPosition = ((global::Gtk.WindowPosition)(4)); - this.Modal = true; - this.BorderWidth = ((uint)(5)); - // Internal child DesertPaintLab.SelectProfileDialog.VBox - global::Gtk.VBox w1 = this.VBox; - w1.Name = "dialog1_VBox"; - w1.Spacing = 10; - w1.BorderWidth = ((uint)(2)); - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.label3 = new global::Gtk.Label (); - this.label3.Name = "label3"; - this.label3.LabelProp = "Select the profile you would like to open:"; - w1.Add (this.label3); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(w1 [this.label3])); - w2.Position = 0; - w2.Expand = false; - w2.Fill = false; - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.profileListView = new global::Gtk.TreeView (); - this.profileListView.CanFocus = true; - this.profileListView.Name = "profileListView"; - this.profileListView.EnableSearch = false; - w1.Add (this.profileListView); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(w1 [this.profileListView])); - w3.Position = 1; - // Internal child DesertPaintLab.SelectProfileDialog.ActionArea - global::Gtk.HButtonBox w4 = this.ActionArea; - w4.Name = "dialog1_ActionArea"; - w4.Spacing = 10; - w4.BorderWidth = ((uint)(5)); - w4.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonCancel = new global::Gtk.Button (); - this.buttonCancel.CanDefault = true; - this.buttonCancel.CanFocus = true; - this.buttonCancel.Name = "buttonCancel"; - this.buttonCancel.UseStock = true; - this.buttonCancel.UseUnderline = true; - this.buttonCancel.Label = "gtk-cancel"; - this.AddActionWidget (this.buttonCancel, -6); - global::Gtk.ButtonBox.ButtonBoxChild w5 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w4 [this.buttonCancel])); - w5.Expand = false; - w5.Fill = false; - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.button56 = new global::Gtk.Button (); - this.button56.CanFocus = true; - this.button56.Name = "button56"; - this.button56.UseUnderline = true; - this.button56.Label = "New Profile"; - this.AddActionWidget (this.button56, -3); - global::Gtk.ButtonBox.ButtonBoxChild w6 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w4 [this.button56])); - w6.Position = 1; - w6.Expand = false; - w6.Fill = false; - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonOk = new global::Gtk.Button (); - this.buttonOk.CanDefault = true; - this.buttonOk.CanFocus = true; - this.buttonOk.Name = "buttonOk"; - this.buttonOk.UseStock = true; - this.buttonOk.UseUnderline = true; - this.buttonOk.Label = "gtk-ok"; - this.AddActionWidget (this.buttonOk, -5); - global::Gtk.ButtonBox.ButtonBoxChild w7 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w4 [this.buttonOk])); - w7.Position = 2; - w7.Expand = false; - w7.Fill = false; - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.DefaultWidth = 400; - this.DefaultHeight = 288; - this.Show (); - this.profileListView.CursorChanged += new global::System.EventHandler (this.OnCursorChanged); - } - } -} + +// This file has been generated by the GUI designer. Do not modify. +namespace DesertPaintLab +{ + public partial class SelectProfileDialog + { + private global::Gtk.Label label3; + + private global::Gtk.TreeView profileListView; + + private global::Gtk.Button buttonCancel; + + private global::Gtk.Button button56; + + private global::Gtk.Button buttonOk; + + protected virtual void Build () + { + global::Stetic.Gui.Initialize (this); + // Widget DesertPaintLab.SelectProfileDialog + this.Name = "DesertPaintLab.SelectProfileDialog"; + this.Title = "Open Profile"; + this.WindowPosition = ((global::Gtk.WindowPosition)(4)); + this.Modal = true; + this.BorderWidth = ((uint)(5)); + // Internal child DesertPaintLab.SelectProfileDialog.VBox + global::Gtk.VBox w1 = this.VBox; + w1.Name = "dialog1_VBox"; + w1.Spacing = 10; + w1.BorderWidth = ((uint)(2)); + // Container child dialog1_VBox.Gtk.Box+BoxChild + this.label3 = new global::Gtk.Label (); + this.label3.Name = "label3"; + this.label3.LabelProp = "Select the profile you would like to open:"; + w1.Add (this.label3); + global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(w1 [this.label3])); + w2.Position = 0; + w2.Expand = false; + w2.Fill = false; + // Container child dialog1_VBox.Gtk.Box+BoxChild + this.profileListView = new global::Gtk.TreeView (); + this.profileListView.CanFocus = true; + this.profileListView.Name = "profileListView"; + this.profileListView.EnableSearch = false; + w1.Add (this.profileListView); + global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(w1 [this.profileListView])); + w3.Position = 1; + // Internal child DesertPaintLab.SelectProfileDialog.ActionArea + global::Gtk.HButtonBox w4 = this.ActionArea; + w4.Name = "dialog1_ActionArea"; + w4.Spacing = 10; + w4.BorderWidth = ((uint)(5)); + w4.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild + this.buttonCancel = new global::Gtk.Button (); + this.buttonCancel.CanDefault = true; + this.buttonCancel.CanFocus = true; + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.UseStock = true; + this.buttonCancel.UseUnderline = true; + this.buttonCancel.Label = "gtk-cancel"; + this.AddActionWidget (this.buttonCancel, -6); + global::Gtk.ButtonBox.ButtonBoxChild w5 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w4 [this.buttonCancel])); + w5.Expand = false; + w5.Fill = false; + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild + this.button56 = new global::Gtk.Button (); + this.button56.CanFocus = true; + this.button56.Name = "button56"; + this.button56.UseUnderline = true; + this.button56.Label = "New Profile"; + this.AddActionWidget (this.button56, -3); + global::Gtk.ButtonBox.ButtonBoxChild w6 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w4 [this.button56])); + w6.Position = 1; + w6.Expand = false; + w6.Fill = false; + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild + this.buttonOk = new global::Gtk.Button (); + this.buttonOk.CanDefault = true; + this.buttonOk.CanFocus = true; + this.buttonOk.Name = "buttonOk"; + this.buttonOk.UseStock = true; + this.buttonOk.UseUnderline = true; + this.buttonOk.Label = "gtk-ok"; + this.AddActionWidget (this.buttonOk, -5); + global::Gtk.ButtonBox.ButtonBoxChild w7 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w4 [this.buttonOk])); + w7.Position = 2; + w7.Expand = false; + w7.Fill = false; + if ((this.Child != null)) { + this.Child.ShowAll (); + } + this.DefaultWidth = 400; + this.DefaultHeight = 288; + this.Show (); + this.profileListView.CursorChanged += new global::System.EventHandler (this.OnCursorChanged); + } + } +} diff --git a/gtk-gui/MainWindow.cs b/gtk-gui/MainWindow.cs --- a/gtk-gui/MainWindow.cs +++ b/gtk-gui/MainWindow.cs @@ -1,362 +1,373 @@ - -// This file has been generated by the GUI designer. Do not modify. - -public partial class MainWindow -{ - private global::Gtk.UIManager UIManager; - - private global::Gtk.Action FileAction; - - private global::Gtk.Action HelpAction; - - private global::Gtk.Action AboutAction; - - private global::Gtk.Action NewProfileAction; - - private global::Gtk.Action OpenProfileAction; - - private global::Gtk.Action ExitAction; - - private global::Gtk.Action ExportForPracticalPaintAction; - - private global::Gtk.Action WindowAction; - - private global::Gtk.Action RunSimulatorAction; - - private global::Gtk.VBox vbox1; - - private global::Gtk.MenuBar menubar1; - - private global::Gtk.HBox hbox1; - - private global::Gtk.Frame frame2; - - private global::Gtk.Alignment GtkAlignment; - - private global::Gtk.VBox vbox3; - - private global::Gtk.HBox hbox6; - - private global::Gtk.Label label4; - - private global::Gtk.ComboBox ingredient1ComboBox; - - private global::Gtk.HBox hbox7; - - private global::Gtk.Label label5; - - private global::Gtk.ComboBox ingredient2ComboBox; - - private global::Gtk.HBox hbox8; - - private global::Gtk.Label label6; - - private global::Gtk.ComboBox ingredient3ComboBox; - - private global::Gtk.Label GtkLabel2; - - private global::Gtk.Frame frame3; - - private global::Gtk.Alignment GtkAlignment1; - - private global::Gtk.VBox vbox4; - - private global::DesertPaintLab.PaintSwatch unmodifiedSwatch; - - private global::Gtk.Button captureButton; - - private global::Gtk.Label GtkLabel25; - - private global::Gtk.Frame frame4; - - private global::Gtk.Alignment GtkAlignment2; - - private global::Gtk.VBox vbox5; - - private global::DesertPaintLab.PaintSwatch reactionSwatch; - - private global::Gtk.Button saveButton; - - private global::Gtk.Label GtkLabel26; - - private global::Gtk.Statusbar statusBar; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget MainWindow - this.UIManager = new global::Gtk.UIManager (); - global::Gtk.ActionGroup w1 = new global::Gtk.ActionGroup ("Default"); - this.FileAction = new global::Gtk.Action ("FileAction", "_File", null, null); - this.FileAction.ShortLabel = "_File"; - w1.Add (this.FileAction, "f"); - this.HelpAction = new global::Gtk.Action ("HelpAction", "_Help", null, null); - this.HelpAction.ShortLabel = "_Help"; - w1.Add (this.HelpAction, "a"); - this.AboutAction = new global::Gtk.Action ("AboutAction", "_About...", null, null); - this.AboutAction.ShortLabel = "_About..."; - w1.Add (this.AboutAction, "a"); - this.NewProfileAction = new global::Gtk.Action ("NewProfileAction", "_New Profile...", null, null); - this.NewProfileAction.ShortLabel = "_New Profile..."; - w1.Add (this.NewProfileAction, "n"); - this.OpenProfileAction = new global::Gtk.Action ("OpenProfileAction", "_Open Profile...", null, null); - this.OpenProfileAction.ShortLabel = "_Open Profile..."; - w1.Add (this.OpenProfileAction, "o"); - this.ExitAction = new global::Gtk.Action ("ExitAction", "E_xit", null, null); - this.ExitAction.ShortLabel = "E_xit"; - w1.Add (this.ExitAction, "x"); - this.ExportForPracticalPaintAction = new global::Gtk.Action ("ExportForPracticalPaintAction", "Export for _PracticalPaint...", null, null); - this.ExportForPracticalPaintAction.ShortLabel = "Export for _PracticalPaint..."; - w1.Add (this.ExportForPracticalPaintAction, null); - this.WindowAction = new global::Gtk.Action ("WindowAction", "_Window", null, null); - this.WindowAction.ShortLabel = "_Window"; - w1.Add (this.WindowAction, null); - this.RunSimulatorAction = new global::Gtk.Action ("RunSimulatorAction", "_Run Simulator", null, null); - this.RunSimulatorAction.ShortLabel = "_Run Simulator"; - w1.Add (this.RunSimulatorAction, null); - this.UIManager.InsertActionGroup (w1, 0); - this.AddAccelGroup (this.UIManager.AccelGroup); - this.Name = "MainWindow"; - this.Title = "Desert Paint Lab"; - this.WindowPosition = ((global::Gtk.WindowPosition)(4)); - // Container child MainWindow.Gtk.Container+ContainerChild - this.vbox1 = new global::Gtk.VBox (); - this.vbox1.Name = "vbox1"; - // Container child vbox1.Gtk.Box+BoxChild - this.UIManager.AddUiFromString (@""); - this.menubar1 = ((global::Gtk.MenuBar)(this.UIManager.GetWidget ("/menubar1"))); - this.menubar1.Name = "menubar1"; - this.vbox1.Add (this.menubar1); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.menubar1])); - w2.Position = 0; - w2.Expand = false; - w2.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.hbox1 = new global::Gtk.HBox (); - this.hbox1.Name = "hbox1"; - this.hbox1.Spacing = 6; - this.hbox1.BorderWidth = ((uint)(4)); - // Container child hbox1.Gtk.Box+BoxChild - this.frame2 = new global::Gtk.Frame (); - this.frame2.Name = "frame2"; - this.frame2.BorderWidth = ((uint)(4)); - // Container child frame2.Gtk.Container+ContainerChild - this.GtkAlignment = new global::Gtk.Alignment (0F, 0F, 1F, 1F); - this.GtkAlignment.Name = "GtkAlignment"; - this.GtkAlignment.LeftPadding = ((uint)(6)); - this.GtkAlignment.RightPadding = ((uint)(6)); - // Container child GtkAlignment.Gtk.Container+ContainerChild - this.vbox3 = new global::Gtk.VBox (); - this.vbox3.Name = "vbox3"; - this.vbox3.Homogeneous = true; - this.vbox3.Spacing = 6; - // Container child vbox3.Gtk.Box+BoxChild - this.hbox6 = new global::Gtk.HBox (); - this.hbox6.Name = "hbox6"; - this.hbox6.Spacing = 6; - // Container child hbox6.Gtk.Box+BoxChild - this.label4 = new global::Gtk.Label (); - this.label4.Name = "label4"; - this.label4.LabelProp = "Ingredient 1:"; - this.hbox6.Add (this.label4); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox6 [this.label4])); - w3.Position = 0; - w3.Expand = false; - w3.Fill = false; - // Container child hbox6.Gtk.Box+BoxChild - this.ingredient1ComboBox = global::Gtk.ComboBox.NewText (); - this.ingredient1ComboBox.Name = "ingredient1ComboBox"; - this.hbox6.Add (this.ingredient1ComboBox); - global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox6 [this.ingredient1ComboBox])); - w4.Position = 1; - this.vbox3.Add (this.hbox6); - global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox6])); - w5.Position = 0; - w5.Expand = false; - w5.Fill = false; - // Container child vbox3.Gtk.Box+BoxChild - this.hbox7 = new global::Gtk.HBox (); - this.hbox7.Name = "hbox7"; - this.hbox7.Spacing = 6; - // Container child hbox7.Gtk.Box+BoxChild - this.label5 = new global::Gtk.Label (); - this.label5.Name = "label5"; - this.label5.LabelProp = "Ingredient 2:"; - this.hbox7.Add (this.label5); - global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.hbox7 [this.label5])); - w6.Position = 0; - w6.Expand = false; - w6.Fill = false; - // Container child hbox7.Gtk.Box+BoxChild - this.ingredient2ComboBox = global::Gtk.ComboBox.NewText (); - this.ingredient2ComboBox.Name = "ingredient2ComboBox"; - this.hbox7.Add (this.ingredient2ComboBox); - global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.hbox7 [this.ingredient2ComboBox])); - w7.Position = 1; - this.vbox3.Add (this.hbox7); - global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox7])); - w8.Position = 1; - w8.Expand = false; - w8.Fill = false; - // Container child vbox3.Gtk.Box+BoxChild - this.hbox8 = new global::Gtk.HBox (); - this.hbox8.Name = "hbox8"; - this.hbox8.Spacing = 6; - // Container child hbox8.Gtk.Box+BoxChild - this.label6 = new global::Gtk.Label (); - this.label6.Name = "label6"; - this.label6.LabelProp = "Ingredient 3:"; - this.hbox8.Add (this.label6); - global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox8 [this.label6])); - w9.Position = 0; - w9.Expand = false; - w9.Fill = false; - // Container child hbox8.Gtk.Box+BoxChild - this.ingredient3ComboBox = global::Gtk.ComboBox.NewText (); - this.ingredient3ComboBox.Name = "ingredient3ComboBox"; - this.hbox8.Add (this.ingredient3ComboBox); - global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.hbox8 [this.ingredient3ComboBox])); - w10.Position = 1; - this.vbox3.Add (this.hbox8); - global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox8])); - w11.Position = 2; - w11.Expand = false; - w11.Fill = false; - this.GtkAlignment.Add (this.vbox3); - this.frame2.Add (this.GtkAlignment); - this.GtkLabel2 = new global::Gtk.Label (); - this.GtkLabel2.Name = "GtkLabel2"; - this.GtkLabel2.LabelProp = "Select Ingredients"; - this.GtkLabel2.UseMarkup = true; - this.frame2.LabelWidget = this.GtkLabel2; - this.hbox1.Add (this.frame2); - global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.frame2])); - w14.Position = 0; - // Container child hbox1.Gtk.Box+BoxChild - this.frame3 = new global::Gtk.Frame (); - this.frame3.Name = "frame3"; - this.frame3.BorderWidth = ((uint)(4)); - // Container child frame3.Gtk.Container+ContainerChild - this.GtkAlignment1 = new global::Gtk.Alignment (0F, 0F, 1F, 1F); - this.GtkAlignment1.Name = "GtkAlignment1"; - this.GtkAlignment1.LeftPadding = ((uint)(5)); - this.GtkAlignment1.TopPadding = ((uint)(5)); - this.GtkAlignment1.RightPadding = ((uint)(5)); - this.GtkAlignment1.BottomPadding = ((uint)(6)); - // Container child GtkAlignment1.Gtk.Container+ContainerChild - this.vbox4 = new global::Gtk.VBox (); - this.vbox4.WidthRequest = 120; - this.vbox4.Name = "vbox4"; - this.vbox4.Spacing = 6; - // Container child vbox4.Gtk.Box+BoxChild - this.unmodifiedSwatch = new global::DesertPaintLab.PaintSwatch (); - this.unmodifiedSwatch.Events = ((global::Gdk.EventMask)(256)); - this.unmodifiedSwatch.Name = "unmodifiedSwatch"; - this.vbox4.Add (this.unmodifiedSwatch); - global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.unmodifiedSwatch])); - w15.Position = 0; - // Container child vbox4.Gtk.Box+BoxChild - this.captureButton = new global::Gtk.Button (); - this.captureButton.WidthRequest = 100; - this.captureButton.CanFocus = true; - this.captureButton.Name = "captureButton"; - this.captureButton.UseUnderline = true; - this.captureButton.Label = "Capture"; - this.vbox4.Add (this.captureButton); - global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.captureButton])); - w16.Position = 1; - w16.Expand = false; - w16.Fill = false; - this.GtkAlignment1.Add (this.vbox4); - this.frame3.Add (this.GtkAlignment1); - this.GtkLabel25 = new global::Gtk.Label (); - this.GtkLabel25.Name = "GtkLabel25"; - this.GtkLabel25.LabelProp = "Unmodified"; - this.GtkLabel25.UseMarkup = true; - this.frame3.LabelWidget = this.GtkLabel25; - this.hbox1.Add (this.frame3); - global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.frame3])); - w19.Position = 1; - w19.Expand = false; - w19.Fill = false; - // Container child hbox1.Gtk.Box+BoxChild - this.frame4 = new global::Gtk.Frame (); - this.frame4.Name = "frame4"; - this.frame4.BorderWidth = ((uint)(4)); - // Container child frame4.Gtk.Container+ContainerChild - this.GtkAlignment2 = new global::Gtk.Alignment (0F, 0F, 1F, 1F); - this.GtkAlignment2.WidthRequest = 130; - this.GtkAlignment2.Name = "GtkAlignment2"; - this.GtkAlignment2.LeftPadding = ((uint)(5)); - this.GtkAlignment2.TopPadding = ((uint)(5)); - this.GtkAlignment2.RightPadding = ((uint)(5)); - this.GtkAlignment2.BottomPadding = ((uint)(6)); - // Container child GtkAlignment2.Gtk.Container+ContainerChild - this.vbox5 = new global::Gtk.VBox (); - this.vbox5.WidthRequest = 120; - this.vbox5.Name = "vbox5"; - this.vbox5.Spacing = 6; - // Container child vbox5.Gtk.Box+BoxChild - this.reactionSwatch = new global::DesertPaintLab.PaintSwatch (); - this.reactionSwatch.Events = ((global::Gdk.EventMask)(256)); - this.reactionSwatch.Name = "reactionSwatch"; - this.vbox5.Add (this.reactionSwatch); - global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.reactionSwatch])); - w20.Position = 0; - // Container child vbox5.Gtk.Box+BoxChild - this.saveButton = new global::Gtk.Button (); - this.saveButton.WidthRequest = 100; - this.saveButton.CanFocus = true; - this.saveButton.Name = "saveButton"; - this.saveButton.UseUnderline = true; - this.saveButton.Label = "Record"; - this.vbox5.Add (this.saveButton); - global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.saveButton])); - w21.Position = 1; - w21.Expand = false; - w21.Fill = false; - this.GtkAlignment2.Add (this.vbox5); - this.frame4.Add (this.GtkAlignment2); - this.GtkLabel26 = new global::Gtk.Label (); - this.GtkLabel26.Name = "GtkLabel26"; - this.GtkLabel26.LabelProp = "Reaction"; - this.GtkLabel26.UseMarkup = true; - this.frame4.LabelWidget = this.GtkLabel26; - this.hbox1.Add (this.frame4); - global::Gtk.Box.BoxChild w24 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.frame4])); - w24.Position = 2; - w24.Expand = false; - w24.Fill = false; - this.vbox1.Add (this.hbox1); - global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hbox1])); - w25.Position = 1; - // Container child vbox1.Gtk.Box+BoxChild - this.statusBar = new global::Gtk.Statusbar (); - this.statusBar.Name = "statusBar"; - this.statusBar.Spacing = 6; - this.vbox1.Add (this.statusBar); - global::Gtk.Box.BoxChild w26 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.statusBar])); - w26.Position = 2; - w26.Expand = false; - w26.Fill = false; - this.Add (this.vbox1); - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.DefaultWidth = 629; - this.DefaultHeight = 265; - this.Show (); - this.DeleteEvent += new global::Gtk.DeleteEventHandler (this.OnDeleteEvent); - this.AboutAction.Activated += new global::System.EventHandler (this.OnAbout); - this.NewProfileAction.Activated += new global::System.EventHandler (this.OnNewProfile); - this.OpenProfileAction.Activated += new global::System.EventHandler (this.OnOpenProfile); - this.ExitAction.Activated += new global::System.EventHandler (this.OnMenuExit); - this.ExportForPracticalPaintAction.Activated += new global::System.EventHandler (this.OnExport); - this.RunSimulatorAction.Activated += new global::System.EventHandler (this.RunSimulator); - this.ingredient1ComboBox.Changed += new global::System.EventHandler (this.OnChangedIngredient1); - this.ingredient2ComboBox.Changed += new global::System.EventHandler (this.OnChangedIngredient2); - this.ingredient3ComboBox.Changed += new global::System.EventHandler (this.OnChangedIngredient3); - this.captureButton.Clicked += new global::System.EventHandler (this.OnCaptureButton); - this.saveButton.Clicked += new global::System.EventHandler (this.OnSaveButton); - } -} + +// This file has been generated by the GUI designer. Do not modify. + +public partial class MainWindow +{ + private global::Gtk.UIManager UIManager; + + private global::Gtk.Action FileAction; + + private global::Gtk.Action HelpAction; + + private global::Gtk.Action AboutAction; + + private global::Gtk.Action NewProfileAction; + + private global::Gtk.Action OpenProfileAction; + + private global::Gtk.Action ExitAction; + + private global::Gtk.Action ExportForPracticalPaintAction; + + private global::Gtk.Action WindowAction; + + private global::Gtk.Action RunSimulatorAction; + + private global::Gtk.Action DebugAction; + + private global::Gtk.Action ScreenshotAction; + + private global::Gtk.VBox vbox1; + + private global::Gtk.MenuBar menubar1; + + private global::Gtk.HBox hbox1; + + private global::Gtk.Frame frame2; + + private global::Gtk.Alignment GtkAlignment; + + private global::Gtk.VBox vbox3; + + private global::Gtk.HBox hbox6; + + private global::Gtk.Label label4; + + private global::Gtk.ComboBox ingredient1ComboBox; + + private global::Gtk.HBox hbox7; + + private global::Gtk.Label label5; + + private global::Gtk.ComboBox ingredient2ComboBox; + + private global::Gtk.HBox hbox8; + + private global::Gtk.Label label6; + + private global::Gtk.ComboBox ingredient3ComboBox; + + private global::Gtk.Label GtkLabel2; + + private global::Gtk.Frame frame3; + + private global::Gtk.Alignment GtkAlignment1; + + private global::Gtk.VBox vbox4; + + private global::DesertPaintLab.PaintSwatch unmodifiedSwatch; + + private global::Gtk.Button captureButton; + + private global::Gtk.Label GtkLabel25; + + private global::Gtk.Frame frame4; + + private global::Gtk.Alignment GtkAlignment2; + + private global::Gtk.VBox vbox5; + + private global::DesertPaintLab.PaintSwatch reactionSwatch; + + private global::Gtk.Button saveButton; + + private global::Gtk.Label GtkLabel26; + + private global::Gtk.Statusbar statusBar; + + protected virtual void Build () + { + global::Stetic.Gui.Initialize (this); + // Widget MainWindow + this.UIManager = new global::Gtk.UIManager (); + global::Gtk.ActionGroup w1 = new global::Gtk.ActionGroup ("Default"); + this.FileAction = new global::Gtk.Action ("FileAction", "_File", null, null); + this.FileAction.ShortLabel = "_File"; + w1.Add (this.FileAction, "f"); + this.HelpAction = new global::Gtk.Action ("HelpAction", "_Help", null, null); + this.HelpAction.ShortLabel = "_Help"; + w1.Add (this.HelpAction, "a"); + this.AboutAction = new global::Gtk.Action ("AboutAction", "_About...", null, null); + this.AboutAction.ShortLabel = "_About..."; + w1.Add (this.AboutAction, "a"); + this.NewProfileAction = new global::Gtk.Action ("NewProfileAction", "_New Profile...", null, null); + this.NewProfileAction.ShortLabel = "_New Profile..."; + w1.Add (this.NewProfileAction, "n"); + this.OpenProfileAction = new global::Gtk.Action ("OpenProfileAction", "_Open Profile...", null, null); + this.OpenProfileAction.ShortLabel = "_Open Profile..."; + w1.Add (this.OpenProfileAction, "o"); + this.ExitAction = new global::Gtk.Action ("ExitAction", "E_xit", null, null); + this.ExitAction.ShortLabel = "E_xit"; + w1.Add (this.ExitAction, "x"); + this.ExportForPracticalPaintAction = new global::Gtk.Action ("ExportForPracticalPaintAction", "Export for _PracticalPaint...", null, null); + this.ExportForPracticalPaintAction.ShortLabel = "Export for _PracticalPaint..."; + w1.Add (this.ExportForPracticalPaintAction, null); + this.WindowAction = new global::Gtk.Action ("WindowAction", "_Window", null, null); + this.WindowAction.ShortLabel = "_Window"; + w1.Add (this.WindowAction, null); + this.RunSimulatorAction = new global::Gtk.Action ("RunSimulatorAction", "_Run Simulator", null, null); + this.RunSimulatorAction.ShortLabel = "_Run Simulator"; + w1.Add (this.RunSimulatorAction, null); + this.DebugAction = new global::Gtk.Action ("DebugAction", "Debug", null, null); + this.DebugAction.ShortLabel = "Debug"; + w1.Add (this.DebugAction, null); + this.ScreenshotAction = new global::Gtk.Action ("ScreenshotAction", "Screenshot", null, null); + this.ScreenshotAction.ShortLabel = "Screenshot"; + w1.Add (this.ScreenshotAction, null); + this.UIManager.InsertActionGroup (w1, 0); + this.AddAccelGroup (this.UIManager.AccelGroup); + this.Name = "MainWindow"; + this.Title = "Desert Paint Lab"; + this.WindowPosition = ((global::Gtk.WindowPosition)(4)); + // Container child MainWindow.Gtk.Container+ContainerChild + this.vbox1 = new global::Gtk.VBox (); + this.vbox1.Name = "vbox1"; + // Container child vbox1.Gtk.Box+BoxChild + this.UIManager.AddUiFromString (""); + this.menubar1 = ((global::Gtk.MenuBar)(this.UIManager.GetWidget ("/menubar1"))); + this.menubar1.Name = "menubar1"; + this.vbox1.Add (this.menubar1); + global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.menubar1])); + w2.Position = 0; + w2.Expand = false; + w2.Fill = false; + // Container child vbox1.Gtk.Box+BoxChild + this.hbox1 = new global::Gtk.HBox (); + this.hbox1.Name = "hbox1"; + this.hbox1.Spacing = 6; + this.hbox1.BorderWidth = ((uint)(4)); + // Container child hbox1.Gtk.Box+BoxChild + this.frame2 = new global::Gtk.Frame (); + this.frame2.Name = "frame2"; + this.frame2.BorderWidth = ((uint)(4)); + // Container child frame2.Gtk.Container+ContainerChild + this.GtkAlignment = new global::Gtk.Alignment (0F, 0F, 1F, 1F); + this.GtkAlignment.Name = "GtkAlignment"; + this.GtkAlignment.LeftPadding = ((uint)(6)); + this.GtkAlignment.RightPadding = ((uint)(6)); + // Container child GtkAlignment.Gtk.Container+ContainerChild + this.vbox3 = new global::Gtk.VBox (); + this.vbox3.Name = "vbox3"; + this.vbox3.Homogeneous = true; + this.vbox3.Spacing = 6; + // Container child vbox3.Gtk.Box+BoxChild + this.hbox6 = new global::Gtk.HBox (); + this.hbox6.Name = "hbox6"; + this.hbox6.Spacing = 6; + // Container child hbox6.Gtk.Box+BoxChild + this.label4 = new global::Gtk.Label (); + this.label4.Name = "label4"; + this.label4.LabelProp = "Ingredient 1:"; + this.hbox6.Add (this.label4); + global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox6 [this.label4])); + w3.Position = 0; + w3.Expand = false; + w3.Fill = false; + // Container child hbox6.Gtk.Box+BoxChild + this.ingredient1ComboBox = global::Gtk.ComboBox.NewText (); + this.ingredient1ComboBox.Name = "ingredient1ComboBox"; + this.hbox6.Add (this.ingredient1ComboBox); + global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox6 [this.ingredient1ComboBox])); + w4.Position = 1; + this.vbox3.Add (this.hbox6); + global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox6])); + w5.Position = 0; + w5.Expand = false; + w5.Fill = false; + // Container child vbox3.Gtk.Box+BoxChild + this.hbox7 = new global::Gtk.HBox (); + this.hbox7.Name = "hbox7"; + this.hbox7.Spacing = 6; + // Container child hbox7.Gtk.Box+BoxChild + this.label5 = new global::Gtk.Label (); + this.label5.Name = "label5"; + this.label5.LabelProp = "Ingredient 2:"; + this.hbox7.Add (this.label5); + global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.hbox7 [this.label5])); + w6.Position = 0; + w6.Expand = false; + w6.Fill = false; + // Container child hbox7.Gtk.Box+BoxChild + this.ingredient2ComboBox = global::Gtk.ComboBox.NewText (); + this.ingredient2ComboBox.Name = "ingredient2ComboBox"; + this.hbox7.Add (this.ingredient2ComboBox); + global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.hbox7 [this.ingredient2ComboBox])); + w7.Position = 1; + this.vbox3.Add (this.hbox7); + global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox7])); + w8.Position = 1; + w8.Expand = false; + w8.Fill = false; + // Container child vbox3.Gtk.Box+BoxChild + this.hbox8 = new global::Gtk.HBox (); + this.hbox8.Name = "hbox8"; + this.hbox8.Spacing = 6; + // Container child hbox8.Gtk.Box+BoxChild + this.label6 = new global::Gtk.Label (); + this.label6.Name = "label6"; + this.label6.LabelProp = "Ingredient 3:"; + this.hbox8.Add (this.label6); + global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox8 [this.label6])); + w9.Position = 0; + w9.Expand = false; + w9.Fill = false; + // Container child hbox8.Gtk.Box+BoxChild + this.ingredient3ComboBox = global::Gtk.ComboBox.NewText (); + this.ingredient3ComboBox.Name = "ingredient3ComboBox"; + this.hbox8.Add (this.ingredient3ComboBox); + global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.hbox8 [this.ingredient3ComboBox])); + w10.Position = 1; + this.vbox3.Add (this.hbox8); + global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox8])); + w11.Position = 2; + w11.Expand = false; + w11.Fill = false; + this.GtkAlignment.Add (this.vbox3); + this.frame2.Add (this.GtkAlignment); + this.GtkLabel2 = new global::Gtk.Label (); + this.GtkLabel2.Name = "GtkLabel2"; + this.GtkLabel2.LabelProp = "Select Ingredients"; + this.GtkLabel2.UseMarkup = true; + this.frame2.LabelWidget = this.GtkLabel2; + this.hbox1.Add (this.frame2); + global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.frame2])); + w14.Position = 0; + // Container child hbox1.Gtk.Box+BoxChild + this.frame3 = new global::Gtk.Frame (); + this.frame3.Name = "frame3"; + this.frame3.BorderWidth = ((uint)(4)); + // Container child frame3.Gtk.Container+ContainerChild + this.GtkAlignment1 = new global::Gtk.Alignment (0F, 0F, 1F, 1F); + this.GtkAlignment1.Name = "GtkAlignment1"; + this.GtkAlignment1.LeftPadding = ((uint)(5)); + this.GtkAlignment1.TopPadding = ((uint)(5)); + this.GtkAlignment1.RightPadding = ((uint)(5)); + this.GtkAlignment1.BottomPadding = ((uint)(6)); + // Container child GtkAlignment1.Gtk.Container+ContainerChild + this.vbox4 = new global::Gtk.VBox (); + this.vbox4.WidthRequest = 120; + this.vbox4.Name = "vbox4"; + this.vbox4.Spacing = 6; + // Container child vbox4.Gtk.Box+BoxChild + this.unmodifiedSwatch = new global::DesertPaintLab.PaintSwatch (); + this.unmodifiedSwatch.Events = ((global::Gdk.EventMask)(256)); + this.unmodifiedSwatch.Name = "unmodifiedSwatch"; + this.vbox4.Add (this.unmodifiedSwatch); + global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.unmodifiedSwatch])); + w15.Position = 0; + // Container child vbox4.Gtk.Box+BoxChild + this.captureButton = new global::Gtk.Button (); + this.captureButton.WidthRequest = 100; + this.captureButton.CanFocus = true; + this.captureButton.Name = "captureButton"; + this.captureButton.UseUnderline = true; + this.captureButton.Label = "Capture"; + this.vbox4.Add (this.captureButton); + global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.captureButton])); + w16.Position = 1; + w16.Expand = false; + w16.Fill = false; + this.GtkAlignment1.Add (this.vbox4); + this.frame3.Add (this.GtkAlignment1); + this.GtkLabel25 = new global::Gtk.Label (); + this.GtkLabel25.Name = "GtkLabel25"; + this.GtkLabel25.LabelProp = "Unmodified"; + this.GtkLabel25.UseMarkup = true; + this.frame3.LabelWidget = this.GtkLabel25; + this.hbox1.Add (this.frame3); + global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.frame3])); + w19.Position = 1; + w19.Expand = false; + w19.Fill = false; + // Container child hbox1.Gtk.Box+BoxChild + this.frame4 = new global::Gtk.Frame (); + this.frame4.Name = "frame4"; + this.frame4.BorderWidth = ((uint)(4)); + // Container child frame4.Gtk.Container+ContainerChild + this.GtkAlignment2 = new global::Gtk.Alignment (0F, 0F, 1F, 1F); + this.GtkAlignment2.WidthRequest = 130; + this.GtkAlignment2.Name = "GtkAlignment2"; + this.GtkAlignment2.LeftPadding = ((uint)(5)); + this.GtkAlignment2.TopPadding = ((uint)(5)); + this.GtkAlignment2.RightPadding = ((uint)(5)); + this.GtkAlignment2.BottomPadding = ((uint)(6)); + // Container child GtkAlignment2.Gtk.Container+ContainerChild + this.vbox5 = new global::Gtk.VBox (); + this.vbox5.WidthRequest = 120; + this.vbox5.Name = "vbox5"; + this.vbox5.Spacing = 6; + // Container child vbox5.Gtk.Box+BoxChild + this.reactionSwatch = new global::DesertPaintLab.PaintSwatch (); + this.reactionSwatch.Events = ((global::Gdk.EventMask)(256)); + this.reactionSwatch.Name = "reactionSwatch"; + this.vbox5.Add (this.reactionSwatch); + global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.reactionSwatch])); + w20.Position = 0; + // Container child vbox5.Gtk.Box+BoxChild + this.saveButton = new global::Gtk.Button (); + this.saveButton.WidthRequest = 100; + this.saveButton.CanFocus = true; + this.saveButton.Name = "saveButton"; + this.saveButton.UseUnderline = true; + this.saveButton.Label = "Record"; + this.vbox5.Add (this.saveButton); + global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.saveButton])); + w21.Position = 1; + w21.Expand = false; + w21.Fill = false; + this.GtkAlignment2.Add (this.vbox5); + this.frame4.Add (this.GtkAlignment2); + this.GtkLabel26 = new global::Gtk.Label (); + this.GtkLabel26.Name = "GtkLabel26"; + this.GtkLabel26.LabelProp = "Reaction"; + this.GtkLabel26.UseMarkup = true; + this.frame4.LabelWidget = this.GtkLabel26; + this.hbox1.Add (this.frame4); + global::Gtk.Box.BoxChild w24 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.frame4])); + w24.Position = 2; + w24.Expand = false; + w24.Fill = false; + this.vbox1.Add (this.hbox1); + global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hbox1])); + w25.Position = 1; + // Container child vbox1.Gtk.Box+BoxChild + this.statusBar = new global::Gtk.Statusbar (); + this.statusBar.Name = "statusBar"; + this.statusBar.Spacing = 6; + this.vbox1.Add (this.statusBar); + global::Gtk.Box.BoxChild w26 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.statusBar])); + w26.Position = 2; + w26.Expand = false; + w26.Fill = false; + this.Add (this.vbox1); + if ((this.Child != null)) { + this.Child.ShowAll (); + } + this.DefaultWidth = 629; + this.DefaultHeight = 265; + this.Show (); + this.DeleteEvent += new global::Gtk.DeleteEventHandler (this.OnDeleteEvent); + this.AboutAction.Activated += new global::System.EventHandler (this.OnAbout); + this.NewProfileAction.Activated += new global::System.EventHandler (this.OnNewProfile); + this.OpenProfileAction.Activated += new global::System.EventHandler (this.OnOpenProfile); + this.ExitAction.Activated += new global::System.EventHandler (this.OnMenuExit); + this.ExportForPracticalPaintAction.Activated += new global::System.EventHandler (this.OnExport); + this.RunSimulatorAction.Activated += new global::System.EventHandler (this.RunSimulator); + this.ScreenshotAction.Activated += new global::System.EventHandler (this.OnDebugScreenshot); + this.ingredient1ComboBox.Changed += new global::System.EventHandler (this.OnChangedIngredient1); + this.ingredient2ComboBox.Changed += new global::System.EventHandler (this.OnChangedIngredient2); + this.ingredient3ComboBox.Changed += new global::System.EventHandler (this.OnChangedIngredient3); + this.captureButton.Clicked += new global::System.EventHandler (this.OnCaptureButton); + this.saveButton.Clicked += new global::System.EventHandler (this.OnSaveButton); + } +} diff --git a/gtk-gui/generated.cs b/gtk-gui/generated.cs --- a/gtk-gui/generated.cs +++ b/gtk-gui/generated.cs @@ -1,121 +1,121 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace Stetic -{ - internal class Gui - { - private static bool initialized; - - internal static void Initialize (Gtk.Widget iconRenderer) - { - if ((Stetic.Gui.initialized == false)) { - Stetic.Gui.initialized = true; - } - } - } - - internal class BinContainer - { - private Gtk.Widget child; - - private Gtk.UIManager uimanager; - - public static BinContainer Attach (Gtk.Bin bin) - { - BinContainer bc = new BinContainer (); - bin.SizeRequested += new Gtk.SizeRequestedHandler (bc.OnSizeRequested); - bin.SizeAllocated += new Gtk.SizeAllocatedHandler (bc.OnSizeAllocated); - bin.Added += new Gtk.AddedHandler (bc.OnAdded); - return bc; - } - - private void OnSizeRequested (object sender, Gtk.SizeRequestedArgs args) - { - if ((this.child != null)) { - args.Requisition = this.child.SizeRequest (); - } - } - - private void OnSizeAllocated (object sender, Gtk.SizeAllocatedArgs args) - { - if ((this.child != null)) { - this.child.Allocation = args.Allocation; - } - } - - private void OnAdded (object sender, Gtk.AddedArgs args) - { - this.child = args.Widget; - } - - public void SetUiManager (Gtk.UIManager uim) - { - this.uimanager = uim; - this.child.Realized += new System.EventHandler (this.OnRealized); - } - - private void OnRealized (object sender, System.EventArgs args) - { - if ((this.uimanager != null)) { - Gtk.Widget w; - w = this.child.Toplevel; - if (((w != null) - && typeof(Gtk.Window).IsInstanceOfType (w))) { - ((Gtk.Window)(w)).AddAccelGroup (this.uimanager.AccelGroup); - this.uimanager = null; - } - } - } - } - - internal class IconLoader - { - public static Gdk.Pixbuf LoadIcon (Gtk.Widget widget, string name, Gtk.IconSize size) - { - Gdk.Pixbuf res = widget.RenderIcon (name, size, null); - if ((res != null)) { - return res; - } else { - int sz; - int sy; - global::Gtk.Icon.SizeLookup (size, out sz, out sy); - try { - return Gtk.IconTheme.Default.LoadIcon (name, sz, 0); - } catch (System.Exception) { - if ((name != "gtk-missing-image")) { - return Stetic.IconLoader.LoadIcon (widget, "gtk-missing-image", size); - } else { - Gdk.Pixmap pmap = new Gdk.Pixmap (Gdk.Screen.Default.RootWindow, sz, sz); - Gdk.GC gc = new Gdk.GC (pmap); - gc.RgbFgColor = new Gdk.Color (255, 255, 255); - pmap.DrawRectangle (gc, true, 0, 0, sz, sz); - gc.RgbFgColor = new Gdk.Color (0, 0, 0); - pmap.DrawRectangle (gc, false, 0, 0, (sz - 1), (sz - 1)); - gc.SetLineAttributes (3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round); - gc.RgbFgColor = new Gdk.Color (255, 0, 0); - pmap.DrawLine (gc, (sz / 4), (sz / 4), ((sz - 1) - - (sz / 4)), ((sz - 1) - - (sz / 4))); - pmap.DrawLine (gc, ((sz - 1) - - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) - - (sz / 4))); - return Gdk.Pixbuf.FromDrawable (pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz); - } - } - } - } - } - - internal class ActionGroups - { - public static Gtk.ActionGroup GetActionGroup (System.Type type) - { - return Stetic.ActionGroups.GetActionGroup (type.FullName); - } - - public static Gtk.ActionGroup GetActionGroup (string name) - { - return null; - } - } -} + +// This file has been generated by the GUI designer. Do not modify. +namespace Stetic +{ + internal class Gui + { + private static bool initialized; + + internal static void Initialize (Gtk.Widget iconRenderer) + { + if ((Stetic.Gui.initialized == false)) { + Stetic.Gui.initialized = true; + } + } + } + + internal class BinContainer + { + private Gtk.Widget child; + + private Gtk.UIManager uimanager; + + public static BinContainer Attach (Gtk.Bin bin) + { + BinContainer bc = new BinContainer (); + bin.SizeRequested += new Gtk.SizeRequestedHandler (bc.OnSizeRequested); + bin.SizeAllocated += new Gtk.SizeAllocatedHandler (bc.OnSizeAllocated); + bin.Added += new Gtk.AddedHandler (bc.OnAdded); + return bc; + } + + private void OnSizeRequested (object sender, Gtk.SizeRequestedArgs args) + { + if ((this.child != null)) { + args.Requisition = this.child.SizeRequest (); + } + } + + private void OnSizeAllocated (object sender, Gtk.SizeAllocatedArgs args) + { + if ((this.child != null)) { + this.child.Allocation = args.Allocation; + } + } + + private void OnAdded (object sender, Gtk.AddedArgs args) + { + this.child = args.Widget; + } + + public void SetUiManager (Gtk.UIManager uim) + { + this.uimanager = uim; + this.child.Realized += new System.EventHandler (this.OnRealized); + } + + private void OnRealized (object sender, System.EventArgs args) + { + if ((this.uimanager != null)) { + Gtk.Widget w; + w = this.child.Toplevel; + if (((w != null) + && typeof(Gtk.Window).IsInstanceOfType (w))) { + ((Gtk.Window)(w)).AddAccelGroup (this.uimanager.AccelGroup); + this.uimanager = null; + } + } + } + } + + internal class IconLoader + { + public static Gdk.Pixbuf LoadIcon (Gtk.Widget widget, string name, Gtk.IconSize size) + { + Gdk.Pixbuf res = widget.RenderIcon (name, size, null); + if ((res != null)) { + return res; + } else { + int sz; + int sy; + global::Gtk.Icon.SizeLookup (size, out sz, out sy); + try { + return Gtk.IconTheme.Default.LoadIcon (name, sz, 0); + } catch (System.Exception) { + if ((name != "gtk-missing-image")) { + return Stetic.IconLoader.LoadIcon (widget, "gtk-missing-image", size); + } else { + Gdk.Pixmap pmap = new Gdk.Pixmap (Gdk.Screen.Default.RootWindow, sz, sz); + Gdk.GC gc = new Gdk.GC (pmap); + gc.RgbFgColor = new Gdk.Color (255, 255, 255); + pmap.DrawRectangle (gc, true, 0, 0, sz, sz); + gc.RgbFgColor = new Gdk.Color (0, 0, 0); + pmap.DrawRectangle (gc, false, 0, 0, (sz - 1), (sz - 1)); + gc.SetLineAttributes (3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round); + gc.RgbFgColor = new Gdk.Color (255, 0, 0); + pmap.DrawLine (gc, (sz / 4), (sz / 4), ((sz - 1) + - (sz / 4)), ((sz - 1) + - (sz / 4))); + pmap.DrawLine (gc, ((sz - 1) + - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) + - (sz / 4))); + return Gdk.Pixbuf.FromDrawable (pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz); + } + } + } + } + } + + internal class ActionGroups + { + public static Gtk.ActionGroup GetActionGroup (System.Type type) + { + return Stetic.ActionGroups.GetActionGroup (type.FullName); + } + + public static Gtk.ActionGroup GetActionGroup (string name) + { + return null; + } + } +} diff --git a/gtk-gui/gui.stetic b/gtk-gui/gui.stetic --- a/gtk-gui/gui.stetic +++ b/gtk-gui/gui.stetic @@ -67,6 +67,17 @@ _Run Simulator + + Action + Debug + Debug + + + Action + Screenshot + Screenshot + + Desert Paint Lab @@ -92,6 +103,9 @@ + + +