Ajout d'un début de gestion de la matrice SeqMaitre
This commit is contained in:
parent
25cd22ee7d
commit
453b8ddd1a
2 changed files with 100 additions and 28 deletions
|
|
@ -10,7 +10,7 @@ namespace DMX2
|
||||||
{
|
{
|
||||||
static MainWindow win;
|
static MainWindow win;
|
||||||
static object circuitKey = new object();
|
static object circuitKey = new object();
|
||||||
ListStore ls;
|
ListStore lsMatrice;
|
||||||
|
|
||||||
public static MainWindow Win {
|
public static MainWindow Win {
|
||||||
get { return win; }
|
get { return win; }
|
||||||
|
|
@ -63,59 +63,130 @@ namespace DMX2
|
||||||
|
|
||||||
protected void ConstruitMatrice ()
|
protected void ConstruitMatrice ()
|
||||||
{
|
{
|
||||||
var idCol = new Gtk.TreeViewColumn();
|
var idCol = new Gtk.TreeViewColumn ();
|
||||||
var idCell = new Gtk.CellRendererText();
|
var idCell = new Gtk.CellRendererText ();
|
||||||
idCol.Title = "Num";
|
idCol.Title = "Num";
|
||||||
idCol.PackStart(idCell,true);
|
idCol.PackStart (idCell, true);
|
||||||
idCol.SetCellDataFunc(idCell, new Gtk.TreeCellDataFunc( RenderMatriceNum) );
|
idCol.SetCellDataFunc (idCell, new Gtk.TreeCellDataFunc (RenderMatriceNum));
|
||||||
this.MatriceUI.AppendColumn(idCol);
|
this.MatriceUI.AppendColumn (idCol);
|
||||||
|
|
||||||
var nomCol = new Gtk.TreeViewColumn();
|
var nomCol = new Gtk.TreeViewColumn ();
|
||||||
var nomCell = new Gtk.CellRendererText();
|
var nomCell = new Gtk.CellRendererText ();
|
||||||
nomCol.Title = "Nom";
|
nomCol.Title = "Nom";
|
||||||
nomCol.PackStart(nomCell,true);
|
nomCol.PackStart (nomCell, true);
|
||||||
nomCol.SetCellDataFunc(nomCell, new Gtk.TreeCellDataFunc( RenderMatriceNom) );
|
nomCol.SetCellDataFunc (nomCell, new Gtk.TreeCellDataFunc (RenderMatriceNom));
|
||||||
nomCell.Editable =true;
|
nomCell.Editable = true;
|
||||||
nomCell.Edited += OnNomCellEdited;
|
nomCell.Edited += OnNomCellEdited;
|
||||||
this.MatriceUI.AppendColumn(nomCol);
|
this.MatriceUI.AppendColumn (nomCol);
|
||||||
|
|
||||||
var dureeCol = new Gtk.TreeViewColumn();
|
var dureeCol = new Gtk.TreeViewColumn ();
|
||||||
var dureeCell = new Gtk.CellRendererText();
|
var dureeCell = new Gtk.CellRendererText ();
|
||||||
dureeCol.Title = "Durée";
|
dureeCol.Title = "Durée";
|
||||||
dureeCol.PackStart(dureeCell,true);
|
dureeCol.PackStart (dureeCell, true);
|
||||||
dureeCol.SetCellDataFunc(dureeCell, new Gtk.TreeCellDataFunc( RenderMatriceDuree) );
|
dureeCol.SetCellDataFunc (dureeCell, new Gtk.TreeCellDataFunc (RenderMatriceDuree));
|
||||||
dureeCell.Editable =true;
|
dureeCell.Editable = true;
|
||||||
dureeCell.Edited += OnDureeCellEdited;
|
dureeCell.Edited += OnDureeCellEdited;
|
||||||
this.MatriceUI.AppendColumn(dureeCol);
|
this.MatriceUI.AppendColumn (dureeCol);
|
||||||
|
|
||||||
ls = new Gtk.ListStore(typeof (SequenceurMaitre.Ligne));
|
ConstruitMatriceSeqColumns();
|
||||||
this.MatriceUI.Model = ls;
|
|
||||||
|
lsMatrice = new Gtk.ListStore(typeof (SequenceurMaitre.Ligne));
|
||||||
|
this.MatriceUI.Model = lsMatrice;
|
||||||
|
FillMatrice();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static object seqkey = new object();
|
||||||
|
|
||||||
|
void ConstruitMatriceSeqColumns ()
|
||||||
|
{
|
||||||
|
|
||||||
|
foreach(var c in MatriceUI.Columns)
|
||||||
|
if(c.CellRenderers[0].Data.ContainsKey(seqkey))
|
||||||
|
MatriceUI.RemoveColumn(c);
|
||||||
|
|
||||||
|
Gtk.TreeViewColumn seqCol;
|
||||||
|
Gtk.CellRendererText seqCell;
|
||||||
|
|
||||||
|
foreach (Sequenceur seq in Conduite.Courante.Sequenceurs) {
|
||||||
|
seqCol = new TreeViewColumn();
|
||||||
|
seqCell = new CellRendererText();
|
||||||
|
seqCol.Title = seq.Name;
|
||||||
|
seqCol.PackStart(seqCell, true);
|
||||||
|
seqCol.SetCellDataFunc ( seqCell, new Gtk.TreeCellDataFunc(RenderMatriceSeqVal));
|
||||||
|
seqCell.Editable = true;
|
||||||
|
seqCell.Edited += OnSeqValCellEdited;
|
||||||
|
seqCell.Data[seqkey] = seq;
|
||||||
|
this.MatriceUI.AppendColumn(seqCol);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void RenderMatriceNum (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
|
void RenderMatriceNum (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException ();
|
SequenceurMaitre.Ligne l = tree_model.GetValue (iter, 0) as SequenceurMaitre.Ligne;
|
||||||
|
(cell as Gtk.CellRendererText).Text = (Conduite.Courante.SequenceurMaitre.Lignes.IndexOf(l)+1).ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderMatriceNom (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
|
void RenderMatriceNom (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException ();
|
SequenceurMaitre.Ligne l = tree_model.GetValue (iter, 0) as SequenceurMaitre.Ligne;
|
||||||
|
(cell as Gtk.CellRendererText).Text = l.Nom;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderMatriceDuree (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
|
void RenderMatriceDuree (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException ();
|
SequenceurMaitre.Ligne l = tree_model.GetValue (iter, 0) as SequenceurMaitre.Ligne;
|
||||||
|
if (l.Duree==-1) (cell as Gtk.CellRendererText).Text = string.Empty;
|
||||||
|
else (cell as Gtk.CellRendererText).Text = l.Duree.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RenderMatriceSeqVal (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
|
||||||
|
{
|
||||||
|
SequenceurMaitre.Ligne l = tree_model.GetValue (iter, 0) as SequenceurMaitre.Ligne;
|
||||||
|
Sequenceur seq = cell.Data[seqkey] as Sequenceur;
|
||||||
|
(cell as Gtk.CellRendererText).Text = l[seq];
|
||||||
|
}
|
||||||
|
void FillMatrice ()
|
||||||
|
{
|
||||||
|
lsMatrice.Clear ();
|
||||||
|
foreach (SequenceurMaitre.Ligne l in Conduite.Courante.SequenceurMaitre.Lignes) {
|
||||||
|
lsMatrice.AppendValues(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void OnNomCellEdited (object o, EditedArgs args)
|
void OnNomCellEdited (object o, EditedArgs args)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException ();
|
Gtk.TreeIter iter;
|
||||||
|
lsMatrice.GetIter (out iter, new Gtk.TreePath (args.Path));
|
||||||
|
SequenceurMaitre.Ligne l = lsMatrice.GetValue(iter,0) as SequenceurMaitre.Ligne;
|
||||||
|
l.Nom = args.NewText;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnDureeCellEdited (object o, EditedArgs args)
|
void OnDureeCellEdited (object o, EditedArgs args)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException ();
|
Gtk.TreeIter iter;
|
||||||
|
lsMatrice.GetIter (out iter, new Gtk.TreePath (args.Path));
|
||||||
|
SequenceurMaitre.Ligne l = lsMatrice.GetValue (iter, 0) as SequenceurMaitre.Ligne;
|
||||||
|
if (args.NewText.Length == 0)
|
||||||
|
l.Duree = -1;
|
||||||
|
else {
|
||||||
|
int val;
|
||||||
|
if(int.TryParse(args.NewText, out val))
|
||||||
|
l.Duree=val;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OnSeqValCellEdited (object o, EditedArgs args)
|
||||||
|
{
|
||||||
|
Gtk.CellRendererText cell = o as CellRendererText;
|
||||||
|
Sequenceur seq = cell.Data[seqkey] as Sequenceur;
|
||||||
|
Gtk.TreeIter iter;
|
||||||
|
lsMatrice.GetIter (out iter, new Gtk.TreePath (args.Path));
|
||||||
|
SequenceurMaitre.Ligne l = lsMatrice.GetValue(iter,0) as SequenceurMaitre.Ligne;
|
||||||
|
l[seq] = args.NewText;
|
||||||
|
}
|
||||||
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
|
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
|
||||||
{
|
{
|
||||||
Application.Quit ();
|
Application.Quit ();
|
||||||
|
|
@ -165,6 +236,7 @@ namespace DMX2
|
||||||
Sequenceur s = new SequenceurLineaire();
|
Sequenceur s = new SequenceurLineaire();
|
||||||
Conduite.Courante.AjoutSequenceur(s);
|
Conduite.Courante.AjoutSequenceur(s);
|
||||||
AddSeqUI(s);
|
AddSeqUI(s);
|
||||||
|
ConstruitMatriceSeqColumns();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddSeqUI (Sequenceur s)
|
void AddSeqUI (Sequenceur s)
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ namespace DMX2
|
||||||
|
|
||||||
public SequenceurMaitre ()
|
public SequenceurMaitre ()
|
||||||
{
|
{
|
||||||
|
lignes.Add(new Ligne());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue