Ajout visu des circuits sur seq macro

This commit is contained in:
tzim 2014-02-07 11:42:15 +00:00
parent be17513357
commit 4090b74337
6 changed files with 120 additions and 83 deletions

View file

@ -20,7 +20,7 @@
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause> <ConsolePause>false</ConsolePause>
<Commandlineparameters>aguibtn</Commandlineparameters> <Commandlineparameters>aguibtn nows</Commandlineparameters>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>none</DebugType> <DebugType>none</DebugType>

View file

@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Gtk; using Gtk;
using System.Text;
namespace DMX2 namespace DMX2
{ {
@ -19,6 +20,8 @@ namespace DMX2
effetChange = true; effetChange = true;
} }
DateTime nextMaj = DateTime.Now;
void RenamePopup (object sender, ContextMenuEventArgs e) void RenamePopup (object sender, ContextMenuEventArgs e)
{ {
Menu m = new Menu(); Menu m = new Menu();
@ -283,16 +286,6 @@ namespace DMX2
// UpdateValues (); inutil dans le contexte // UpdateValues (); inutil dans le contexte
timeLabel.LabelProp = string.Format (@"{0:0\.0}", sequenceur.TimeStamp.TotalMilliseconds / 100); 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) { if (effetChange) {
//UpdListeEffets(); //UpdListeEffets();
effetsListe.QueueDraw(); effetsListe.QueueDraw();
@ -303,6 +296,30 @@ namespace DMX2
seqMasterScale.Value = sequenceur.Master; seqMasterScale.Value = sequenceur.Master;
updating = false; 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 ("<span foreground='#FF8888'>");
a = true;
} else {
str.Append ("</span>");
a = false;
}
}
str.Append (c.ID); str.Append (' ');
}
}
if (a) {
str.Append ("</span>");
a = false;
}
actLabel.LabelProp = str.ToString ();
}
} }
@ -334,12 +351,6 @@ namespace DMX2
{ {
fullUpdFlag = true; fullUpdFlag = true;
/*foreach (Circuit c in sequenceur.Circuits) {
}*/
posLabel.Text = string.Format("n°{0}",sequenceur.IndexLigneEnCours +1); posLabel.Text = string.Format("n°{0}",sequenceur.IndexLigneEnCours +1);
fullUpdFlag=false; fullUpdFlag=false;
@ -354,14 +365,7 @@ namespace DMX2
protected void OnGoForwardActionActivated (object sender, EventArgs e) 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(); sequenceur.LigneSuivante();
} }
protected void OnGoBackActionActivated (object sender, EventArgs e) protected void OnGoBackActionActivated (object sender, EventArgs e)
@ -420,11 +424,6 @@ namespace DMX2
} }
} }
} }

View file

@ -306,6 +306,12 @@ namespace DMX2
return valeurscourantes [c]; return valeurscourantes [c];
} }
public bool EstActif (Circuit c)
{
lock (this)
return effetsEnCours.ContainsKey(c);
}
public override void Tick (TimeSpan time) public override void Tick (TimeSpan time)
{ {
if (paused) if (paused)

View file

@ -22,6 +22,7 @@ namespace DMX2
private global::Gtk.EventBox evBBox; private global::Gtk.EventBox evBBox;
private global::Gtk.HBox hbox2; private global::Gtk.HBox hbox2;
private global::Gtk.Label posLabel; private global::Gtk.Label posLabel;
private global::Gtk.Label actLabel;
private global::Gtk.Label timeLabel; private global::Gtk.Label timeLabel;
private global::Gtk.HScale seqMasterScale; private global::Gtk.HScale seqMasterScale;
private global::Gtk.HBox hbox3; private global::Gtk.HBox hbox3;
@ -102,6 +103,15 @@ namespace DMX2
w3.Expand = false; w3.Expand = false;
w3.Fill = false; w3.Fill = false;
// Container child hbox2.Gtk.Box+BoxChild // 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 = new global::Gtk.Label ();
this.timeLabel.HeightRequest = 33; this.timeLabel.HeightRequest = 33;
this.timeLabel.Name = "timeLabel"; this.timeLabel.Name = "timeLabel";
@ -109,17 +119,17 @@ namespace DMX2
this.timeLabel.LabelProp = "<big>00.0</big>"; this.timeLabel.LabelProp = "<big>00.0</big>";
this.timeLabel.UseMarkup = true; this.timeLabel.UseMarkup = true;
this.hbox2.Add (this.timeLabel); this.hbox2.Add (this.timeLabel);
global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.timeLabel])); global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.timeLabel]));
w4.PackType = ((global::Gtk.PackType)(1)); w5.PackType = ((global::Gtk.PackType)(1));
w4.Position = 1; w5.Position = 2;
w4.Expand = false; w5.Expand = false;
w4.Fill = false; w5.Fill = false;
this.evBBox.Add (this.hbox2); this.evBBox.Add (this.hbox2);
this.vbox3.Add (this.evBBox); this.vbox3.Add (this.evBBox);
global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.evBBox])); global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.evBBox]));
w6.Position = 0; w7.Position = 0;
w6.Expand = false; w7.Expand = false;
w6.Fill = false; w7.Fill = false;
// Container child vbox3.Gtk.Box+BoxChild // Container child vbox3.Gtk.Box+BoxChild
this.seqMasterScale = new global::Gtk.HScale (null); this.seqMasterScale = new global::Gtk.HScale (null);
this.seqMasterScale.CanFocus = true; this.seqMasterScale.CanFocus = true;
@ -132,10 +142,10 @@ namespace DMX2
this.seqMasterScale.Digits = 0; this.seqMasterScale.Digits = 0;
this.seqMasterScale.ValuePos = ((global::Gtk.PositionType)(1)); this.seqMasterScale.ValuePos = ((global::Gtk.PositionType)(1));
this.vbox3.Add (this.seqMasterScale); this.vbox3.Add (this.seqMasterScale);
global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.seqMasterScale])); global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.seqMasterScale]));
w7.Position = 1; w8.Position = 1;
w7.Expand = false; w8.Expand = false;
w7.Fill = false; w8.Fill = false;
// Container child vbox3.Gtk.Box+BoxChild // Container child vbox3.Gtk.Box+BoxChild
this.hbox3 = new global::Gtk.HBox (); this.hbox3 = new global::Gtk.HBox ();
this.hbox3.Name = "hbox3"; this.hbox3.Name = "hbox3";
@ -147,52 +157,52 @@ namespace DMX2
this.txtCommand.IsEditable = true; this.txtCommand.IsEditable = true;
this.txtCommand.InvisibleChar = '●'; this.txtCommand.InvisibleChar = '●';
this.hbox3.Add (this.txtCommand); this.hbox3.Add (this.txtCommand);
global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.txtCommand])); global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.txtCommand]));
w8.Position = 0; w9.Position = 0;
// Container child hbox3.Gtk.Box+BoxChild // Container child hbox3.Gtk.Box+BoxChild
this.btnCommand = new global::Gtk.Button (); this.btnCommand = new global::Gtk.Button ();
this.btnCommand.CanFocus = true; this.btnCommand.CanFocus = true;
this.btnCommand.Name = "btnCommand"; this.btnCommand.Name = "btnCommand";
this.btnCommand.UseUnderline = true; this.btnCommand.UseUnderline = true;
// Container child btnCommand.Gtk.Container+ContainerChild // 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 // Container child GtkAlignment.Gtk.Container+ContainerChild
global::Gtk.HBox w10 = new global::Gtk.HBox (); global::Gtk.HBox w11 = new global::Gtk.HBox ();
w10.Spacing = 2; w11.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild // Container child GtkHBox.Gtk.Container+ContainerChild
global::Gtk.Image w11 = new global::Gtk.Image (); global::Gtk.Image w12 = new global::Gtk.Image ();
w11.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-ok", global::Gtk.IconSize.Menu); 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); w10.Add (w11);
// Container child GtkHBox.Gtk.Container+ContainerChild this.btnCommand.Add (w10);
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.hbox3.Add (this.btnCommand); this.hbox3.Add (this.btnCommand);
global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.btnCommand])); global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.btnCommand]));
w17.Position = 1; w18.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;
w18.Expand = false; w18.Expand = false;
w18.Fill = 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 // Container child vbox3.Gtk.Box+BoxChild
this.UIManager.AddUiFromString ("<ui><toolbar name='toolbar'><toolitem name='goForwardAction' action='goForwardAction'/><toolitem name='goBackAction' action='goBackAction'/><toolitem name='mediaPauseAction' action='mediaPauseAction'/><toolitem name='btnAjoutLigne' action='btnAjoutLigne'/><toolitem name='btnRetireligne' action='btnRetireligne'/></toolbar></ui>"); this.UIManager.AddUiFromString ("<ui><toolbar name='toolbar'><toolitem name='goForwardAction' action='goForwardAction'/><toolitem name='goBackAction' action='goBackAction'/><toolitem name='mediaPauseAction' action='mediaPauseAction'/><toolitem name='btnAjoutLigne' action='btnAjoutLigne'/><toolitem name='btnRetireligne' action='btnRetireligne'/></toolbar></ui>");
this.toolbar = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/toolbar"))); this.toolbar = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/toolbar")));
this.toolbar.Name = "toolbar"; this.toolbar.Name = "toolbar";
this.toolbar.ShowArrow = false; this.toolbar.ShowArrow = false;
this.vbox3.Add (this.toolbar); this.vbox3.Add (this.toolbar);
global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.toolbar])); global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.toolbar]));
w19.Position = 3; w20.Position = 3;
w19.Expand = false; w20.Expand = false;
w19.Fill = false; w20.Fill = false;
this.hbox1.Add (this.vbox3); this.hbox1.Add (this.vbox3);
global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox3])); global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox3]));
w20.Position = 0; w21.Position = 0;
// Container child hbox1.Gtk.Box+BoxChild // Container child hbox1.Gtk.Box+BoxChild
this.UIManager.AddUiFromString ("<ui><toolbar name='toolbar1'><toolitem name='closeAction' action='closeAction'/><toolitem name='circuitsAction' action='circuitsAction'/></toolbar></ui>"); this.UIManager.AddUiFromString ("<ui><toolbar name='toolbar1'><toolitem name='closeAction' action='closeAction'/><toolitem name='circuitsAction' action='circuitsAction'/></toolbar></ui>");
this.toolbar1 = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/toolbar1"))); this.toolbar1 = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/toolbar1")));
@ -202,16 +212,16 @@ namespace DMX2
this.toolbar1.ToolbarStyle = ((global::Gtk.ToolbarStyle)(0)); this.toolbar1.ToolbarStyle = ((global::Gtk.ToolbarStyle)(0));
this.toolbar1.IconSize = ((global::Gtk.IconSize)(2)); this.toolbar1.IconSize = ((global::Gtk.IconSize)(2));
this.hbox1.Add (this.toolbar1); this.hbox1.Add (this.toolbar1);
global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.toolbar1])); global::Gtk.Box.BoxChild w22 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.toolbar1]));
w21.PackType = ((global::Gtk.PackType)(1)); w22.PackType = ((global::Gtk.PackType)(1));
w21.Position = 1; w22.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;
w22.Expand = false; w22.Expand = false;
w22.Fill = 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 // Container child vbox2.Gtk.Box+BoxChild
this.scrolledwindow1 = new global::Gtk.ScrolledWindow (); this.scrolledwindow1 = new global::Gtk.ScrolledWindow ();
this.scrolledwindow1.CanFocus = true; this.scrolledwindow1.CanFocus = true;
@ -224,8 +234,8 @@ namespace DMX2
this.effetsListe.RulesHint = true; this.effetsListe.RulesHint = true;
this.scrolledwindow1.Add (this.effetsListe); this.scrolledwindow1.Add (this.effetsListe);
this.vbox2.Add (this.scrolledwindow1); this.vbox2.Add (this.scrolledwindow1);
global::Gtk.Box.BoxChild w24 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.scrolledwindow1])); global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.scrolledwindow1]));
w24.Position = 1; w25.Position = 1;
this.alignment1.Add (this.vbox2); this.alignment1.Add (this.vbox2);
this.GtkAlignment.Add (this.alignment1); this.GtkAlignment.Add (this.alignment1);
this.frame1.Add (this.GtkAlignment); this.frame1.Add (this.GtkAlignment);

View file

@ -1581,7 +1581,7 @@ au sequenceur</property>
</widget> </widget>
</child> </child>
</widget> </widget>
<widget class="Gtk.Bin" id="DMX2.SeqMacroUI" design-size="665 467"> <widget class="Gtk.Bin" id="DMX2.SeqMacroUI" design-size="924 467">
<action-group name="Default"> <action-group name="Default">
<action id="closeAction"> <action id="closeAction">
<property name="Type">Toggle</property> <property name="Type">Toggle</property>
@ -1680,11 +1680,23 @@ au sequenceur</property>
</widget> </widget>
<packing> <packing>
<property name="Position">0</property> <property name="Position">0</property>
<property name="AutoSize">False</property> <property name="AutoSize">True</property>
<property name="Expand">False</property> <property name="Expand">False</property>
<property name="Fill">False</property> <property name="Fill">False</property>
</packing> </packing>
</child> </child>
<child>
<widget class="Gtk.Label" id="actLabel">
<property name="MemberName" />
<property name="UseMarkup">True</property>
<property name="Wrap">True</property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child> <child>
<widget class="Gtk.Label" id="timeLabel"> <widget class="Gtk.Label" id="timeLabel">
<property name="MemberName" /> <property name="MemberName" />
@ -1695,7 +1707,7 @@ au sequenceur</property>
</widget> </widget>
<packing> <packing>
<property name="PackType">End</property> <property name="PackType">End</property>
<property name="Position">1</property> <property name="Position">2</property>
<property name="AutoSize">False</property> <property name="AutoSize">False</property>
<property name="Expand">False</property> <property name="Expand">False</property>
<property name="Fill">False</property> <property name="Fill">False</property>

View file

@ -83,6 +83,14 @@ style "counter"
font_name = "DejaVu Sans Mono Bold 12" font_name = "DejaVu Sans Mono Bold 12"
} }
style "actmacro"
{
fg[NORMAL] = "#FFFF00"
bg[NORMAL] = "#000000"
font_name = "DejaVu Sans Mono Bold 6"
}
style "lbtirette" style "lbtirette"
{ {
fg[NORMAL] = "#D0D0D0" fg[NORMAL] = "#D0D0D0"
@ -96,6 +104,8 @@ class "GtkProgressBar" style "progressbar"
widget "*.pb" style "circuitspb" widget "*.pb" style "circuitspb"
widget "*.posLabel" style "counter" widget "*.posLabel" style "counter"
widget "*.timeLabel" style "counter" widget "*.timeLabel" style "counter"
widget "*.actLabel" style "actmacro"
widget "*.evBBox" style "counter" widget "*.evBBox" style "counter"
widget "*.lblTirette" style "lbtirette" widget "*.lblTirette" style "lbtirette"
widget "*.sclTirette" style "tirettes" widget "*.sclTirette" style "tirettes"