diff --git a/DMX-2.0/DMX-2.0.csproj b/DMX-2.0/DMX-2.0.csproj
index ead22f0..2ce78fa 100644
--- a/DMX-2.0/DMX-2.0.csproj
+++ b/DMX-2.0/DMX-2.0.csproj
@@ -109,6 +109,9 @@
+
+
+
diff --git a/DMX-2.0/DriverBoitierV1.cs b/DMX-2.0/DriverBoitierV1.cs
index fd017e4..b66f05d 100644
--- a/DMX-2.0/DriverBoitierV1.cs
+++ b/DMX-2.0/DriverBoitierV1.cs
@@ -35,13 +35,14 @@ namespace DMX2
//Thread de boucle
Thread loopthread=null;
- UniversDMX patch=null;
+ public UniversDMX patch=null;
- string portname = "/dev/ttyUSB0";
+ string portname = "";
SerialPort serial = null;
public DriverBoitierV1 (string serialport, string id): base(id)
{
+ portname = serialport;
//patch = Conduite.Courante.Patches[0];
//Start();
//serial = serialport;
diff --git a/DMX-2.0/DriverBoitierV1UI.cs b/DMX-2.0/DriverBoitierV1UI.cs
index 72ba9cb..f445d40 100644
--- a/DMX-2.0/DriverBoitierV1UI.cs
+++ b/DMX-2.0/DriverBoitierV1UI.cs
@@ -1,4 +1,7 @@
using System;
+using System.Collections.Generic;
+using Gtk;
+using System.IO;
namespace DMX2
{
@@ -10,7 +13,44 @@ namespace DMX2
{
drv = _drv;
this.Build ();
+ ConstruitCBUnivers();
}
+
+ ListStore lsCbUnivers = new ListStore(typeof(UniversDMX));
+ void ConstruitCBUnivers ()
+ {
+ cbUnivers.Model = lsCbUnivers;
+ var cellCbUnivers = new CellRendererText();
+ cbUnivers.PackStart(cellCbUnivers,false);
+ cbUnivers.SetCellDataFunc(cellCbUnivers, new CellLayoutDataFunc(RenderUniversName));
+
+
+ foreach(UniversDMX u in Conduite.Courante.Patches)
+ lsCbUnivers.AppendValues(u);
+
+ TreeIter iter;
+ lsCbUnivers.GetIterFirst(out iter);
+ cbUnivers.SetActiveIter(iter);
+
+ }
+
+ void RenderUniversName (CellLayout cell_layout, CellRenderer cell, TreeModel tree_model, TreeIter iter)
+ {
+ UniversDMX univers = tree_model.GetValue (iter, 0) as UniversDMX;
+ if(univers != null)
+ (cell as Gtk.CellRendererText).Text = univers.Nom;
+ }
+
+ protected void OnCbUniversChanged (object sender, EventArgs e)
+ {
+ TreeIter iter;
+ if(cbUnivers.GetActiveIter(out iter))
+ {
+ drv.patch = lsCbUnivers.GetValue(iter,0) as UniversDMX;
+
+ }
+ }
+
}
}
diff --git a/DMX-2.0/DriverBoitierV2.cs b/DMX-2.0/DriverBoitierV2.cs
new file mode 100644
index 0000000..afac87a
--- /dev/null
+++ b/DMX-2.0/DriverBoitierV2.cs
@@ -0,0 +1,282 @@
+using System;
+using System.Threading;
+using System.IO.Ports;
+
+namespace DMX2
+{
+ public class DriverBoitierV2 : DriverDMX, IEventProvider
+ {
+
+ struct buttonState {
+ public buttonState(byte _button, bool _pressed){
+ button=_button; pressed=_pressed;
+ }
+ public byte button;
+ public bool pressed;
+ }
+
+ enum etatAutomate {
+ Deconnecte,
+ Transmission,
+ Erreur,
+ Reset,
+ Parametrage,
+ Fin
+ }
+
+ bool[] buttons = new bool[8];
+ bool[] watchButtons = new bool[8];
+
+
+ // tampons Entrée/Sortie
+ byte[] inputbuffer = new byte[1];
+ byte[] outputbuffer = new byte[260];
+
+ //Thread de boucle
+ Thread loopthread=null;
+
+ public UniversDMX patch=null;
+
+ string portname = "";
+ SerialPort serial = null;
+
+ public DriverBoitierV2 (string serialport, string id): base(id)
+ {
+ portname = serialport;
+ //patch = Conduite.Courante.Patches[0];
+ //Start();
+ //serial = serialport;
+ outputbuffer[0]=27;
+ outputbuffer[1]=68;
+ outputbuffer[4]=255;
+
+ }
+
+ void Start ()
+ {
+ if (loopthread == null) {
+ loopthread = new Thread(new ThreadStart(MainLoop));
+ loopthread.Start();
+ }
+ }
+
+ void Connection ()
+ {
+ if (serial != null) {
+ serial.Close();
+ serial.Dispose();
+ }
+ serial = new SerialPort(portname, 460800,Parity.None,8,StopBits.One);
+ serial.DtrEnable = false;
+ serial.ReadTimeout = 15;
+ serial.WriteTimeout = 200;
+ serial.Open();
+ etat = etatAutomate.Transmission;
+ }
+
+ volatile etatAutomate etat = etatAutomate.Deconnecte;
+ DateTime finAttente = DateTime.Now;
+
+ void MainLoop()
+ {
+ while(etat != etatAutomate.Fin)
+ {
+ switch (etat) {
+ case etatAutomate.Deconnecte:
+ Connection();
+ Attente(DateTime.Now.AddMilliseconds(200));
+ break;
+ case etatAutomate.Transmission:
+ finAttente = DateTime.Now.AddMilliseconds (22);
+ EnvoiTrame();
+ Reception();
+ Attente(finAttente);
+ break;
+ case etatAutomate.Erreur:
+ Deconnecte();
+ Attente(DateTime.Now.AddSeconds(2));
+ break;
+// case etatAutomate.Parametrage:
+// EnvoiParam();
+// break;
+// case etatAutomate.Reset:
+// EnvoiReset();
+// break;
+ }
+ }
+ Deconnecte();
+ }
+
+ void Attente (DateTime date)
+ {
+ int sleeptime = (int) (date - DateTime.Now).TotalMilliseconds;
+ if(sleeptime>2)
+ Thread.Sleep(sleeptime);
+
+ while (DateTime.Now\d+)?",
+ System.Text.RegularExpressions.RegexOptions.Compiled);
+
+ System.Collections.Concurrent.ConcurrentQueue eventsPending =
+ new System.Collections.Concurrent.ConcurrentQueue();
+
+ bool IEventProvider.Bind (string eventId)
+ {
+ var res = regexEventID.Match (eventId);
+ if (res.Success) {
+ int bt = int.Parse (res.Groups ["button"].Value);
+ if(bt<0||bt>7) return false;
+ watchButtons[bt] = true;
+ return true;
+ }
+ return false;
+ }
+
+ void IEventProvider.Unbind (string eventId)
+ {
+ var res = regexEventID.Match (eventId);
+ if (res.Success) {
+ int bt = int.Parse (res.Groups ["button"].Value);
+ if(bt<0||bt>7) return ;
+ watchButtons[bt] = false;
+ }
+ return;
+ }
+
+ Gtk.Menu IEventProvider.GetProviderSubMenu (EventManager.EventMenuData state, Gtk.ButtonPressEventHandler handler)
+ {
+ Gtk.Menu retmenu = new Gtk.Menu ();
+
+ Gtk.MenuItem evmenuitem = new Gtk.MenuItem ("Boutons");
+ retmenu.Add (evmenuitem);
+ Gtk.Menu evmenu = new Gtk.Menu ();
+ evmenuitem.Submenu = evmenu;
+
+ for (int i= 0; i<8;i++ ) {
+ Gtk.MenuItem item = new Gtk.MenuItem(string.Format("Bouton {0}",i+1));
+ item.Data[EventManager.EventIdKey] = string.Format("BV2-B{0}",i);
+ item.Data[EventManager.StateKey] = state;
+ item.ButtonPressEvent += handler;
+ evmenu.Add (item);
+ }
+ return retmenu;
+ }
+
+ void IEventProvider.ProcessEvents (EventManagerCallback callback)
+ {
+ buttonState bt;
+ EventData evd;
+ while (eventsPending.TryDequeue(out bt)) {
+ evd.id= string.Format("BV2-B{0}",bt.button );
+ evd.value = bt.pressed?(byte)0xFF:(byte)0x00;
+ callback(evd);
+ }
+ }
+
+ string IEventProvider.MenuName {
+ get {
+ return "Boitier V2";
+ }
+ }
+ #endregion
+
+
+ }
+}
+
diff --git a/DMX-2.0/DriverBoitierV2UI.cs b/DMX-2.0/DriverBoitierV2UI.cs
new file mode 100644
index 0000000..e4249cf
--- /dev/null
+++ b/DMX-2.0/DriverBoitierV2UI.cs
@@ -0,0 +1,67 @@
+using System;
+using System.Collections.Generic;
+using Gtk;
+using System.IO;
+
+namespace DMX2
+{
+ [System.ComponentModel.ToolboxItem(true)]
+ public partial class DriverBoitierV2UI : Gtk.Bin
+ {
+ DriverBoitierV2 drv;
+ public DriverBoitierV2UI (DriverBoitierV2 _drv)
+ {
+ drv = _drv;
+ this.Build ();
+ ConstruitCBUnivers();
+ }
+
+ ListStore lsCbUnivers1 = new ListStore(typeof(UniversDMX));
+ ListStore lsCbUnivers2 = new ListStore(typeof(UniversDMX));
+ void ConstruitCBUnivers ()
+ {
+ cbUnivers1.Model = lsCbUnivers1;
+ var cellCbUnivers1 = new CellRendererText();
+ cbUnivers1.PackStart(cellCbUnivers1,false);
+ cbUnivers1.SetCellDataFunc(cellCbUnivers1, new CellLayoutDataFunc(RenderUniversName1));
+
+
+ foreach(UniversDMX u in Conduite.Courante.Patches)
+ lsCbUnivers1.AppendValues(u);
+
+ TreeIter iter;
+ lsCbUnivers1.GetIterFirst(out iter);
+ cbUnivers1.SetActiveIter(iter);
+
+ cbUnivers2.Model = lsCbUnivers2;
+ var cellCbUnivers2 = new CellRendererText();
+ cbUnivers2.PackStart(cellCbUnivers2,false);
+ cbUnivers2.SetCellDataFunc(cellCbUnivers2, new CellLayoutDataFunc(RenderUniversName2));
+
+
+ foreach(UniversDMX u in Conduite.Courante.Patches)
+ lsCbUnivers2.AppendValues(u);
+
+ //TreeIter iter;
+ lsCbUnivers2.GetIterFirst(out iter);
+ cbUnivers2.SetActiveIter(iter);
+
+ }
+
+ void RenderUniversName1 (CellLayout cell_layout, CellRenderer cell, TreeModel tree_model, TreeIter iter)
+ {
+ UniversDMX univers = tree_model.GetValue (iter, 0) as UniversDMX;
+ if(univers != null)
+ (cell as Gtk.CellRendererText).Text = univers.Nom;
+ }
+
+ void RenderUniversName2 (CellLayout cell_layout, CellRenderer cell, TreeModel tree_model, TreeIter iter)
+ {
+ UniversDMX univers = tree_model.GetValue (iter, 0) as UniversDMX;
+ if(univers != null)
+ (cell as Gtk.CellRendererText).Text = univers.Nom;
+ }
+
+ }
+}
+
diff --git a/DMX-2.0/GestionDriversUI.cs b/DMX-2.0/GestionDriversUI.cs
index eec1dbe..8cc294a 100644
--- a/DMX-2.0/GestionDriversUI.cs
+++ b/DMX-2.0/GestionDriversUI.cs
@@ -19,7 +19,6 @@ namespace DMX2
lsDriver = new Gtk.ListStore(typeof (String));
lsDriver.AppendValues("V1 256/0/0/8","0");
- lsDriver.AppendValues("V2 512/512/16/16","1");
lsDriver.AppendValues("V2 1024/512/16/16","2");
comboDriver.Model = lsDriver;
@@ -140,6 +139,10 @@ namespace DMX2
drv = new DriverBoitierV1(fi.FullName, fi.Name);
Conduite.Courante.Drivers.Add(drv);
break;
+ case 1:
+ drv = new DriverBoitierV2(fi.FullName, fi.Name);
+ Conduite.Courante.Drivers.Add(drv);
+ break;
default:
return;
}
diff --git a/DMX-2.0/gtk-gui/DMX2.DriverBoitierV1UI.cs b/DMX-2.0/gtk-gui/DMX2.DriverBoitierV1UI.cs
index e708cfe..d439474 100644
--- a/DMX-2.0/gtk-gui/DMX2.DriverBoitierV1UI.cs
+++ b/DMX-2.0/gtk-gui/DMX2.DriverBoitierV1UI.cs
@@ -7,7 +7,7 @@ namespace DMX2
private global::Gtk.VBox vbox2;
private global::Gtk.Label label1;
private global::Gtk.Table table1;
- private global::Gtk.ComboBox combobox1;
+ private global::Gtk.ComboBox cbUnivers;
private global::Gtk.Label label4;
private global::Gtk.Label label5;
private global::Gtk.Label lblEtat;
@@ -37,10 +37,10 @@ namespace DMX2
this.table1.RowSpacing = ((uint)(6));
this.table1.ColumnSpacing = ((uint)(6));
// Container child table1.Gtk.Table+TableChild
- this.combobox1 = global::Gtk.ComboBox.NewText ();
- this.combobox1.Name = "combobox1";
- this.table1.Add (this.combobox1);
- global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 [this.combobox1]));
+ this.cbUnivers = global::Gtk.ComboBox.NewText ();
+ this.cbUnivers.Name = "cbUnivers";
+ this.table1.Add (this.cbUnivers);
+ global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 [this.cbUnivers]));
w2.TopAttach = ((uint)(1));
w2.BottomAttach = ((uint)(2));
w2.LeftAttach = ((uint)(1));
@@ -68,7 +68,7 @@ namespace DMX2
// Container child table1.Gtk.Table+TableChild
this.lblEtat = new global::Gtk.Label ();
this.lblEtat.Name = "lblEtat";
- this.lblEtat.LabelProp = "label6";
+ this.lblEtat.LabelProp = "Univer associé";
this.table1.Add (this.lblEtat);
global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table1 [this.lblEtat]));
w5.LeftAttach = ((uint)(1));
diff --git a/DMX-2.0/gtk-gui/DMX2.DriverBoitierV2UI.cs b/DMX-2.0/gtk-gui/DMX2.DriverBoitierV2UI.cs
new file mode 100644
index 0000000..5ea537a
--- /dev/null
+++ b/DMX-2.0/gtk-gui/DMX2.DriverBoitierV2UI.cs
@@ -0,0 +1,218 @@
+
+// This file has been generated by the GUI designer. Do not modify.
+namespace DMX2
+{
+ public partial class DriverBoitierV2UI
+ {
+ private global::Gtk.VBox vbox2;
+ private global::Gtk.Label label1;
+ private global::Gtk.Table table1;
+ private global::Gtk.ComboBox cbUnivers1;
+ private global::Gtk.ComboBox cbUnivers2;
+ private global::Gtk.Entry entry1;
+ private global::Gtk.Entry entry2;
+ private global::Gtk.Entry entry3;
+ private global::Gtk.Entry entry4;
+ private global::Gtk.Label label2;
+ private global::Gtk.Label label3;
+ private global::Gtk.Label label4;
+ private global::Gtk.Label label5;
+ private global::Gtk.Label label6;
+ private global::Gtk.Label label7;
+ private global::Gtk.HBox hbox1;
+ private global::Gtk.Button button120;
+
+ protected virtual void Build ()
+ {
+ global::Stetic.Gui.Initialize (this);
+ // Widget DMX2.DriverBoitierV2UI
+ global::Stetic.BinContainer.Attach (this);
+ this.Name = "DMX2.DriverBoitierV2UI";
+ // Container child DMX2.DriverBoitierV2UI.Gtk.Container+ContainerChild
+ this.vbox2 = new global::Gtk.VBox ();
+ this.vbox2.Name = "vbox2";
+ this.vbox2.Spacing = 6;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.label1 = new global::Gtk.Label ();
+ this.label1.Name = "label1";
+ this.label1.LabelProp = "Driver V2";
+ this.vbox2.Add (this.label1);
+ global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.label1]));
+ w1.Position = 0;
+ w1.Expand = false;
+ w1.Fill = false;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.table1 = new global::Gtk.Table (((uint)(3)), ((uint)(4)), false);
+ this.table1.Name = "table1";
+ this.table1.RowSpacing = ((uint)(6));
+ this.table1.ColumnSpacing = ((uint)(6));
+ // Container child table1.Gtk.Table+TableChild
+ this.cbUnivers1 = global::Gtk.ComboBox.NewText ();
+ this.cbUnivers1.Name = "cbUnivers1";
+ this.table1.Add (this.cbUnivers1);
+ global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 [this.cbUnivers1]));
+ w2.TopAttach = ((uint)(1));
+ w2.BottomAttach = ((uint)(2));
+ w2.LeftAttach = ((uint)(1));
+ w2.RightAttach = ((uint)(2));
+ w2.XOptions = ((global::Gtk.AttachOptions)(4));
+ w2.YOptions = ((global::Gtk.AttachOptions)(4));
+ // Container child table1.Gtk.Table+TableChild
+ this.cbUnivers2 = global::Gtk.ComboBox.NewText ();
+ this.cbUnivers2.Name = "cbUnivers2";
+ this.table1.Add (this.cbUnivers2);
+ global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1 [this.cbUnivers2]));
+ w3.TopAttach = ((uint)(2));
+ w3.BottomAttach = ((uint)(3));
+ w3.LeftAttach = ((uint)(1));
+ w3.RightAttach = ((uint)(2));
+ w3.XOptions = ((global::Gtk.AttachOptions)(4));
+ w3.YOptions = ((global::Gtk.AttachOptions)(4));
+ // Container child table1.Gtk.Table+TableChild
+ this.entry1 = new global::Gtk.Entry ();
+ this.entry1.CanFocus = true;
+ this.entry1.Name = "entry1";
+ this.entry1.IsEditable = true;
+ this.entry1.InvisibleChar = '•';
+ this.table1.Add (this.entry1);
+ global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1 [this.entry1]));
+ w4.TopAttach = ((uint)(1));
+ w4.BottomAttach = ((uint)(2));
+ w4.LeftAttach = ((uint)(2));
+ w4.RightAttach = ((uint)(3));
+ w4.XOptions = ((global::Gtk.AttachOptions)(4));
+ w4.YOptions = ((global::Gtk.AttachOptions)(4));
+ // Container child table1.Gtk.Table+TableChild
+ this.entry2 = new global::Gtk.Entry ();
+ this.entry2.CanFocus = true;
+ this.entry2.Name = "entry2";
+ this.entry2.IsEditable = true;
+ this.entry2.InvisibleChar = '•';
+ this.table1.Add (this.entry2);
+ global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table1 [this.entry2]));
+ w5.TopAttach = ((uint)(1));
+ w5.BottomAttach = ((uint)(2));
+ w5.LeftAttach = ((uint)(3));
+ w5.RightAttach = ((uint)(4));
+ w5.XOptions = ((global::Gtk.AttachOptions)(4));
+ w5.YOptions = ((global::Gtk.AttachOptions)(4));
+ // Container child table1.Gtk.Table+TableChild
+ this.entry3 = new global::Gtk.Entry ();
+ this.entry3.CanFocus = true;
+ this.entry3.Name = "entry3";
+ this.entry3.IsEditable = true;
+ this.entry3.InvisibleChar = '•';
+ this.table1.Add (this.entry3);
+ global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table1 [this.entry3]));
+ w6.TopAttach = ((uint)(2));
+ w6.BottomAttach = ((uint)(3));
+ w6.LeftAttach = ((uint)(2));
+ w6.RightAttach = ((uint)(3));
+ w6.XOptions = ((global::Gtk.AttachOptions)(4));
+ w6.YOptions = ((global::Gtk.AttachOptions)(4));
+ // Container child table1.Gtk.Table+TableChild
+ this.entry4 = new global::Gtk.Entry ();
+ this.entry4.CanFocus = true;
+ this.entry4.Name = "entry4";
+ this.entry4.IsEditable = true;
+ this.entry4.InvisibleChar = '•';
+ this.table1.Add (this.entry4);
+ global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.table1 [this.entry4]));
+ w7.TopAttach = ((uint)(2));
+ w7.BottomAttach = ((uint)(3));
+ w7.LeftAttach = ((uint)(3));
+ w7.RightAttach = ((uint)(4));
+ w7.XOptions = ((global::Gtk.AttachOptions)(4));
+ w7.YOptions = ((global::Gtk.AttachOptions)(4));
+ // Container child table1.Gtk.Table+TableChild
+ this.label2 = new global::Gtk.Label ();
+ this.label2.Name = "label2";
+ this.label2.LabelProp = "Etat";
+ this.table1.Add (this.label2);
+ global::Gtk.Table.TableChild w8 = ((global::Gtk.Table.TableChild)(this.table1 [this.label2]));
+ w8.XOptions = ((global::Gtk.AttachOptions)(4));
+ w8.YOptions = ((global::Gtk.AttachOptions)(4));
+ // Container child table1.Gtk.Table+TableChild
+ this.label3 = new global::Gtk.Label ();
+ this.label3.Name = "label3";
+ this.label3.LabelProp = "Univer associé";
+ this.table1.Add (this.label3);
+ global::Gtk.Table.TableChild w9 = ((global::Gtk.Table.TableChild)(this.table1 [this.label3]));
+ w9.LeftAttach = ((uint)(1));
+ w9.RightAttach = ((uint)(2));
+ w9.XOptions = ((global::Gtk.AttachOptions)(4));
+ w9.YOptions = ((global::Gtk.AttachOptions)(4));
+ // Container child table1.Gtk.Table+TableChild
+ this.label4 = new global::Gtk.Label ();
+ this.label4.Name = "label4";
+ this.label4.LabelProp = "Break";
+ this.table1.Add (this.label4);
+ global::Gtk.Table.TableChild w10 = ((global::Gtk.Table.TableChild)(this.table1 [this.label4]));
+ w10.LeftAttach = ((uint)(2));
+ w10.RightAttach = ((uint)(3));
+ w10.XOptions = ((global::Gtk.AttachOptions)(4));
+ w10.YOptions = ((global::Gtk.AttachOptions)(4));
+ // Container child table1.Gtk.Table+TableChild
+ this.label5 = new global::Gtk.Label ();
+ this.label5.Name = "label5";
+ this.label5.LabelProp = "MAB";
+ this.table1.Add (this.label5);
+ global::Gtk.Table.TableChild w11 = ((global::Gtk.Table.TableChild)(this.table1 [this.label5]));
+ w11.LeftAttach = ((uint)(3));
+ w11.RightAttach = ((uint)(4));
+ w11.XOptions = ((global::Gtk.AttachOptions)(4));
+ w11.YOptions = ((global::Gtk.AttachOptions)(4));
+ // Container child table1.Gtk.Table+TableChild
+ this.label6 = new global::Gtk.Label ();
+ this.label6.Name = "label6";
+ this.label6.LabelProp = "Block 1";
+ this.table1.Add (this.label6);
+ global::Gtk.Table.TableChild w12 = ((global::Gtk.Table.TableChild)(this.table1 [this.label6]));
+ w12.TopAttach = ((uint)(1));
+ w12.BottomAttach = ((uint)(2));
+ w12.XOptions = ((global::Gtk.AttachOptions)(4));
+ w12.YOptions = ((global::Gtk.AttachOptions)(4));
+ // Container child table1.Gtk.Table+TableChild
+ this.label7 = new global::Gtk.Label ();
+ this.label7.Name = "label7";
+ this.label7.LabelProp = "Block 2";
+ this.table1.Add (this.label7);
+ global::Gtk.Table.TableChild w13 = ((global::Gtk.Table.TableChild)(this.table1 [this.label7]));
+ w13.TopAttach = ((uint)(2));
+ w13.BottomAttach = ((uint)(3));
+ w13.XOptions = ((global::Gtk.AttachOptions)(4));
+ w13.YOptions = ((global::Gtk.AttachOptions)(4));
+ this.vbox2.Add (this.table1);
+ global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.table1]));
+ w14.Position = 1;
+ w14.Expand = false;
+ w14.Fill = false;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.hbox1 = new global::Gtk.HBox ();
+ this.hbox1.Name = "hbox1";
+ this.hbox1.Spacing = 6;
+ // Container child hbox1.Gtk.Box+BoxChild
+ this.button120 = new global::Gtk.Button ();
+ this.button120.CanFocus = true;
+ this.button120.Name = "button120";
+ this.button120.UseUnderline = true;
+ this.button120.Label = "Valider";
+ this.hbox1.Add (this.button120);
+ global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.button120]));
+ w15.Position = 1;
+ w15.Expand = false;
+ w15.Fill = false;
+ this.vbox2.Add (this.hbox1);
+ global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox1]));
+ w16.PackType = ((global::Gtk.PackType)(1));
+ w16.Position = 2;
+ w16.Expand = false;
+ w16.Fill = false;
+ this.Add (this.vbox2);
+ if ((this.Child != null)) {
+ this.Child.ShowAll ();
+ }
+ this.Hide ();
+ }
+ }
+}
diff --git a/DMX-2.0/gtk-gui/gui.stetic b/DMX-2.0/gtk-gui/gui.stetic
index 677a300..60493c8 100644
--- a/DMX-2.0/gtk-gui/gui.stetic
+++ b/DMX-2.0/gtk-gui/gui.stetic
@@ -2048,7 +2048,7 @@ au sequenceur
-
+
True
@@ -2108,7 +2108,7 @@ au sequenceur
- label6
+ Univer associé
1
@@ -2133,4 +2133,323 @@ au sequenceur
+
+
+ False
+
+
+
+ 6
+
+
+
+ Driver V2
+
+
+ 0
+ True
+ False
+ False
+
+
+
+
+
+ 3
+ 4
+ 6
+ 6
+
+
+
+ True
+
+
+
+ 1
+ 2
+ 1
+ 2
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+
+ True
+
+
+
+ 2
+ 3
+ 1
+ 2
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+
+ True
+ True
+ •
+
+
+ 1
+ 2
+ 2
+ 3
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+
+ True
+ True
+ •
+
+
+ 1
+ 2
+ 3
+ 4
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+
+ True
+ True
+ •
+
+
+ 2
+ 3
+ 2
+ 3
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+
+ True
+ True
+ •
+
+
+ 2
+ 3
+ 3
+ 4
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+
+ Etat
+
+
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+
+ Univer associé
+
+
+ 1
+ 2
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+
+ Break
+
+
+ 2
+ 3
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+
+ MAB
+
+
+ 3
+ 4
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+
+ Block 1
+
+
+ 1
+ 2
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+
+ Block 2
+
+
+ 2
+ 3
+ True
+ Fill
+ Fill
+ False
+ True
+ False
+ False
+ True
+ False
+
+
+
+
+ 1
+ True
+ False
+ False
+
+
+
+
+
+ 6
+
+
+
+
+
+
+ True
+ TextOnly
+ Valider
+ True
+
+
+ 1
+ True
+ False
+ False
+
+
+
+
+
+
+
+ End
+ 2
+ True
+ False
+ False
+
+
+
+
+
\ No newline at end of file