Patch Ok
This commit is contained in:
parent
9f666ead89
commit
63dbe7676b
4 changed files with 103 additions and 8 deletions
|
|
@ -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;
|
||||
|
||||
|
||||
|
|
@ -167,6 +187,23 @@ 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,8 +271,39 @@ 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 ();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1268,6 +1268,7 @@
|
|||
<property name="MemberName" />
|
||||
<property name="IsTextCombo">True</property>
|
||||
<property name="Items" translatable="yes" />
|
||||
<signal name="Changed" handler="OnCbFTChanged" />
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="Position">4</property>
|
||||
|
|
@ -1294,6 +1295,7 @@
|
|||
<property name="CanFocus">True</property>
|
||||
<property name="IsEditable">True</property>
|
||||
<property name="InvisibleChar">•</property>
|
||||
<signal name="FocusOutEvent" handler="OnTxtParam1FocusOutEvent" />
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="Position">6</property>
|
||||
|
|
@ -1318,6 +1320,7 @@
|
|||
<property name="CanFocus">True</property>
|
||||
<property name="IsEditable">True</property>
|
||||
<property name="InvisibleChar">•</property>
|
||||
<signal name="FocusOutEvent" handler="OnTxtParam2FocusOutEvent" />
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="Position">8</property>
|
||||
|
|
|
|||
Loading…
Reference in a new issue