diff --git a/DMX-2.0/EditionUnivers.cs b/DMX-2.0/EditionUnivers.cs index 2617e3c..d191dad 100644 --- a/DMX-2.0/EditionUnivers.cs +++ b/DMX-2.0/EditionUnivers.cs @@ -11,6 +11,7 @@ namespace DMX2 ConstruitCBUnivers(); ConstruitCBCircuits(); ConstruitCBFT(); + ConstruitListeDimmer(); } ListStore lsCbUnivers = new ListStore(typeof(UniversDMX)); @@ -32,13 +33,6 @@ namespace DMX2 } - void RenderFTName (CellLayout cell_layout, CellRenderer cell, TreeModel tree_model, TreeIter iter) - { - object o = tree_model.GetValue (iter, 0); - if(o!=null) - (cell as Gtk.CellRendererText).Text = ((UniversDMX.FTransfer)o).ToString(); - - } void RenderUniversName (CellLayout cell_layout, CellRenderer cell, TreeModel tree_model, TreeIter iter) { UniversDMX univers = tree_model.GetValue (iter, 0) as UniversDMX; @@ -77,9 +71,6 @@ namespace DMX2 { var values = Enum.GetValues(typeof(UniversDMX.FTransfer)); cbFT.Model = lsCbFT; - //var cellCbFt = new CellRendererText(); - //cbFT.PackStart(cellCbFt,true); - //cbFT.SetCellDataFunc(cellCbFt,new CellLayoutDataFunc(RenderFTName)); foreach(var v in values) lsCbFT.AppendValues(v.ToString(), (UniversDMX.FTransfer)v ); @@ -91,6 +82,9 @@ namespace DMX2 if(cbUnivers.GetActiveIter(out iter)) { universEdite = lsCbUnivers.GetValue(iter,0) as UniversDMX; + MajListeDimmer(); + spinDimmer.Value = 1; + MajDimmerSelectione(); } } @@ -120,5 +114,119 @@ namespace DMX2 Destroy(); } + + ListStore lsDimmers = new ListStore(typeof(int),typeof(UniversDMX.Dimmer)); + void ConstruitListeDimmer () + { + + + + var idCol = new Gtk.TreeViewColumn(); + var idCell = new Gtk.CellRendererText(); + idCol.Title = "ID"; + idCol.PackStart(idCell,true); + idCol.SetCellDataFunc(idCell, new Gtk.TreeCellDataFunc( RenderDimmerID) ); + tvDimm.AppendColumn(idCol); + + var cirCol = new Gtk.TreeViewColumn(); + var cirCell = new Gtk.CellRendererText(); + cirCol.Title = "Circuit"; + cirCol.PackStart(cirCell,true); + cirCol.SetCellDataFunc(cirCell, new Gtk.TreeCellDataFunc( RenderDimmerCircuit) ); + tvDimm.AppendColumn(cirCol); + + tvDimm.Model = lsDimmers; + + + + } + + void MajListeDimmer () + { + lsDimmers.Clear(); + int i; UniversDMX.Dimmer dim; + for (i=0; i< universEdite.Dimmers.Length;i++) + { + dim = universEdite.Dimmers[i]; + + lsDimmers.AppendValues(i+1,dim); + } + int id = (int)(spinDimmer.Value); + tvDimm.SetCursor( new TreePath( new int[1] { id - 1 }) ,null,false); + + } + + void RenderDimmerID (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter) + { + int i = (int)(tree_model.GetValue (iter, 0)); + (cell as Gtk.CellRendererText).Text = i.ToString(); + } + + void RenderDimmerCircuit (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter) + { + UniversDMX.Dimmer dim = (UniversDMX.Dimmer)(tree_model.GetValue (iter, 1)); + (cell as Gtk.CellRendererText).Text = dim.circuitAssocié==null?" - ": dim.circuitAssocié.ID + " - " + dim.circuitAssocié.Name ; + } + + + protected void OnSpinDimmerValueChanged (object sender, EventArgs e) + { + MajDimmerSelectione(); + } + + bool majencour = false; + void MajDimmerSelectione() + { + majencour = true; + int id = (int)(spinDimmer.Value); + + currDimm = id - 1; + tvDimm.SetCursor( new TreePath( new int[1] { currDimm }) ,null,false); + + TreeIter iter; + lsCbCircuits.GetIterFirst(out iter); + do{ + if((lsCbCircuits.GetValue(iter,0) as Circuit) == universEdite.Dimmers[currDimm].circuitAssocié) break; + } while (lsCbCircuits.IterNext(ref iter)); + + cbCircuit.SetActiveIter(iter); + majencour = false; + } + + protected void OnTvDimmCursorChanged (object sender, EventArgs e) + { + spinDimmer.Value = tvDimm.Selection.GetSelectedRows()[0].Indices[0]+1; + } + + protected void OnBtPatchDroitClicked (object sender, EventArgs e) + { + int i; + int max = Math.Min(Conduite.Courante.Circuits.Count,512); + + for(i=0 ;istock:gtk-sort-ascending Menu Patch Droit True + End @@ -1227,6 +1228,7 @@ 1 True 1 + 1 @@ -1252,6 +1254,7 @@ True + 3 @@ -1343,6 +1346,7 @@ True True +