loupiottes/DMX-2.0/DriverBoitierV2UI.cs
manu 91a007d896 * DriverDMX.cs:
* DriverBoitierV2.cs:
* DriverBoitierV1.cs: Sauvegarde

* Conduite.cs:
* EventManager.cs:
* gui.stetic:
* DMX2.DriverBoitierV2UI.cs:
* DMX2.DriverBoitierV1UI.cs: 

* DriverBoitierV2UI.cs:
* DriverBoitierV1UI.cs: Affichage etat driver

* GestionDriversUI.cs: Gestion plusieurs drivers chargés
2013-12-27 16:01:34 +00:00

117 lines
2.9 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));
int indx = 0;
int i = 0;
foreach (UniversDMX u in Conduite.Courante.Patches) {
lsCbUnivers1.AppendValues (u);
if (u==drv.patch1) indx=i;
i++;
}
TreeIter iter;
lsCbUnivers1.GetIterFirst (out iter);
cbUnivers1.SetActiveIter (iter);
cbUnivers1.Active=indx;
cbUnivers2.Model = lsCbUnivers2;
var cellCbUnivers2 = new CellRendererText ();
cbUnivers2.PackStart (cellCbUnivers2, false);
cbUnivers2.SetCellDataFunc (cellCbUnivers2, new CellLayoutDataFunc (RenderUniversName2));
indx = 0;
i = 0;
foreach (UniversDMX u in Conduite.Courante.Patches) {
lsCbUnivers2.AppendValues (u);
if (u==drv.patch2) indx=i;
i++;
}
//TreeIter iter;
lsCbUnivers2.GetIterFirst(out iter);
cbUnivers2.SetActiveIter(iter);
cbUnivers2.Active=indx;
}
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 OnButtonValider (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();
}
}
}