loupiottes/DMX-2.0/SeqMacroUI.cs
2013-10-22 09:59:02 +00:00

149 lines
4.3 KiB
C#

using System;
using System.Collections.Generic;
using Gtk;
namespace DMX2
{
[System.ComponentModel.ToolboxItem(true)]
public partial class SeqMacroUI : SequenceurUI
{
bool fullUpdFlag = true;
SequenceurMacro sequenceur;
ListStore lsEffets=null;
TreeViewColumn nomCol;
ListStore lsMatrice = null;
bool effetChange = false;
public void EffetChange ()
{
effetChange = true;
}
public SeqMacroUI (SequenceurMacro s ) : base (s)
{
this.Build ();
titreLabel.Text = s.Name;
sequenceur = s;
var idCol = new Gtk.TreeViewColumn ();
var idCell = new Gtk.CellRendererText ();
idCol.Title = "Num";
idCol.PackStart (idCell, true);
idCol.SetCellDataFunc (idCell, new Gtk.TreeCellDataFunc (RenderMatriceNum));
this.MatriceUI.AppendColumn (idCol);
var nomCol = new Gtk.TreeViewColumn ();
var nomCell = new Gtk.CellRendererText ();
nomCol.Title = "Nom";
nomCol.PackStart (nomCell, true);
nomCol.SetCellDataFunc (nomCell, new Gtk.TreeCellDataFunc (RenderMatriceNom));
nomCell.Editable = true;
//nomCell.Edited += OnNomCellEdited;
this.MatriceUI.AppendColumn (nomCol);
var topCol = new Gtk.TreeViewColumn ();
var topCell = new Gtk.CellRendererText ();
topCol.Title = "Top";
topCol.PackStart (topCell, true);
topCol.SetCellDataFunc (topCell, new Gtk.TreeCellDataFunc (RenderMatriceTop));
topCell.Editable = true;
//topCell.Edited += OnTopCellEdited;
this.MatriceUI.AppendColumn (topCol);
var circuitsCol = new Gtk.TreeViewColumn ();
var circuitsCell = new Gtk.CellRendererText ();
circuitsCol.Title = "Circuits";
circuitsCol.PackStart (circuitsCell, true);
circuitsCol.SetCellDataFunc (circuitsCell, new Gtk.TreeCellDataFunc (RenderMatriceCircuits));
circuitsCell.Editable = true;
//circuitsCell.Edited += OnCircuitsCellEdited;
this.MatriceUI.AppendColumn (circuitsCol);
var valeurCol = new Gtk.TreeViewColumn ();
var valeurCell = new Gtk.CellRendererText ();
valeurCol.Title = "Valeur";
valeurCol.PackStart (valeurCell, true);
valeurCol.SetCellDataFunc (circuitsCell, new Gtk.TreeCellDataFunc (RenderMatriceValeur));
valeurCell.Editable = true;
//valeurCell.Edited += OnValeurCellEdited;
this.MatriceUI.AppendColumn (valeurCol);
var tempsCol = new Gtk.TreeViewColumn ();
var tempsCell = new Gtk.CellRendererText ();
tempsCol.Title = "Temps";
tempsCol.PackStart (tempsCell, true);
tempsCol.SetCellDataFunc (tempsCell, new Gtk.TreeCellDataFunc (RenderMatriceTemps));
tempsCell.Editable = true;
//tempsCell.Edited += OnTempsCellEdited;
this.MatriceUI.AppendColumn (tempsCol);
lsMatrice = new Gtk.ListStore(typeof (SequenceurMaitre.Ligne)); // a modifier
this.MatriceUI.Model = lsMatrice;
}
void RenderMatriceNum (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
{
throw new NotImplementedException ();
}
void RenderMatriceNom (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
{
throw new NotImplementedException ();
}
void RenderMatriceTop (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
{
throw new NotImplementedException ();
}
void RenderMatriceCircuits (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
{
throw new NotImplementedException ();
}
void RenderMatriceValeur (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
{
throw new NotImplementedException ();
}
void RenderMatriceTemps (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
{
throw new NotImplementedException ();
}
public override void Update (bool full)
{
}
protected void OnCircuitsActionActivated (object sender, EventArgs e)
{
// récupère la fenètre principale
Window win = this.GetAncestor(Gtk.Window.GType) as Window;
var dlg = new SelSeqCircuits (sequenceur.Circuits,win);
if ((ResponseType)dlg.Run () == ResponseType.Ok) {
sequenceur.ChangeCircuits(dlg.GetResultList());
}
dlg.Destroy();
fullUpdFlag = true;
}
protected void OnCloseActionActivated (object sender, EventArgs e)
{
this.Destroy();
}
protected void OnSeqMasterScaleValueChanged (object sender, EventArgs e)
{
if (fullUpdFlag)return;
sequenceur.Master = (int)(seqMasterScale.Value);
}
}
}