Ajout modif patch + patch Droit

This commit is contained in:
tzim 2013-05-08 20:44:35 +00:00
parent 284076263f
commit 9f666ead89
4 changed files with 126 additions and 12 deletions

View file

@ -11,6 +11,7 @@ namespace DMX2
ConstruitCBUnivers();
ConstruitCBCircuits();
ConstruitCBFT();
ConstruitListeDimmer();
}
ListStore lsCbUnivers = new ListStore(typeof(UniversDMX));
@ -32,13 +33,6 @@ namespace DMX2
}
void RenderFTName (CellLayout cell_layout, CellRenderer cell, TreeModel tree_model, TreeIter iter)
{
object o = tree_model.GetValue (iter, 0);
if(o!=null)
(cell as Gtk.CellRendererText).Text = ((UniversDMX.FTransfer)o).ToString();
}
void RenderUniversName (CellLayout cell_layout, CellRenderer cell, TreeModel tree_model, TreeIter iter)
{
UniversDMX univers = tree_model.GetValue (iter, 0) as UniversDMX;
@ -77,9 +71,6 @@ namespace DMX2
{
var values = Enum.GetValues(typeof(UniversDMX.FTransfer));
cbFT.Model = lsCbFT;
//var cellCbFt = new CellRendererText();
//cbFT.PackStart(cellCbFt,true);
//cbFT.SetCellDataFunc(cellCbFt,new CellLayoutDataFunc(RenderFTName));
foreach(var v in values)
lsCbFT.AppendValues(v.ToString(), (UniversDMX.FTransfer)v );
@ -91,6 +82,9 @@ namespace DMX2
if(cbUnivers.GetActiveIter(out iter))
{
universEdite = lsCbUnivers.GetValue(iter,0) as UniversDMX;
MajListeDimmer();
spinDimmer.Value = 1;
MajDimmerSelectione();
}
}
@ -120,5 +114,119 @@ namespace DMX2
Destroy();
}
ListStore lsDimmers = new ListStore(typeof(int),typeof(UniversDMX.Dimmer));
void ConstruitListeDimmer ()
{
var idCol = new Gtk.TreeViewColumn();
var idCell = new Gtk.CellRendererText();
idCol.Title = "ID";
idCol.PackStart(idCell,true);
idCol.SetCellDataFunc(idCell, new Gtk.TreeCellDataFunc( RenderDimmerID) );
tvDimm.AppendColumn(idCol);
var cirCol = new Gtk.TreeViewColumn();
var cirCell = new Gtk.CellRendererText();
cirCol.Title = "Circuit";
cirCol.PackStart(cirCell,true);
cirCol.SetCellDataFunc(cirCell, new Gtk.TreeCellDataFunc( RenderDimmerCircuit) );
tvDimm.AppendColumn(cirCol);
tvDimm.Model = lsDimmers;
}
void MajListeDimmer ()
{
lsDimmers.Clear();
int i; UniversDMX.Dimmer dim;
for (i=0; i< universEdite.Dimmers.Length;i++)
{
dim = universEdite.Dimmers[i];
lsDimmers.AppendValues(i+1,dim);
}
int id = (int)(spinDimmer.Value);
tvDimm.SetCursor( new TreePath( new int[1] { id - 1 }) ,null,false);
}
void RenderDimmerID (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
{
int i = (int)(tree_model.GetValue (iter, 0));
(cell as Gtk.CellRendererText).Text = i.ToString();
}
void RenderDimmerCircuit (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.circuitAssocié==null?" - ": dim.circuitAssocié.ID + " - " + dim.circuitAssocié.Name ;
}
protected void OnSpinDimmerValueChanged (object sender, EventArgs e)
{
MajDimmerSelectione();
}
bool majencour = false;
void MajDimmerSelectione()
{
majencour = true;
int id = (int)(spinDimmer.Value);
currDimm = id - 1;
tvDimm.SetCursor( new TreePath( new int[1] { currDimm }) ,null,false);
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);
majencour = false;
}
protected void OnTvDimmCursorChanged (object sender, EventArgs e)
{
spinDimmer.Value = tvDimm.Selection.GetSelectedRows()[0].Indices[0]+1;
}
protected void OnBtPatchDroitClicked (object sender, EventArgs e)
{
int i;
int max = Math.Min(Conduite.Courante.Circuits.Count,512);
for(i=0 ;i<max ;i++)
{
universEdite.Dimmers[i].circuitAssocié = Conduite.Courante.Circuits[i];
universEdite.Dimmers[i].fonctionTransfert = UniversDMX.FTransfer.lineaire;
universEdite.Dimmers[i].param1 = 100;
}
MajListeDimmer();
}
protected void OnCbCircuitChanged (object sender, EventArgs e)
{
if(majencour) return;
TreeIter iter;
if (cbCircuit.GetActiveIter (out iter)) {
Circuit c = lsCbCircuits.GetValue (iter, 0) as Circuit;
universEdite.Dimmers[currDimm].circuitAssocié = c;
MajListeDimmer();
}
}
}
}

View file

@ -17,8 +17,6 @@ namespace DMX2
idCol.Title = "ID";
idCol.PackStart(idCell,true);
idCol.SetCellDataFunc(idCell, new Gtk.TreeCellDataFunc( RenderCircuitID) );
idCell.Editable =true;
idCell.Edited += OnNameCellEdited;
this.listeCircuits.AppendColumn(idCol);

View file

@ -374,6 +374,10 @@ namespace DMX2
this.Show ();
this.cbUnivers.Changed += new global::System.EventHandler (this.OnCbUniversChanged);
this.btAdd.Clicked += new global::System.EventHandler (this.OnBtAddClicked);
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.tvDimm.CursorChanged += new global::System.EventHandler (this.OnTvDimmCursorChanged);
this.buttonCancel.Clicked += new global::System.EventHandler (this.OnButtonCancelClicked);
}
}

View file

@ -1161,6 +1161,7 @@
<property name="Icon">stock:gtk-sort-ascending Menu</property>
<property name="Label" translatable="yes">Patch Droit</property>
<property name="UseUnderline">True</property>
<signal name="Clicked" handler="OnBtPatchDroitClicked" />
</widget>
<packing>
<property name="PackType">End</property>
@ -1227,6 +1228,7 @@
<property name="ClimbRate">1</property>
<property name="Numeric">True</property>
<property name="Value">1</property>
<signal name="ValueChanged" handler="OnSpinDimmerValueChanged" />
</widget>
<packing>
<property name="Position">1</property>
@ -1252,6 +1254,7 @@
<property name="MemberName" />
<property name="IsTextCombo">True</property>
<property name="Items" translatable="yes" />
<signal name="Changed" handler="OnCbCircuitChanged" />
</widget>
<packing>
<property name="Position">3</property>
@ -1343,6 +1346,7 @@
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="ShowScrollbars">True</property>
<signal name="CursorChanged" handler="OnTvDimmCursorChanged" />
</widget>
</child>
</widget>