diff options
author | Lluis Sanchez <slluis.devel@gmail.com> | 2011-11-29 13:38:25 +0400 |
---|---|---|
committer | Lluis Sanchez <slluis.devel@gmail.com> | 2011-11-29 13:38:25 +0400 |
commit | feb2b05326b19511537805df834ee87738a12b82 (patch) | |
tree | 666ab2837a82bb75feb4891afac9c3be4f5afc04 | |
parent | 4f811b86823fe6b802925ec8f6222768695ef086 (diff) | |
parent | 5a731849f711d62b5acbb0cd1e065ba122309387 (diff) |
Merge pull request #133 from carlosalberto/master
Allow the users to use IronPython when using the PyBinding addin
15 files changed, 345 insertions, 122 deletions
diff --git a/extras/PyBinding/PyBinding/Makefile b/extras/PyBinding/PyBinding/Makefile index 31c563a9b0..f2f98f2fc8 100644 --- a/extras/PyBinding/PyBinding/Makefile +++ b/extras/PyBinding/PyBinding/Makefile @@ -88,9 +88,11 @@ FILES = \ PyBinding.Parser/PythonResolver.cs \ PyBinding.Runtime/AbstractPythonRuntime.cs \ PyBinding.Runtime/IPythonRuntime.cs \ + PyBinding.Runtime/IronPythonRuntime.cs \ PyBinding.Runtime/Python25Runtime.cs \ PyBinding.Runtime/Python26Runtime.cs \ PyBinding.Runtime/Python27Runtime.cs \ + PyBinding/IronPythonExecutionHandler.cs \ PyBinding/PythonConfiguration.cs \ PyBinding/PythonExecutionCommand.cs \ PyBinding/PythonExecutionHandler.cs \ diff --git a/extras/PyBinding/PyBinding/PyBinding.Gui/PythonOptionsPanel.cs b/extras/PyBinding/PyBinding/PyBinding.Gui/PythonOptionsPanel.cs index deb787bf18..88258c98b5 100644 --- a/extras/PyBinding/PyBinding/PyBinding.Gui/PythonOptionsPanel.cs +++ b/extras/PyBinding/PyBinding/PyBinding.Gui/PythonOptionsPanel.cs @@ -53,9 +53,12 @@ namespace PyBinding.Gui { PythonConfiguration config = CurrentConfiguration as PythonConfiguration; + var runtime = widget.Runtime; + runtime.Path = widget.RuntimePath; + + config.Runtime = runtime; config.Module = widget.DefaultModule; config.Optimize = widget.Optimize; - config.Runtime = widget.Runtime; config.PythonOptions = widget.PythonOptions; var paths = new List<string> (widget.PythonPaths); diff --git a/extras/PyBinding/PyBinding/PyBinding.Gui/PythonOptionsWidget.cs b/extras/PyBinding/PyBinding/PyBinding.Gui/PythonOptionsWidget.cs index 5739f1261c..06fda7b544 100644 --- a/extras/PyBinding/PyBinding/PyBinding.Gui/PythonOptionsWidget.cs +++ b/extras/PyBinding/PyBinding/PyBinding.Gui/PythonOptionsWidget.cs @@ -60,6 +60,11 @@ namespace PyBinding.Gui m_RuntimeListStore.AppendValues ("Python 2.5", typeof (Python25Runtime)); m_RuntimeListStore.AppendValues ("Python 2.6", typeof (Python26Runtime)); m_RuntimeListStore.AppendValues ("Python 2.7", typeof (Python27Runtime)); + m_RuntimeListStore.AppendValues ("IronPython", typeof (IronPythonRuntime)); + + m_RuntimeCombo.Changed += delegate { + m_RuntimeFileEntry.Path = String.Empty; + }; } public string DefaultModule { @@ -131,12 +136,19 @@ namespace PyBinding.Gui Type t = this.m_RuntimeListStore.GetValue (iter, 1) as Type; if (t == value.GetType ()) { this.m_RuntimeCombo.SetActiveIter (iter); + this.m_RuntimeFileEntry.Path = value.Path; break; } } while (m_RuntimeListStore.IterNext (ref iter)); } } } + + public string RuntimePath { + get { + return m_RuntimeFileEntry.Path; + } + } protected virtual void AddPath_Clicked (object sender, System.EventArgs e) { diff --git a/extras/PyBinding/PyBinding/PyBinding.Runtime/AbstractPythonRuntime.cs b/extras/PyBinding/PyBinding/PyBinding.Runtime/AbstractPythonRuntime.cs index aabc0d3ab7..417748f03c 100644 --- a/extras/PyBinding/PyBinding/PyBinding.Runtime/AbstractPythonRuntime.cs +++ b/extras/PyBinding/PyBinding/PyBinding.Runtime/AbstractPythonRuntime.cs @@ -28,6 +28,7 @@ using System.Text; using MonoDevelop.Core; using MonoDevelop.Core.Serialization; +using MonoDevelop.Core.Execution; using MonoDevelop.Projects; using PyBinding; @@ -66,6 +67,7 @@ namespace PyBinding.Runtime public abstract object Clone (); public abstract string[] GetArguments (PythonConfiguration config); + public abstract IExecutionHandler GetExecutionHandler (); protected virtual string Resolve (string commandName) { diff --git a/extras/PyBinding/PyBinding/PyBinding.Runtime/IPythonRuntime.cs b/extras/PyBinding/PyBinding/PyBinding.Runtime/IPythonRuntime.cs index 3c1696d1c1..7a93c7b31b 100644 --- a/extras/PyBinding/PyBinding/PyBinding.Runtime/IPythonRuntime.cs +++ b/extras/PyBinding/PyBinding/PyBinding.Runtime/IPythonRuntime.cs @@ -21,6 +21,7 @@ // THE SOFTWARE. using System; +using MonoDevelop.Core.Execution; using PyBinding.Compiler; @@ -59,6 +60,11 @@ namespace PyBinding.Runtime } /// <summary> + /// Gets the associated execution handler for this specific runtime. + /// </summary> + IExecutionHandler GetExecutionHandler (); + + /// <summary> /// Builds a list of arguments to pass to the runtime for running /// a project with the passed configuration. /// </summary> diff --git a/extras/PyBinding/PyBinding/PyBinding.Runtime/IronPythonRuntime.cs b/extras/PyBinding/PyBinding/PyBinding.Runtime/IronPythonRuntime.cs new file mode 100644 index 0000000000..cc937b1928 --- /dev/null +++ b/extras/PyBinding/PyBinding/PyBinding.Runtime/IronPythonRuntime.cs @@ -0,0 +1,96 @@ +// IronPythonRuntime.cs +// +// Copyright (c) 2011 Carlos Alberto Cortez <calberto.cortez@gmail.com> +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +using System; +using System.Collections.Generic; +using MonoDevelop.Core; +using MonoDevelop.Core.Execution; +using MonoDevelop.Core.Serialization; +using MonoDevelop.Projects; + +using PyBinding.Compiler; + +namespace PyBinding.Runtime +{ + public class IronPythonRuntime : AbstractPythonRuntime + { + static readonly string RuntimeName = "IronPython"; + + [ItemProperty ("path")] + string path = String.Empty; + + public override IPythonCompiler Compiler { + get { + return null; + } + } + + public override string Name { + get { + return RuntimeName; + } + } + + public override string Path { + get { + if (String.IsNullOrEmpty (path)) + path = Resolve ("ipy.exe"); + + return path; + } + set { + path = value; + } + } + + public override object Clone () + { + return new IronPythonRuntime () { + Path = path + }; + } + + IExecutionHandler handler; + + public override IExecutionHandler GetExecutionHandler () + { + if (handler == null) + handler = new IronPythonExecutionHandler (); + + return handler; + } + + + public override string[] GetArguments (PythonConfiguration config) + { + var args = new List<string> (); + + if (!String.IsNullOrEmpty (config.Module)) + args.Add (System.IO.Path.ChangeExtension (config.Module, "py")); + + if (!String.IsNullOrEmpty (config.CommandLineParameters)) + args.Add (config.CommandLineParameters); + + return args.ToArray (); + } + } +} + diff --git a/extras/PyBinding/PyBinding/PyBinding.Runtime/Python25Runtime.cs b/extras/PyBinding/PyBinding/PyBinding.Runtime/Python25Runtime.cs index 2235a0d838..0813ef9722 100644 --- a/extras/PyBinding/PyBinding/PyBinding.Runtime/Python25Runtime.cs +++ b/extras/PyBinding/PyBinding/PyBinding.Runtime/Python25Runtime.cs @@ -25,6 +25,7 @@ using System.Collections.Generic; using System.IO; using MonoDevelop.Core; +using MonoDevelop.Core.Execution; using MonoDevelop.Projects; using MonoDevelop.Core.Serialization; using MonoDevelop.Projects.CodeGeneration; @@ -81,6 +82,16 @@ namespace PyBinding.Runtime }; } + IExecutionHandler handler; + + public override IExecutionHandler GetExecutionHandler () + { + if (handler == null) + handler = new CPythonExecutionHandler (); + + return handler; + } + public override string[] GetArguments (PythonConfiguration config) { List<string> args = new List<string> (); diff --git a/extras/PyBinding/PyBinding/PyBinding.Runtime/Python26Runtime.cs b/extras/PyBinding/PyBinding/PyBinding.Runtime/Python26Runtime.cs index 346718bb83..f044fb4fa5 100644 --- a/extras/PyBinding/PyBinding/PyBinding.Runtime/Python26Runtime.cs +++ b/extras/PyBinding/PyBinding/PyBinding.Runtime/Python26Runtime.cs @@ -25,6 +25,7 @@ using System.Collections.Generic; using System.IO; using MonoDevelop.Core; +using MonoDevelop.Core.Execution; using MonoDevelop.Projects; using MonoDevelop.Core.Serialization; using MonoDevelop.Projects.CodeGeneration; @@ -81,6 +82,16 @@ namespace PyBinding.Runtime Path = this.Path }; } + + IExecutionHandler handler; + + public override IExecutionHandler GetExecutionHandler () + { + if (handler == null) + handler = new CPythonExecutionHandler (); + + return handler; + } public override string[] GetArguments (PythonConfiguration config) { diff --git a/extras/PyBinding/PyBinding/PyBinding.Runtime/Python27Runtime.cs b/extras/PyBinding/PyBinding/PyBinding.Runtime/Python27Runtime.cs index 27260a34e7..860aed7120 100644 --- a/extras/PyBinding/PyBinding/PyBinding.Runtime/Python27Runtime.cs +++ b/extras/PyBinding/PyBinding/PyBinding.Runtime/Python27Runtime.cs @@ -26,6 +26,7 @@ using System.Collections.Generic; using System.IO; using MonoDevelop.Core; +using MonoDevelop.Core.Execution; using MonoDevelop.Projects; using MonoDevelop.Core.Serialization; using MonoDevelop.Projects.CodeGeneration; @@ -82,6 +83,16 @@ namespace PyBinding.Runtime Path = this.Path }; } + + IExecutionHandler handler; + + public override IExecutionHandler GetExecutionHandler () + { + if (handler == null) + handler = new CPythonExecutionHandler (); + + return handler; + } public override string[] GetArguments (PythonConfiguration config) { diff --git a/extras/PyBinding/PyBinding/PyBinding.addin.xml b/extras/PyBinding/PyBinding/PyBinding.addin.xml index dd654c0966..97d6b611c1 100644 --- a/extras/PyBinding/PyBinding/PyBinding.addin.xml +++ b/extras/PyBinding/PyBinding/PyBinding.addin.xml @@ -99,6 +99,7 @@ <DataType class = "PyBinding.Runtime.Python25Runtime"/> <DataType class = "PyBinding.Runtime.Python26Runtime"/> <DataType class = "PyBinding.Runtime.Python27Runtime"/> + <DataType class = "PyBinding.Runtime.IronPythonRuntime"/> <DataType class = "PyBinding.Compiler.Python25Compiler"/> </Extension> diff --git a/extras/PyBinding/PyBinding/PyBinding.csproj b/extras/PyBinding/PyBinding/PyBinding.csproj index 95d5ee4570..364fc4382e 100644 --- a/extras/PyBinding/PyBinding/PyBinding.csproj +++ b/extras/PyBinding/PyBinding/PyBinding.csproj @@ -183,6 +183,8 @@ <Compile Include="PyBinding.Parser\PythonResolver.cs" /> <Compile Include="PyBinding.Parser\PythonExpressionFinder.cs" /> <Compile Include="PyBinding.Runtime\Python27Runtime.cs" /> + <Compile Include="PyBinding.Runtime\IronPythonRuntime.cs" /> + <Compile Include="PyBinding\IronPythonExecutionHandler.cs" /> </ItemGroup> <ItemGroup> <EmbeddedResource Include="Resources\EmptyPyProject.xpt.xml"> @@ -245,4 +247,4 @@ </Properties> </MonoDevelop> </ProjectExtensions> -</Project>
\ No newline at end of file +</Project> diff --git a/extras/PyBinding/PyBinding/PyBinding/PythonExecutionHandler.cs b/extras/PyBinding/PyBinding/PyBinding/PythonExecutionHandler.cs index e9a4b9ce06..dd718f880b 100644 --- a/extras/PyBinding/PyBinding/PyBinding/PythonExecutionHandler.cs +++ b/extras/PyBinding/PyBinding/PyBinding/PythonExecutionHandler.cs @@ -30,7 +30,23 @@ using MonoDevelop.Core.Execution; namespace PyBinding { - public class PythonExecutionHandler: NativePlatformExecutionHandler + public class PythonExecutionHandler: IExecutionHandler + { + public bool CanExecute (ExecutionCommand command) + { + return command is PythonExecutionCommand; + } + + public IProcessAsyncOperation Execute (ExecutionCommand command, IConsole console) + { + var config = ((PythonExecutionCommand)command).Configuration; + return config.Runtime.GetExecutionHandler ().Execute (command, console); + } + + } + + // This is our default handler (used by Python2.5/2.6/2.7) + public class CPythonExecutionHandler : NativePlatformExecutionHandler { public override bool CanExecute (ExecutionCommand command) { @@ -38,11 +54,11 @@ namespace PyBinding } public override IProcessAsyncOperation Execute (ExecutionCommand command, IConsole console) - { + { PythonExecutionCommand cmd = (PythonExecutionCommand) command; string[] args = cmd.Configuration.Runtime.GetArguments (cmd.Configuration); - string dir = Path.GetFullPath (cmd.Configuration.OutputDirectory); + string dir = Path.GetFullPath (cmd.Configuration.OutputDirectory); NativeExecutionCommand ncmd = new NativeExecutionCommand (cmd.Configuration.Runtime.Path, string.Join (" ", args), dir, cmd.Configuration.EnvironmentVariables); return base.Execute (ncmd, console); diff --git a/extras/PyBinding/PyBinding/PyBinding/PythonHelper.cs b/extras/PyBinding/PyBinding/PyBinding/PythonHelper.cs index 194755229c..7fb3cb575d 100644 --- a/extras/PyBinding/PyBinding/PyBinding/PythonHelper.cs +++ b/extras/PyBinding/PyBinding/PyBinding/PythonHelper.cs @@ -129,6 +129,13 @@ namespace PyBinding } catch {} + try { + return new IronPythonRuntime () { + Path = Which ("ipy.exe") + }; + } + catch {} + // look for "python" and what version it is return null; @@ -145,4 +152,4 @@ namespace PyBinding throw new FileNotFoundException ("Could not locate python executable"); } } -}
\ No newline at end of file +} diff --git a/extras/PyBinding/PyBinding/gtk-gui/PyBinding.Gui.PythonOptionsWidget.cs b/extras/PyBinding/PyBinding/gtk-gui/PyBinding.Gui.PythonOptionsWidget.cs index b50687ed13..ac6a20136c 100644 --- a/extras/PyBinding/PyBinding/gtk-gui/PyBinding.Gui.PythonOptionsWidget.cs +++ b/extras/PyBinding/PyBinding/gtk-gui/PyBinding.Gui.PythonOptionsWidget.cs @@ -5,41 +5,26 @@ namespace PyBinding.Gui public partial class PythonOptionsWidget { private global::Gtk.VBox vbox1; - private global::Gtk.Label label1; - private global::Gtk.Alignment alignment1; - private global::Gtk.Table table1; - + private global::Gtk.Label label2; private global::Gtk.Label label4; - private global::Gtk.Label label5; - private global::Gtk.Entry m_ModuleEntry; - private global::Gtk.CheckButton m_OptimizeCheckBox; - private global::Gtk.Entry m_PythonOptions; - private global::Gtk.ComboBox m_RuntimeCombo; - + private global::MonoDevelop.Components.FileEntry m_RuntimeFileEntry; private global::Gtk.Label label3; - private global::Gtk.Alignment alignment2; - private global::Gtk.HBox hbox1; - private global::Gtk.ScrolledWindow scrolledwindow1; - private global::Gtk.TreeView m_PathsTreeView; - private global::Gtk.VBox vbox2; - private global::Gtk.Button m_AddPathButton; - private global::Gtk.Button m_RemovePathButton; - + protected virtual void Build () { global::Stetic.Gui.Initialize (this); @@ -53,45 +38,55 @@ namespace PyBinding.Gui // Container child vbox1.Gtk.Box+BoxChild this.label1 = new global::Gtk.Label (); this.label1.Name = "label1"; - this.label1.Xalign = 0f; + this.label1.Xalign = 0F; this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("<span weight=\"bold\">Runtime</span>"); this.label1.UseMarkup = true; this.vbox1.Add (this.label1); - global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox1[this.label1])); + global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.label1])); w1.Position = 0; w1.Expand = false; w1.Fill = false; // Container child vbox1.Gtk.Box+BoxChild - this.alignment1 = new global::Gtk.Alignment (0.5f, 0.5f, 1f, 1f); + this.alignment1 = new global::Gtk.Alignment (0.5F, 0.5F, 1F, 1F); this.alignment1.Name = "alignment1"; this.alignment1.LeftPadding = ((uint)(12)); // Container child alignment1.Gtk.Container+ContainerChild - this.table1 = new global::Gtk.Table (((uint)(5)), ((uint)(2)), false); + this.table1 = new global::Gtk.Table (((uint)(6)), ((uint)(2)), false); this.table1.Name = "table1"; this.table1.RowSpacing = ((uint)(6)); this.table1.ColumnSpacing = ((uint)(6)); // Container child table1.Gtk.Table+TableChild + this.label2 = new global::Gtk.Label (); + this.label2.Name = "label2"; + this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("Runtime location:"); + this.table1.Add (this.label2); + global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 [this.label2])); + w2.TopAttach = ((uint)(1)); + w2.BottomAttach = ((uint)(2)); + w2.XOptions = ((global::Gtk.AttachOptions)(4)); + w2.YOptions = ((global::Gtk.AttachOptions)(4)); + // Container child table1.Gtk.Table+TableChild this.label4 = new global::Gtk.Label (); this.label4.Name = "label4"; this.label4.LabelProp = global::Mono.Unix.Catalog.GetString ("Python _Options:"); this.label4.UseUnderline = true; this.table1.Add (this.label4); - global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1[this.label4])); - w2.TopAttach = ((uint)(1)); - w2.BottomAttach = ((uint)(2)); - w2.XOptions = ((global::Gtk.AttachOptions)(4)); - w2.YOptions = ((global::Gtk.AttachOptions)(4)); + global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1 [this.label4])); + w3.TopAttach = ((uint)(2)); + w3.BottomAttach = ((uint)(3)); + w3.XOptions = ((global::Gtk.AttachOptions)(4)); + w3.YOptions = ((global::Gtk.AttachOptions)(4)); // Container child table1.Gtk.Table+TableChild this.label5 = new global::Gtk.Label (); this.label5.Name = "label5"; this.label5.LabelProp = global::Mono.Unix.Catalog.GetString ("Default _Module:"); this.label5.UseUnderline = true; this.table1.Add (this.label5); - global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1[this.label5])); - w3.TopAttach = ((uint)(2)); - w3.BottomAttach = ((uint)(3)); - w3.XOptions = ((global::Gtk.AttachOptions)(4)); - w3.YOptions = ((global::Gtk.AttachOptions)(4)); + global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1 [this.label5])); + w4.TopAttach = ((uint)(3)); + w4.BottomAttach = ((uint)(4)); + w4.XOptions = ((global::Gtk.AttachOptions)(4)); + w4.YOptions = ((global::Gtk.AttachOptions)(4)); // Container child table1.Gtk.Table+TableChild this.m_ModuleEntry = new global::Gtk.Entry (); this.m_ModuleEntry.CanFocus = true; @@ -99,12 +94,12 @@ namespace PyBinding.Gui this.m_ModuleEntry.IsEditable = true; this.m_ModuleEntry.InvisibleChar = '●'; this.table1.Add (this.m_ModuleEntry); - global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1[this.m_ModuleEntry])); - w4.TopAttach = ((uint)(2)); - w4.BottomAttach = ((uint)(3)); - w4.LeftAttach = ((uint)(1)); - w4.RightAttach = ((uint)(2)); - w4.YOptions = ((global::Gtk.AttachOptions)(4)); + global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table1 [this.m_ModuleEntry])); + w5.TopAttach = ((uint)(3)); + w5.BottomAttach = ((uint)(4)); + w5.LeftAttach = ((uint)(1)); + w5.RightAttach = ((uint)(2)); + w5.YOptions = ((global::Gtk.AttachOptions)(4)); // Container child table1.Gtk.Table+TableChild this.m_OptimizeCheckBox = new global::Gtk.CheckButton (); this.m_OptimizeCheckBox.CanFocus = true; @@ -113,11 +108,11 @@ namespace PyBinding.Gui this.m_OptimizeCheckBox.DrawIndicator = true; this.m_OptimizeCheckBox.UseUnderline = true; this.table1.Add (this.m_OptimizeCheckBox); - global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table1[this.m_OptimizeCheckBox])); - w5.TopAttach = ((uint)(3)); - w5.BottomAttach = ((uint)(4)); - w5.RightAttach = ((uint)(2)); - w5.YOptions = ((global::Gtk.AttachOptions)(4)); + global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table1 [this.m_OptimizeCheckBox])); + w6.TopAttach = ((uint)(4)); + w6.BottomAttach = ((uint)(5)); + w6.RightAttach = ((uint)(2)); + w6.YOptions = ((global::Gtk.AttachOptions)(4)); // Container child table1.Gtk.Table+TableChild this.m_PythonOptions = new global::Gtk.Entry (); this.m_PythonOptions.CanFocus = true; @@ -125,39 +120,50 @@ namespace PyBinding.Gui this.m_PythonOptions.IsEditable = true; this.m_PythonOptions.InvisibleChar = '●'; this.table1.Add (this.m_PythonOptions); - global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table1[this.m_PythonOptions])); - w6.TopAttach = ((uint)(1)); - w6.BottomAttach = ((uint)(2)); - w6.LeftAttach = ((uint)(1)); - w6.RightAttach = ((uint)(2)); - w6.XOptions = ((global::Gtk.AttachOptions)(4)); - w6.YOptions = ((global::Gtk.AttachOptions)(4)); + global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.table1 [this.m_PythonOptions])); + w7.TopAttach = ((uint)(2)); + w7.BottomAttach = ((uint)(3)); + w7.LeftAttach = ((uint)(1)); + w7.RightAttach = ((uint)(2)); + w7.XOptions = ((global::Gtk.AttachOptions)(4)); + w7.YOptions = ((global::Gtk.AttachOptions)(4)); // Container child table1.Gtk.Table+TableChild this.m_RuntimeCombo = global::Gtk.ComboBox.NewText (); this.m_RuntimeCombo.Name = "m_RuntimeCombo"; this.table1.Add (this.m_RuntimeCombo); - global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.table1[this.m_RuntimeCombo])); - w7.RightAttach = ((uint)(2)); - w7.XOptions = ((global::Gtk.AttachOptions)(4)); - w7.YOptions = ((global::Gtk.AttachOptions)(4)); + global::Gtk.Table.TableChild w8 = ((global::Gtk.Table.TableChild)(this.table1 [this.m_RuntimeCombo])); + w8.RightAttach = ((uint)(2)); + w8.XOptions = ((global::Gtk.AttachOptions)(4)); + w8.YOptions = ((global::Gtk.AttachOptions)(4)); + // Container child table1.Gtk.Table+TableChild + this.m_RuntimeFileEntry = new global::MonoDevelop.Components.FileEntry (); + this.m_RuntimeFileEntry.Name = "m_RuntimeFileEntry"; + this.table1.Add (this.m_RuntimeFileEntry); + global::Gtk.Table.TableChild w9 = ((global::Gtk.Table.TableChild)(this.table1 [this.m_RuntimeFileEntry])); + w9.TopAttach = ((uint)(1)); + w9.BottomAttach = ((uint)(2)); + w9.LeftAttach = ((uint)(1)); + w9.RightAttach = ((uint)(2)); + w9.XOptions = ((global::Gtk.AttachOptions)(4)); + w9.YOptions = ((global::Gtk.AttachOptions)(4)); this.alignment1.Add (this.table1); this.vbox1.Add (this.alignment1); - global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox1[this.alignment1])); - w9.Position = 1; - w9.Expand = false; + global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.alignment1])); + w11.Position = 1; + w11.Expand = false; // Container child vbox1.Gtk.Box+BoxChild this.label3 = new global::Gtk.Label (); this.label3.Name = "label3"; - this.label3.Xalign = 0f; + this.label3.Xalign = 0F; this.label3.LabelProp = global::Mono.Unix.Catalog.GetString ("<span weight=\"bold\">Module Paths</span>"); this.label3.UseMarkup = true; this.vbox1.Add (this.label3); - global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.vbox1[this.label3])); - w10.Position = 2; - w10.Expand = false; - w10.Fill = false; + global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.label3])); + w12.Position = 2; + w12.Expand = false; + w12.Fill = false; // Container child vbox1.Gtk.Box+BoxChild - this.alignment2 = new global::Gtk.Alignment (0.5f, 0.5f, 1f, 1f); + this.alignment2 = new global::Gtk.Alignment (0.5F, 0.5F, 1F, 1F); this.alignment2.Name = "alignment2"; this.alignment2.LeftPadding = ((uint)(12)); // Container child alignment2.Gtk.Container+ContainerChild @@ -170,17 +176,17 @@ namespace PyBinding.Gui this.scrolledwindow1.Name = "scrolledwindow1"; this.scrolledwindow1.ShadowType = ((global::Gtk.ShadowType)(1)); // Container child scrolledwindow1.Gtk.Container+ContainerChild - global::Gtk.Viewport w11 = new global::Gtk.Viewport (); - w11.ShadowType = ((global::Gtk.ShadowType)(0)); + global::Gtk.Viewport w13 = new global::Gtk.Viewport (); + w13.ShadowType = ((global::Gtk.ShadowType)(0)); // Container child GtkViewport.Gtk.Container+ContainerChild this.m_PathsTreeView = new global::Gtk.TreeView (); this.m_PathsTreeView.CanFocus = true; this.m_PathsTreeView.Name = "m_PathsTreeView"; - w11.Add (this.m_PathsTreeView); - this.scrolledwindow1.Add (w11); + w13.Add (this.m_PathsTreeView); + this.scrolledwindow1.Add (w13); this.hbox1.Add (this.scrolledwindow1); - global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.hbox1[this.scrolledwindow1])); - w14.Position = 0; + global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.scrolledwindow1])); + w16.Position = 0; // Container child hbox1.Gtk.Box+BoxChild this.vbox2 = new global::Gtk.VBox (); this.vbox2.Name = "vbox2"; @@ -193,10 +199,10 @@ namespace PyBinding.Gui this.m_AddPathButton.UseUnderline = true; this.m_AddPathButton.Label = "gtk-add"; this.vbox2.Add (this.m_AddPathButton); - global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.vbox2[this.m_AddPathButton])); - w15.Position = 0; - w15.Expand = false; - w15.Fill = false; + global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.m_AddPathButton])); + w17.Position = 0; + w17.Expand = false; + w17.Fill = false; // Container child vbox2.Gtk.Box+BoxChild this.m_RemovePathButton = new global::Gtk.Button (); this.m_RemovePathButton.Sensitive = false; @@ -206,23 +212,24 @@ namespace PyBinding.Gui this.m_RemovePathButton.UseUnderline = true; this.m_RemovePathButton.Label = "gtk-remove"; this.vbox2.Add (this.m_RemovePathButton); - global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.vbox2[this.m_RemovePathButton])); - w16.Position = 1; - w16.Expand = false; - w16.Fill = false; + global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.m_RemovePathButton])); + w18.Position = 1; + w18.Expand = false; + w18.Fill = false; this.hbox1.Add (this.vbox2); - global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.hbox1[this.vbox2])); - w17.Position = 1; - w17.Expand = false; - w17.Fill = false; + global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox2])); + w19.Position = 1; + w19.Expand = false; + w19.Fill = false; this.alignment2.Add (this.hbox1); this.vbox1.Add (this.alignment2); - global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.vbox1[this.alignment2])); - w19.Position = 3; + global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.alignment2])); + w21.Position = 3; this.Add (this.vbox1); if ((this.Child != null)) { this.Child.ShowAll (); } + this.label2.MnemonicWidget = this.alignment2; this.label4.MnemonicWidget = this.m_PythonOptions; this.label5.MnemonicWidget = this.m_ModuleEntry; this.Show (); diff --git a/extras/PyBinding/PyBinding/gtk-gui/gui.stetic b/extras/PyBinding/PyBinding/gtk-gui/gui.stetic index d849edb1b8..36ebd72825 100644 --- a/extras/PyBinding/PyBinding/gtk-gui/gui.stetic +++ b/extras/PyBinding/PyBinding/gtk-gui/gui.stetic @@ -6,28 +6,24 @@ </configuration> <import> <widget-library name="Mono.TextEditor, Version=1.0.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Gettext, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Ide, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Projects.Gui, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Components, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.GtkCore, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Core.Gui, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Autotools, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.SourceEditor2, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Debugger, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Refactoring, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.VersionControl, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.NUnit, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.XmlEditor, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.AspNet, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Deployment, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Deployment.Linux, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.DesignerSupport, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.VBNetBinding, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.CBinding, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.CSharpBinding, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Moonlight, Version=2.2.0.0, Culture=neutral" /> - <widget-library name="MonoDevelop.Debugger.Soft, Version=2.2.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Gettext, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Ide, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.GtkCore, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.SourceEditor2, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Debugger, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Refactoring, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.VersionControl, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.NUnit, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.XmlEditor, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.AspNet, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Deployment, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Deployment.Linux, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.DesignerSupport, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.VBNetBinding, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.CBinding, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.CSharpBinding, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Moonlight, Version=2.6.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Debugger.Soft, Version=2.6.0.0, Culture=neutral" /> <widget-library name="../../build/PyBinding.dll" internal="true" /> </import> <widget class="Gtk.Bin" id="PyBinding.Gui.PythonOptionsWidget" design-size="491 382"> @@ -57,7 +53,7 @@ <child> <widget class="Gtk.Table" id="table1"> <property name="MemberName" /> - <property name="NRows">5</property> + <property name="NRows">6</property> <property name="NColumns">2</property> <property name="RowSpacing">6</property> <property name="ColumnSpacing">6</property> @@ -68,6 +64,26 @@ <placeholder /> </child> <child> + <widget class="Gtk.Label" id="label2"> + <property name="MemberName" /> + <property name="LabelProp" translatable="yes">Runtime location:</property> + <property name="MnemonicWidget">alignment2</property> + </widget> + <packing> + <property name="TopAttach">1</property> + <property name="BottomAttach">2</property> + <property name="AutoSize">True</property> + <property name="XOptions">Fill</property> + <property name="YOptions">Fill</property> + <property name="XExpand">False</property> + <property name="XFill">True</property> + <property name="XShrink">False</property> + <property name="YExpand">False</property> + <property name="YFill">True</property> + <property name="YShrink">False</property> + </packing> + </child> + <child> <widget class="Gtk.Label" id="label4"> <property name="MemberName" /> <property name="LabelProp" translatable="yes">Python _Options:</property> @@ -75,8 +91,8 @@ <property name="MnemonicWidget">m_PythonOptions</property> </widget> <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> + <property name="TopAttach">2</property> + <property name="BottomAttach">3</property> <property name="AutoSize">True</property> <property name="XOptions">Fill</property> <property name="YOptions">Fill</property> @@ -96,8 +112,8 @@ <property name="MnemonicWidget">m_ModuleEntry</property> </widget> <packing> - <property name="TopAttach">2</property> - <property name="BottomAttach">3</property> + <property name="TopAttach">3</property> + <property name="BottomAttach">4</property> <property name="AutoSize">False</property> <property name="XOptions">Fill</property> <property name="YOptions">Fill</property> @@ -117,8 +133,8 @@ <property name="InvisibleChar">●</property> </widget> <packing> - <property name="TopAttach">2</property> - <property name="BottomAttach">3</property> + <property name="TopAttach">3</property> + <property name="BottomAttach">4</property> <property name="LeftAttach">1</property> <property name="RightAttach">2</property> <property name="AutoSize">False</property> @@ -141,8 +157,8 @@ <property name="UseUnderline">True</property> </widget> <packing> - <property name="TopAttach">3</property> - <property name="BottomAttach">4</property> + <property name="TopAttach">4</property> + <property name="BottomAttach">5</property> <property name="RightAttach">2</property> <property name="AutoSize">False</property> <property name="YOptions">Fill</property> @@ -162,8 +178,8 @@ <property name="InvisibleChar">●</property> </widget> <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> + <property name="TopAttach">2</property> + <property name="BottomAttach">3</property> <property name="LeftAttach">1</property> <property name="RightAttach">2</property> <property name="AutoSize">True</property> @@ -196,6 +212,26 @@ <property name="YShrink">False</property> </packing> </child> + <child> + <widget class="MonoDevelop.Components.FileEntry" id="m_RuntimeFileEntry"> + <property name="MemberName" /> + </widget> + <packing> + <property name="TopAttach">1</property> + <property name="BottomAttach">2</property> + <property name="LeftAttach">1</property> + <property name="RightAttach">2</property> + <property name="AutoSize">True</property> + <property name="XOptions">Fill</property> + <property name="YOptions">Fill</property> + <property name="XExpand">False</property> + <property name="XFill">True</property> + <property name="XShrink">False</property> + <property name="YExpand">False</property> + <property name="YFill">True</property> + <property name="YShrink">False</property> + </packing> + </child> </widget> </child> </widget> |