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>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<Commandlineparameters>aguibtn</Commandlineparameters>
<Commandlineparameters>aguibtn nows</Commandlineparameters>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>none</DebugType>

View file

@ -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 ("<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;
/*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
}
}
}

View file

@ -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)

View file

@ -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 = "<big>00.0</big>";
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 ("<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.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 ("<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")));
@ -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);

View file

@ -1581,7 +1581,7 @@ au sequenceur</property>
</widget>
</child>
</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 id="closeAction">
<property name="Type">Toggle</property>
@ -1680,11 +1680,23 @@ au sequenceur</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">False</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</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>
<widget class="Gtk.Label" id="timeLabel">
<property name="MemberName" />
@ -1695,7 +1707,7 @@ au sequenceur</property>
</widget>
<packing>
<property name="PackType">End</property>
<property name="Position">1</property>
<property name="Position">2</property>
<property name="AutoSize">False</property>
<property name="Expand">False</property>
<property name="Fill">False</property>

View file

@ -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,6 +104,8 @@ 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"