aboutsummaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorjpbruyere <jp.bruyere@hotmail.com>2016-02-05 20:38:00 +0100
committerjpbruyere <jp.bruyere@hotmail.com>2016-02-05 20:38:00 +0100
commit9e7f05bfc4a9f47bf11ca44842c0dd92def4d5aa (patch)
tree59955d569a318c93851fa107d7ae14da0152407f
parent759f4f39e3fdde1f9ed8b620af51e05d052d8964 (diff)
new layouting update through events
-rw-r--r--Crow.userprefs19
-rw-r--r--Tests/GOLIBTests.cs3
-rwxr-xr-xTests/Interfaces/5.crow14
-rwxr-xr-xTests/Interfaces/testSpinner.goml10
-rwxr-xr-xTests/Interfaces/testWindow.goml95
-rw-r--r--Tests/Tests.csproj3
-rw-r--r--src/GraphicObjects/GenericStack.cs37
-rw-r--r--src/GraphicObjects/GraphicObject.cs36
-rw-r--r--src/GraphicObjects/Group.cs82
-rw-r--r--src/GraphicObjects/PrivateContainer.cs20
-rw-r--r--src/GraphicObjects/Spinner.cs17
11 files changed, 202 insertions, 134 deletions
diff --git a/Crow.userprefs b/Crow.userprefs
index a89a8f1f..95e9d4fe 100644
--- a/Crow.userprefs
+++ b/Crow.userprefs
@@ -1,17 +1,14 @@
<Properties GitUserInfo="UsingGIT" StartupItem="Tests/Tests.csproj">
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|Linux_x86" />
- <MonoDevelop.Ide.Workbench ActiveDocument="Tests/GOLIBTests.cs">
+ <MonoDevelop.Ide.Workbench ActiveDocument="src/GraphicObjects/GenericStack.cs">
<Files>
- <File FileName="Tests/GOLIBTests.cs" Line="98" Column="2" />
- <File FileName="src/GraphicObjects/GraphicObject.cs" Line="538" Column="3" />
- <File FileName="src/GraphicObjects/Group.cs" Line="197" Column="1" />
- <File FileName="src/GraphicObjects/PrivateContainer.cs" Line="127" Column="1" />
- <File FileName="src/OpenTKGameWindow.cs" Line="328" Column="10" />
- <File FileName="src/Rectangles.cs" Line="90" Column="21" />
- <File FileName="src/GraphicObjects/Scroller.cs" Line="196" Column="1" />
- <File FileName="src/LayoutingQueue.cs" Line="30" Column="4" />
- <File FileName="src/Interface.cs" Line="56" Column="1" />
- <File FileName="UnitTest/NUnitCrowWindow.cs" Line="163" Column="1" />
+ <File FileName="src/GraphicObjects/GraphicObject.cs" Line="627" Column="5" />
+ <File FileName="src/GraphicObjects/Group.cs" Line="165" Column="15" />
+ <File FileName="src/GraphicObjects/PrivateContainer.cs" Line="132" Column="57" />
+ <File FileName="src/GraphicObjects/GenericStack.cs" Line="170" Column="1" />
+ <File FileName="Tests/GOLIBTests.cs" Line="50" Column="11" />
+ <File FileName="Tests/Interfaces/0.crow" Line="1" Column="1" />
+ <File FileName="Tests/Interfaces/testWindow.goml" Line="22" Column="5" />
</Files>
</MonoDevelop.Ide.Workbench>
<MonoDevelop.Ide.DebuggingService.Breakpoints>
diff --git a/Tests/GOLIBTests.cs b/Tests/GOLIBTests.cs
index 1ac9bdc3..85d7d1db 100644
--- a/Tests/GOLIBTests.cs
+++ b/Tests/GOLIBTests.cs
@@ -37,6 +37,8 @@ namespace test
int frameCpt = 0;
int idx = 0;
string[] testFiles = {
+ "5.crow",
+ "testSpinner.goml",
"testScrollbar.goml",
"4.crow",
"testColorList.crow",
@@ -48,7 +50,6 @@ namespace test
// "testButton2.crow",
"test2WayBinding.crow",
"0.crow",
- "testSpinner.goml",
"fps.goml",
"testTextBox.crow",
"testImage.crow",
diff --git a/Tests/Interfaces/5.crow b/Tests/Interfaces/5.crow
new file mode 100755
index 00000000..9133291e
--- /dev/null
+++ b/Tests/Interfaces/5.crow
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<HorizontalStack Fit="true" Background="BlueCrayola" Margin="2">
+<!-- <Spinner Maximum="10000000000" SmallIncrement="10" Value="0"/>
+ <Spinner Maximum="10000000000" SmallIncrement="10" Value="0"/>
+ <Spinner Maximum="10000000000" SmallIncrement="10" Value="0"/>-->
+ <Spinner Maximum="10000000000" SmallIncrement="100" Value="0"/>
+ <Spinner Maximum="10000000000" SmallIncrement="100" Value="0"/>
+ <GraphicObject Background="Green" Width="30" Height="20"/>
+</HorizontalStack>
+<!--<HorizontalStack Fit="true" Background="BlueCrayola" Margin="5">
+ <GraphicObject Background="Red" Width="30" Height="20"/>
+ <Spinner Maximum="10000000000" SmallIncrement="10" Value="0"/>
+ <GraphicObject Background="Green" Width="30" Height="20"/>
+</HorizontalStack>--> \ No newline at end of file
diff --git a/Tests/Interfaces/testSpinner.goml b/Tests/Interfaces/testSpinner.goml
index d0c6f076..224900af 100755
--- a/Tests/Interfaces/testSpinner.goml
+++ b/Tests/Interfaces/testSpinner.goml
@@ -2,10 +2,10 @@
<VerticalStack Name="TopContainer" Width="400" Height="-1"
Margin="20" Background="DarkGray">
- <HorizontalStack Fit="true">
- <Spinner Value="{IntValue}" ValueChanged="onSpinnerValueChange"/>
- <Spinner Value="5"/>
- <Spinner Value="5"/>
- <Button></Button>
+ <HorizontalStack Fit="true" Margin="5" Background="SkyBlue">
+ <Spinner Value="{IntValue}" ValueChanged="onSpinnerValueChange"/>
+ <Spinner Value="5"/>
+ <Spinner Value="5"/>
+ <Button/>
</HorizontalStack>
</VerticalStack> \ No newline at end of file
diff --git a/Tests/Interfaces/testWindow.goml b/Tests/Interfaces/testWindow.goml
index e32e0826..9824bf40 100755
--- a/Tests/Interfaces/testWindow.goml
+++ b/Tests/Interfaces/testWindow.goml
@@ -4,13 +4,11 @@
<VerticalStack Name="contentVSStack" Margin="10" Spacing="10" Background="0,4;0,4;0,4;0,4">
<Slider Name="slider" Height="12" Width="0" CornerRadius="3"/>
<GroupBox Caption="test" Height="-1" Width="0" Margin="5">
- <GroupBox Caption="test2" Height="-1" Width="0" Margin="5">
- <VerticalStack Height="-1" Width="0" >
- <RadioButton Caption="Radio 1" Background="Red" Width="0"/>
- <RadioButton Caption="Radio 2" IsChecked="true" />
- <RadioButton Caption="Radio 3" />
- </VerticalStack>
- </GroupBox>
+ <VerticalStack Height="-1" Width="0" >
+ <RadioButton Caption="Radio 1" Background="Red" Width="0"/>
+ <RadioButton Caption="Radio 2" IsChecked="true" />
+ <RadioButton Caption="Radio 3" />
+ </VerticalStack>
</GroupBox>
<HorizontalStack Width="0" Height="-1" Margin="10" CornerRadius="5"
Background="vgradient|0:White|0,1:SteelBlue|0,9:SteelBlue|1:Transparent">
@@ -18,44 +16,44 @@
<GraphicObject Width="0"/>
<CheckBox Height="-1" Width="80" IsChecked="true"/>
</HorizontalStack>
-<Border Fit="true" CornerRadius="5" BorderWidth="1">
- <Container Name="MainGrp" Background="0,5;0,5;0,5;0,4" Width="120" Fit="true"
- Margin="10" Focusable="True" >
- <VerticalStack Fit="true" Name="vsFps" Spacing="10" >
- <HorizontalStack Fit="true">
- <Label Text="Update:" Width="50" TextAlignment="RightCenter"/>
- <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
- </HorizontalStack>
- <HorizontalStack Fit="true">
- <Label Text="Layouting:" Width="50" TextAlignment="RightCenter"/>
- <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
- </HorizontalStack>
- <HorizontalStack Fit="true">
- <Label Text="Drawing:" Width="50" TextAlignment="RightCenter"/>
- <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
- </HorizontalStack>
- <HorizontalStack Fit="true">
- <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="RightCenter"/>
- <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
- </HorizontalStack>
- <HorizontalStack Fit="true">
- <Label Text="Min:" Width="50" TextAlignment="RightCenter"/>
- <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
- </HorizontalStack>
- <HorizontalStack Fit="true">
- <Label Text="Max:" Width="50" TextAlignment="RightCenter"/>
- <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
- </HorizontalStack>
- </VerticalStack>
- </Container>
-</Border>
- <Border Fit="true" CornerRadius="5" BorderWidth="1">
+ <Border Fit="true" CornerRadius="5" BorderWidth="1" >
+ <Container Name="MainGrp" Background="0,5;0,5;0,5;0,4" Width="120" Fit="true"
+ Margin="10" Focusable="True" >
+ <VerticalStack Fit="true" Name="vsFps" Spacing="10" >
+ <HorizontalStack Fit="true">
+ <Label Text="Update:" Width="50" TextAlignment="RightCenter"/>
+ <Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
+ Background="vgradient|0:AoEnglish|1:Black"/>
+ </HorizontalStack>
+ <HorizontalStack Fit="true">
+ <Label Text="Layouting:" Width="50" TextAlignment="RightCenter"/>
+ <Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
+ Background="vgradient|0:AoEnglish|1:Black"/>
+ </HorizontalStack>
+ <HorizontalStack Fit="true">
+ <Label Text="Drawing:" Width="50" TextAlignment="RightCenter"/>
+ <Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
+ Background="vgradient|0:AoEnglish|1:Black"/>
+ </HorizontalStack>
+ <HorizontalStack Fit="true">
+ <Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="RightCenter"/>
+ <Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
+ Background="vgradient|0:AoEnglish|1:Black"/>
+ </HorizontalStack>
+ <HorizontalStack Fit="true">
+ <Label Text="Min:" Width="50" TextAlignment="RightCenter"/>
+ <Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
+ Background="vgradient|0:AoEnglish|1:Black"/>
+ </HorizontalStack>
+ <HorizontalStack Fit="true">
+ <Label Text="Max:" Width="50" TextAlignment="RightCenter"/>
+ <Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
+ Background="vgradient|0:AoEnglish|1:Black"/>
+ </HorizontalStack>
+ </VerticalStack>
+ </Container>
+ </Border>
+ <Border Fit="true" CornerRadius="5" BorderWidth="1" >
<Container Name="MainGrp" Background="0,5;0,5;0,5;0,4" Fit="true" Margin="10">
<VerticalStack Fit="true" Spacing="10" >
<HorizontalStack Fit="true">
@@ -66,9 +64,14 @@
<Label Text="Layouting:" Width="50" TextAlignment="RightCenter"/>
<Label Text="{layouting}" Font="droid,12" Background="vgradient|0:AoEnglish|1:Black"/>
</HorizontalStack>
- </VerticalStack>
+ </VerticalStack>
</Container>
</Border>
+ <HorizontalStack Fit="true" Background="BlueCrayola" Margin="3">
+ <GraphicObject Margin="10" Background="LimeGreen" Width="5" Height="5"/>
+ <TextBox Font="droid, 16" Multiline="true" Text="this is a test\nmultiline" Margin="2"/>
+ <GraphicObject Margin="10" Background="LimeGreen" Width="5" Height="5"/>
+ </HorizontalStack>
<!-- <Checkbox Height="-1" Width="-1" Background="Red" Margin="0" VerticalAlignment="Center" HorizontalAlignment="Right"/>-->
</VerticalStack>
</Window>
diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj
index 3403568e..b1700f1e 100644
--- a/Tests/Tests.csproj
+++ b/Tests/Tests.csproj
@@ -218,6 +218,9 @@
<None Include="Interfaces\4.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
+ <None Include="Interfaces\5.crow">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
</ItemGroup>
<ItemGroup>
<Folder Include="Interfaces\" />
diff --git a/src/GraphicObjects/GenericStack.cs b/src/GraphicObjects/GenericStack.cs
index 92e944bb..d4e3ae5d 100644
--- a/src/GraphicObjects/GenericStack.cs
+++ b/src/GraphicObjects/GenericStack.cs
@@ -105,6 +105,7 @@ namespace Crow
c.RegisterForLayouting ((int)LayoutingType.X);
}
}
+ bmp = null;
}
public override void RegisterForLayouting (int layoutType)
@@ -171,6 +172,42 @@ namespace Crow
}else
base.UpdateLayout(layoutType);
}
+ public override void OnLayoutChanges (LayoutingType layoutType)
+ {
+ base.OnLayoutChanges (layoutType);
+
+ if (Orientation == Orientation.Horizontal){
+ if(layoutType == LayoutingType.Width)
+ this.RegisterForLayouting ((int)LayoutingType.PositionChildren);
+ }else if (layoutType == LayoutingType.Height)
+ this.RegisterForLayouting ((int)LayoutingType.PositionChildren);
+ }
+ public override void OnChildLayoutChanges (object sender, LayoutChangeEventArgs arg)
+ {
+ base.OnChildLayoutChanges (sender, arg);
+
+ GraphicObject g = sender as GraphicObject;
+ switch (arg.LayoutType) {
+ case LayoutingType.X:
+ break;
+ case LayoutingType.Y:
+ break;
+ case LayoutingType.Width:
+ if (Orientation == Orientation.Horizontal) {
+ if (this.Bounds.Width < 0)
+ this.RegisterForLayouting ((int)LayoutingType.Width);
+ this.RegisterForLayouting ((int)LayoutingType.PositionChildren);
+ }
+ break;
+ case LayoutingType.Height:
+ if (Orientation == Orientation.Vertical) {
+ if (this.Bounds.Height < 0)
+ this.RegisterForLayouting ((int)LayoutingType.Height);
+ this.RegisterForLayouting ((int)LayoutingType.PositionChildren);
+ }
+ break;
+ }
+ }
#endregion
diff --git a/src/GraphicObjects/GraphicObject.cs b/src/GraphicObjects/GraphicObject.cs
index fe010d6a..53dee9cc 100644
--- a/src/GraphicObjects/GraphicObject.cs
+++ b/src/GraphicObjects/GraphicObject.cs
@@ -565,44 +565,12 @@ namespace Crow
switch (layoutType) {
case LayoutingType.Width:
- if (Parent.getBounds ().Width < 0) {
- Group gw = Parent as Group;
- if (gw != null) {
- if (Slot.Width > gw.maxChildrenWidth)
- gw.maxChildrenWidth = Slot.Width;
- }
- this.Parent.RegisterForLayouting ((int)LayoutingType.Width);
- }else if (Width != 0) //update position in parent
+ if (Width != 0 && Parent.getBounds().Width >=0) //update position in parent
this.RegisterForLayouting ((int)LayoutingType.X);
- GenericStack gsw = Parent as GenericStack;
- if (gsw == null)
- break;
- if ((Parent as GenericStack).Orientation == Orientation.Horizontal) {
-// ulong idx = (ulong)gsw.Children.IndexOf (this);
-// if (idx < gsw.stackingUpdateStartIndex)
-// gsw.stackingUpdateStartIndex = idx;
- this.Parent.RegisterForLayouting ((int)LayoutingType.PositionChildren);
- }
break;
case LayoutingType.Height:
- if (Parent.getBounds ().Height < 0) {
- Group gh = Parent as Group;
- if (gh != null) {
- if (Slot.Width > gh.maxChildrenHeight)
- gh.maxChildrenHeight = Slot.Height;
- }
- this.Parent.RegisterForLayouting ((int)LayoutingType.Height);
- }else if (Height != 0) //update position in parent
+ if (Height != 0 && Parent.getBounds().Height >=0) //update position in parent
this.RegisterForLayouting ((int)LayoutingType.Y);
- GenericStack gsh = Parent as GenericStack;
- if (gsh==null)
- break;
- if (gsh.Orientation == Orientation.Vertical) {
-// ulong idx = (ulong)gsh.Children.IndexOf (this);
-// if (idx < gsh.stackingUpdateStartIndex)
-// gsh.stackingUpdateStartIndex = idx;
- this.Parent.RegisterForLayouting ((int)LayoutingType.PositionChildren);
- }
break;
}
LayoutChanged.Raise (this, new LayoutChangeEventArgs (layoutType));
diff --git a/src/GraphicObjects/Group.cs b/src/GraphicObjects/Group.cs
index 7f952ac1..a9870c78 100644
--- a/src/GraphicObjects/Group.cs
+++ b/src/GraphicObjects/Group.cs
@@ -25,6 +25,8 @@ namespace Crow
internal int maxChildrenWidth = 0;
internal int maxChildrenHeight = 0;
+ internal GraphicObject largestChild = null;
+ internal GraphicObject tallestChild = null;
bool _multiSelect = false;
List<GraphicObject> children = new List<GraphicObject>();
@@ -49,10 +51,12 @@ namespace Crow
Children.Add(g);
g.Parent = this as GraphicObject;
g.RegisterForLayouting ((int)LayoutingType.Sizing);
+ g.LayoutChanged += OnChildLayoutChanges;
return (T)child;
}
public virtual void removeChild(GraphicObject child)
- {
+ {
+ child.LayoutChanged -= OnChildLayoutChanges;
child.ClearBinding ();
child.Parent = null;
Children.Remove(child);
@@ -60,12 +64,14 @@ namespace Crow
}
public virtual void ClearChildren()
{
- int lim = children.Count;
- for (int i = 0; i < lim; i++) {
- GraphicObject g = Children [0];
+ int cpt = children.Count;
+ while(cpt > 0){
+ GraphicObject g = children[cpt-1];
+ g.LayoutChanged -= OnChildLayoutChanges;
g.ClearBinding ();
g.Parent = null;
- Children.Remove(g);
+ Children.RemoveAt(cpt-1);
+ cpt = children.Count;
}
this.RegisterForLayouting ((int)LayoutingType.Sizing);
ChildrenCleared.Raise (this, new EventArgs ());
@@ -86,7 +92,7 @@ namespace Crow
Children.Insert(0, w);
}
}
-
+
#region GraphicObject overrides
[XmlIgnore]public override bool DrawingIsValid {
get {
@@ -136,16 +142,9 @@ namespace Crow
{
base.OnLayoutChanges (layoutType);
- GenericStack gs = this as GenericStack;
//position smaller objects in group when group size is fit
switch (layoutType) {
case LayoutingType.Width:
- if (gs != null) {
- if (gs.Orientation == Orientation.Horizontal) {
- this.RegisterForLayouting ((int)LayoutingType.PositionChildren);
- break;
- }
- }
foreach (GraphicObject c in Children.Where(ch => ch.Visible)) {
if (c.getBounds ().Width == 0)
c.RegisterForLayouting ((int)LayoutingType.Width);
@@ -154,12 +153,6 @@ namespace Crow
}
break;
case LayoutingType.Height:
- if (gs != null) {
- if (gs.Orientation == Orientation.Vertical) {
- this.RegisterForLayouting ((int)LayoutingType.PositionChildren);
- break;
- }
- }
foreach (GraphicObject c in Children.Where(ch => ch.Visible)) {
if (c.getBounds ().Height == 0)
c.RegisterForLayouting ((int)LayoutingType.Height);
@@ -169,7 +162,56 @@ namespace Crow
break;
}
}
-
+ public virtual void OnChildLayoutChanges (object sender, LayoutChangeEventArgs arg)
+ {
+ GraphicObject g = sender as GraphicObject;
+ switch (arg.LayoutType) {
+ case LayoutingType.X:
+ break;
+ case LayoutingType.Y:
+ break;
+ case LayoutingType.Width:
+ if (g.Slot.Width > maxChildrenWidth) {
+ maxChildrenWidth = g.Slot.Width;
+ largestChild = g;
+ if (this.Bounds.Width < 0)
+ this.RegisterForLayouting ((int)LayoutingType.Width);
+ } else if (g == largestChild) {
+ //search for the new largest child
+ largestChild = null;
+ maxChildrenWidth = 0;
+ for (int i = 0; i < children.Count; i++) {
+ if (children [i].Slot.Width > maxChildrenWidth) {
+ maxChildrenWidth = children [i].Slot.Width;
+ largestChild = children [i];
+ }
+ }
+ if (this.Bounds.Width < 0)
+ this.RegisterForLayouting ((int)LayoutingType.Width);
+ }
+ break;
+ case LayoutingType.Height:
+ if (g.Slot.Height > maxChildrenHeight) {
+ maxChildrenHeight = g.Slot.Height;
+ tallestChild = g;
+ if (this.Bounds.Height < 0)
+ this.RegisterForLayouting ((int)LayoutingType.Height);
+ } else if (g == tallestChild) {
+ //search for the new tallest child
+ tallestChild = null;
+ maxChildrenHeight = 0;
+ for (int i = 0; i < children.Count; i++) {
+ if (children [i].Slot.Height > maxChildrenHeight) {
+ maxChildrenHeight = children [i].Slot.Height;
+ tallestChild = children [i];
+ }
+ }
+ if (this.Bounds.Height < 0)
+ this.RegisterForLayouting ((int)LayoutingType.Height);
+ }
+ break;
+ }
+ }
public override Rectangle ContextCoordinates(Rectangle r){
return r + ClientRectangle.Position;
}
diff --git a/src/GraphicObjects/PrivateContainer.cs b/src/GraphicObjects/PrivateContainer.cs
index f4190f9b..9b312c14 100644
--- a/src/GraphicObjects/PrivateContainer.cs
+++ b/src/GraphicObjects/PrivateContainer.cs
@@ -52,6 +52,7 @@ namespace Crow
{
if (child != null) {
+ child.LayoutChanged -= OnChildLayoutChanges;
this.RegisterForLayouting ((int)LayoutingType.Sizing);
child.Parent = null;
}
@@ -60,6 +61,7 @@ namespace Crow
if (child != null) {
child.Parent = this;
+ child.LayoutChanged += OnChildLayoutChanges;
child.RegisterForLayouting ((int)LayoutingType.Sizing);
}
@@ -117,6 +119,24 @@ namespace Crow
break;
}
}
+ public virtual void OnChildLayoutChanges (object sender, LayoutChangeEventArgs arg)
+ {
+ GraphicObject g = sender as GraphicObject;
+ switch (arg.LayoutType) {
+ case LayoutingType.X:
+ break;
+ case LayoutingType.Y:
+ break;
+ case LayoutingType.Width:
+ if (this.Bounds.Width < 0)
+ this.RegisterForLayouting ((int)LayoutingType.Width);
+ break;
+ case LayoutingType.Height:
+ if (this.Bounds.Height < 0)
+ this.RegisterForLayouting ((int)LayoutingType.Height);
+ break;
+ }
+ }
public override Rectangle ContextCoordinates (Rectangle r)
{
diff --git a/src/GraphicObjects/Spinner.cs b/src/GraphicObjects/Spinner.cs
index a44abb13..49d323e0 100644
--- a/src/GraphicObjects/Spinner.cs
+++ b/src/GraphicObjects/Spinner.cs
@@ -35,29 +35,12 @@ namespace Crow
{
}
- #region implemented abstract members of TemplatedControl
-
- protected override void loadTemplate (GraphicObject template = null)
- {
- base.loadTemplate (template);
- }
-
- #endregion
-
void onUp (object sender, MouseButtonEventArgs e)
{
-// decimal tmp = 0;
-// if (!decimal.TryParse (labCpt.Text, out tmp))
-// return;
-
Value += this.SmallIncrement;
}
void onDown (object sender, MouseButtonEventArgs e)
{
-// decimal tmp = 0;
-// if (!decimal.TryParse (labCpt.Text, out tmp))
-// return;
-
Value -= this.SmallIncrement;
}