loupiottes/DMX-2.0/DriverBoitierV2UI.cs
manu f589f15787 * DriverBoitierV2.cs:
* DriverBoitierV2UI.cs:
* DMX2.DriverBoitierV2UI.cs: Ajout parametrage boitier et 2nd univers

* gui.stetic:
* DMX2.EditionUnivers.cs: 

* UniversDMX.cs: Ajout fonctions log et exp

* EditionUnivers.cs: Modif gestion param 1 et 2
2013-12-23 18:06:15 +00:00

107 lines
2.7 KiB
C#

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 ()
{
caseBrk.Text = drv.Break.ToString();
caseMab.Text = drv.Mab.ToString();
chkMerge1.Active = drv.Flag_merge1 == 1;
chkMerge2.Active = drv.Flag_merge2 == 1;
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;
}
protected void OnButton120Clicked (object sender, EventArgs e)
{
TreeIter iter;
if (cbUnivers1.GetActiveIter (out iter)) {
drv.patch1 = lsCbUnivers1.GetValue (iter, 0) as UniversDMX;
}
if (cbUnivers2.GetActiveIter (out iter)) {
drv.patch2 = lsCbUnivers2.GetValue (iter, 0) as UniversDMX;
}
int a, b;
if (!int.TryParse (caseBrk.Text, out a))
return;
if (!int.TryParse (caseMab.Text, out b))
return;
if (a < 92) {
a = 92;
}
if (b < 12) {
b = 12;
}
drv.SetBreak(a,b,
(byte)(chkMerge1.Active?1:0),
(byte)(chkMerge2.Active?1:0));
}
protected void OnBtnInitClicked (object sender, EventArgs e)
{
drv.ReInit();
}
}
}