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) );
|
cirCol.SetCellDataFunc(cirCell, new Gtk.TreeCellDataFunc( RenderDimmerCircuit) );
|
||||||
tvDimm.AppendColumn(cirCol);
|
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;
|
tvDimm.Model = lsDimmers;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -167,6 +187,23 @@ namespace DMX2
|
||||||
UniversDMX.Dimmer dim = (UniversDMX.Dimmer)(tree_model.GetValue (iter, 1));
|
UniversDMX.Dimmer dim = (UniversDMX.Dimmer)(tree_model.GetValue (iter, 1));
|
||||||
(cell as Gtk.CellRendererText).Text = dim.circuitAssocié==null?" - ": dim.circuitAssocié.ID + " - " + dim.circuitAssocié.Name ;
|
(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)
|
protected void OnSpinDimmerValueChanged (object sender, EventArgs e)
|
||||||
|
|
@ -183,13 +220,25 @@ namespace DMX2
|
||||||
currDimm = id - 1;
|
currDimm = id - 1;
|
||||||
tvDimm.SetCursor( new TreePath( new int[1] { currDimm }) ,null,false);
|
tvDimm.SetCursor( new TreePath( new int[1] { currDimm }) ,null,false);
|
||||||
|
|
||||||
|
|
||||||
|
// recherche du circuit dans la liste et selection
|
||||||
TreeIter iter;
|
TreeIter iter;
|
||||||
lsCbCircuits.GetIterFirst(out iter);
|
lsCbCircuits.GetIterFirst(out iter);
|
||||||
do{
|
do{
|
||||||
if((lsCbCircuits.GetValue(iter,0) as Circuit) == universEdite.Dimmers[currDimm].circuitAssocié) break;
|
if((lsCbCircuits.GetValue(iter,0) as Circuit) == universEdite.Dimmers[currDimm].circuitAssocié) break;
|
||||||
} while (lsCbCircuits.IterNext(ref iter));
|
} while (lsCbCircuits.IterNext(ref iter));
|
||||||
|
|
||||||
cbCircuit.SetActiveIter(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;
|
majencour = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -222,8 +271,39 @@ namespace DMX2
|
||||||
MajListeDimmer();
|
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;
|
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];
|
Dimmer[] _dimmers = new Dimmer[512];
|
||||||
|
|
@ -29,6 +37,7 @@ namespace DMX2
|
||||||
log,
|
log,
|
||||||
exp
|
exp
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct Dimmer {
|
public struct Dimmer {
|
||||||
public Circuit circuitAssocié;
|
public Circuit circuitAssocié;
|
||||||
public FTransfer fonctionTransfert;
|
public FTransfer fonctionTransfert;
|
||||||
|
|
@ -50,14 +59,14 @@ namespace DMX2
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CalculUnivers(int[] valeurs)
|
public void CalculUnivers(byte[] valeurs)
|
||||||
{
|
{
|
||||||
Dimmer g;
|
Dimmer g;
|
||||||
Debug.Assert(valeurs.Length == _dimmers.Length);
|
Debug.Assert(valeurs.Length == _dimmers.Length);
|
||||||
for(int i = 0 ; i<512; i++)
|
for(int i = 0 ; i<512; i++)
|
||||||
{
|
{
|
||||||
if(allumageForce[i]) {
|
if(allumageForce[i]) {
|
||||||
valeurs[i] = 128;
|
valeurs[i] = 255;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -65,7 +74,7 @@ namespace DMX2
|
||||||
|
|
||||||
switch (g.fonctionTransfert) {
|
switch (g.fonctionTransfert) {
|
||||||
case FTransfer.lineaire:
|
case FTransfer.lineaire:
|
||||||
valeurs[i] = g.circuitAssocié.ValeurCourante;
|
valeurs[i] = (byte)( g.circuitAssocié.ValeurCourante * g.param1 /100);
|
||||||
break;
|
break;
|
||||||
case FTransfer.log:
|
case FTransfer.log:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -377,6 +377,9 @@ namespace DMX2
|
||||||
this.btPatchDroit.Clicked += new global::System.EventHandler (this.OnBtPatchDroitClicked);
|
this.btPatchDroit.Clicked += new global::System.EventHandler (this.OnBtPatchDroitClicked);
|
||||||
this.spinDimmer.ValueChanged += new global::System.EventHandler (this.OnSpinDimmerValueChanged);
|
this.spinDimmer.ValueChanged += new global::System.EventHandler (this.OnSpinDimmerValueChanged);
|
||||||
this.cbCircuit.Changed += new global::System.EventHandler (this.OnCbCircuitChanged);
|
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.tvDimm.CursorChanged += new global::System.EventHandler (this.OnTvDimmCursorChanged);
|
||||||
this.buttonCancel.Clicked += new global::System.EventHandler (this.OnButtonCancelClicked);
|
this.buttonCancel.Clicked += new global::System.EventHandler (this.OnButtonCancelClicked);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1268,6 +1268,7 @@
|
||||||
<property name="MemberName" />
|
<property name="MemberName" />
|
||||||
<property name="IsTextCombo">True</property>
|
<property name="IsTextCombo">True</property>
|
||||||
<property name="Items" translatable="yes" />
|
<property name="Items" translatable="yes" />
|
||||||
|
<signal name="Changed" handler="OnCbFTChanged" />
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="Position">4</property>
|
<property name="Position">4</property>
|
||||||
|
|
@ -1294,6 +1295,7 @@
|
||||||
<property name="CanFocus">True</property>
|
<property name="CanFocus">True</property>
|
||||||
<property name="IsEditable">True</property>
|
<property name="IsEditable">True</property>
|
||||||
<property name="InvisibleChar">•</property>
|
<property name="InvisibleChar">•</property>
|
||||||
|
<signal name="FocusOutEvent" handler="OnTxtParam1FocusOutEvent" />
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="Position">6</property>
|
<property name="Position">6</property>
|
||||||
|
|
@ -1318,6 +1320,7 @@
|
||||||
<property name="CanFocus">True</property>
|
<property name="CanFocus">True</property>
|
||||||
<property name="IsEditable">True</property>
|
<property name="IsEditable">True</property>
|
||||||
<property name="InvisibleChar">•</property>
|
<property name="InvisibleChar">•</property>
|
||||||
|
<signal name="FocusOutEvent" handler="OnTxtParam2FocusOutEvent" />
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="Position">8</property>
|
<property name="Position">8</property>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue