[longomatch] Change coding UI for the fake analysis mode
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Change coding UI for the fake analysis mode
- Date: Mon, 7 Jul 2014 11:28:08 +0000 (UTC)
commit 6922c26f4a45826a9a2ebc881d02a6ace1036c62
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Tue Jun 10 11:17:33 2014 +0200
Change coding UI for the fake analysis mode
LongoMatch.Core/Interfaces/GUI/IAnalysisWindow.cs | 2 -
LongoMatch.GUI/Gui/Component/AnalysisComponent.cs | 202 ++++++++-----------
...goMatch.Gui.Component.AnalysisTemplateEditor.cs | 65 +++----
.../LongoMatch.Gui.Component.CodingWidget.cs | 12 +-
LongoMatch.GUI/gtk-gui/gui.stetic | 39 +----
LongoMatch.GUI/gtk-gui/objects.xml | 39 ++---
6 files changed, 141 insertions(+), 218 deletions(-)
---
diff --git a/LongoMatch.Core/Interfaces/GUI/IAnalysisWindow.cs
b/LongoMatch.Core/Interfaces/GUI/IAnalysisWindow.cs
index e92bb0a..56365c0 100644
--- a/LongoMatch.Core/Interfaces/GUI/IAnalysisWindow.cs
+++ b/LongoMatch.Core/Interfaces/GUI/IAnalysisWindow.cs
@@ -30,12 +30,10 @@ namespace LongoMatch.Interfaces.GUI
void SetProject(Project project, ProjectType projectType, CaptureSettings props, PlaysFilter
filter);
void CloseOpenedProject ();
void AddPlay(Play play);
- void UpdateSelectedPlay (Play play);
void UpdateCategories ();
void DeletePlays (List<Play> plays);
bool Fullscreen {set;}
- VideoAnalysisMode AnalysisMode {set;}
IPlayerBin Player{get;}
ICapturerBin Capturer{get;}
diff --git a/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
b/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
index 2d06a3e..551c8cd 100644
--- a/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
+++ b/LongoMatch.GUI/Gui/Component/AnalysisComponent.cs
@@ -37,7 +37,6 @@ namespace LongoMatch.Gui.Component
ProjectType projectType;
bool detachedPlayer;
Gtk.Window playerWindow;
- VideoAnalysisMode analysisMode;
public AnalysisComponent ()
{
@@ -46,16 +45,7 @@ namespace LongoMatch.Gui.Component
playsSelection.Visible = true;
playercapturer.Mode = PlayerCapturerBin.PlayerOperationMode.Player;
- playercapturer.Tick += OnTick;
- playercapturer.Detach += DetachPlayer;
- playercapturer.Logo = System.IO.Path.Combine(Config.ImagesDir,"background.png");
- playercapturer.CaptureFinished += (sender, e) => {
- Config.EventsBroker.EmitCloseOpenedProject();
- };
-
ConnectSignals();
- AnalysisMode = VideoAnalysisMode.PredefinedTagging;
-
postagger.SetMode (false);
}
@@ -83,23 +73,11 @@ namespace LongoMatch.Gui.Component
}
}
- public VideoAnalysisMode AnalysisMode {
- set {
- codingwidget.AnalysisMode = value;
- }
- }
-
public void AddPlay(Play play) {
playsSelection.AddPlay(play);
codingwidget.AddPlay (play);
}
- public void UpdateSelectedPlay (Play play) {
- codingwidget.SelectedPlay = play;
- postagger.LoadPlay (play, false);
- notes.Play= play;
- }
-
public void UpdateCategories () {
codingwidget.UpdateCategories ();
}
@@ -110,9 +88,7 @@ namespace LongoMatch.Gui.Component
}
private void ConnectSignals() {
- playercapturer.Error += OnMultimediaError;
- playercapturer.SegmentClosedEvent += OnSegmentClosedEvent;
-
+ playercapturer.Detach += DetachPlayer;
KeyPressEvent += (o, args) => (
Config.EventsBroker.EmitKeyPressed(o, (int)args.Event.Key,
(int)args.Event.State));
}
@@ -145,8 +121,6 @@ namespace LongoMatch.Gui.Component
videowidgetsbox.Visible = true;
playercapturer.Reparent(this.videowidgetsbox);
playerWindow.Destroy();
-
- AnalysisMode = analysisMode;
}
playercapturer.Detached = detach;
}
@@ -154,37 +128,24 @@ namespace LongoMatch.Gui.Component
public void CloseOpenedProject () {
openedProject = null;
projectType = ProjectType.None;
- ResetGUI ();
- return;
+ if (detachedPlayer)
+ DetachPlayer(false);
+ ClearWidgets();
}
public void SetProject(Project project, ProjectType projectType, CaptureSettings props,
PlaysFilter filter)
{
bool isLive = false;
- if(projectType == ProjectType.FileProject) {
- playercapturer.Mode = PlayerCapturerBin.PlayerOperationMode.Player;
- } else {
- isLive = true;
- if(projectType == ProjectType.FakeCaptureProject) {
- playercapturer.Mode = PlayerCapturerBin.PlayerOperationMode.Capturer;
- } else {
- playercapturer.Mode =
PlayerCapturerBin.PlayerOperationMode.PreviewCapturer;
- }
- }
-
-// FIXME
-// if(projectType == ProjectType.FakeCaptureProject) {
-//#if OS_TYPE_LINUX
-// /* This deadlocks in Windows and OS X */
-// (downbox[videowidgetsbox] as Box.BoxChild).Expand = false;
-//#endif
-// (downbox[buttonswidget] as Box.BoxChild).Expand = true;
-// }
-
openedProject = project;
this.projectType = projectType;
+ if(projectType == ProjectType.FakeCaptureProject) {
+ CreateCodingUI ();
+ } else {
+ CreatePreviewUI ();
+ }
+
codingwidget.SetProject (project, isLive, filter);
playsSelection.SetProject (project, isLive, filter);
postagger.LoadBackgrounds (openedProject.Categories.FieldBackground,
@@ -192,84 +153,91 @@ namespace LongoMatch.Gui.Component
openedProject.Categories.GoalBackground);
}
- void ResetGUI() {
- playercapturer.Mode = PlayerCapturerBin.PlayerOperationMode.Player;
- ClearWidgets();
- if (detachedPlayer)
- DetachPlayer(false);
- }
-
- void ClearWidgets() {
- playsSelection.Clear();
- }
-
- protected override bool OnKeyPressEvent(EventKey evnt)
- {
- Gdk.Key key = evnt.Key;
- Gdk.ModifierType modifier = evnt.State;
- bool ret;
+ void CreateCodingUI () {
+ HPaned centralpane, rightpane;
+ VBox vbox;
+ PeriodsRecoder periodsrecorder;
+
+ ClearWidgets ();
- ret = base.OnKeyPressEvent(evnt);
+ centralpane = new HPaned();
+ rightpane = new HPaned ();
+ vbox = new VBox ();
+
+ playsSelection = new PlaysSelectionWidget ();
+ codingwidget = new CodingWidget();
+ postagger = new PlaysCoordinatesTagger();
+ periodsrecorder = new PeriodsRecoder ();
+ playercapturer = null;
+
+ centralpane.Show ();
+ rightpane.Show ();
+ vbox.Show();
+ playsSelection.Show ();
+ codingwidget.Show ();
+ postagger.Show ();
+ periodsrecorder.Show ();
+
+ centralpane.Pack1 (playsSelection, true, true);
+ centralpane.Pack2 (rightpane, true, true);
+ rightpane.Pack1 (vbox, true, true);
+ rightpane.Pack2 (postagger, true, true);
+ vbox.PackStart (periodsrecorder, false, true, 0);
+ vbox.PackEnd (codingwidget, true, true, 0);
+ Add (centralpane);
+ }
- if(openedProject == null && !playercapturer.Opened)
- return ret;
+ void CreatePreviewUI () {
+ VPaned centralpane;
+ HPaned uppane, rightpane;
+
+ ClearWidgets ();
- if(projectType != ProjectType.CaptureProject &&
- projectType != ProjectType.URICaptureProject &&
- projectType != ProjectType.FakeCaptureProject) {
- switch(key) {
- case Constants.SEEK_FORWARD:
- if(modifier == Constants.STEP)
- playercapturer.StepForward();
- else
- playercapturer.SeekToNextFrame();
- break;
- case Constants.SEEK_BACKWARD:
- if(modifier == Constants.STEP)
- playercapturer.StepBackward();
- else
- playercapturer.SeekToPreviousFrame();
- break;
- case Constants.FRAMERATE_UP:
- playercapturer.FramerateUp();
- break;
- case Constants.FRAMERATE_DOWN:
- playercapturer.FramerateDown();
- break;
- case Constants.TOGGLE_PLAY:
- playercapturer.TogglePlay();
- break;
- }
+ centralpane = new VPaned();
+ uppane = new HPaned ();
+ rightpane = new HPaned();
+
+ playsSelection = new PlaysSelectionWidget ();
+ codingwidget = new CodingWidget();
+ postagger = new PlaysCoordinatesTagger();
+ playercapturer = new PlayerCapturerBin ();
+ if(projectType == ProjectType.FileProject) {
+ playercapturer.Mode = PlayerCapturerBin.PlayerOperationMode.Player;
} else {
- switch(key) {
- case Constants.TOGGLE_PLAY:
- playercapturer.TogglePause();
- break;
- }
+ playercapturer.Mode = PlayerCapturerBin.PlayerOperationMode.PreviewCapturer;
}
- return ret;
- }
-
- void OnSegmentClosedEvent()
- {
- codingwidget.SelectedPlay = null;
+
+ centralpane.Show ();
+ uppane.Show ();
+ rightpane.Show ();
+ playsSelection.Show ();
+ codingwidget.Show ();
+ postagger.Show ();
+ playercapturer.Show ();
+
+ centralpane.Pack1 (uppane, true, true);
+ centralpane.Pack2 (codingwidget, true, true);
+ uppane.Pack1 (playsSelection, true, true);
+ uppane.Pack2 (rightpane, true, true);
+ rightpane.Pack1 (playercapturer, true, true);
+ rightpane.Pack2 (postagger, true, true);
+ Add (centralpane);
}
- void OnTick (Time currentTime, Time streamLength,
- double currentPosition)
- {
- if (currentTime.MSeconds != 0 && codingwidget != null && openedProject != null) {
- codingwidget.CurrentTime = currentTime;
+ void ClearWidgets() {
+ if (Children.Length == 1)
+ Children[0].Destroy();
+ if (playsSelection != null)
+ playsSelection.Destroy();
+ if (codingwidget != null)
+ codingwidget.Destroy();
+ if (postagger != null)
+ postagger.Destroy();
+ if (playercapturer != null) {
+ playercapturer.Destroy();
}
}
- void OnMultimediaError(string message)
- {
- MessagesHelpers.ErrorMessage (this,
- Catalog.GetString("The following error happened and" +
- " the current project will be closed:")+"\n" + message);
- Config.EventsBroker.EmitCloseOpenedProject ();
- }
}
}
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.AnalysisTemplateEditor.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.AnalysisTemplateEditor.cs
index f8c811a..8a01389 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.AnalysisTemplateEditor.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.AnalysisTemplateEditor.cs
@@ -9,9 +9,7 @@ namespace LongoMatch.Gui.Component
private global::LongoMatch.Gui.Component.ButtonsWidget buttonswidget;
private global::LongoMatch.Gui.Component.CategoryProperties categoryproperties;
private global::Gtk.HButtonBox hbuttonbox2;
- private global::Gtk.Button button486;
- private global::Gtk.Button button485;
- private global::Gtk.Button button484;
+ private global::Gtk.Button savebutton;
protected virtual void Build ()
{
@@ -50,41 +48,34 @@ namespace LongoMatch.Gui.Component
this.hbuttonbox2 = new global::Gtk.HButtonBox ();
this.hbuttonbox2.Name = "hbuttonbox2";
// Container child hbuttonbox2.Gtk.ButtonBox+ButtonBoxChild
- this.button486 = new global::Gtk.Button ();
- this.button486.CanFocus = true;
- this.button486.Name = "button486";
- this.button486.UseUnderline = true;
- this.button486.Label = global::Mono.Unix.Catalog.GetString ("GtkButton");
- this.hbuttonbox2.Add (this.button486);
- global::Gtk.ButtonBox.ButtonBoxChild w4 =
((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.button486]));
- w4.Expand = false;
- w4.Fill = false;
- // Container child hbuttonbox2.Gtk.ButtonBox+ButtonBoxChild
- this.button485 = new global::Gtk.Button ();
- this.button485.CanFocus = true;
- this.button485.Name = "button485";
- this.button485.UseUnderline = true;
- this.button485.Label = global::Mono.Unix.Catalog.GetString ("GtkButton");
- this.hbuttonbox2.Add (this.button485);
- global::Gtk.ButtonBox.ButtonBoxChild w5 =
((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.button485]));
- w5.Position = 1;
- w5.Expand = false;
- w5.Fill = false;
- // Container child hbuttonbox2.Gtk.ButtonBox+ButtonBoxChild
- this.button484 = new global::Gtk.Button ();
- this.button484.CanFocus = true;
- this.button484.Name = "button484";
- this.button484.UseUnderline = true;
- this.button484.Label = global::Mono.Unix.Catalog.GetString ("GtkButton");
- this.hbuttonbox2.Add (this.button484);
- global::Gtk.ButtonBox.ButtonBoxChild w6 =
((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.button484]));
- w6.Position = 2;
- w6.Expand = false;
- w6.Fill = false;
+ this.savebutton = new global::Gtk.Button ();
+ this.savebutton.CanFocus = true;
+ this.savebutton.Name = "savebutton";
+ this.savebutton.UseUnderline = true;
+ // Container child savebutton.Gtk.Container+ContainerChild
+ global::Gtk.Alignment w4 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F);
+ // Container child GtkAlignment.Gtk.Container+ContainerChild
+ global::Gtk.HBox w5 = new global::Gtk.HBox ();
+ w5.Spacing = 2;
+ // Container child GtkHBox.Gtk.Container+ContainerChild
+ global::Gtk.Image w6 = new global::Gtk.Image ();
+ w6.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-save",
global::Gtk.IconSize.Dialog);
+ w5.Add (w6);
+ // Container child GtkHBox.Gtk.Container+ContainerChild
+ global::Gtk.Label w8 = new global::Gtk.Label ();
+ w8.LabelProp = global::Mono.Unix.Catalog.GetString ("Save");
+ w8.UseUnderline = true;
+ w5.Add (w8);
+ w4.Add (w5);
+ this.savebutton.Add (w4);
+ this.hbuttonbox2.Add (this.savebutton);
+ global::Gtk.ButtonBox.ButtonBoxChild w12 =
((global::Gtk.ButtonBox.ButtonBoxChild)(this.hbuttonbox2 [this.savebutton]));
+ w12.Expand = false;
+ w12.Fill = false;
this.vbox2.Add (this.hbuttonbox2);
- global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.hbuttonbox2]));
- w7.Position = 1;
- w7.Expand = false;
+ global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox2
[this.hbuttonbox2]));
+ w13.Position = 1;
+ w13.Expand = false;
this.Add (this.vbox2);
if ((this.Child != null)) {
this.Child.ShowAll ();
diff --git a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
index 1fce6e4..d2365a9 100644
--- a/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
+++ b/LongoMatch.GUI/gtk-gui/LongoMatch.Gui.Component.CodingWidget.cs
@@ -22,17 +22,17 @@ namespace LongoMatch.Gui.Component
// Widget LongoMatch.Gui.Component.CodingWidget
Stetic.BinContainer w1 = global::Stetic.BinContainer.Attach (this);
this.UIManager = new global::Gtk.UIManager ();
- global::Gtk.ActionGroup w2 = new global::Gtk.ActionGroup ("Timeline");
- this.UIManager.InsertActionGroup (w2, 0);
- global::Gtk.ActionGroup w3 = new global::Gtk.ActionGroup ("Default");
+ global::Gtk.ActionGroup w2 = new global::Gtk.ActionGroup ("Default");
this.timelineMode = new global::Gtk.RadioAction ("timelineMode", null,
global::Mono.Unix.Catalog.GetString ("Timeline view"), "gtk-justify-fill", 0);
this.timelineMode.Group = new global::GLib.SList (global::System.IntPtr.Zero);
- w3.Add (this.timelineMode, null);
+ w2.Add (this.timelineMode, null);
this.autoTaggingMode = new global::Gtk.RadioAction ("autoTaggingMode", null,
global::Mono.Unix.Catalog.GetString ("Automatic tagging view"), "gtk-select-color", 0);
this.autoTaggingMode.Group = this.timelineMode.Group;
- w3.Add (this.autoTaggingMode, null);
+ w2.Add (this.autoTaggingMode, null);
this.zoomFitAction = new global::Gtk.Action ("zoomFitAction", null, null,
"gtk-zoom-fit");
- w3.Add (this.zoomFitAction, null);
+ w2.Add (this.zoomFitAction, null);
+ this.UIManager.InsertActionGroup (w2, 0);
+ global::Gtk.ActionGroup w3 = new global::Gtk.ActionGroup ("Timeline");
this.UIManager.InsertActionGroup (w3, 1);
this.Name = "LongoMatch.Gui.Component.CodingWidget";
// Container child LongoMatch.Gui.Component.CodingWidget.Gtk.Container+ContainerChild
diff --git a/LongoMatch.GUI/gtk-gui/gui.stetic b/LongoMatch.GUI/gtk-gui/gui.stetic
index af52d3a..a8965d2 100644
--- a/LongoMatch.GUI/gtk-gui/gui.stetic
+++ b/LongoMatch.GUI/gtk-gui/gui.stetic
@@ -9966,44 +9966,17 @@ Click 2 players to swap them</property>
<child>
<widget class="Gtk.HButtonBox" id="hbuttonbox2">
<property name="MemberName" />
- <property name="Size">3</property>
- <child>
- <widget class="Gtk.Button" id="button486">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">GtkButton</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.Button" id="button485">
- <property name="MemberName" />
- <property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">GtkButton</property>
- <property name="UseUnderline">True</property>
- </widget>
- <packing>
- <property name="Position">1</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
+ <property name="Size">1</property>
<child>
- <widget class="Gtk.Button" id="button484">
+ <widget class="Gtk.Button" id="savebutton">
<property name="MemberName" />
<property name="CanFocus">True</property>
- <property name="Type">TextOnly</property>
- <property name="Label" translatable="yes">GtkButton</property>
+ <property name="Type">TextAndIcon</property>
+ <property name="Icon">stock:gtk-save Dialog</property>
+ <property name="Label" translatable="yes">Save</property>
<property name="UseUnderline">True</property>
</widget>
<packing>
- <property name="Position">2</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
@@ -10219,7 +10192,6 @@ Click 2 players to swap them</property>
</child>
</widget>
<widget class="Gtk.Bin" id="LongoMatch.Gui.Component.CodingWidget" design-size="673 300">
- <action-group name="Timeline" />
<action-group name="Default">
<action id="timelineMode">
<property name="Type">Radio</property>
@@ -10247,6 +10219,7 @@ Click 2 players to swap them</property>
<property name="StockId">gtk-zoom-fit</property>
</action>
</action-group>
+ <action-group name="Timeline" />
<property name="MemberName" />
<property name="Visible">False</property>
<child>
diff --git a/LongoMatch.GUI/gtk-gui/objects.xml b/LongoMatch.GUI/gtk-gui/objects.xml
index f5483b8..0da491b 100644
--- a/LongoMatch.GUI/gtk-gui/objects.xml
+++ b/LongoMatch.GUI/gtk-gui/objects.xml
@@ -5,8 +5,7 @@
</object>
<object type="LongoMatch.Gui.Component.ButtonsWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
- <signals>
- </signals>
+ <signals />
</object>
<object type="LongoMatch.Gui.Component.DrawingToolBox" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
@@ -23,8 +22,7 @@
</object>
<object type="LongoMatch.Gui.Component.NotesWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
- <signals>
- </signals>
+ <signals />
</object>
<object type="LongoMatch.Gui.Component.PlayersTreeView" palette-category="General" allow-children="false"
base-type="Gtk.TreeView">
<itemgroups />
@@ -53,8 +51,7 @@
</object>
<object type="LongoMatch.Gui.Component.PlayersListTreeWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
<itemgroups />
- <signals>
- </signals>
+ <signals />
</object>
<object type="LongoMatch.Gui.Component.PlayListWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
@@ -96,8 +93,7 @@
</object>
<object type="LongoMatch.Gui.Component.PlaysListTreeWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
<itemgroups />
- <signals>
- </signals>
+ <signals />
</object>
<object type="LongoMatch.Gui.Component.DrawingWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
@@ -171,8 +167,7 @@
</object>
<object type="LongoMatch.Gui.Component.PlaysSelectionWidget" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
<itemgroups />
- <signals>
- </signals>
+ <signals />
</object>
<object type="LongoMatch.Gui.Component.PlayersFilterTreeView" palette-category="General"
allow-children="false" base-type="Gtk.TreeView">
<itemgroups />
@@ -266,8 +261,7 @@
</object>
<object type="LongoMatch.Gui.Component.AnalysisComponent" palette-category="General"
allow-children="false" base-type="Gtk.Bin">
<itemgroups />
- <signals>
- </signals>
+ <signals />
</object>
<object type="LongoMatch.Gui.Panel.WelcomePanel" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
@@ -276,7 +270,7 @@
<object type="LongoMatch.Gui.Panel.OpenProjectPanel" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
<signals>
- <itemgroup label="OpenProjectPanel Signals">
+ <itemgroup label="IPanel Signals">
<signal name="BackEvent" />
</itemgroup>
</signals>
@@ -343,13 +337,20 @@
</object>
<object type="LongoMatch.Gui.Component.Timeline" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
- <signals>
- </signals>
+ <signals />
</object>
<object type="LongoMatch.Gui.Component.CodingWidget" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
<signals />
</object>
+ <object type="LongoMatch.Gui.Component.ProjectPeriods" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
+ <itemgroups />
+ <signals />
+ </object>
+ <object type="LongoMatch.Gui.Component.PeriodsRecoder" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
+ <itemgroups />
+ <signals />
+ </object>
<object type="LongoMatch.Gui.CapturerBin" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
<itemgroups />
<signals>
@@ -404,12 +405,4 @@
</itemgroup>
</signals>
</object>
- <object type="LongoMatch.Gui.Component.ProjectPeriods" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
- <object type="LongoMatch.Gui.Component.PeriodsRecoder" palette-category="General" allow-children="false"
base-type="Gtk.Bin">
- <itemgroups />
- <signals />
- </object>
</objects>
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]