diff --git a/DMX-2.0/EditionUnivers.cs b/DMX-2.0/EditionUnivers.cs
index d191dad..7902b8f 100644
--- a/DMX-2.0/EditionUnivers.cs
+++ b/DMX-2.0/EditionUnivers.cs
@@ -135,6 +135,26 @@ namespace DMX2
cirCol.SetCellDataFunc(cirCell, new Gtk.TreeCellDataFunc( RenderDimmerCircuit) );
tvDimm.AppendColumn(cirCol);
+ var ftCol = new Gtk.TreeViewColumn();
+ var ftCell = new Gtk.CellRendererText();
+ ftCol.Title = "Fonction";
+ ftCol.PackEnd(ftCell,true);
+ ftCol.SetCellDataFunc(ftCell, new Gtk.TreeCellDataFunc( RenderDimmerFT) );
+ tvDimm.AppendColumn(ftCol);
+
+ var p1Col = new Gtk.TreeViewColumn();
+ var p1Cell = new Gtk.CellRendererText();
+ p1Col.Title = "P1";
+ p1Col.PackEnd(p1Cell,true);
+ p1Col.SetCellDataFunc(p1Cell, new Gtk.TreeCellDataFunc( RenderDimmerP1) );
+ tvDimm.AppendColumn(p1Col);
+
+ var p2Col = new Gtk.TreeViewColumn();
+ var p2Cell = new Gtk.CellRendererText();
+ p2Col.Title = "P2";
+ p2Col.PackEnd(p2Cell,true);
+ p2Col.SetCellDataFunc(p2Cell, new Gtk.TreeCellDataFunc( RenderDimmerP2) );
+ tvDimm.AppendColumn(p2Col);
tvDimm.Model = lsDimmers;
@@ -166,7 +186,24 @@ namespace DMX2
{
UniversDMX.Dimmer dim = (UniversDMX.Dimmer)(tree_model.GetValue (iter, 1));
(cell as Gtk.CellRendererText).Text = dim.circuitAssocié==null?" - ": dim.circuitAssocié.ID + " - " + dim.circuitAssocié.Name ;
- }
+ }
+ void RenderDimmerFT (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
+ {
+ UniversDMX.Dimmer dim = (UniversDMX.Dimmer)(tree_model.GetValue (iter, 1));
+ (cell as Gtk.CellRendererText).Text = dim.fonctionTransfert.ToString();
+ }
+
+ void RenderDimmerP1 (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
+ {
+ UniversDMX.Dimmer dim = (UniversDMX.Dimmer)(tree_model.GetValue (iter, 1));
+ (cell as Gtk.CellRendererText).Text = dim.param1.ToString();
+ }
+
+ void RenderDimmerP2 (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
+ {
+ UniversDMX.Dimmer dim = (UniversDMX.Dimmer)(tree_model.GetValue (iter, 1));
+ (cell as Gtk.CellRendererText).Text = dim.param2.ToString();
+ }
protected void OnSpinDimmerValueChanged (object sender, EventArgs e)
@@ -183,13 +220,25 @@ namespace DMX2
currDimm = id - 1;
tvDimm.SetCursor( new TreePath( new int[1] { currDimm }) ,null,false);
+
+ // recherche du circuit dans la liste et selection
TreeIter iter;
lsCbCircuits.GetIterFirst(out iter);
do{
if((lsCbCircuits.GetValue(iter,0) as Circuit) == universEdite.Dimmers[currDimm].circuitAssocié) break;
} while (lsCbCircuits.IterNext(ref iter));
-
cbCircuit.SetActiveIter(iter);
+
+ lsCbFT.GetIterFirst(out iter);
+ do{
+ if((lsCbFT.GetValue(iter,0) as string) == universEdite.Dimmers[currDimm].fonctionTransfert.ToString())
+ break;
+ }while(lsCbFT.IterNext(ref iter));
+ cbFT.SetActiveIter(iter);
+
+ txtParam1.Text = universEdite.Dimmers[currDimm].param1.ToString();
+ txtParam2.Text = universEdite.Dimmers[currDimm].param2.ToString();
+
majencour = false;
}
@@ -222,10 +271,41 @@ namespace DMX2
MajListeDimmer();
}
}
+ protected void OnCbFTChanged (object sender, EventArgs e)
+ {
+ if(majencour) return;
+ TreeIter iter;
+ if (cbFT.GetActiveIter (out iter)) {
+ UniversDMX.FTransfer ft;
+ UniversDMX.FTransfer.TryParse(lsCbFT.GetValue (iter, 0) as string, out ft);
+ universEdite.Dimmers[currDimm].fonctionTransfert = ft;
+ MajListeDimmer();
+ }
+ }
+ protected void OnTxtParam1FocusOutEvent (object o, FocusOutEventArgs args)
+ {
+ if (majencour)
+ return;
+ float p1;
+ if (float.TryParse (txtParam1.Text, out p1)) {
+ universEdite.Dimmers [currDimm].param1 = p1;
+ MajListeDimmer ();
+ }
+ }
+ protected void OnTxtParam2FocusOutEvent (object o, FocusOutEventArgs args)
+ {
+ if (majencour)
+ return;
+ float p2;
+ if (float.TryParse (txtParam2.Text, out p2)) {
+ universEdite.Dimmers [currDimm].param2 = p2;
+ MajListeDimmer ();
+ }
+ }
-
+
}
diff --git a/DMX-2.0/UniversDMX.cs b/DMX-2.0/UniversDMX.cs
index 7eb8820..80bc61a 100644
--- a/DMX-2.0/UniversDMX.cs
+++ b/DMX-2.0/UniversDMX.cs
@@ -9,9 +9,17 @@ namespace DMX2
static int nb=1;
- public UniversDMX()
+ public UniversDMX ()
+
{
- Nom = "Univers DMX n°"+ nb++.ToString();
+ Nom = "Univers DMX n°" + nb++.ToString ();
+
+ for (int i = 0; i<_dimmers.Length; i++)
+ {
+ _dimmers[i].fonctionTransfert = FTransfer.lineaire;
+ _dimmers[i].param1 = 100;
+ }
+
}
Dimmer[] _dimmers = new Dimmer[512];
@@ -29,6 +37,7 @@ namespace DMX2
log,
exp
}
+
public struct Dimmer {
public Circuit circuitAssocié;
public FTransfer fonctionTransfert;
@@ -50,14 +59,14 @@ namespace DMX2
{
}
- public void CalculUnivers(int[] valeurs)
+ public void CalculUnivers(byte[] valeurs)
{
Dimmer g;
Debug.Assert(valeurs.Length == _dimmers.Length);
for(int i = 0 ; i<512; i++)
{
if(allumageForce[i]) {
- valeurs[i] = 128;
+ valeurs[i] = 255;
break;
}
@@ -65,7 +74,7 @@ namespace DMX2
switch (g.fonctionTransfert) {
case FTransfer.lineaire:
- valeurs[i] = g.circuitAssocié.ValeurCourante;
+ valeurs[i] = (byte)( g.circuitAssocié.ValeurCourante * g.param1 /100);
break;
case FTransfer.log:
break;
diff --git a/DMX-2.0/gtk-gui/DMX2.EditionUnivers.cs b/DMX-2.0/gtk-gui/DMX2.EditionUnivers.cs
index 946b770..8002ba0 100644
--- a/DMX-2.0/gtk-gui/DMX2.EditionUnivers.cs
+++ b/DMX-2.0/gtk-gui/DMX2.EditionUnivers.cs
@@ -377,6 +377,9 @@ namespace DMX2
this.btPatchDroit.Clicked += new global::System.EventHandler (this.OnBtPatchDroitClicked);
this.spinDimmer.ValueChanged += new global::System.EventHandler (this.OnSpinDimmerValueChanged);
this.cbCircuit.Changed += new global::System.EventHandler (this.OnCbCircuitChanged);
+ this.cbFT.Changed += new global::System.EventHandler (this.OnCbFTChanged);
+ this.txtParam1.FocusOutEvent += new global::Gtk.FocusOutEventHandler (this.OnTxtParam1FocusOutEvent);
+ this.txtParam2.FocusOutEvent += new global::Gtk.FocusOutEventHandler (this.OnTxtParam2FocusOutEvent);
this.tvDimm.CursorChanged += new global::System.EventHandler (this.OnTvDimmCursorChanged);
this.buttonCancel.Clicked += new global::System.EventHandler (this.OnButtonCancelClicked);
}
diff --git a/DMX-2.0/gtk-gui/gui.stetic b/DMX-2.0/gtk-gui/gui.stetic
index 9d0292f..536068b 100644
--- a/DMX-2.0/gtk-gui/gui.stetic
+++ b/DMX-2.0/gtk-gui/gui.stetic
@@ -1268,6 +1268,7 @@
True
+
4
@@ -1294,6 +1295,7 @@
True
True
•
+
6
@@ -1318,6 +1320,7 @@
True
True
•
+
8