[longomatch] Finish ActionLink properties panel UI.



commit c545fba06c55d07f0ea5ed301cc0f6fd67d75d64
Author: Xavi Artigas <xartigas fluendo com>
Date:   Wed Apr 15 17:40:02 2015 +0200

    Finish ActionLink properties panel UI.
    
    Only show properties relevant to each kind of link (Only Timer->Timer and Event->Event links are 
considered)
    Nicer information header.

 LongoMatch.GUI/Gui/Component/LinkProperties.cs     |   37 +-
 .../LongoMatch.Gui.Component.LinkProperties.cs     |  241 ++++----
 LongoMatch.GUI/gtk-gui/gui.stetic                  |  622 ++++++++++----------
 3 files changed, 453 insertions(+), 447 deletions(-)
---
diff --git a/LongoMatch.GUI/Gui/Component/LinkProperties.cs b/LongoMatch.GUI/Gui/Component/LinkProperties.cs
index c20cb4e..3705ee1 100644
--- a/LongoMatch.GUI/Gui/Component/LinkProperties.cs
+++ b/LongoMatch.GUI/Gui/Component/LinkProperties.cs
@@ -50,14 +50,35 @@ namespace LongoMatch.Gui.Component
                }
 
                void UpdateUI () {
-                       entryfrom.Text = Link.SourceButton.Name;
-                       entryfromtags.Text = String.Join (", ", Link.SourceTags);
-                       entryto.Text = Link.DestinationButton.Name;
-                       entrytotags.Text = String.Join (", ", Link.DestinationTags);
-                       comboboxaction.Active = (int)link.Action;
-                       comboboxteamaction.Active = (int)link.TeamAction;
-                       checkbuttonkeepplayertags.Active = link.KeepPlayerTags;
-                       checkbuttonkeepcommontags.Active = link.KeepCommonTags;
+                       labelfromdata.Text = Link.SourceButton.Name;
+                       labelfromtagsdata.Text = String.Join (", ", Link.SourceTags);
+                       labelfromtagsdata.Visible = (Link.SourceTags.Count != 0);
+                       // This wonrderful hack is required for the label to re-wrap its content
+                       labelfromtagsdata.WidthRequest = labelfromtagsdata.Allocation.Width;
+
+                       labeltodata.Text = Link.DestinationButton.Name;
+                       labeltotagsdata.Text = String.Join (", ", Link.DestinationTags);
+                       labeltotagsdata.Visible = (Link.DestinationTags.Count != 0);
+                       // This wonrderful hack is required for the label to re-wrap its content
+                       labeltotagsdata.WidthRequest = labeltotagsdata.Allocation.Width;
+
+                       if (Link.SourceButton is TimerButton && Link.DestinationButton is TimerButton) {
+                               comboboxaction.Visible = labelaction.Visible = true;
+                               comboboxteamaction.Visible = labelteamaction.Visible = false;
+                               checkbuttonkeepcommontags.Visible = labelkeepcommontags.Visible = false;
+                               checkbuttonkeepplayertags.Visible = labelkeepplayertags.Visible = false;
+
+                               comboboxaction.Active = (int)link.Action;
+                       } else {
+                               comboboxaction.Visible = labelaction.Visible = false;
+                               comboboxteamaction.Visible = labelteamaction.Visible = true;
+                               checkbuttonkeepcommontags.Visible = labelkeepcommontags.Visible = true;
+                               checkbuttonkeepplayertags.Visible = labelkeepplayertags.Visible = true;
+
+                               comboboxteamaction.Active = (int)link.TeamAction;
+                               checkbuttonkeepplayertags.Active = link.KeepPlayerTags;
+                               checkbuttonkeepcommontags.Active = link.KeepCommonTags;
+                       }
                }
        }
 }
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.LinkProperties.cs 
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.LinkProperties.cs
index c71ed08..8738a8d 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.LinkProperties.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.LinkProperties.cs
@@ -4,9 +4,7 @@ namespace LongoMatch.Gui.Component
 {
        public partial class LinkProperties
        {
-               private global::Gtk.VBox totalbox;
-               
-               private global::Gtk.Table table1;
+               private global::Gtk.Table tabledata;
                
                private global::Gtk.CheckButton checkbuttonkeepcommontags;
                
@@ -16,18 +14,14 @@ namespace LongoMatch.Gui.Component
                
                private global::Gtk.ComboBox comboboxteamaction;
                
-               private global::Gtk.Entry entryfrom;
-               
-               private global::Gtk.Entry entryfromtags;
-               
-               private global::Gtk.Entry entryto;
-               
-               private global::Gtk.Entry entrytotags;
-               
                private global::Gtk.Label labelaction;
                
                private global::Gtk.Label labelfrom;
                
+               private global::Gtk.Label labelfromdata;
+               
+               private global::Gtk.Label labelfromtagsdata;
+               
                private global::Gtk.Label labelkeepcommontags;
                
                private global::Gtk.Label labelkeepplayertags;
@@ -35,6 +29,10 @@ namespace LongoMatch.Gui.Component
                private global::Gtk.Label labelteamaction;
                
                private global::Gtk.Label labelto;
+               
+               private global::Gtk.Label labeltodata;
+               
+               private global::Gtk.Label labeltotagsdata;
 
                protected virtual void Build ()
                {
@@ -43,190 +41,185 @@ namespace LongoMatch.Gui.Component
                        global::Stetic.BinContainer.Attach (this);
                        this.Name = "LongoMatch.Gui.Component.LinkProperties";
                        // Container child 
LongoMatch.Gui.Component.LinkProperties.Gtk.Container+ContainerChild
-                       this.totalbox = new global::Gtk.VBox ();
-                       this.totalbox.Name = "totalbox";
-                       this.totalbox.Spacing = 6;
-                       // Container child totalbox.Gtk.Box+BoxChild
-                       this.table1 = new global::Gtk.Table (((uint)(8)), ((uint)(2)), false);
-                       this.table1.Name = "table1";
-                       this.table1.RowSpacing = ((uint)(6));
-                       this.table1.ColumnSpacing = ((uint)(6));
-                       // Container child table1.Gtk.Table+TableChild
+                       this.tabledata = new global::Gtk.Table (((uint)(8)), ((uint)(2)), false);
+                       this.tabledata.Name = "tabledata";
+                       this.tabledata.RowSpacing = ((uint)(6));
+                       this.tabledata.ColumnSpacing = ((uint)(6));
+                       // Container child tabledata.Gtk.Table+TableChild
                        this.checkbuttonkeepcommontags = new global::Gtk.CheckButton ();
                        this.checkbuttonkeepcommontags.Name = "checkbuttonkeepcommontags";
                        this.checkbuttonkeepcommontags.Label = "";
                        this.checkbuttonkeepcommontags.DrawIndicator = true;
                        this.checkbuttonkeepcommontags.UseUnderline = true;
-                       this.table1.Add (this.checkbuttonkeepcommontags);
-                       global::Gtk.Table.TableChild w1 = ((global::Gtk.Table.TableChild)(this.table1 
[this.checkbuttonkeepcommontags]));
+                       this.tabledata.Add (this.checkbuttonkeepcommontags);
+                       global::Gtk.Table.TableChild w1 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.checkbuttonkeepcommontags]));
                        w1.TopAttach = ((uint)(7));
                        w1.BottomAttach = ((uint)(8));
                        w1.LeftAttach = ((uint)(1));
                        w1.RightAttach = ((uint)(2));
                        w1.XOptions = ((global::Gtk.AttachOptions)(4));
                        w1.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
+                       // Container child tabledata.Gtk.Table+TableChild
                        this.checkbuttonkeepplayertags = new global::Gtk.CheckButton ();
                        this.checkbuttonkeepplayertags.Name = "checkbuttonkeepplayertags";
                        this.checkbuttonkeepplayertags.Label = "";
                        this.checkbuttonkeepplayertags.DrawIndicator = true;
                        this.checkbuttonkeepplayertags.UseUnderline = true;
                        this.checkbuttonkeepplayertags.FocusOnClick = false;
-                       this.table1.Add (this.checkbuttonkeepplayertags);
-                       global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 
[this.checkbuttonkeepplayertags]));
+                       this.tabledata.Add (this.checkbuttonkeepplayertags);
+                       global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.checkbuttonkeepplayertags]));
                        w2.TopAttach = ((uint)(6));
                        w2.BottomAttach = ((uint)(7));
                        w2.LeftAttach = ((uint)(1));
                        w2.RightAttach = ((uint)(2));
                        w2.XOptions = ((global::Gtk.AttachOptions)(4));
                        w2.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
+                       // Container child tabledata.Gtk.Table+TableChild
                        this.comboboxaction = global::Gtk.ComboBox.NewText ();
-                       this.comboboxaction.AppendText (global::Mono.Unix.Catalog.GetString ("Toggle"));
-                       this.comboboxaction.AppendText (global::Mono.Unix.Catalog.GetString ("Replicate"));
+                       this.comboboxaction.AppendText (global::Mono.Unix.Catalog.GetString ("Activate -> 
Deactivate"));
+                       this.comboboxaction.AppendText (global::Mono.Unix.Catalog.GetString ("Activate -> 
Activate"));
                        this.comboboxaction.Name = "comboboxaction";
                        this.comboboxaction.FocusOnClick = false;
-                       this.table1.Add (this.comboboxaction);
-                       global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1 
[this.comboboxaction]));
+                       this.tabledata.Add (this.comboboxaction);
+                       global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.comboboxaction]));
                        w3.TopAttach = ((uint)(4));
                        w3.BottomAttach = ((uint)(5));
                        w3.LeftAttach = ((uint)(1));
                        w3.RightAttach = ((uint)(2));
+                       w3.XOptions = ((global::Gtk.AttachOptions)(4));
                        w3.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
+                       // Container child tabledata.Gtk.Table+TableChild
                        this.comboboxteamaction = global::Gtk.ComboBox.NewText ();
                        this.comboboxteamaction.AppendText (global::Mono.Unix.Catalog.GetString ("Clear"));
                        this.comboboxteamaction.AppendText (global::Mono.Unix.Catalog.GetString ("Keep"));
                        this.comboboxteamaction.AppendText (global::Mono.Unix.Catalog.GetString ("Invert"));
                        this.comboboxteamaction.Name = "comboboxteamaction";
-                       this.table1.Add (this.comboboxteamaction);
-                       global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1 
[this.comboboxteamaction]));
+                       this.tabledata.Add (this.comboboxteamaction);
+                       global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.comboboxteamaction]));
                        w4.TopAttach = ((uint)(5));
                        w4.BottomAttach = ((uint)(6));
                        w4.LeftAttach = ((uint)(1));
                        w4.RightAttach = ((uint)(2));
                        w4.XOptions = ((global::Gtk.AttachOptions)(4));
                        w4.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
-                       this.entryfrom = new global::Gtk.Entry ();
-                       this.entryfrom.Name = "entryfrom";
-                       this.entryfrom.IsEditable = false;
-                       this.entryfrom.InvisibleChar = '●';
-                       this.table1.Add (this.entryfrom);
-                       global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table1 
[this.entryfrom]));
-                       w5.LeftAttach = ((uint)(1));
-                       w5.RightAttach = ((uint)(2));
+                       // Container child tabledata.Gtk.Table+TableChild
+                       this.labelaction = new global::Gtk.Label ();
+                       this.labelaction.Name = "labelaction";
+                       this.labelaction.Xalign = 1F;
+                       this.labelaction.LabelProp = global::Mono.Unix.Catalog.GetString ("Action");
+                       this.tabledata.Add (this.labelaction);
+                       global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.labelaction]));
+                       w5.TopAttach = ((uint)(4));
+                       w5.BottomAttach = ((uint)(5));
                        w5.XOptions = ((global::Gtk.AttachOptions)(4));
                        w5.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
-                       this.entryfromtags = new global::Gtk.Entry ();
-                       this.entryfromtags.Name = "entryfromtags";
-                       this.entryfromtags.IsEditable = false;
-                       this.entryfromtags.InvisibleChar = '●';
-                       this.table1.Add (this.entryfromtags);
-                       global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table1 
[this.entryfromtags]));
-                       w6.TopAttach = ((uint)(1));
-                       w6.BottomAttach = ((uint)(2));
-                       w6.LeftAttach = ((uint)(1));
-                       w6.RightAttach = ((uint)(2));
+                       // Container child tabledata.Gtk.Table+TableChild
+                       this.labelfrom = new global::Gtk.Label ();
+                       this.labelfrom.Name = "labelfrom";
+                       this.labelfrom.Xalign = 1F;
+                       this.labelfrom.LabelProp = global::Mono.Unix.Catalog.GetString ("From:");
+                       this.tabledata.Add (this.labelfrom);
+                       global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.labelfrom]));
                        w6.XOptions = ((global::Gtk.AttachOptions)(4));
                        w6.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
-                       this.entryto = new global::Gtk.Entry ();
-                       this.entryto.Name = "entryto";
-                       this.entryto.IsEditable = false;
-                       this.entryto.InvisibleChar = '●';
-                       this.table1.Add (this.entryto);
-                       global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.table1 
[this.entryto]));
-                       w7.TopAttach = ((uint)(2));
-                       w7.BottomAttach = ((uint)(3));
+                       // Container child tabledata.Gtk.Table+TableChild
+                       this.labelfromdata = new global::Gtk.Label ();
+                       this.labelfromdata.Sensitive = false;
+                       this.labelfromdata.Name = "labelfromdata";
+                       this.labelfromdata.Xalign = 0F;
+                       this.labelfromdata.Wrap = true;
+                       this.tabledata.Add (this.labelfromdata);
+                       global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.labelfromdata]));
                        w7.LeftAttach = ((uint)(1));
                        w7.RightAttach = ((uint)(2));
                        w7.XOptions = ((global::Gtk.AttachOptions)(4));
                        w7.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
-                       this.entrytotags = new global::Gtk.Entry ();
-                       this.entrytotags.Name = "entrytotags";
-                       this.entrytotags.IsEditable = false;
-                       this.entrytotags.InvisibleChar = '●';
-                       this.table1.Add (this.entrytotags);
-                       global::Gtk.Table.TableChild w8 = ((global::Gtk.Table.TableChild)(this.table1 
[this.entrytotags]));
-                       w8.TopAttach = ((uint)(3));
-                       w8.BottomAttach = ((uint)(4));
+                       // Container child tabledata.Gtk.Table+TableChild
+                       this.labelfromtagsdata = new global::Gtk.Label ();
+                       this.labelfromtagsdata.Sensitive = false;
+                       this.labelfromtagsdata.Name = "labelfromtagsdata";
+                       this.labelfromtagsdata.Xalign = 0F;
+                       this.labelfromtagsdata.Wrap = true;
+                       this.tabledata.Add (this.labelfromtagsdata);
+                       global::Gtk.Table.TableChild w8 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.labelfromtagsdata]));
+                       w8.TopAttach = ((uint)(1));
+                       w8.BottomAttach = ((uint)(2));
                        w8.LeftAttach = ((uint)(1));
                        w8.RightAttach = ((uint)(2));
                        w8.XOptions = ((global::Gtk.AttachOptions)(4));
                        w8.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
-                       this.labelaction = new global::Gtk.Label ();
-                       this.labelaction.Name = "labelaction";
-                       this.labelaction.Xalign = 1F;
-                       this.labelaction.LabelProp = global::Mono.Unix.Catalog.GetString ("Action");
-                       this.table1.Add (this.labelaction);
-                       global::Gtk.Table.TableChild w9 = ((global::Gtk.Table.TableChild)(this.table1 
[this.labelaction]));
-                       w9.TopAttach = ((uint)(4));
-                       w9.BottomAttach = ((uint)(5));
-                       w9.XOptions = ((global::Gtk.AttachOptions)(4));
-                       w9.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
-                       this.labelfrom = new global::Gtk.Label ();
-                       this.labelfrom.Name = "labelfrom";
-                       this.labelfrom.Xalign = 1F;
-                       this.labelfrom.LabelProp = global::Mono.Unix.Catalog.GetString ("From");
-                       this.table1.Add (this.labelfrom);
-                       global::Gtk.Table.TableChild w10 = ((global::Gtk.Table.TableChild)(this.table1 
[this.labelfrom]));
-                       w10.XOptions = ((global::Gtk.AttachOptions)(4));
-                       w10.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
+                       // Container child tabledata.Gtk.Table+TableChild
                        this.labelkeepcommontags = new global::Gtk.Label ();
                        this.labelkeepcommontags.Name = "labelkeepcommontags";
                        this.labelkeepcommontags.Xalign = 1F;
                        this.labelkeepcommontags.LabelProp = global::Mono.Unix.Catalog.GetString ("Keep 
common tags");
-                       this.table1.Add (this.labelkeepcommontags);
-                       global::Gtk.Table.TableChild w11 = ((global::Gtk.Table.TableChild)(this.table1 
[this.labelkeepcommontags]));
-                       w11.TopAttach = ((uint)(7));
-                       w11.BottomAttach = ((uint)(8));
-                       w11.XOptions = ((global::Gtk.AttachOptions)(4));
-                       w11.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
+                       this.tabledata.Add (this.labelkeepcommontags);
+                       global::Gtk.Table.TableChild w9 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.labelkeepcommontags]));
+                       w9.TopAttach = ((uint)(7));
+                       w9.BottomAttach = ((uint)(8));
+                       w9.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w9.YOptions = ((global::Gtk.AttachOptions)(4));
+                       // Container child tabledata.Gtk.Table+TableChild
                        this.labelkeepplayertags = new global::Gtk.Label ();
                        this.labelkeepplayertags.Name = "labelkeepplayertags";
                        this.labelkeepplayertags.Xalign = 1F;
                        this.labelkeepplayertags.LabelProp = global::Mono.Unix.Catalog.GetString ("Keep 
player tags");
-                       this.table1.Add (this.labelkeepplayertags);
-                       global::Gtk.Table.TableChild w12 = ((global::Gtk.Table.TableChild)(this.table1 
[this.labelkeepplayertags]));
-                       w12.TopAttach = ((uint)(6));
-                       w12.BottomAttach = ((uint)(7));
-                       w12.XOptions = ((global::Gtk.AttachOptions)(4));
-                       w12.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
+                       this.tabledata.Add (this.labelkeepplayertags);
+                       global::Gtk.Table.TableChild w10 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.labelkeepplayertags]));
+                       w10.TopAttach = ((uint)(6));
+                       w10.BottomAttach = ((uint)(7));
+                       w10.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w10.YOptions = ((global::Gtk.AttachOptions)(4));
+                       // Container child tabledata.Gtk.Table+TableChild
                        this.labelteamaction = new global::Gtk.Label ();
                        this.labelteamaction.Name = "labelteamaction";
                        this.labelteamaction.Xalign = 1F;
                        this.labelteamaction.LabelProp = global::Mono.Unix.Catalog.GetString ("Team action");
-                       this.table1.Add (this.labelteamaction);
-                       global::Gtk.Table.TableChild w13 = ((global::Gtk.Table.TableChild)(this.table1 
[this.labelteamaction]));
-                       w13.TopAttach = ((uint)(5));
-                       w13.BottomAttach = ((uint)(6));
-                       w13.XOptions = ((global::Gtk.AttachOptions)(4));
-                       w13.YOptions = ((global::Gtk.AttachOptions)(4));
-                       // Container child table1.Gtk.Table+TableChild
+                       this.tabledata.Add (this.labelteamaction);
+                       global::Gtk.Table.TableChild w11 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.labelteamaction]));
+                       w11.TopAttach = ((uint)(5));
+                       w11.BottomAttach = ((uint)(6));
+                       w11.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w11.YOptions = ((global::Gtk.AttachOptions)(4));
+                       // Container child tabledata.Gtk.Table+TableChild
                        this.labelto = new global::Gtk.Label ();
                        this.labelto.Name = "labelto";
                        this.labelto.Xalign = 1F;
-                       this.labelto.LabelProp = global::Mono.Unix.Catalog.GetString ("To");
-                       this.table1.Add (this.labelto);
-                       global::Gtk.Table.TableChild w14 = ((global::Gtk.Table.TableChild)(this.table1 
[this.labelto]));
-                       w14.TopAttach = ((uint)(2));
-                       w14.BottomAttach = ((uint)(3));
+                       this.labelto.LabelProp = global::Mono.Unix.Catalog.GetString ("To:");
+                       this.tabledata.Add (this.labelto);
+                       global::Gtk.Table.TableChild w12 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.labelto]));
+                       w12.TopAttach = ((uint)(2));
+                       w12.BottomAttach = ((uint)(3));
+                       w12.XOptions = ((global::Gtk.AttachOptions)(4));
+                       w12.YOptions = ((global::Gtk.AttachOptions)(4));
+                       // Container child tabledata.Gtk.Table+TableChild
+                       this.labeltodata = new global::Gtk.Label ();
+                       this.labeltodata.Sensitive = false;
+                       this.labeltodata.Name = "labeltodata";
+                       this.labeltodata.Xalign = 0F;
+                       this.labeltodata.Wrap = true;
+                       this.tabledata.Add (this.labeltodata);
+                       global::Gtk.Table.TableChild w13 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.labeltodata]));
+                       w13.TopAttach = ((uint)(2));
+                       w13.BottomAttach = ((uint)(3));
+                       w13.LeftAttach = ((uint)(1));
+                       w13.RightAttach = ((uint)(2));
+                       w13.YOptions = ((global::Gtk.AttachOptions)(4));
+                       // Container child tabledata.Gtk.Table+TableChild
+                       this.labeltotagsdata = new global::Gtk.Label ();
+                       this.labeltotagsdata.Sensitive = false;
+                       this.labeltotagsdata.Name = "labeltotagsdata";
+                       this.labeltotagsdata.Xalign = 0F;
+                       this.labeltotagsdata.Wrap = true;
+                       this.tabledata.Add (this.labeltotagsdata);
+                       global::Gtk.Table.TableChild w14 = ((global::Gtk.Table.TableChild)(this.tabledata 
[this.labeltotagsdata]));
+                       w14.TopAttach = ((uint)(3));
+                       w14.BottomAttach = ((uint)(4));
+                       w14.LeftAttach = ((uint)(1));
+                       w14.RightAttach = ((uint)(2));
                        w14.XOptions = ((global::Gtk.AttachOptions)(4));
                        w14.YOptions = ((global::Gtk.AttachOptions)(4));
-                       this.totalbox.Add (this.table1);
-                       global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.totalbox 
[this.table1]));
-                       w15.Position = 0;
-                       w15.Expand = false;
-                       w15.Fill = false;
-                       this.Add (this.totalbox);
+                       this.Add (this.tabledata);
                        if ((this.Child != null)) {
                                this.Child.ShowAll ();
                        }
diff --git a/LongoMatch.GUI/gtk-gui/gui.stetic b/LongoMatch.GUI/gtk-gui/gui.stetic
index 58a38a8..1a97f6d 100644
--- a/LongoMatch.GUI/gtk-gui/gui.stetic
+++ b/LongoMatch.GUI/gtk-gui/gui.stetic
@@ -11799,332 +11799,324 @@ To avoid this, and to enjoy many additional functional benefits, we encourage yo
       </widget>
     </child>
   </widget>
-  <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.LinkProperties" design-size="300 300">
+  <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.LinkProperties" design-size="303 300">
     <property name="MemberName" />
     <property name="Visible">False</property>
     <child>
-      <widget class="Gtk.VBox" id="totalbox">
+      <widget class="Gtk.Table" id="tabledata">
         <property name="MemberName" />
-        <property name="Spacing">6</property>
+        <property name="NRows">8</property>
+        <property name="NColumns">2</property>
+        <property name="RowSpacing">6</property>
+        <property name="ColumnSpacing">6</property>
         <child>
-          <widget class="Gtk.Table" id="table1">
+          <placeholder />
+        </child>
+        <child>
+          <placeholder />
+        </child>
+        <child>
+          <widget class="Gtk.CheckButton" id="checkbuttonkeepcommontags">
             <property name="MemberName" />
-            <property name="NRows">8</property>
-            <property name="NColumns">2</property>
-            <property name="RowSpacing">6</property>
-            <property name="ColumnSpacing">6</property>
-            <child>
-              <placeholder />
-            </child>
-            <child>
-              <placeholder />
-            </child>
-            <child>
-              <widget class="Gtk.CheckButton" id="checkbuttonkeepcommontags">
-                <property name="MemberName" />
-                <property name="Label" translatable="yes" />
-                <property name="DrawIndicator">True</property>
-                <property name="HasLabel">True</property>
-                <property name="UseUnderline">True</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">7</property>
-                <property name="BottomAttach">8</property>
-                <property name="LeftAttach">1</property>
-                <property name="RightAttach">2</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.CheckButton" id="checkbuttonkeepplayertags">
-                <property name="MemberName" />
-                <property name="Label" translatable="yes" />
-                <property name="DrawIndicator">True</property>
-                <property name="HasLabel">True</property>
-                <property name="UseUnderline">True</property>
-                <property name="FocusOnClick">False</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">6</property>
-                <property name="BottomAttach">7</property>
-                <property name="LeftAttach">1</property>
-                <property name="RightAttach">2</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.ComboBox" id="comboboxaction">
-                <property name="MemberName" />
-                <property name="IsTextCombo">True</property>
-                <property name="Items" translatable="yes">Toggle
-Replicate</property>
-                <property name="FocusOnClick">False</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">4</property>
-                <property name="BottomAttach">5</property>
-                <property name="LeftAttach">1</property>
-                <property name="RightAttach">2</property>
-                <property name="AutoSize">False</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">True</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.ComboBox" id="comboboxteamaction">
-                <property name="MemberName" />
-                <property name="IsTextCombo">True</property>
-                <property name="Items" translatable="yes">Clear
+            <property name="Label" translatable="yes" />
+            <property name="DrawIndicator">True</property>
+            <property name="HasLabel">True</property>
+            <property name="UseUnderline">True</property>
+          </widget>
+          <packing>
+            <property name="TopAttach">7</property>
+            <property name="BottomAttach">8</property>
+            <property name="LeftAttach">1</property>
+            <property name="RightAttach">2</property>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.CheckButton" id="checkbuttonkeepplayertags">
+            <property name="MemberName" />
+            <property name="Label" translatable="yes" />
+            <property name="DrawIndicator">True</property>
+            <property name="HasLabel">True</property>
+            <property name="UseUnderline">True</property>
+            <property name="FocusOnClick">False</property>
+          </widget>
+          <packing>
+            <property name="TopAttach">6</property>
+            <property name="BottomAttach">7</property>
+            <property name="LeftAttach">1</property>
+            <property name="RightAttach">2</property>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.ComboBox" id="comboboxaction">
+            <property name="MemberName" />
+            <property name="IsTextCombo">True</property>
+            <property name="Items" translatable="yes">Activate -&gt; Deactivate
+Activate -&gt; Activate</property>
+            <property name="FocusOnClick">False</property>
+          </widget>
+          <packing>
+            <property name="TopAttach">4</property>
+            <property name="BottomAttach">5</property>
+            <property name="LeftAttach">1</property>
+            <property name="RightAttach">2</property>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.ComboBox" id="comboboxteamaction">
+            <property name="MemberName" />
+            <property name="IsTextCombo">True</property>
+            <property name="Items" translatable="yes">Clear
 Keep
 Invert</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">5</property>
-                <property name="BottomAttach">6</property>
-                <property name="LeftAttach">1</property>
-                <property name="RightAttach">2</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.Entry" id="entryfrom">
-                <property name="MemberName" />
-                <property name="IsEditable">False</property>
-                <property name="InvisibleChar">●</property>
-              </widget>
-              <packing>
-                <property name="LeftAttach">1</property>
-                <property name="RightAttach">2</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.Entry" id="entryfromtags">
-                <property name="MemberName" />
-                <property name="IsEditable">False</property>
-                <property name="InvisibleChar">●</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">1</property>
-                <property name="BottomAttach">2</property>
-                <property name="LeftAttach">1</property>
-                <property name="RightAttach">2</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.Entry" id="entryto">
-                <property name="MemberName" />
-                <property name="IsEditable">False</property>
-                <property name="InvisibleChar">●</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">2</property>
-                <property name="BottomAttach">3</property>
-                <property name="LeftAttach">1</property>
-                <property name="RightAttach">2</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.Entry" id="entrytotags">
-                <property name="MemberName" />
-                <property name="IsEditable">False</property>
-                <property name="InvisibleChar">●</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">3</property>
-                <property name="BottomAttach">4</property>
-                <property name="LeftAttach">1</property>
-                <property name="RightAttach">2</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.Label" id="labelaction">
-                <property name="MemberName" />
-                <property name="Xalign">1</property>
-                <property name="LabelProp" translatable="yes">Action</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">4</property>
-                <property name="BottomAttach">5</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.Label" id="labelfrom">
-                <property name="MemberName" />
-                <property name="Xalign">1</property>
-                <property name="LabelProp" translatable="yes">From</property>
-              </widget>
-              <packing>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.Label" id="labelkeepcommontags">
-                <property name="MemberName" />
-                <property name="Xalign">1</property>
-                <property name="LabelProp" translatable="yes">Keep common tags</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">7</property>
-                <property name="BottomAttach">8</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.Label" id="labelkeepplayertags">
-                <property name="MemberName" />
-                <property name="Xalign">1</property>
-                <property name="LabelProp" translatable="yes">Keep player tags</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">6</property>
-                <property name="BottomAttach">7</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.Label" id="labelteamaction">
-                <property name="MemberName" />
-                <property name="Xalign">1</property>
-                <property name="LabelProp" translatable="yes">Team action</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">5</property>
-                <property name="BottomAttach">6</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Gtk.Label" id="labelto">
-                <property name="MemberName" />
-                <property name="Xalign">1</property>
-                <property name="LabelProp" translatable="yes">To</property>
-              </widget>
-              <packing>
-                <property name="TopAttach">2</property>
-                <property name="BottomAttach">3</property>
-                <property name="AutoSize">True</property>
-                <property name="XOptions">Fill</property>
-                <property name="YOptions">Fill</property>
-                <property name="XExpand">False</property>
-                <property name="XFill">True</property>
-                <property name="XShrink">False</property>
-                <property name="YExpand">False</property>
-                <property name="YFill">True</property>
-                <property name="YShrink">False</property>
-              </packing>
-            </child>
           </widget>
           <packing>
-            <property name="Position">0</property>
+            <property name="TopAttach">5</property>
+            <property name="BottomAttach">6</property>
+            <property name="LeftAttach">1</property>
+            <property name="RightAttach">2</property>
             <property name="AutoSize">True</property>
-            <property name="Expand">False</property>
-            <property name="Fill">False</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.Label" id="labelaction">
+            <property name="MemberName" />
+            <property name="Xalign">1</property>
+            <property name="LabelProp" translatable="yes">Action</property>
+          </widget>
+          <packing>
+            <property name="TopAttach">4</property>
+            <property name="BottomAttach">5</property>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.Label" id="labelfrom">
+            <property name="MemberName" />
+            <property name="Xalign">1</property>
+            <property name="LabelProp" translatable="yes">From:</property>
+          </widget>
+          <packing>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.Label" id="labelfromdata">
+            <property name="MemberName" />
+            <property name="Sensitive">False</property>
+            <property name="Xalign">0</property>
+            <property name="Wrap">True</property>
+          </widget>
+          <packing>
+            <property name="LeftAttach">1</property>
+            <property name="RightAttach">2</property>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.Label" id="labelfromtagsdata">
+            <property name="MemberName" />
+            <property name="Sensitive">False</property>
+            <property name="Xalign">0</property>
+            <property name="Wrap">True</property>
+          </widget>
+          <packing>
+            <property name="TopAttach">1</property>
+            <property name="BottomAttach">2</property>
+            <property name="LeftAttach">1</property>
+            <property name="RightAttach">2</property>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.Label" id="labelkeepcommontags">
+            <property name="MemberName" />
+            <property name="Xalign">1</property>
+            <property name="LabelProp" translatable="yes">Keep common tags</property>
+          </widget>
+          <packing>
+            <property name="TopAttach">7</property>
+            <property name="BottomAttach">8</property>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.Label" id="labelkeepplayertags">
+            <property name="MemberName" />
+            <property name="Xalign">1</property>
+            <property name="LabelProp" translatable="yes">Keep player tags</property>
+          </widget>
+          <packing>
+            <property name="TopAttach">6</property>
+            <property name="BottomAttach">7</property>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.Label" id="labelteamaction">
+            <property name="MemberName" />
+            <property name="Xalign">1</property>
+            <property name="LabelProp" translatable="yes">Team action</property>
+          </widget>
+          <packing>
+            <property name="TopAttach">5</property>
+            <property name="BottomAttach">6</property>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.Label" id="labelto">
+            <property name="MemberName" />
+            <property name="Xalign">1</property>
+            <property name="LabelProp" translatable="yes">To:</property>
+          </widget>
+          <packing>
+            <property name="TopAttach">2</property>
+            <property name="BottomAttach">3</property>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.Label" id="labeltodata">
+            <property name="MemberName" />
+            <property name="Sensitive">False</property>
+            <property name="Xalign">0</property>
+            <property name="Wrap">True</property>
+          </widget>
+          <packing>
+            <property name="TopAttach">2</property>
+            <property name="BottomAttach">3</property>
+            <property name="LeftAttach">1</property>
+            <property name="RightAttach">2</property>
+            <property name="AutoSize">False</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">True</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="Gtk.Label" id="labeltotagsdata">
+            <property name="MemberName" />
+            <property name="Sensitive">False</property>
+            <property name="Xalign">0</property>
+            <property name="Wrap">True</property>
+          </widget>
+          <packing>
+            <property name="TopAttach">3</property>
+            <property name="BottomAttach">4</property>
+            <property name="LeftAttach">1</property>
+            <property name="RightAttach">2</property>
+            <property name="AutoSize">True</property>
+            <property name="XOptions">Fill</property>
+            <property name="YOptions">Fill</property>
+            <property name="XExpand">False</property>
+            <property name="XFill">True</property>
+            <property name="XShrink">False</property>
+            <property name="YExpand">False</property>
+            <property name="YFill">True</property>
+            <property name="YShrink">False</property>
           </packing>
         </child>
       </widget>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]