This commit is contained in:
parent
f25ffc20de
commit
36a0c276c4
9 changed files with 303 additions and 24 deletions
|
|
@ -15,14 +15,24 @@ namespace DMX2
|
|||
Timer timer = null;
|
||||
DateTime dernierTick;
|
||||
DateTime derniereMaj;
|
||||
string _name;
|
||||
int master=100;
|
||||
|
||||
List<Circuit> circuits = new List<Circuit>();
|
||||
List<UniversDMX> univers = new List<UniversDMX>();
|
||||
|
||||
|
||||
public Conduite()
|
||||
{
|
||||
timer = new Timer(new TimerCallback(TimerTick),this, 1000,10);
|
||||
derniereMaj = dernierTick=DateTime.Now;
|
||||
|
||||
// Crée l'univers par défaut
|
||||
var u = new UniversDMX();
|
||||
Patches.Add(u);
|
||||
u.Nom = "Univers par Défaut";
|
||||
}
|
||||
|
||||
List<Circuit> circuits = new List<Circuit>();
|
||||
|
||||
public ReadOnlyCollection<Circuit> Circuits {
|
||||
get {
|
||||
|
|
@ -49,7 +59,6 @@ namespace DMX2
|
|||
}
|
||||
}
|
||||
|
||||
string _name;
|
||||
|
||||
public string Name {
|
||||
get {
|
||||
|
|
@ -60,8 +69,6 @@ namespace DMX2
|
|||
}
|
||||
}
|
||||
|
||||
int master=100;
|
||||
|
||||
public int Master {
|
||||
get {
|
||||
return master;
|
||||
|
|
@ -92,22 +99,12 @@ namespace DMX2
|
|||
}
|
||||
}
|
||||
|
||||
List<UniversDMX> univers;
|
||||
|
||||
public List<UniversDMX> Patch {
|
||||
public List<UniversDMX> Patches {
|
||||
get {
|
||||
return univers;
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
disposed=true;
|
||||
if(timer!=null)
|
||||
timer.Dispose();
|
||||
timer=null;
|
||||
}
|
||||
|
||||
static public void TimerTick (object state)
|
||||
{
|
||||
Conduite.Courante.Tick();
|
||||
|
|
@ -148,6 +145,15 @@ namespace DMX2
|
|||
|
||||
#region IDisposable implementation
|
||||
bool disposed=false;
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
disposed=true;
|
||||
if(timer!=null)
|
||||
timer.Dispose();
|
||||
timer=null;
|
||||
}
|
||||
|
||||
void IDisposable.Dispose ()
|
||||
{
|
||||
if(!disposed)
|
||||
|
|
|
|||
|
|
@ -65,7 +65,6 @@
|
|||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="icons\ictir\16.png" />
|
||||
<EmbeddedResource Include="icons\ictir\22.png" />
|
||||
<EmbeddedResource Include="..\DMX-2.0.sln" />
|
||||
<EmbeddedResource Include="icons\ictir\24.png" />
|
||||
<EmbeddedResource Include="icons\ictir\32.png" />
|
||||
<EmbeddedResource Include="icons\ictir\48.png" />
|
||||
|
|
@ -103,6 +102,8 @@
|
|||
<Compile Include="gtk-gui\DMX2.SeqLinUI.cs" />
|
||||
<Compile Include="SelSeqCircuits.cs" />
|
||||
<Compile Include="gtk-gui\DMX2.SelSeqCircuits.cs" />
|
||||
<Compile Include="EditionUnivers.cs" />
|
||||
<Compile Include="gtk-gui\DMX2.EditionUnivers.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
54
DMX-2.0/EditionUnivers.cs
Normal file
54
DMX-2.0/EditionUnivers.cs
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
using System;
|
||||
using Gtk;
|
||||
namespace DMX2
|
||||
{
|
||||
public partial class EditionUnivers : Gtk.Dialog
|
||||
{
|
||||
UniversDMX universEdite;
|
||||
public EditionUnivers (UniversDMX univers , Window parent) : base ("Edition Univers",parent,Gtk.DialogFlags.Modal)
|
||||
{
|
||||
this.Build ();
|
||||
universEdite = univers;
|
||||
|
||||
ConstruitListe();
|
||||
}
|
||||
|
||||
|
||||
ListStore lsGrada;
|
||||
ListStore lsCircuits;
|
||||
|
||||
void ConstruitListe ()
|
||||
{
|
||||
var cellNum = new CellRendererText();
|
||||
var cellCircuit = new CellRendererCombo();
|
||||
var cellAllume = new CellRendererToggle();
|
||||
|
||||
lsGrada = new ListStore(typeof(UniversDMX.Grada));
|
||||
lsCircuits = new ListStore(typeof(Circuit));
|
||||
|
||||
listeGradas.AppendColumn("N°",cellNum);
|
||||
var colCircuit = listeGradas.AppendColumn("Circuit Associé",cellCircuit);
|
||||
listeGradas.AppendColumn("Allume",cellAllume);
|
||||
|
||||
listeGradas.Model = lsGrada;
|
||||
|
||||
cellCircuit.Model = lsCircuits;
|
||||
cellCircuit.Editable = true;
|
||||
colCircuit.SetCellDataFunc(cellCircuit, new TreeCellDataFunc(SetCellCircuitData));
|
||||
cellCircuit.EditingStarted += CellCircuitData;
|
||||
|
||||
}
|
||||
|
||||
void CellCircuitData (object o, EditingStartedArgs args)
|
||||
{
|
||||
}
|
||||
|
||||
void SetCellCircuitData (TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -144,8 +144,19 @@ namespace DMX2
|
|||
protected void OnMasterScaleValueChanged (object sender, EventArgs e)
|
||||
{
|
||||
Conduite.Courante.Master = (int)(masterScale.Value);
|
||||
}
|
||||
|
||||
|
||||
bool isfullscreen=false;
|
||||
protected void OnFullscreenAction1Activated (object sender, EventArgs e)
|
||||
{
|
||||
if (!isfullscreen) {
|
||||
Fullscreen ();
|
||||
isfullscreen = true;
|
||||
} else {
|
||||
Unfullscreen();
|
||||
isfullscreen = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -16,7 +16,7 @@ namespace DMX2
|
|||
return cursel;
|
||||
}
|
||||
|
||||
public SelSeqCircuits (IEnumerable<Circuit> selection )
|
||||
public SelSeqCircuits (IEnumerable<Circuit> selection , Gtk.Window parent) : base ("Selection des Circuits",parent,Gtk.DialogFlags.Modal)
|
||||
{
|
||||
this.Build ();
|
||||
|
||||
|
|
|
|||
|
|
@ -168,7 +168,9 @@ namespace DMX2
|
|||
|
||||
protected void OnCircuitsActionActivated (object sender, EventArgs e)
|
||||
{
|
||||
var dlg = new SelSeqCircuits (sequenceur.Circuits);
|
||||
// récupère la fenètre principale
|
||||
Window win = this.GetAncestor(Gtk.Window.GType) as Window;
|
||||
var dlg = new SelSeqCircuits (sequenceur.Circuits,win);
|
||||
if ((ResponseType)dlg.Run () == ResponseType.Ok) {
|
||||
sequenceur.ChangeCircuits(dlg.GetResultList());
|
||||
}
|
||||
|
|
@ -218,9 +220,7 @@ namespace DMX2
|
|||
protected void FullUpdate ()
|
||||
{
|
||||
fullUpdFlag=true;
|
||||
// TODO : ici : Remise a plat de l'UI , Ajout/agencement des tirettes et descriptions
|
||||
|
||||
|
||||
|
||||
lastKnownWidth = zoneWid.Allocation.Width;
|
||||
|
||||
foreach (Widget wid in new List<Widget>(zoneWid.Children))
|
||||
|
|
@ -303,11 +303,11 @@ 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();
|
||||
|
||||
}
|
||||
|
||||
protected void OnGoBackActionActivated (object sender, EventArgs e)
|
||||
|
|
|
|||
|
|
@ -15,6 +15,14 @@ namespace DMX2
|
|||
}
|
||||
|
||||
Grada[] _gradas = new Grada[512];
|
||||
|
||||
bool[] allumageForce = new bool[512];
|
||||
|
||||
public bool[] AllumageForce {
|
||||
get {
|
||||
return allumageForce;
|
||||
}
|
||||
}
|
||||
public string Nom;
|
||||
public enum FTransfer {
|
||||
lineaire,
|
||||
|
|
@ -48,7 +56,13 @@ namespace DMX2
|
|||
Debug.Assert(valeurs.Length == _gradas.Length);
|
||||
for(int i = 0 ; i<512; i++)
|
||||
{
|
||||
if(allumageForce[i]) {
|
||||
valeurs[i] = 128;
|
||||
break;
|
||||
}
|
||||
|
||||
g= _gradas[i];
|
||||
|
||||
switch (g.fonctionTransfert) {
|
||||
case FTransfer.lineaire:
|
||||
valeurs[i] = g.circuitAssocié.ValeurCourante;
|
||||
|
|
|
|||
93
DMX-2.0/gtk-gui/DMX2.EditionUnivers.cs
Normal file
93
DMX-2.0/gtk-gui/DMX2.EditionUnivers.cs
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
|
||||
// This file has been generated by the GUI designer. Do not modify.
|
||||
namespace DMX2
|
||||
{
|
||||
public partial class EditionUnivers
|
||||
{
|
||||
private global::Gtk.HBox hbox2;
|
||||
private global::Gtk.Button button162;
|
||||
private global::Gtk.Button button163;
|
||||
private global::Gtk.ScrolledWindow GtkScrolledWindow;
|
||||
private global::Gtk.TreeView listeGradas;
|
||||
private global::Gtk.Button buttonCancel;
|
||||
|
||||
protected virtual void Build ()
|
||||
{
|
||||
global::Stetic.Gui.Initialize (this);
|
||||
// Widget DMX2.EditionUnivers
|
||||
this.Name = "DMX2.EditionUnivers";
|
||||
this.WindowPosition = ((global::Gtk.WindowPosition)(4));
|
||||
// Internal child DMX2.EditionUnivers.VBox
|
||||
global::Gtk.VBox w1 = this.VBox;
|
||||
w1.Name = "dialog1_VBox";
|
||||
w1.BorderWidth = ((uint)(2));
|
||||
// Container child dialog1_VBox.Gtk.Box+BoxChild
|
||||
this.hbox2 = new global::Gtk.HBox ();
|
||||
this.hbox2.Name = "hbox2";
|
||||
this.hbox2.Spacing = 6;
|
||||
// Container child hbox2.Gtk.Box+BoxChild
|
||||
this.button162 = new global::Gtk.Button ();
|
||||
this.button162.CanFocus = true;
|
||||
this.button162.Name = "button162";
|
||||
this.button162.UseUnderline = true;
|
||||
this.button162.Label = global::Mono.Unix.Catalog.GetString ("1 Circuit = 1 Grada");
|
||||
this.hbox2.Add (this.button162);
|
||||
global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.button162]));
|
||||
w2.Position = 0;
|
||||
w2.Expand = false;
|
||||
w2.Fill = false;
|
||||
// Container child hbox2.Gtk.Box+BoxChild
|
||||
this.button163 = new global::Gtk.Button ();
|
||||
this.button163.CanFocus = true;
|
||||
this.button163.Name = "button163";
|
||||
this.button163.UseUnderline = true;
|
||||
this.button163.Label = global::Mono.Unix.Catalog.GetString ("Tout Réinitialiser");
|
||||
this.hbox2.Add (this.button163);
|
||||
global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.button163]));
|
||||
w3.Position = 1;
|
||||
w3.Expand = false;
|
||||
w3.Fill = false;
|
||||
w1.Add (this.hbox2);
|
||||
global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(w1 [this.hbox2]));
|
||||
w4.Position = 0;
|
||||
w4.Expand = false;
|
||||
w4.Fill = false;
|
||||
// Container child dialog1_VBox.Gtk.Box+BoxChild
|
||||
this.GtkScrolledWindow = new global::Gtk.ScrolledWindow ();
|
||||
this.GtkScrolledWindow.Name = "GtkScrolledWindow";
|
||||
this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1));
|
||||
// Container child GtkScrolledWindow.Gtk.Container+ContainerChild
|
||||
this.listeGradas = new global::Gtk.TreeView ();
|
||||
this.listeGradas.CanFocus = true;
|
||||
this.listeGradas.Name = "treeview2";
|
||||
this.GtkScrolledWindow.Add (this.listeGradas);
|
||||
w1.Add (this.GtkScrolledWindow);
|
||||
global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(w1 [this.GtkScrolledWindow]));
|
||||
w6.Position = 1;
|
||||
// Internal child DMX2.EditionUnivers.ActionArea
|
||||
global::Gtk.HButtonBox w7 = this.ActionArea;
|
||||
w7.Name = "dialog1_ActionArea";
|
||||
w7.Spacing = 10;
|
||||
w7.BorderWidth = ((uint)(5));
|
||||
w7.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
|
||||
// Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
|
||||
this.buttonCancel = new global::Gtk.Button ();
|
||||
this.buttonCancel.CanDefault = true;
|
||||
this.buttonCancel.CanFocus = true;
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.buttonCancel.UseStock = true;
|
||||
this.buttonCancel.UseUnderline = true;
|
||||
this.buttonCancel.Label = "gtk-close";
|
||||
this.AddActionWidget (this.buttonCancel, -7);
|
||||
global::Gtk.ButtonBox.ButtonBoxChild w8 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w7 [this.buttonCancel]));
|
||||
w8.Expand = false;
|
||||
w8.Fill = false;
|
||||
if ((this.Child != null)) {
|
||||
this.Child.ShowAll ();
|
||||
}
|
||||
this.DefaultWidth = 704;
|
||||
this.DefaultHeight = 483;
|
||||
this.Show ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -141,6 +141,7 @@
|
|||
<property name="Type">Action</property>
|
||||
<property name="Label" translatable="yes" />
|
||||
<property name="StockId">gtk-fullscreen</property>
|
||||
<signal name="Activated" handler="OnFullscreenAction1Activated" />
|
||||
</action>
|
||||
<action id="ShowAllAction">
|
||||
<property name="Type">Action</property>
|
||||
|
|
@ -1041,4 +1042,103 @@
|
|||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<widget class="Gtk.Dialog" id="DMX2.EditionUnivers" design-size="704 483">
|
||||
<property name="MemberName" />
|
||||
<property name="WindowPosition">CenterOnParent</property>
|
||||
<property name="Buttons">1</property>
|
||||
<property name="HelpButton">False</property>
|
||||
<child internal-child="VBox">
|
||||
<widget class="Gtk.VBox" id="dialog1_VBox">
|
||||
<property name="MemberName" />
|
||||
<property name="BorderWidth">2</property>
|
||||
<child>
|
||||
<widget class="Gtk.HBox" id="hbox2">
|
||||
<property name="MemberName" />
|
||||
<property name="Spacing">6</property>
|
||||
<child>
|
||||
<widget class="Gtk.Button" id="button162">
|
||||
<property name="MemberName" />
|
||||
<property name="CanFocus">True</property>
|
||||
<property name="Type">TextOnly</property>
|
||||
<property name="Label" translatable="yes">1 Circuit = 1 Grada</property>
|
||||
<property name="UseUnderline">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="Position">0</property>
|
||||
<property name="AutoSize">True</property>
|
||||
<property name="Expand">False</property>
|
||||
<property name="Fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="Gtk.Button" id="button163">
|
||||
<property name="MemberName" />
|
||||
<property name="CanFocus">True</property>
|
||||
<property name="Type">TextOnly</property>
|
||||
<property name="Label" translatable="yes">Tout Réinitialiser</property>
|
||||
<property name="UseUnderline">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="Position">1</property>
|
||||
<property name="AutoSize">True</property>
|
||||
<property name="Expand">False</property>
|
||||
<property name="Fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder />
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="Position">0</property>
|
||||
<property name="AutoSize">True</property>
|
||||
<property name="Expand">False</property>
|
||||
<property name="Fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow">
|
||||
<property name="MemberName" />
|
||||
<property name="ShadowType">In</property>
|
||||
<child>
|
||||
<widget class="Gtk.TreeView" id="listeGradas">
|
||||
<property name="MemberName" />
|
||||
<property name="CanFocus">True</property>
|
||||
<property name="ShowScrollbars">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="Position">1</property>
|
||||
<property name="AutoSize">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
<child internal-child="ActionArea">
|
||||
<widget class="Gtk.HButtonBox" id="dialog1_ActionArea">
|
||||
<property name="MemberName" />
|
||||
<property name="Spacing">10</property>
|
||||
<property name="BorderWidth">5</property>
|
||||
<property name="Size">1</property>
|
||||
<property name="LayoutStyle">End</property>
|
||||
<child>
|
||||
<widget class="Gtk.Button" id="buttonCancel">
|
||||
<property name="MemberName" />
|
||||
<property name="CanDefault">True</property>
|
||||
<property name="CanFocus">True</property>
|
||||
<property name="UseStock">True</property>
|
||||
<property name="Type">StockItem</property>
|
||||
<property name="StockId">gtk-close</property>
|
||||
<property name="ResponseId">-7</property>
|
||||
<property name="label">gtk-close</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="Expand">False</property>
|
||||
<property name="Fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
</stetic-interface>
|
||||
Loading…
Reference in a new issue