[longomatch: 2/7] Add fixed categories and time to the timeline widget
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch: 2/7] Add fixed categories and time to the timeline widget
- Date: Sun, 6 Feb 2011 13:33:30 +0000 (UTC)
commit 308966847746ad2dde7207a425e8e53c00047981
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Sun Feb 6 01:05:01 2011 +0100
Add fixed categories and time to the timeline widget
LongoMatch/Gui/Component/TimeLineWidget.cs | 52 +++++-
LongoMatch/Gui/Component/TimeReferenceWidget.cs | 36 +++-
LongoMatch/LongoMatch.mdp | 24 ++--
.../LongoMatch.Gui.Component.TimeLineWidget.cs | 178 ++++++++++++++------
LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs | 1 -
LongoMatch/gtk-gui/gui.stetic | 169 ++++++++++++++-----
LongoMatch/gtk-gui/objects.xml | 116 +++++++++----
7 files changed, 409 insertions(+), 167 deletions(-)
---
diff --git a/LongoMatch/Gui/Component/TimeLineWidget.cs b/LongoMatch/Gui/Component/TimeLineWidget.cs
index fe2aeaa..7979377 100644
--- a/LongoMatch/Gui/Component/TimeLineWidget.cs
+++ b/LongoMatch/Gui/Component/TimeLineWidget.cs
@@ -42,6 +42,7 @@ namespace LongoMatch.Gui.Component {
private List<List<MediaTimeNode>> tnArray;
private Sections sections;
private TimeReferenceWidget tr;
+ CategoriesScale cs;
private uint frames;
private uint pixelRatio;
private MediaTimeNode selected;
@@ -52,9 +53,24 @@ namespace LongoMatch.Gui.Component {
{
this.Build();
SetPixelRatio(10);
- vscale1.CanFocus = false;
+ zoomscale.CanFocus = false;
+
+ GtkScrolledWindow.Vadjustment.ValueChanged += HandleScrollEvent;
+ GtkScrolledWindow.Hadjustment.ValueChanged += HandleScrollEvent;
+
+ GtkScrolledWindow.HScrollbar.SizeAllocated += OnSizeAllocated;
+
+ cs = new CategoriesScale();
+ cs.WidthRequest = 100;
+ categoriesbox.PackStart(cs, false, false, 0);
+
+ tr = new TimeReferenceWidget();
+ timescalebox.PackStart(tr,false,false,0);
+
+ tr.HeightRequest = 50 - leftbox.Spacing;
+ toolsbox.HeightRequest = 50 - leftbox.Spacing;
}
-
+
public MediaTimeNode SelectedTimeNode {
get {
return selected;
@@ -112,7 +128,6 @@ namespace LongoMatch.Gui.Component {
}
}
-
private void SetPixelRatio(uint pixelRatio) {
if (tsArray != null && tnArray != null) {
this.pixelRatio = pixelRatio;
@@ -120,7 +135,7 @@ namespace LongoMatch.Gui.Component {
foreach (TimeScale ts in tsArray) {
ts.PixelRatio = pixelRatio;
}
- vscale1.Value=pixelRatio;
+ zoomscale.Value=pixelRatio;
}
}
@@ -136,16 +151,18 @@ namespace LongoMatch.Gui.Component {
return;
}
+ frames = value.File.GetFrames();
sections = value.Sections;
tnArray = value.GetDataArray();
tsArray = new TimeScale[sections.Count];
- frames = value.File.GetFrames();
- ushort fps = value.File.Fps;
+ cs.Categories = sections;
+ cs.Show();
- tr = new TimeReferenceWidget(frames,fps);
- vbox1.PackStart(tr,false,false,0);
+ tr.Frames = frames;
+ tr.FrameRate = value.File.Fps;
tr.Show();
+
for (int i=0; i<sections.Count; i++) {
TimeScale ts = new TimeScale(i,tnArray[i],frames,sections.GetColor(i));
tsArray[i]=ts;
@@ -192,11 +209,26 @@ namespace LongoMatch.Gui.Component {
AdjustPostion(currentFrame);
}
- protected virtual void OnVscale1ValueChanged(object sender, System.EventArgs e)
+ protected virtual void OnZoomscaleValueChanged(object sender, System.EventArgs e)
{
- SetPixelRatio((uint)(vscale1.Value));
+ SetPixelRatio((uint)(zoomscale.Value));
QueueDraw();
AdjustPostion(currentFrame);
}
+
+ protected virtual void HandleScrollEvent (object sender, System.EventArgs args)
+ {
+ if (sender == GtkScrolledWindow.Vadjustment)
+ cs.Scroll = GtkScrolledWindow.Vadjustment.Value;
+ else if (sender == GtkScrolledWindow.Hadjustment)
+ tr.Scroll = GtkScrolledWindow.Hadjustment.Value;
+ }
+
+ protected virtual void OnSizeAllocated (object sender, SizeAllocatedArgs e)
+ {
+ /* Align the categories list widget on top of the timeline's horizontal bar */
+ if (sender == GtkScrolledWindow.HScrollbar)
+ categoriesalignment1.BottomPadding = (uint) GtkScrolledWindow.HScrollbar.Allocation.Height;
+ }
}
}
diff --git a/LongoMatch/Gui/Component/TimeReferenceWidget.cs b/LongoMatch/Gui/Component/TimeReferenceWidget.cs
index c152c20..5030135 100644
--- a/LongoMatch/Gui/Component/TimeReferenceWidget.cs
+++ b/LongoMatch/Gui/Component/TimeReferenceWidget.cs
@@ -34,27 +34,44 @@ namespace LongoMatch.Gui.Component
public partial class TimeReferenceWidget : Gtk.DrawingArea
{
private const int SECTION_HEIGHT = 30;
- ushort frameRate;
- uint currentFrame;
+ double scroll;
uint frames;
uint pixelRatio=10;//Número de frames por pixel
Pango.Layout layout;
- public TimeReferenceWidget(uint frames,ushort frameRate)
+ public TimeReferenceWidget()
{
- this.frameRate = frameRate;
- this.frames = frames;
+ Frames = 1;
+ PixelRatio = 1;
+ FrameRate = 1;
+
this.HeightRequest= SECTION_HEIGHT;
- this.Size((int)(this.frames/pixelRatio),SECTION_HEIGHT);
layout = new Pango.Layout(this.PangoContext);
}
public uint CurrentFrame {
+ get;
+ set;
+ }
+
+ public uint Frames {
+ set{
+ frames = value;
+ }
+ }
+
+ public ushort FrameRate {
+ set;
+ get;
+ }
+
+ public double Scroll {
get {
- return this.currentFrame;
+ return scroll;
}
set {
- this.currentFrame = value;
+ scroll = value;
+ QueueDraw();
}
}
@@ -63,8 +80,7 @@ namespace LongoMatch.Gui.Component
return pixelRatio;
}
set {
- this.pixelRatio = value;
- this.Size((int)(this.frames/pixelRatio),SECTION_HEIGHT);
+ pixelRatio = value;
}
}
diff --git a/LongoMatch/LongoMatch.mdp b/LongoMatch/LongoMatch.mdp
index 4d7af62..9105d45 100644
--- a/LongoMatch/LongoMatch.mdp
+++ b/LongoMatch/LongoMatch.mdp
@@ -1,4 +1,14 @@
<Project name="LongoMatch" fileversion="2.0" DefaultNamespace="LongoMatch" language="C#" clr-version="Net_2_0" targetFramework="3.5" ctype="DotNetProject">
+ <Deployment.LinuxDeployData />
+ <MonoDevelop.Autotools.MakefileInfo RelativeMakefileName="../CesarPlayer/Makefile.am" RelativeConfigureInPath="../">
+ <BuildFilesVar Name="FILES" />
+ <DeployFilesVar />
+ <ResourcesVar Name="RESOURCES" />
+ <OthersVar />
+ <GacRefVar Name="REFERENCES" />
+ <AsmRefVar Name="REFERENCES" />
+ <ProjectRefVar Name="REFERENCES" />
+ </MonoDevelop.Autotools.MakefileInfo>
<Configurations active="Release">
<Configuration name="Debug" ctype="DotNetProjectConfiguration">
<Output directory="bin/Debug" assembly="LongoMatch.exe" assemblyKeyFile="." />
@@ -185,6 +195,8 @@
<File subtype="Code" buildaction="Compile" name="gtk-gui/LongoMatch.Gui.Dialog.EndCaptureDialog.cs" />
<File subtype="Code" buildaction="Compile" name="gtk-gui/LongoMatch.Gui.Dialog.BusyDialog.cs" />
<File subtype="Code" buildaction="Compile" name="Gui/TreeView/ListTreeViewBase.cs" />
+ <File subtype="Code" buildaction="Compile" name="Gui/Component/CategoriesScale.cs" />
+ <File subtype="Code" buildaction="Compile" name="Common/Cairo.cs" />
</Contents>
<References>
<ProjectReference type="Gac" localcopy="True" refto="Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
@@ -197,17 +209,7 @@
<ProjectReference type="Gac" localcopy="True" refto="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
<ProjectReference type="Gac" localcopy="True" refto="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
<ProjectReference type="Gac" localcopy="True" refto="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
- <ProjectReference type="Assembly" localcopy="True" specificVersion="False" refto="../../../../../usr/lib/mono/gac/Db4objects.Db4o/7.4.121.14026__6199cd4f203aa8eb/Db4objects.Db4o.dll" />
+ <ProjectReference specificVersion="False" type="Assembly" localcopy="True" refto="../../../../../usr/lib/mono/gac/Db4objects.Db4o/7.4.121.14026__6199cd4f203aa8eb/Db4objects.Db4o.dll" />
</References>
<LanguageParameters StartupObject="LongoMatch.MainClass" ApplicationIcon="." CodePage="65001" ctype="CSharpProjectParameters" />
- <Deployment.LinuxDeployData />
- <MonoDevelop.Autotools.MakefileInfo RelativeMakefileName="../CesarPlayer/Makefile.am" RelativeConfigureInPath="../">
- <BuildFilesVar Name="FILES" />
- <DeployFilesVar />
- <ResourcesVar Name="RESOURCES" />
- <OthersVar />
- <GacRefVar Name="REFERENCES" />
- <AsmRefVar Name="REFERENCES" />
- <ProjectRefVar Name="REFERENCES" />
- </MonoDevelop.Autotools.MakefileInfo>
</Project>
\ No newline at end of file
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.TimeLineWidget.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.TimeLineWidget.cs
index 80e1305..acfcc09 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.Component.TimeLineWidget.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.Component.TimeLineWidget.cs
@@ -4,13 +4,29 @@ namespace LongoMatch.Gui.Component
{
public partial class TimeLineWidget
{
+ private global::Gtk.VBox vbox3;
+
+ private global::Gtk.HSeparator hseparator1;
+
private global::Gtk.HBox hbox3;
- private global::Gtk.VBox vbox3;
+ private global::Gtk.VBox leftbox;
+
+ private global::Gtk.HBox toolsbox;
private global::Gtk.Button fitbutton;
- private global::Gtk.VScale vscale1;
+ private global::Gtk.HScale zoomscale;
+
+ private global::Gtk.Alignment categoriesalignment1;
+
+ private global::Gtk.HBox categoriesbox;
+
+ private global::Gtk.VSeparator vseparator1;
+
+ private global::Gtk.VBox vbox2;
+
+ private global::Gtk.VBox timescalebox;
private global::Gtk.ScrolledWindow GtkScrolledWindow;
@@ -23,81 +39,137 @@ namespace LongoMatch.Gui.Component
global::Stetic.BinContainer.Attach (this);
this.Name = "LongoMatch.Gui.Component.TimeLineWidget";
// Container child LongoMatch.Gui.Component.TimeLineWidget.Gtk.Container+ContainerChild
- this.hbox3 = new global::Gtk.HBox ();
- this.hbox3.Name = "hbox3";
- this.hbox3.Spacing = 6;
- // Container child hbox3.Gtk.Box+BoxChild
this.vbox3 = new global::Gtk.VBox ();
this.vbox3.Name = "vbox3";
this.vbox3.Spacing = 6;
// Container child vbox3.Gtk.Box+BoxChild
+ this.hseparator1 = new global::Gtk.HSeparator ();
+ this.hseparator1.Name = "hseparator1";
+ this.vbox3.Add (this.hseparator1);
+ global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox3[this.hseparator1]));
+ w1.Position = 0;
+ w1.Expand = false;
+ w1.Fill = false;
+ // Container child vbox3.Gtk.Box+BoxChild
+ this.hbox3 = new global::Gtk.HBox ();
+ this.hbox3.Name = "hbox3";
+ // Container child hbox3.Gtk.Box+BoxChild
+ this.leftbox = new global::Gtk.VBox ();
+ this.leftbox.Name = "leftbox";
+ this.leftbox.Spacing = 6;
+ // Container child leftbox.Gtk.Box+BoxChild
+ this.toolsbox = new global::Gtk.HBox ();
+ this.toolsbox.Name = "toolsbox";
+ this.toolsbox.Spacing = 6;
+ // Container child toolsbox.Gtk.Box+BoxChild
this.fitbutton = new global::Gtk.Button ();
this.fitbutton.Name = "fitbutton";
this.fitbutton.UseUnderline = true;
// Container child fitbutton.Gtk.Container+ContainerChild
- global::Gtk.Alignment w1 = new global::Gtk.Alignment (0.5f, 0.5f, 0f, 0f);
+ global::Gtk.Alignment w2 = new global::Gtk.Alignment (0.5f, 0.5f, 0f, 0f);
// Container child GtkAlignment.Gtk.Container+ContainerChild
- global::Gtk.HBox w2 = new global::Gtk.HBox ();
- w2.Spacing = 2;
+ global::Gtk.HBox w3 = new global::Gtk.HBox ();
+ w3.Spacing = 2;
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Image w3 = new global::Gtk.Image ();
- w3.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-zoom-fit", global::Gtk.IconSize.Button);
- w2.Add (w3);
+ global::Gtk.Image w4 = new global::Gtk.Image ();
+ w4.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-zoom-fit", global::Gtk.IconSize.Button);
+ w3.Add (w4);
// Container child GtkHBox.Gtk.Container+ContainerChild
- global::Gtk.Label w5 = new global::Gtk.Label ();
- w2.Add (w5);
- w1.Add (w2);
- this.fitbutton.Add (w1);
- this.vbox3.Add (this.fitbutton);
- global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox3[this.fitbutton]));
- w9.Position = 0;
- w9.Expand = false;
- w9.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
- this.vscale1 = new global::Gtk.VScale (null);
- this.vscale1.Name = "vscale1";
- this.vscale1.UpdatePolicy = ((global::Gtk.UpdateType)(1));
- this.vscale1.Inverted = true;
- this.vscale1.Adjustment.Lower = 1;
- this.vscale1.Adjustment.Upper = 100;
- this.vscale1.Adjustment.PageIncrement = 10;
- this.vscale1.Adjustment.StepIncrement = 1;
- this.vscale1.Adjustment.Value = 3;
- this.vscale1.DrawValue = true;
- this.vscale1.Digits = 0;
- this.vscale1.ValuePos = ((global::Gtk.PositionType)(3));
- this.vbox3.Add (this.vscale1);
- global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.vbox3[this.vscale1]));
- w10.PackType = ((global::Gtk.PackType)(1));
- w10.Position = 1;
- this.hbox3.Add (this.vbox3);
- global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.hbox3[this.vbox3]));
- w11.Position = 0;
- w11.Expand = false;
- w11.Fill = false;
+ global::Gtk.Label w6 = new global::Gtk.Label ();
+ w3.Add (w6);
+ w2.Add (w3);
+ this.fitbutton.Add (w2);
+ this.toolsbox.Add (this.fitbutton);
+ global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.toolsbox[this.fitbutton]));
+ w10.Position = 0;
+ w10.Expand = false;
+ w10.Fill = false;
+ // Container child toolsbox.Gtk.Box+BoxChild
+ this.zoomscale = new global::Gtk.HScale (null);
+ this.zoomscale.CanFocus = true;
+ this.zoomscale.Name = "zoomscale";
+ this.zoomscale.UpdatePolicy = ((global::Gtk.UpdateType)(1));
+ this.zoomscale.Adjustment.Lower = 1;
+ this.zoomscale.Adjustment.Upper = 100;
+ this.zoomscale.Adjustment.PageIncrement = 10;
+ this.zoomscale.Adjustment.StepIncrement = 1;
+ this.zoomscale.Adjustment.Value = 1;
+ this.zoomscale.DrawValue = true;
+ this.zoomscale.Digits = 0;
+ this.zoomscale.ValuePos = ((global::Gtk.PositionType)(2));
+ this.toolsbox.Add (this.zoomscale);
+ global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.toolsbox[this.zoomscale]));
+ w11.Position = 1;
+ this.leftbox.Add (this.toolsbox);
+ global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.leftbox[this.toolsbox]));
+ w12.Position = 0;
+ w12.Expand = false;
+ w12.Fill = false;
+ // Container child leftbox.Gtk.Box+BoxChild
+ this.categoriesalignment1 = new global::Gtk.Alignment (0.5f, 0.5f, 1f, 1f);
+ this.categoriesalignment1.Name = "categoriesalignment1";
+ // Container child categoriesalignment1.Gtk.Container+ContainerChild
+ this.categoriesbox = new global::Gtk.HBox ();
+ this.categoriesbox.Name = "categoriesbox";
+ this.categoriesbox.Spacing = 6;
+ this.categoriesalignment1.Add (this.categoriesbox);
+ this.leftbox.Add (this.categoriesalignment1);
+ global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.leftbox[this.categoriesalignment1]));
+ w14.Position = 1;
+ this.hbox3.Add (this.leftbox);
+ global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.hbox3[this.leftbox]));
+ w15.Position = 0;
+ w15.Expand = false;
+ w15.Fill = false;
+ // Container child hbox3.Gtk.Box+BoxChild
+ this.vseparator1 = new global::Gtk.VSeparator ();
+ this.vseparator1.Name = "vseparator1";
+ this.hbox3.Add (this.vseparator1);
+ global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.hbox3[this.vseparator1]));
+ w16.Position = 1;
+ w16.Expand = false;
+ w16.Fill = false;
// Container child hbox3.Gtk.Box+BoxChild
+ this.vbox2 = new global::Gtk.VBox ();
+ this.vbox2.Name = "vbox2";
+ this.vbox2.Spacing = 6;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.timescalebox = new global::Gtk.VBox ();
+ this.timescalebox.Name = "timescalebox";
+ this.timescalebox.Spacing = 6;
+ this.vbox2.Add (this.timescalebox);
+ global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.vbox2[this.timescalebox]));
+ w17.Position = 0;
+ w17.Expand = false;
+ w17.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));
// Container child GtkScrolledWindow.Gtk.Container+ContainerChild
- global::Gtk.Viewport w12 = new global::Gtk.Viewport ();
- w12.ShadowType = ((global::Gtk.ShadowType)(0));
+ global::Gtk.Viewport w18 = new global::Gtk.Viewport ();
+ w18.ShadowType = ((global::Gtk.ShadowType)(0));
// Container child GtkViewport.Gtk.Container+ContainerChild
this.vbox1 = new global::Gtk.VBox ();
this.vbox1.Name = "vbox1";
- this.vbox1.BorderWidth = ((uint)(2));
- w12.Add (this.vbox1);
- this.GtkScrolledWindow.Add (w12);
- this.hbox3.Add (this.GtkScrolledWindow);
- global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.hbox3[this.GtkScrolledWindow]));
- w15.Position = 1;
- this.Add (this.hbox3);
+ w18.Add (this.vbox1);
+ this.GtkScrolledWindow.Add (w18);
+ this.vbox2.Add (this.GtkScrolledWindow);
+ global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.vbox2[this.GtkScrolledWindow]));
+ w21.Position = 1;
+ this.hbox3.Add (this.vbox2);
+ global::Gtk.Box.BoxChild w22 = ((global::Gtk.Box.BoxChild)(this.hbox3[this.vbox2]));
+ w22.Position = 2;
+ this.vbox3.Add (this.hbox3);
+ global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.vbox3[this.hbox3]));
+ w23.Position = 1;
+ this.Add (this.vbox3);
if ((this.Child != null)) {
this.Child.ShowAll ();
}
this.Show ();
this.fitbutton.Clicked += new global::System.EventHandler (this.OnFitbuttonClicked);
- this.vscale1.ValueChanged += new global::System.EventHandler (this.OnVscale1ValueChanged);
+ this.zoomscale.ValueChanged += new global::System.EventHandler (this.OnZoomscaleValueChanged);
}
}
}
diff --git a/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs b/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs
index 6a17ee0..942f928 100644
--- a/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs
+++ b/LongoMatch/gtk-gui/LongoMatch.Gui.MainWindow.cs
@@ -440,7 +440,6 @@ namespace LongoMatch.Gui
this.playerbin1.Error += new global::LongoMatch.Video.Common.ErrorHandler (this.OnPlayerbin1Error);
this.playerbin1.SegmentClosedEvent += new global::LongoMatch.Video.Common.SegmentClosedHandler (this.OnSegmentClosedEvent);
this.capturerBin.Error += new global::LongoMatch.Video.Common.ErrorHandler (this.OnCapturerBinError);
- this.timelinewidget1.TimeNodeSelected += new global::LongoMatch.Handlers.TimeNodeSelectedHandler (this.OnTimeNodeSelected);
}
}
}
diff --git a/LongoMatch/gtk-gui/gui.stetic b/LongoMatch/gtk-gui/gui.stetic
index f22a5de..d620879 100644
--- a/LongoMatch/gtk-gui/gui.stetic
+++ b/LongoMatch/gtk-gui/gui.stetic
@@ -2120,7 +2120,6 @@
<property name="Visible">False</property>
<property name="Events">ButtonPressMask</property>
<property name="CurrentFrame">0</property>
- <signal name="TimeNodeSelected" handler="OnTimeNodeSelected" />
</widget>
<packing>
<property name="Position">1</property>
@@ -2827,86 +2826,164 @@ new one.</property>
</widget>
</child>
</widget>
- <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.TimeLineWidget" design-size="907 229">
+ <widget class="Gtk.Bin" id="LongoMatch.Gui.Component.TimeLineWidget" design-size="535 229">
<property name="MemberName" />
<child>
- <widget class="Gtk.HBox" id="hbox3">
+ <widget class="Gtk.VBox" id="vbox3">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
- <widget class="Gtk.VBox" id="vbox3">
+ <widget class="Gtk.HSeparator" id="hseparator1">
+ <property name="MemberName" />
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.HBox" id="hbox3">
<property name="MemberName" />
- <property name="Spacing">6</property>
<child>
- <widget class="Gtk.Button" id="fitbutton">
+ <widget class="Gtk.VBox" id="leftbox">
<property name="MemberName" />
- <property name="Type">TextAndIcon</property>
- <property name="Icon">stock:gtk-zoom-fit Button</property>
- <property name="Label" translatable="yes" />
- <property name="UseUnderline">True</property>
- <signal name="Clicked" handler="OnFitbuttonClicked" />
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="Gtk.HBox" id="toolsbox">
+ <property name="MemberName" />
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="Gtk.Button" id="fitbutton">
+ <property name="MemberName" />
+ <property name="Type">TextAndIcon</property>
+ <property name="Icon">stock:gtk-zoom-fit Button</property>
+ <property name="Label" translatable="yes" />
+ <property name="UseUnderline">True</property>
+ <signal name="Clicked" handler="OnFitbuttonClicked" />
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.HScale" id="zoomscale">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="UpdatePolicy">Discontinuous</property>
+ <property name="Lower">1</property>
+ <property name="Upper">100</property>
+ <property name="PageIncrement">10</property>
+ <property name="StepIncrement">1</property>
+ <property name="Value">1</property>
+ <property name="DrawValue">True</property>
+ <property name="Digits">0</property>
+ <property name="ValuePos">Top</property>
+ <signal name="ValueChanged" handler="OnZoomscaleValueChanged" />
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Alignment" id="categoriesalignment1">
+ <property name="MemberName" />
+ <child>
+ <widget class="Gtk.HBox" id="categoriesbox">
+ <property name="MemberName" />
+ <property name="Spacing">6</property>
+ <child>
+ <placeholder />
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="Position">0</property>
- <property name="AutoSize">True</property>
+ <property name="AutoSize">False</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
- <widget class="Gtk.VScale" id="vscale1">
+ <widget class="Gtk.VSeparator" id="vseparator1">
<property name="MemberName" />
- <property name="UpdatePolicy">Discontinuous</property>
- <property name="Inverted">True</property>
- <property name="Lower">1</property>
- <property name="Upper">100</property>
- <property name="PageIncrement">10</property>
- <property name="StepIncrement">1</property>
- <property name="Value">3</property>
- <property name="DrawValue">True</property>
- <property name="Digits">0</property>
- <property name="ValuePos">Bottom</property>
- <signal name="ValueChanged" handler="OnVscale1ValueChanged" />
</widget>
<packing>
- <property name="PackType">End</property>
<property name="Position">1</property>
<property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="Position">0</property>
- <property name="AutoSize">True</property>
- <property name="Expand">False</property>
- <property name="Fill">False</property>
- </packing>
- </child>
- <child>
- <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow">
- <property name="MemberName" />
- <property name="ShadowType">In</property>
<child>
- <widget class="Gtk.Viewport" id="GtkViewport">
+ <widget class="Gtk.VBox" id="vbox2">
<property name="MemberName" />
- <property name="ShadowType">None</property>
+ <property name="Spacing">6</property>
<child>
- <widget class="Gtk.VBox" id="vbox1">
+ <widget class="Gtk.VBox" id="timescalebox">
<property name="MemberName" />
- <property name="ShowScrollbars">True</property>
- <property name="BorderWidth">2</property>
- <child>
- <placeholder />
- </child>
+ <property name="Spacing">6</property>
<child>
<placeholder />
</child>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">False</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow">
+ <property name="MemberName" />
+ <property name="ShadowType">In</property>
<child>
- <placeholder />
+ <widget class="Gtk.Viewport" id="GtkViewport">
+ <property name="MemberName" />
+ <property name="ShadowType">None</property>
+ <child>
+ <widget class="Gtk.VBox" id="vbox1">
+ <property name="MemberName" />
+ <property name="ShowScrollbars">True</property>
+ <child>
+ <placeholder />
+ </child>
+ </widget>
+ </child>
+ </widget>
</child>
</widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
</child>
</widget>
+ <packing>
+ <property name="Position">2</property>
+ <property name="AutoSize">True</property>
+ </packing>
</child>
</widget>
<packing>
diff --git a/LongoMatch/gtk-gui/objects.xml b/LongoMatch/gtk-gui/objects.xml
index 45894a6..b669ed1 100644
--- a/LongoMatch/gtk-gui/objects.xml
+++ b/LongoMatch/gtk-gui/objects.xml
@@ -77,6 +77,8 @@
<itemgroup label="TimeReferenceWidget Properties">
<property name="CurrentFrame" />
<property name="PixelRatio" />
+ <property name="Scroll" />
+ <property name="FrameRate" />
</itemgroup>
</itemgroups>
<signals />
@@ -98,16 +100,6 @@
</itemgroup>
</signals>
</object>
- <object type="LongoMatch.Gui.Component.ButtonsWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="ButtonsWidget Signals">
- <signal name="NewMarkEvent" />
- <signal name="NewMarkStartEvent" />
- <signal name="NewMarkStopEvent" />
- </itemgroup>
- </signals>
- </object>
<object type="LongoMatch.Gui.Component.PlayerProperties" palette-category="General" allow-children="false" base-type="Gtk.Bin">
<itemgroups />
<signals />
@@ -131,22 +123,6 @@
</itemgroup>
</signals>
</object>
- <object type="LongoMatch.Gui.Component.ProjectListWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="ProjectListWidget Signals">
- <signal name="ProjectsSelected" />
- </itemgroup>
- </signals>
- </object>
- <object type="LongoMatch.Gui.Component.CategoryProperties" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="CategoryProperties Signals">
- <signal name="HotKeyChanged" />
- </itemgroup>
- </signals>
- </object>
<object type="LongoMatch.Gui.Component.DrawingToolBox" palette-category="General" allow-children="false" base-type="Gtk.Bin">
<itemgroups />
<signals>
@@ -168,16 +144,6 @@
</itemgroups>
<signals />
</object>
- <object type="LongoMatch.Gui.Component.PlayListWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
- <itemgroups />
- <signals>
- <itemgroup label="PlayListWidget Signals">
- <signal name="PlayListNodeSelected" />
- <signal name="ApplyCurrentRate" />
- <signal name="Progress" />
- </itemgroup>
- </signals>
- </object>
<object type="LongoMatch.Gui.Component.PlayersListTreeWidget" palette-category="General" allow-children="false" base-type="Gtk.Bin">
<itemgroups />
<signals>
@@ -218,6 +184,58 @@
<itemgroups />
<signals />
</object>
+ <object type="LongoMatch.Gui.Component.TagsTreeView" palette-category="LongoMatch" allow-children="false" base-type="Gtk.TreeView">
+ <itemgroups />
+ <signals>
+ <itemgroup label="ListTreeViewBase Signals">
+ <signal name="TimeNodeChanged" />
+ <signal name="TimeNodeSelected" />
+ <signal name="TimeNodeDeleted" />
+ <signal name="PlayListNodeAdded" />
+ <signal name="SnapshotSeriesEvent" />
+ <signal name="PlayersTagged" />
+ <signal name="TagPlay" />
+ </itemgroup>
+ </signals>
+ </object>
+ <object type="LongoMatch.Gui.Component.PlayersTreeView" palette-category="LongoMatch" allow-children="false" base-type="Gtk.TreeView">
+ <itemgroups />
+ <signals>
+ <itemgroup label="ListTreeViewBase Signals">
+ <signal name="TimeNodeChanged" />
+ <signal name="TimeNodeSelected" />
+ <signal name="TimeNodeDeleted" />
+ <signal name="PlayListNodeAdded" />
+ <signal name="SnapshotSeriesEvent" />
+ <signal name="PlayersTagged" />
+ <signal name="TagPlay" />
+ </itemgroup>
+ </signals>
+ </object>
+ <object type="LongoMatch.Gui.Component.PlaysTreeView" palette-category="LongoMatch" allow-children="false" base-type="Gtk.TreeView">
+ <itemgroups />
+ <signals>
+ <itemgroup label="ListTreeViewBase Signals">
+ <signal name="TimeNodeChanged" />
+ <signal name="TimeNodeSelected" />
+ <signal name="TimeNodeDeleted" />
+ <signal name="PlayListNodeAdded" />
+ <signal name="SnapshotSeriesEvent" />
+ <signal name="PlayersTagged" />
+ <signal name="TagPlay" />
+ </itemgroup>
+ </signals>
+ </object>
+ <object type="LongoMatch.Gui.Component.PlayListWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
+ <itemgroups />
+ <signals>
+ <itemgroup label="PlayListWidget Signals">
+ <signal name="PlayListNodeSelected" />
+ <signal name="ApplyCurrentRate" />
+ <signal name="Progress" />
+ </itemgroup>
+ </signals>
+ </object>
<object type="LongoMatch.Gui.Component.TaggerWidget" palette-category="General" allow-children="false" base-type="Gtk.Bin">
<itemgroups />
<signals />
@@ -226,4 +244,30 @@
<itemgroups />
<signals />
</object>
+ <object type="LongoMatch.Gui.Component.ProjectListWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
+ <itemgroups />
+ <signals>
+ <itemgroup label="ProjectListWidget Signals">
+ <signal name="ProjectsSelected" />
+ </itemgroup>
+ </signals>
+ </object>
+ <object type="LongoMatch.Gui.Component.ButtonsWidget" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
+ <itemgroups />
+ <signals>
+ <itemgroup label="ButtonsWidget Signals">
+ <signal name="NewMarkEvent" />
+ <signal name="NewMarkStartEvent" />
+ <signal name="NewMarkStopEvent" />
+ </itemgroup>
+ </signals>
+ </object>
+ <object type="LongoMatch.Gui.Component.CategoryProperties" palette-category="LongoMatch" allow-children="false" base-type="Gtk.Bin">
+ <itemgroups />
+ <signals>
+ <itemgroup label="CategoryProperties Signals">
+ <signal name="HotKeyChanged" />
+ </itemgroup>
+ </signals>
+ </object>
</objects>
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]