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); } } }