This commit is contained in:
tzim 2013-04-24 18:42:18 +00:00
parent f25ffc20de
commit 36a0c276c4
9 changed files with 303 additions and 24 deletions

View file

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

View file

@ -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
View 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)
{
}
}
}

View file

@ -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;
}
}
}
}

View file

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

View file

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

View file

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

View 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 ();
}
}
}

View file

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