diff --git a/DMX-2.0/DMX-2.0.csproj b/DMX-2.0/DMX-2.0.csproj index 4c8f86e..951742b 100644 --- a/DMX-2.0/DMX-2.0.csproj +++ b/DMX-2.0/DMX-2.0.csproj @@ -20,7 +20,7 @@ prompt 4 false - aguibtn + aguibtn nows none diff --git a/DMX-2.0/SeqMacroUI.cs b/DMX-2.0/SeqMacroUI.cs index 4639156..167f243 100644 --- a/DMX-2.0/SeqMacroUI.cs +++ b/DMX-2.0/SeqMacroUI.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using Gtk; +using System.Text; namespace DMX2 { @@ -19,6 +20,8 @@ namespace DMX2 effetChange = true; } + DateTime nextMaj = DateTime.Now; + void RenamePopup (object sender, ContextMenuEventArgs e) { Menu m = new Menu(); @@ -283,16 +286,6 @@ namespace DMX2 // UpdateValues (); inutil dans le contexte timeLabel.LabelProp = string.Format (@"{0:0\.0}", sequenceur.TimeStamp.TotalMilliseconds / 100); - /*if (sequenceur.EffetCourrant.Duree != TimeSpan.Zero) - pbDuree.Fraction = Math.Min (1.0d, sequenceur.TimeStamp.TotalMilliseconds / sequenceur.EffetCourrant.Duree.TotalMilliseconds); - else - pbDuree.Fraction = 0.0d; - - if (sequenceur.EffetCourrant.Transition != TimeSpan.Zero) - pbDuree.Fraction = Math.Min (1.0d, sequenceur.TimeStamp.TotalMilliseconds / sequenceur.EffetCourrant.Transition.TotalMilliseconds); - else - pbDuree.Fraction = 0.0d;*/ - if (effetChange) { //UpdListeEffets(); effetsListe.QueueDraw(); @@ -303,6 +296,30 @@ namespace DMX2 seqMasterScale.Value = sequenceur.Master; updating = false; + if (DateTime.Now > nextMaj ) { + nextMaj = DateTime.Now.AddMilliseconds(500); + StringBuilder str = new StringBuilder (); + bool a = false; + foreach (Circuit c in sequenceur.Circuits) { + if (sequenceur.ValeurCircuit (c) > 0) { + if (sequenceur.EstActif (c) != a) { + if(!a){ + str.Append (""); + a = true; + } else { + str.Append (""); + a = false; + } + } + str.Append (c.ID); str.Append (' '); + } + } + if (a) { + str.Append (""); + a = false; + } + actLabel.LabelProp = str.ToString (); + } } @@ -334,12 +351,6 @@ namespace DMX2 { fullUpdFlag = true; - - /*foreach (Circuit c in sequenceur.Circuits) { - - - }*/ - posLabel.Text = string.Format("n°{0}",sequenceur.IndexLigneEnCours +1); fullUpdFlag=false; @@ -354,14 +365,7 @@ namespace DMX2 protected void OnGoForwardActionActivated (object sender, EventArgs e) { - // Si l'effet courant est selectioné, on passe au suivant, sinon, on passe a celui selectionné. - /*if(sequenceur.IndexEffetCourrant == IndexEffetSelectionne()) - sequenceur.IndexEffetCourrant++; - else - sequenceur.IndexEffetCourrant = IndexEffetSelectionne();*/ - sequenceur.LigneSuivante(); - } protected void OnGoBackActionActivated (object sender, EventArgs e) @@ -420,11 +424,6 @@ namespace DMX2 } - - - - - } } diff --git a/DMX-2.0/SequenceurMacro.cs b/DMX-2.0/SequenceurMacro.cs index 25f6c71..ccfd2c0 100644 --- a/DMX-2.0/SequenceurMacro.cs +++ b/DMX-2.0/SequenceurMacro.cs @@ -306,6 +306,12 @@ namespace DMX2 return valeurscourantes [c]; } + public bool EstActif (Circuit c) + { + lock (this) + return effetsEnCours.ContainsKey(c); + } + public override void Tick (TimeSpan time) { if (paused) diff --git a/DMX-2.0/gtk-gui/DMX2.SeqMacroUI.cs b/DMX-2.0/gtk-gui/DMX2.SeqMacroUI.cs index 12bac90..2f1d71c 100644 --- a/DMX-2.0/gtk-gui/DMX2.SeqMacroUI.cs +++ b/DMX-2.0/gtk-gui/DMX2.SeqMacroUI.cs @@ -22,6 +22,7 @@ namespace DMX2 private global::Gtk.EventBox evBBox; private global::Gtk.HBox hbox2; private global::Gtk.Label posLabel; + private global::Gtk.Label actLabel; private global::Gtk.Label timeLabel; private global::Gtk.HScale seqMasterScale; private global::Gtk.HBox hbox3; @@ -102,6 +103,15 @@ namespace DMX2 w3.Expand = false; w3.Fill = false; // Container child hbox2.Gtk.Box+BoxChild + this.actLabel = new global::Gtk.Label (); + this.actLabel.Name = "actLabel"; + this.actLabel.UseMarkup = true; + this.actLabel.Wrap = true; + this.hbox2.Add (this.actLabel); + global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.actLabel])); + w4.Position = 1; + w4.Fill = false; + // Container child hbox2.Gtk.Box+BoxChild this.timeLabel = new global::Gtk.Label (); this.timeLabel.HeightRequest = 33; this.timeLabel.Name = "timeLabel"; @@ -109,17 +119,17 @@ namespace DMX2 this.timeLabel.LabelProp = "00.0"; this.timeLabel.UseMarkup = true; this.hbox2.Add (this.timeLabel); - global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.timeLabel])); - w4.PackType = ((global::Gtk.PackType)(1)); - w4.Position = 1; - w4.Expand = false; - w4.Fill = false; + global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.timeLabel])); + w5.PackType = ((global::Gtk.PackType)(1)); + w5.Position = 2; + w5.Expand = false; + w5.Fill = false; this.evBBox.Add (this.hbox2); this.vbox3.Add (this.evBBox); - global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.evBBox])); - w6.Position = 0; - w6.Expand = false; - w6.Fill = false; + global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.evBBox])); + w7.Position = 0; + w7.Expand = false; + w7.Fill = false; // Container child vbox3.Gtk.Box+BoxChild this.seqMasterScale = new global::Gtk.HScale (null); this.seqMasterScale.CanFocus = true; @@ -132,10 +142,10 @@ namespace DMX2 this.seqMasterScale.Digits = 0; this.seqMasterScale.ValuePos = ((global::Gtk.PositionType)(1)); this.vbox3.Add (this.seqMasterScale); - global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.seqMasterScale])); - w7.Position = 1; - w7.Expand = false; - w7.Fill = false; + global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.seqMasterScale])); + w8.Position = 1; + w8.Expand = false; + w8.Fill = false; // Container child vbox3.Gtk.Box+BoxChild this.hbox3 = new global::Gtk.HBox (); this.hbox3.Name = "hbox3"; @@ -147,52 +157,52 @@ namespace DMX2 this.txtCommand.IsEditable = true; this.txtCommand.InvisibleChar = '●'; this.hbox3.Add (this.txtCommand); - global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.txtCommand])); - w8.Position = 0; + global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.txtCommand])); + w9.Position = 0; // Container child hbox3.Gtk.Box+BoxChild this.btnCommand = new global::Gtk.Button (); this.btnCommand.CanFocus = true; this.btnCommand.Name = "btnCommand"; this.btnCommand.UseUnderline = true; // Container child btnCommand.Gtk.Container+ContainerChild - global::Gtk.Alignment w9 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); + global::Gtk.Alignment w10 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); // Container child GtkAlignment.Gtk.Container+ContainerChild - global::Gtk.HBox w10 = new global::Gtk.HBox (); - w10.Spacing = 2; + global::Gtk.HBox w11 = new global::Gtk.HBox (); + w11.Spacing = 2; // Container child GtkHBox.Gtk.Container+ContainerChild - global::Gtk.Image w11 = new global::Gtk.Image (); - w11.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-ok", global::Gtk.IconSize.Menu); + global::Gtk.Image w12 = new global::Gtk.Image (); + w12.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-ok", global::Gtk.IconSize.Menu); + w11.Add (w12); + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Label w14 = new global::Gtk.Label (); + w14.LabelProp = "Ok"; + w14.UseUnderline = true; + w11.Add (w14); w10.Add (w11); - // Container child GtkHBox.Gtk.Container+ContainerChild - global::Gtk.Label w13 = new global::Gtk.Label (); - w13.LabelProp = "Ok"; - w13.UseUnderline = true; - w10.Add (w13); - w9.Add (w10); - this.btnCommand.Add (w9); + this.btnCommand.Add (w10); this.hbox3.Add (this.btnCommand); - global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.btnCommand])); - w17.Position = 1; - w17.Expand = false; - w17.Fill = false; - this.vbox3.Add (this.hbox3); - global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox3])); - w18.Position = 2; + global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.btnCommand])); + w18.Position = 1; w18.Expand = false; w18.Fill = false; + this.vbox3.Add (this.hbox3); + global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox3])); + w19.Position = 2; + w19.Expand = false; + w19.Fill = false; // Container child vbox3.Gtk.Box+BoxChild this.UIManager.AddUiFromString (""); this.toolbar = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/toolbar"))); this.toolbar.Name = "toolbar"; this.toolbar.ShowArrow = false; this.vbox3.Add (this.toolbar); - global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.toolbar])); - w19.Position = 3; - w19.Expand = false; - w19.Fill = false; + global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.toolbar])); + w20.Position = 3; + w20.Expand = false; + w20.Fill = false; this.hbox1.Add (this.vbox3); - global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox3])); - w20.Position = 0; + global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox3])); + w21.Position = 0; // Container child hbox1.Gtk.Box+BoxChild this.UIManager.AddUiFromString (""); this.toolbar1 = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/toolbar1"))); @@ -202,16 +212,16 @@ namespace DMX2 this.toolbar1.ToolbarStyle = ((global::Gtk.ToolbarStyle)(0)); this.toolbar1.IconSize = ((global::Gtk.IconSize)(2)); this.hbox1.Add (this.toolbar1); - global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.toolbar1])); - w21.PackType = ((global::Gtk.PackType)(1)); - w21.Position = 1; - w21.Expand = false; - w21.Fill = false; - this.vbox2.Add (this.hbox1); - global::Gtk.Box.BoxChild w22 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox1])); - w22.Position = 0; + global::Gtk.Box.BoxChild w22 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.toolbar1])); + w22.PackType = ((global::Gtk.PackType)(1)); + w22.Position = 1; w22.Expand = false; w22.Fill = false; + this.vbox2.Add (this.hbox1); + global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox1])); + w23.Position = 0; + w23.Expand = false; + w23.Fill = false; // Container child vbox2.Gtk.Box+BoxChild this.scrolledwindow1 = new global::Gtk.ScrolledWindow (); this.scrolledwindow1.CanFocus = true; @@ -224,8 +234,8 @@ namespace DMX2 this.effetsListe.RulesHint = true; this.scrolledwindow1.Add (this.effetsListe); this.vbox2.Add (this.scrolledwindow1); - global::Gtk.Box.BoxChild w24 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.scrolledwindow1])); - w24.Position = 1; + global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.scrolledwindow1])); + w25.Position = 1; this.alignment1.Add (this.vbox2); this.GtkAlignment.Add (this.alignment1); this.frame1.Add (this.GtkAlignment); diff --git a/DMX-2.0/gtk-gui/gui.stetic b/DMX-2.0/gtk-gui/gui.stetic index dfb1657..faf948e 100644 --- a/DMX-2.0/gtk-gui/gui.stetic +++ b/DMX-2.0/gtk-gui/gui.stetic @@ -1581,7 +1581,7 @@ au sequenceur - + Toggle @@ -1680,11 +1680,23 @@ au sequenceur 0 - False + True False False + + + + True + True + + + 1 + False + False + + @@ -1695,7 +1707,7 @@ au sequenceur End - 1 + 2 False False False diff --git a/DMX-2.0/style.gtkrc b/DMX-2.0/style.gtkrc index 69aed7b..7b902d4 100644 --- a/DMX-2.0/style.gtkrc +++ b/DMX-2.0/style.gtkrc @@ -83,6 +83,14 @@ style "counter" font_name = "DejaVu Sans Mono Bold 12" } +style "actmacro" +{ + fg[NORMAL] = "#FFFF00" + bg[NORMAL] = "#000000" + font_name = "DejaVu Sans Mono Bold 6" +} + + style "lbtirette" { fg[NORMAL] = "#D0D0D0" @@ -96,9 +104,11 @@ class "GtkProgressBar" style "progressbar" widget "*.pb" style "circuitspb" widget "*.posLabel" style "counter" widget "*.timeLabel" style "counter" +widget "*.actLabel" style "actmacro" + widget "*.evBBox" style "counter" widget "*.lblTirette" style "lbtirette" widget "*.sclTirette" style "tirettes" widget "*.sclTiretteC" style "tirettesc" widget "*.sclTiretteT" style "tirettest" -widget "*.sclTiretteM" style "tirettesm" +widget "*.sclTiretteM" style "tirettesm" \ No newline at end of file