From 88faf30ca170de5e2ed132dc736c5d21c6cba93a Mon Sep 17 00:00:00 2001 From: tzim Date: Wed, 21 May 2014 20:42:02 +0000 Subject: [PATCH] Design de l'interface midi. --- DMX-2.0/GestionMidiUI.cs | 4 + DMX-2.0/gtk-gui/DMX2.GestionMidiUI.cs | 343 ++++++++++++++------- DMX-2.0/gtk-gui/gui.stetic | 423 +++++++++++++++++++------- 3 files changed, 561 insertions(+), 209 deletions(-) diff --git a/DMX-2.0/GestionMidiUI.cs b/DMX-2.0/GestionMidiUI.cs index a239cfe..95b8090 100644 --- a/DMX-2.0/GestionMidiUI.cs +++ b/DMX-2.0/GestionMidiUI.cs @@ -4,11 +4,15 @@ namespace DMX2 { public partial class GestionMidiUI : Gtk.Dialog { + + + public GestionMidiUI () { this.Build (); } + protected void OnButtonCloseClicked (object sender, EventArgs e) { Destroy(); diff --git a/DMX-2.0/gtk-gui/DMX2.GestionMidiUI.cs b/DMX-2.0/gtk-gui/DMX2.GestionMidiUI.cs index b93feaa..1a8be17 100644 --- a/DMX-2.0/gtk-gui/DMX2.GestionMidiUI.cs +++ b/DMX-2.0/gtk-gui/DMX2.GestionMidiUI.cs @@ -4,14 +4,29 @@ namespace DMX2 { public partial class GestionMidiUI { - private global::Gtk.HBox hbox2; + private global::Gtk.Table table1; + private global::Gtk.Frame frame2; + private global::Gtk.Alignment GtkAlignment3; + private global::Gtk.VBox vbox4; + private global::Gtk.HBox hbox1; + private global::Gtk.SpinButton spinbutton1; + private global::Gtk.Label label3; + private global::Gtk.CheckButton checkbutton2; + private global::Gtk.Label GtkLabel5; + private global::Gtk.Frame frame3; + private global::Gtk.Alignment GtkAlignment2; + private global::Gtk.VBox vbox5; + private global::Gtk.CheckButton checkbutton1; + private global::Gtk.Label GtkLabel3; + private global::Gtk.HButtonBox hbuttonbox2; + private global::Gtk.Button button5; + private global::Gtk.Button button6; + private global::Gtk.VBox vbox2; private global::Gtk.Label label1; private global::Gtk.ScrolledWindow GtkScrolledWindow; private global::Gtk.TreeView treeview1; - private global::Gtk.HBox hbox1; + private global::Gtk.VBox vbox3; private global::Gtk.Label label2; - private global::Gtk.Button button59; - private global::Gtk.Button button60; private global::Gtk.ScrolledWindow GtkScrolledWindow1; private global::Gtk.TreeView treeview2; private global::Gtk.Button buttonClose; @@ -28,24 +43,193 @@ namespace DMX2 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.label1 = new global::Gtk.Label (); - this.label1.Name = "label1"; - this.label1.LabelProp = "Ports Midi disponibles :"; - this.hbox2.Add (this.label1); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.label1])); + this.table1 = new global::Gtk.Table (((uint)(3)), ((uint)(2)), false); + this.table1.Name = "table1"; + this.table1.RowSpacing = ((uint)(6)); + this.table1.ColumnSpacing = ((uint)(6)); + // Container child table1.Gtk.Table+TableChild + this.frame2 = new global::Gtk.Frame (); + this.frame2.Name = "frame2"; + this.frame2.ShadowType = ((global::Gtk.ShadowType)(0)); + // Container child frame2.Gtk.Container+ContainerChild + this.GtkAlignment3 = new global::Gtk.Alignment (0F, 0F, 1F, 1F); + this.GtkAlignment3.Name = "GtkAlignment3"; + this.GtkAlignment3.LeftPadding = ((uint)(12)); + // Container child GtkAlignment3.Gtk.Container+ContainerChild + this.vbox4 = new global::Gtk.VBox (); + this.vbox4.Name = "vbox4"; + this.vbox4.Spacing = 6; + // Container child vbox4.Gtk.Box+BoxChild + this.hbox1 = new global::Gtk.HBox (); + this.hbox1.Name = "hbox1"; + this.hbox1.Spacing = 6; + // Container child hbox1.Gtk.Box+BoxChild + this.spinbutton1 = new global::Gtk.SpinButton (0, 100, 1); + this.spinbutton1.CanFocus = true; + this.spinbutton1.Name = "spinbutton1"; + this.spinbutton1.Adjustment.PageIncrement = 10; + this.spinbutton1.ClimbRate = 1; + this.spinbutton1.Numeric = true; + this.spinbutton1.Value = 8; + this.hbox1.Add (this.spinbutton1); + global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.spinbutton1])); + w2.PackType = ((global::Gtk.PackType)(1)); w2.Position = 0; w2.Expand = false; w2.Fill = false; - w1.Add (this.hbox2); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(w1 [this.hbox2])); - w3.Position = 0; + // Container child hbox1.Gtk.Box+BoxChild + this.label3 = new global::Gtk.Label (); + this.label3.Name = "label3"; + this.label3.Xalign = 1F; + this.label3.LabelProp = "Nombre de pages"; + this.hbox1.Add (this.label3); + global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.label3])); + w3.PackType = ((global::Gtk.PackType)(1)); + w3.Position = 1; w3.Expand = false; w3.Fill = false; - // Container child dialog1_VBox.Gtk.Box+BoxChild + this.vbox4.Add (this.hbox1); + global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.hbox1])); + w4.Position = 0; + w4.Expand = false; + w4.Fill = false; + // Container child vbox4.Gtk.Box+BoxChild + this.checkbutton2 = new global::Gtk.CheckButton (); + this.checkbutton2.CanFocus = true; + this.checkbutton2.Name = "checkbutton2"; + this.checkbutton2.Label = "Ne pas paginer\nle canal midi 1"; + this.checkbutton2.DrawIndicator = true; + this.checkbutton2.UseUnderline = true; + this.vbox4.Add (this.checkbutton2); + global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.checkbutton2])); + w5.Position = 1; + w5.Expand = false; + w5.Fill = false; + this.GtkAlignment3.Add (this.vbox4); + this.frame2.Add (this.GtkAlignment3); + this.GtkLabel5 = new global::Gtk.Label (); + this.GtkLabel5.Name = "GtkLabel5"; + this.GtkLabel5.LabelProp = "Options Midi"; + this.GtkLabel5.UseMarkup = true; + this.frame2.LabelWidget = this.GtkLabel5; + this.table1.Add (this.frame2); + global::Gtk.Table.TableChild w8 = ((global::Gtk.Table.TableChild)(this.table1 [this.frame2])); + w8.XOptions = ((global::Gtk.AttachOptions)(4)); + w8.YOptions = ((global::Gtk.AttachOptions)(4)); + // Container child table1.Gtk.Table+TableChild + this.frame3 = new global::Gtk.Frame (); + this.frame3.Name = "frame3"; + this.frame3.ShadowType = ((global::Gtk.ShadowType)(0)); + // Container child frame3.Gtk.Container+ContainerChild + this.GtkAlignment2 = new global::Gtk.Alignment (0F, 0F, 1F, 1F); + this.GtkAlignment2.Name = "GtkAlignment2"; + this.GtkAlignment2.LeftPadding = ((uint)(12)); + // Container child GtkAlignment2.Gtk.Container+ContainerChild + this.vbox5 = new global::Gtk.VBox (); + this.vbox5.Name = "vbox5"; + this.vbox5.Spacing = 6; + // Container child vbox5.Gtk.Box+BoxChild + this.checkbutton1 = new global::Gtk.CheckButton (); + this.checkbutton1.CanFocus = true; + this.checkbutton1.Name = "checkbutton1"; + this.checkbutton1.Label = "Feedback\n(interface motorisée)"; + this.checkbutton1.DrawIndicator = true; + this.checkbutton1.UseUnderline = true; + this.vbox5.Add (this.checkbutton1); + global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox5 [this.checkbutton1])); + w9.Position = 0; + w9.Expand = false; + w9.Fill = false; + this.GtkAlignment2.Add (this.vbox5); + this.frame3.Add (this.GtkAlignment2); + this.GtkLabel3 = new global::Gtk.Label (); + this.GtkLabel3.Name = "GtkLabel3"; + this.GtkLabel3.LabelProp = "Options de l'interface"; + this.GtkLabel3.UseMarkup = true; + this.frame3.LabelWidget = this.GtkLabel3; + this.table1.Add (this.frame3); + global::Gtk.Table.TableChild w12 = ((global::Gtk.Table.TableChild)(this.table1 [this.frame3])); + w12.TopAttach = ((uint)(2)); + w12.BottomAttach = ((uint)(3)); + w12.XOptions = ((global::Gtk.AttachOptions)(4)); + w12.YOptions = ((global::Gtk.AttachOptions)(4)); + // Container child table1.Gtk.Table+TableChild + this.hbuttonbox2 = new global::Gtk.HButtonBox (); + this.hbuttonbox2.Name = "hbuttonbox2"; + // Container child hbuttonbox2.Gtk.ButtonBox+ButtonBoxChild + this.button5 = new global::Gtk.Button (); + this.button5.CanFocus = true; + this.button5.Name = "button5"; + this.button5.UseUnderline = true; + // Container child button5.Gtk.Container+ContainerChild + global::Gtk.Alignment w13 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); + // Container child GtkAlignment.Gtk.Container+ContainerChild + global::Gtk.HBox w14 = new global::Gtk.HBox (); + w14.Spacing = 2; + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Image w15 = new global::Gtk.Image (); + w15.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-go-down", global::Gtk.IconSize.Menu); + w14.Add (w15); + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Label w17 = new global::Gtk.Label (); + w17.LabelProp = "Activer"; + w17.UseUnderline = true; + w14.Add (w17); + w13.Add (w14); + this.button5.Add (w13); + this.hbuttonbox2.Add (this.button5); + global::Gtk.ButtonBox.ButtonBoxChild w21 = ((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.button5])); + w21.Expand = false; + w21.Fill = false; + // Container child hbuttonbox2.Gtk.ButtonBox+ButtonBoxChild + this.button6 = new global::Gtk.Button (); + this.button6.CanFocus = true; + this.button6.Name = "button6"; + this.button6.UseUnderline = true; + // Container child button6.Gtk.Container+ContainerChild + global::Gtk.Alignment w22 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); + // Container child GtkAlignment.Gtk.Container+ContainerChild + global::Gtk.HBox w23 = new global::Gtk.HBox (); + w23.Spacing = 2; + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Image w24 = new global::Gtk.Image (); + w24.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-go-up", global::Gtk.IconSize.Menu); + w23.Add (w24); + // Container child GtkHBox.Gtk.Container+ContainerChild + global::Gtk.Label w26 = new global::Gtk.Label (); + w26.LabelProp = "Désactiver"; + w26.UseUnderline = true; + w23.Add (w26); + w22.Add (w23); + this.button6.Add (w22); + this.hbuttonbox2.Add (this.button6); + global::Gtk.ButtonBox.ButtonBoxChild w30 = ((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.button6])); + w30.Position = 1; + w30.Expand = false; + w30.Fill = false; + this.table1.Add (this.hbuttonbox2); + global::Gtk.Table.TableChild w31 = ((global::Gtk.Table.TableChild)(this.table1 [this.hbuttonbox2])); + w31.TopAttach = ((uint)(1)); + w31.BottomAttach = ((uint)(2)); + w31.LeftAttach = ((uint)(1)); + w31.RightAttach = ((uint)(2)); + w31.XOptions = ((global::Gtk.AttachOptions)(0)); + w31.YOptions = ((global::Gtk.AttachOptions)(4)); + // Container child table1.Gtk.Table+TableChild + this.vbox2 = new global::Gtk.VBox (); + this.vbox2.Name = "vbox2"; + this.vbox2.Spacing = 6; + // Container child vbox2.Gtk.Box+BoxChild + this.label1 = new global::Gtk.Label (); + this.label1.Name = "label1"; + this.label1.Xalign = 0F; + this.label1.LabelProp = "Interfaces disponibles :"; + this.vbox2.Add (this.label1); + global::Gtk.Box.BoxChild w32 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.label1])); + w32.Position = 0; + w32.Expand = false; + w32.Fill = false; + // Container child vbox2.Gtk.Box+BoxChild this.GtkScrolledWindow = new global::Gtk.ScrolledWindow (); this.GtkScrolledWindow.Name = "GtkScrolledWindow"; this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1)); @@ -54,82 +238,28 @@ namespace DMX2 this.treeview1.CanFocus = true; this.treeview1.Name = "treeview1"; this.GtkScrolledWindow.Add (this.treeview1); - w1.Add (this.GtkScrolledWindow); - global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(w1 [this.GtkScrolledWindow])); - w5.Position = 1; - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.hbox1 = new global::Gtk.HBox (); - this.hbox1.Name = "hbox1"; - this.hbox1.Spacing = 6; - // Container child hbox1.Gtk.Box+BoxChild + this.vbox2.Add (this.GtkScrolledWindow); + global::Gtk.Box.BoxChild w34 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.GtkScrolledWindow])); + w34.Position = 1; + this.table1.Add (this.vbox2); + global::Gtk.Table.TableChild w35 = ((global::Gtk.Table.TableChild)(this.table1 [this.vbox2])); + w35.LeftAttach = ((uint)(1)); + w35.RightAttach = ((uint)(2)); + // Container child table1.Gtk.Table+TableChild + this.vbox3 = new global::Gtk.VBox (); + this.vbox3.Name = "vbox3"; + this.vbox3.Spacing = 6; + // Container child vbox3.Gtk.Box+BoxChild this.label2 = new global::Gtk.Label (); this.label2.Name = "label2"; - this.label2.LabelProp = "Ports Midi connectés :"; - this.hbox1.Add (this.label2); - global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.label2])); - w6.Position = 0; - w6.Expand = false; - w6.Fill = false; - // Container child hbox1.Gtk.Box+BoxChild - this.button59 = new global::Gtk.Button (); - this.button59.CanFocus = true; - this.button59.Name = "button59"; - this.button59.UseUnderline = true; - // Container child button59.Gtk.Container+ContainerChild - global::Gtk.Alignment w7 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); - // Container child GtkAlignment.Gtk.Container+ContainerChild - global::Gtk.HBox w8 = new global::Gtk.HBox (); - w8.Spacing = 2; - // Container child GtkHBox.Gtk.Container+ContainerChild - global::Gtk.Image w9 = new global::Gtk.Image (); - w9.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-disconnect", global::Gtk.IconSize.Menu); - w8.Add (w9); - // Container child GtkHBox.Gtk.Container+ContainerChild - global::Gtk.Label w11 = new global::Gtk.Label (); - w11.LabelProp = "_Déconnecter"; - w11.UseUnderline = true; - w8.Add (w11); - w7.Add (w8); - this.button59.Add (w7); - this.hbox1.Add (this.button59); - global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.button59])); - w15.PackType = ((global::Gtk.PackType)(1)); - w15.Position = 2; - w15.Expand = false; - w15.Fill = false; - // Container child hbox1.Gtk.Box+BoxChild - this.button60 = new global::Gtk.Button (); - this.button60.CanFocus = true; - this.button60.Name = "button60"; - this.button60.UseUnderline = true; - // Container child button60.Gtk.Container+ContainerChild - global::Gtk.Alignment w16 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); - // Container child GtkAlignment.Gtk.Container+ContainerChild - global::Gtk.HBox w17 = new global::Gtk.HBox (); - w17.Spacing = 2; - // Container child GtkHBox.Gtk.Container+ContainerChild - global::Gtk.Image w18 = new global::Gtk.Image (); - w18.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-connect", global::Gtk.IconSize.Menu); - w17.Add (w18); - // Container child GtkHBox.Gtk.Container+ContainerChild - global::Gtk.Label w20 = new global::Gtk.Label (); - w20.LabelProp = "Connecter"; - w20.UseUnderline = true; - w17.Add (w20); - w16.Add (w17); - this.button60.Add (w16); - this.hbox1.Add (this.button60); - global::Gtk.Box.BoxChild w24 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.button60])); - w24.PackType = ((global::Gtk.PackType)(1)); - w24.Position = 3; - w24.Expand = false; - w24.Fill = false; - w1.Add (this.hbox1); - global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(w1 [this.hbox1])); - w25.Position = 2; - w25.Expand = false; - w25.Fill = false; - // Container child dialog1_VBox.Gtk.Box+BoxChild + this.label2.Xalign = 0F; + this.label2.LabelProp = "Interfaces selectionnées : "; + this.vbox3.Add (this.label2); + global::Gtk.Box.BoxChild w36 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.label2])); + w36.Position = 0; + w36.Expand = false; + w36.Fill = false; + // Container child vbox3.Gtk.Box+BoxChild this.GtkScrolledWindow1 = new global::Gtk.ScrolledWindow (); this.GtkScrolledWindow1.Name = "GtkScrolledWindow1"; this.GtkScrolledWindow1.ShadowType = ((global::Gtk.ShadowType)(1)); @@ -138,15 +268,24 @@ namespace DMX2 this.treeview2.CanFocus = true; this.treeview2.Name = "treeview2"; this.GtkScrolledWindow1.Add (this.treeview2); - w1.Add (this.GtkScrolledWindow1); - global::Gtk.Box.BoxChild w27 = ((global::Gtk.Box.BoxChild)(w1 [this.GtkScrolledWindow1])); - w27.Position = 3; + this.vbox3.Add (this.GtkScrolledWindow1); + global::Gtk.Box.BoxChild w38 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.GtkScrolledWindow1])); + w38.Position = 1; + this.table1.Add (this.vbox3); + global::Gtk.Table.TableChild w39 = ((global::Gtk.Table.TableChild)(this.table1 [this.vbox3])); + w39.TopAttach = ((uint)(2)); + w39.BottomAttach = ((uint)(3)); + w39.LeftAttach = ((uint)(1)); + w39.RightAttach = ((uint)(2)); + w1.Add (this.table1); + global::Gtk.Box.BoxChild w40 = ((global::Gtk.Box.BoxChild)(w1 [this.table1])); + w40.Position = 0; // Internal child DMX2.GestionMidiUI.ActionArea - global::Gtk.HButtonBox w28 = this.ActionArea; - w28.Name = "dialog1_ActionArea"; - w28.Spacing = 10; - w28.BorderWidth = ((uint)(5)); - w28.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); + global::Gtk.HButtonBox w41 = this.ActionArea; + w41.Name = "dialog1_ActionArea"; + w41.Spacing = 10; + w41.BorderWidth = ((uint)(5)); + w41.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild this.buttonClose = new global::Gtk.Button (); this.buttonClose.CanDefault = true; @@ -156,9 +295,9 @@ namespace DMX2 this.buttonClose.UseUnderline = true; this.buttonClose.Label = "gtk-close"; this.AddActionWidget (this.buttonClose, -7); - global::Gtk.ButtonBox.ButtonBoxChild w29 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w28 [this.buttonClose])); - w29.Expand = false; - w29.Fill = false; + global::Gtk.ButtonBox.ButtonBoxChild w42 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w41 [this.buttonClose])); + w42.Expand = false; + w42.Fill = false; if ((this.Child != null)) { this.Child.ShowAll (); } diff --git a/DMX-2.0/gtk-gui/gui.stetic b/DMX-2.0/gtk-gui/gui.stetic index da251ed..841a91b 100644 --- a/DMX-2.0/gtk-gui/gui.stetic +++ b/DMX-2.0/gtk-gui/gui.stetic @@ -3090,128 +3090,337 @@ trames DMX (ms) 2 - + - 6 + 3 + 2 + 6 + 6 - + + + + - Ports Midi disponibles : + None + + + + 0 + 0 + 12 + + + + 6 + + + + 6 + + + + True + 100 + 10 + 1 + 1 + True + 8 + + + End + 0 + True + False + False + + + + + + 1 + Nombre de pages + + + End + 1 + False + False + False + + + + + 0 + True + False + False + + + + + + True + Ne pas paginer +le canal midi 1 + True + True + True + + + 1 + True + False + False + + + + + + + + + + + + + <b>Options Midi</b> + True + + + label_item + + - 0 True - False - False + Fill + Fill + False + True + False + False + True + False - + + + None + + + + 0 + 0 + 12 + + + + 6 + + + + True + Feedback +(interface motorisée) + True + True + True + + + 0 + True + False + False + + + + + + + + + + + + + + + + <b>Options de l'interface</b> + True + + + label_item + + + + + 2 + 3 + True + Fill + Fill + False + True + False + False + True + False + - + + + 2 + + + + True + TextAndIcon + stock:gtk-go-down Menu + Activer + True + + + False + False + + + + + + True + TextAndIcon + stock:gtk-go-up Menu + Désactiver + True + + + 1 + False + False + + + + + 1 + 2 + 1 + 2 + False + 0 + Fill + False + False + False + False + True + False + + + + + + 6 + + + + 0 + Interfaces disponibles : + + + 0 + True + False + False + + + + + + In + + + + True + True + + + + + 1 + False + + + + + 1 + 2 + False + True + True + False + True + True + False + + + + + + 6 + + + + 0 + Interfaces selectionnées : + + + 0 + True + False + False + + + + + + In + + + + True + True + + + + + 1 + True + + + + + 2 + 3 + 1 + 2 + False + True + True + False + True + True + False + 0 - True - False - False - - - - - - In - - - - True - True - - - - - 1 - True - - - - - - 6 - - - - Ports Midi connectés : - - - 0 - True - False - False - - - - - - - - - True - TextAndIcon - stock:gtk-disconnect Menu - _Déconnecter - True - - - End - 2 - True - False - False - - - - - - True - TextAndIcon - stock:gtk-connect Menu - Connecter - True - - - End - 3 - True - False - False - - - - - 2 - True - False - False - - - - - - In - - - - True - True - - - - - 3 - True + False