Browse Source

Renamed Deck -> Carousel.

pull/278/head
Steven Kirk 11 years ago
parent
commit
5bfa93b747
  1. 10
      samples/TestApplication/GalleryStyle.cs
  2. 20
      samples/TestApplication/Program.cs
  3. 4
      samples/XamlTestApplicationPcl/Views/MainWindow.paml
  4. 14
      src/Perspex.Controls/Carousel.cs
  5. 4
      src/Perspex.Controls/Perspex.Controls.csproj
  6. 18
      src/Perspex.Controls/Presenters/CarouselPresenter.cs
  7. 4
      src/Perspex.Controls/TabControl.cs
  8. 22
      src/Perspex.Themes.Default/CarouselStyle.cs
  9. 2
      src/Perspex.Themes.Default/DefaultTheme.cs
  10. 2
      src/Perspex.Themes.Default/Perspex.Themes.Default.csproj
  11. 10
      src/Perspex.Themes.Default/TabControlStyle.cs
  12. 18
      tests/Perspex.Controls.UnitTests/CarouselTests.cs
  13. 4
      tests/Perspex.Controls.UnitTests/Perspex.Controls.UnitTests.csproj
  14. 10
      tests/Perspex.Controls.UnitTests/Presenters/CarouselPresenterTests.cs
  15. 20
      tests/Perspex.Controls.UnitTests/TabControlTests.cs

10
samples/TestApplication/GalleryStyle.cs

@ -104,13 +104,13 @@ namespace TestApplication
}
}
},
new Deck
new Carousel
{
Name = "deck",
Name = "carousel",
MemberSelector = control.ContentSelector,
[~Deck.TransitionProperty] = control[~TabControl.TransitionProperty],
[!Deck.ItemsProperty] = control[!ItemsControl.ItemsProperty],
[!Deck.SelectedItemProperty] = control[!SelectingItemsControl.SelectedItemProperty],
[~Carousel.TransitionProperty] = control[~TabControl.TransitionProperty],
[!Carousel.ItemsProperty] = control[!ItemsControl.ItemsProperty],
[!Carousel.SelectedItemProperty] = control[!SelectingItemsControl.SelectedItemProperty],
[Grid.ColumnProperty] = 1,
}
}

20
samples/TestApplication/Program.cs

@ -471,7 +471,7 @@ namespace TestApplication
private static TabItem ImagesTab()
{
var imageDeck = new Deck
var imageCarousel = new Carousel
{
Width = 400,
Height = 400,
@ -507,18 +507,18 @@ namespace TestApplication
prev.Click += (s, e) =>
{
if (imageDeck.SelectedIndex == 0)
imageDeck.SelectedIndex = 1;
if (imageCarousel.SelectedIndex == 0)
imageCarousel.SelectedIndex = 1;
else
imageDeck.SelectedIndex--;
imageCarousel.SelectedIndex--;
};
next.Click += (s, e) =>
{
if (imageDeck.SelectedIndex == 1)
imageDeck.SelectedIndex = 0;
if (imageCarousel.SelectedIndex == 1)
imageCarousel.SelectedIndex = 0;
else
imageDeck.SelectedIndex++;
imageCarousel.SelectedIndex++;
};
return new TabItem
@ -537,7 +537,7 @@ namespace TestApplication
{
new TextBlock
{
Text = "Deck",
Text = "Carousel",
FontWeight = FontWeight.Medium,
FontSize = 20,
Foreground = SolidColorBrush.Parse("#212121"),
@ -551,13 +551,13 @@ namespace TestApplication
},
new StackPanel
{
Name = "deckVisual",
Name = "carouselVisual",
Orientation = Orientation.Horizontal,
Gap = 4,
Children = new Controls
{
prev,
imageDeck,
imageCarousel,
next
}
}

4
samples/XamlTestApplicationPcl/Views/MainWindow.paml

@ -5,9 +5,9 @@
Title="Perspex Test Application" Height="350" Width="525" SizeToContent="WidthAndHeight" >
<Grid RowDefinitions="Auto,*,Auto" ColumnDefinitions="*,*">
<TabControl Grid.Row="1" Grid.ColumnSpan="2" Padding="5">
<!--<TabControl.Transition>
<TabControl.Transition>
<PageSlide Duration="0.25" />
</TabControl.Transition>-->
</TabControl.Transition>
<TabItem Header="Buttons">
<StackPanel HorizontalAlignment="Center" Width="200" VerticalAlignment="Center">
<StackPanel.Styles>

14
src/Perspex.Controls/Deck.cs → src/Perspex.Controls/Carousel.cs

@ -12,27 +12,27 @@ namespace Perspex.Controls
/// <summary>
/// An items control that displays its items as pages that fill the control.
/// </summary>
public class Deck : SelectingItemsControl
public class Carousel : SelectingItemsControl
{
/// <summary>
/// Defines the <see cref="Transition"/> property.
/// </summary>
public static readonly PerspexProperty<IPageTransition> TransitionProperty =
PerspexProperty.Register<Deck, IPageTransition>("Transition");
PerspexProperty.Register<Carousel, IPageTransition>("Transition");
/// <summary>
/// The default value of <see cref="IReparentingControl"/> for <see cref="Deck"/>.
/// The default value of <see cref="IReparentingControl"/> for <see cref="Carousel"/>.
/// </summary>
private static readonly ITemplate<IPanel> PanelTemplate =
new FuncTemplate<IPanel>(() => new Panel());
/// <summary>
/// Initializes static members of the <see cref="Deck"/> class.
/// Initializes static members of the <see cref="Carousel"/> class.
/// </summary>
static Deck()
static Carousel()
{
SelectionModeProperty.OverrideDefaultValue<Deck>(SelectionMode.AlwaysSelected);
ItemsPanelProperty.OverrideDefaultValue<Deck>(PanelTemplate);
SelectionModeProperty.OverrideDefaultValue<Carousel>(SelectionMode.AlwaysSelected);
ItemsPanelProperty.OverrideDefaultValue<Carousel>(PanelTemplate);
}
/// <summary>

4
src/Perspex.Controls/Perspex.Controls.csproj

@ -64,7 +64,7 @@
<Compile Include="Button.cs" />
<Compile Include="DropDown.cs" />
<Compile Include="IReparentingControl.cs" />
<Compile Include="Deck.cs" />
<Compile Include="Carousel.cs" />
<Compile Include="Platform\IPopupImpl.cs" />
<Compile Include="Platform\ITopLevelImpl.cs" />
<Compile Include="PlacementMode.cs" />
@ -81,7 +81,7 @@
<Compile Include="Templates\IDataTemplate.cs" />
<Compile Include="Presenters\IItemsPresenter.cs" />
<Compile Include="Presenters\IPresenter.cs" />
<Compile Include="Presenters\DeckPresenter.cs" />
<Compile Include="Presenters\CarouselPresenter.cs" />
<Compile Include="Primitives\AdornerDecorator.cs" />
<Compile Include="Primitives\AdornerLayer.cs" />
<Compile Include="Primitives\RangeBase.cs" />

18
src/Perspex.Controls/Presenters/DeckPresenter.cs → src/Perspex.Controls/Presenters/CarouselPresenter.cs

@ -17,31 +17,31 @@ namespace Perspex.Controls.Presenters
/// <summary>
/// Displays pages inside an <see cref="ItemsControl"/>.
/// </summary>
public class DeckPresenter : Control, IItemsPresenter
public class CarouselPresenter : Control, IItemsPresenter
{
/// <summary>
/// Defines the <see cref="Items"/> property.
/// </summary>
public static readonly PerspexProperty<IEnumerable> ItemsProperty =
ItemsControl.ItemsProperty.AddOwner<DeckPresenter>(o => o.Items, (o, v) => o.Items = v);
ItemsControl.ItemsProperty.AddOwner<CarouselPresenter>(o => o.Items, (o, v) => o.Items = v);
/// <summary>
/// Defines the <see cref="ItemsPanel"/> property.
/// </summary>
public static readonly PerspexProperty<ITemplate<IPanel>> ItemsPanelProperty =
ItemsControl.ItemsPanelProperty.AddOwner<DeckPresenter>();
ItemsControl.ItemsPanelProperty.AddOwner<CarouselPresenter>();
/// <summary>
/// Defines the <see cref="MemberSelector"/> property.
/// </summary>
public static readonly PerspexProperty<IMemberSelector> MemberSelectorProperty =
ItemsControl.MemberSelectorProperty.AddOwner<DeckPresenter>();
ItemsControl.MemberSelectorProperty.AddOwner<CarouselPresenter>();
/// <summary>
/// Defines the <see cref="SelectedIndex"/> property.
/// </summary>
public static readonly PerspexProperty<int> SelectedIndexProperty =
SelectingItemsControl.SelectedIndexProperty.AddOwner<DeckPresenter>(
SelectingItemsControl.SelectedIndexProperty.AddOwner<CarouselPresenter>(
o => o.SelectedIndex,
(o, v) => o.SelectedIndex = v);
@ -49,7 +49,7 @@ namespace Perspex.Controls.Presenters
/// Defines the <see cref="Transition"/> property.
/// </summary>
public static readonly PerspexProperty<IPageTransition> TransitionProperty =
Deck.TransitionProperty.AddOwner<DeckPresenter>();
Carousel.TransitionProperty.AddOwner<CarouselPresenter>();
private IEnumerable _items;
private int _selectedIndex = -1;
@ -57,11 +57,11 @@ namespace Perspex.Controls.Presenters
private IItemContainerGenerator _generator;
/// <summary>
/// Initializes static members of the <see cref="DeckPresenter"/> class.
/// Initializes static members of the <see cref="CarouselPresenter"/> class.
/// </summary>
static DeckPresenter()
static CarouselPresenter()
{
SelectedIndexProperty.Changed.AddClassHandler<DeckPresenter>(x => x.SelectedIndexChanged);
SelectedIndexProperty.Changed.AddClassHandler<CarouselPresenter>(x => x.SelectedIndexChanged);
}
/// <summary>

4
src/Perspex.Controls/TabControl.cs

@ -23,7 +23,7 @@ namespace Perspex.Controls
/// Defines the <see cref="Transition"/> property.
/// </summary>
public static readonly PerspexProperty<IPageTransition> TransitionProperty =
Deck.TransitionProperty.AddOwner<TabControl>();
Carousel.TransitionProperty.AddOwner<TabControl>();
private static readonly IMemberSelector s_contentSelector =
new FuncMemberSelector<object, object>(SelectContent);
@ -74,7 +74,7 @@ namespace Perspex.Controls
/// </returns>
bool IReparentingHost.WillReparentChildrenOf(IControl control)
{
return control is DeckPresenter;
return control is CarouselPresenter;
}
/// <summary>

22
src/Perspex.Themes.Default/DeckStyle.cs → src/Perspex.Themes.Default/CarouselStyle.cs

@ -11,42 +11,42 @@ using Perspex.Styling;
namespace Perspex.Themes.Default
{
/// <summary>
/// The default style for the <see cref="Deck"/> control.
/// The default style for the <see cref="Carousel"/> control.
/// </summary>
public class DeckStyle : Styles
public class CarouselStyle : Styles
{
/// <summary>
/// Initializes a new instance of the <see cref="DeckStyle"/> class.
/// Initializes a new instance of the <see cref="CarouselStyle"/> class.
/// </summary>
public DeckStyle()
public CarouselStyle()
{
AddRange(new[]
{
new Style(x => x.OfType<Deck>())
new Style(x => x.OfType<Carousel>())
{
Setters = new[]
{
new Setter(TemplatedControl.TemplateProperty, new ControlTemplate<Deck>(Template)),
new Setter(TemplatedControl.TemplateProperty, new ControlTemplate<Carousel>(Template)),
},
},
});
}
/// <summary>
/// The default template for the <see cref="Deck"/> control.
/// The default template for the <see cref="Carousel"/> control.
/// </summary>
/// <param name="control">The control being styled.</param>
/// <returns>The root of the instantiated template.</returns>
public static Control Template(Deck control)
public static Control Template(Carousel control)
{
return new DeckPresenter
return new CarouselPresenter
{
Name = "itemsPresenter",
MemberSelector = control.MemberSelector,
[~ItemsPresenter.ItemsProperty] = control[~ItemsControl.ItemsProperty],
[~ItemsPresenter.ItemsPanelProperty] = control[~ItemsControl.ItemsPanelProperty],
[~DeckPresenter.SelectedIndexProperty] = control[~SelectingItemsControl.SelectedIndexProperty],
[~DeckPresenter.TransitionProperty] = control[~Deck.TransitionProperty],
[~CarouselPresenter.SelectedIndexProperty] = control[~SelectingItemsControl.SelectedIndexProperty],
[~CarouselPresenter.TransitionProperty] = control[~Carousel.TransitionProperty],
};
}
}

2
src/Perspex.Themes.Default/DefaultTheme.cs

@ -20,7 +20,7 @@ namespace Perspex.Themes.Default
Add(new ButtonStyle());
Add(new CheckBoxStyle());
Add(new ContentControlStyle());
Add(new DeckStyle());
Add(new CarouselStyle());
Add(new DropDownStyle());
Add(new GridSplitterStyle());
Add(new ItemsControlStyle());

2
src/Perspex.Themes.Default/Perspex.Themes.Default.csproj

@ -82,7 +82,7 @@
<Compile Include="ToolTipStyle.cs" />
<Compile Include="FocusAdornerStyle.cs" />
<Compile Include="DropDownStyle.cs" />
<Compile Include="DeckStyle.cs" />
<Compile Include="CarouselStyle.cs" />
<Compile Include="RadioButtonStyle.cs" />
<Compile Include="ToggleButtonStyle.cs" />
<Compile Include="ListBoxStyle.cs" />

10
src/Perspex.Themes.Default/TabControlStyle.cs

@ -56,13 +56,13 @@ namespace Perspex.Themes.Default
[!ItemsControl.ItemsProperty] = control[!ItemsControl.ItemsProperty],
[!!SelectingItemsControl.SelectedItemProperty] = control[!!SelectingItemsControl.SelectedItemProperty],
},
new Deck
new Carousel
{
Name = "deck",
Name = "carousel",
MemberSelector = new FuncMemberSelector<TabItem, object>(x => x.Content),
[!Deck.ItemsProperty] = control[!ItemsControl.ItemsProperty],
[!Deck.SelectedItemProperty] = control[!SelectingItemsControl.SelectedItemProperty],
[~Deck.TransitionProperty] = control[~TabControl.TransitionProperty],
[!Carousel.ItemsProperty] = control[!ItemsControl.ItemsProperty],
[!Carousel.SelectedItemProperty] = control[!SelectingItemsControl.SelectedItemProperty],
[~Carousel.TransitionProperty] = control[~TabControl.TransitionProperty],
[Grid.RowProperty] = 1,
}
}

18
tests/Perspex.Controls.UnitTests/DeckTests.cs → tests/Perspex.Controls.UnitTests/CarouselTests.cs

@ -10,14 +10,14 @@ using Xunit;
namespace Perspex.Controls.UnitTests
{
public class DeckTests
public class CarouselTests
{
[Fact]
public void First_Item_Should_Be_Selected_By_Default()
{
var target = new Deck
var target = new Carousel
{
Template = new ControlTemplate<Deck>(CreateTemplate),
Template = new ControlTemplate<Carousel>(CreateTemplate),
Items = new[]
{
"Foo",
@ -34,9 +34,9 @@ namespace Perspex.Controls.UnitTests
[Fact]
public void LogicalChild_Should_Be_Selected_Item()
{
var target = new Deck
var target = new Carousel
{
Template = new ControlTemplate<Deck>(CreateTemplate),
Template = new ControlTemplate<Carousel>(CreateTemplate),
Items = new[]
{
"Foo",
@ -53,15 +53,15 @@ namespace Perspex.Controls.UnitTests
Assert.Equal("Foo", ((TextBlock)child).Text);
}
private Control CreateTemplate(Deck control)
private Control CreateTemplate(Carousel control)
{
return new DeckPresenter
return new CarouselPresenter
{
Name = "itemsPresenter",
[~ItemsPresenter.ItemsProperty] = control[~ItemsControl.ItemsProperty],
[~ItemsPresenter.ItemsPanelProperty] = control[~ItemsControl.ItemsPanelProperty],
[~DeckPresenter.SelectedIndexProperty] = control[~SelectingItemsControl.SelectedIndexProperty],
[~DeckPresenter.TransitionProperty] = control[~Deck.TransitionProperty],
[~CarouselPresenter.SelectedIndexProperty] = control[~SelectingItemsControl.SelectedIndexProperty],
[~CarouselPresenter.TransitionProperty] = control[~Carousel.TransitionProperty],
};
}
}

4
tests/Perspex.Controls.UnitTests/Perspex.Controls.UnitTests.csproj

@ -92,7 +92,7 @@
<Compile Include="Primitives\TrackTests.cs" />
<Compile Include="Primitives\PopupTests.cs" />
<Compile Include="DropDownTests.cs" />
<Compile Include="Presenters\DeckPresenterTests.cs" />
<Compile Include="Presenters\CarouselPresenterTests.cs" />
<Compile Include="Presenters\ItemsPresenterTests.cs" />
<Compile Include="Presenters\ScrollContentPresenterTests.cs" />
<Compile Include="Primitives\TemplatedControlTests.cs" />
@ -105,7 +105,7 @@
<Compile Include="ItemsControlTests.cs" />
<Compile Include="ContentControlTests.cs" />
<Compile Include="DecoratorTests.cs" />
<Compile Include="DeckTests.cs" />
<Compile Include="CarouselTests.cs" />
<Compile Include="TopLevelTests.cs" />
<Compile Include="Primitives\TabStripTests.cs" />
<Compile Include="TabControlTests.cs" />

10
tests/Perspex.Controls.UnitTests/Presenters/DeckPresenterTests.cs → tests/Perspex.Controls.UnitTests/Presenters/CarouselPresenterTests.cs

@ -8,12 +8,12 @@ using Xunit;
namespace Perspex.Controls.UnitTests.Presenters
{
public class DeckPresenterTests
public class CarouselPresenterTests
{
[Fact]
public void ApplyTemplate_Should_Create_Panel()
{
var target = new DeckPresenter
var target = new CarouselPresenter
{
ItemsPanel = new FuncTemplate<IPanel>(() => new Panel()),
};
@ -27,7 +27,7 @@ namespace Perspex.Controls.UnitTests.Presenters
public void ItemContainerGenerator_Should_Be_Picked_Up_From_TemplatedControl()
{
var parent = new TestItemsControl();
var target = new DeckPresenter
var target = new CarouselPresenter
{
TemplatedParent = parent,
};
@ -38,7 +38,7 @@ namespace Perspex.Controls.UnitTests.Presenters
[Fact]
public void Setting_SelectedIndex_Should_Show_Page()
{
var target = new DeckPresenter
var target = new CarouselPresenter
{
Items = new[] { "foo", "bar" },
SelectedIndex = 0,
@ -53,7 +53,7 @@ namespace Perspex.Controls.UnitTests.Presenters
[Fact]
public void Changing_SelectedIndex_Should_Show_Page()
{
var target = new DeckPresenter
var target = new CarouselPresenter
{
Items = new[] { "foo", "bar" },
SelectedIndex = 0,

20
tests/Perspex.Controls.UnitTests/TabControlTests.cs

@ -188,10 +188,10 @@ namespace Perspex.Controls.UnitTests
[!ItemsControl.ItemsProperty] = parent[!ItemsControl.ItemsProperty],
[!!TabStrip.SelectedTabProperty] = parent[!!TabControl.SelectedTabProperty]
},
new Deck
new Carousel
{
Name = "deck",
Template = new ControlTemplate<Deck>(CreateDeckTemplate),
Name = "carousel",
Template = new ControlTemplate<Carousel>(CreateCarouselTemplate),
MemberSelector = parent.ContentSelector,
[!ItemsControl.ItemsProperty] = parent[!ItemsControl.ItemsProperty],
[!SelectingItemsControl.SelectedItemProperty] = parent[!SelectingItemsControl.SelectedItemProperty],
@ -209,16 +209,16 @@ namespace Perspex.Controls.UnitTests
};
}
private Control CreateDeckTemplate(Deck control)
private Control CreateCarouselTemplate(Carousel control)
{
return new DeckPresenter
return new CarouselPresenter
{
Name = "itemsPresenter",
[!DeckPresenter.ItemsProperty] = control[!ItemsControl.ItemsProperty],
[!DeckPresenter.ItemsPanelProperty] = control[!ItemsControl.ItemsPanelProperty],
[!DeckPresenter.MemberSelectorProperty] = control[!ItemsControl.MemberSelectorProperty],
[!DeckPresenter.SelectedIndexProperty] = control[!SelectingItemsControl.SelectedIndexProperty],
[~DeckPresenter.TransitionProperty] = control[~Deck.TransitionProperty],
[!CarouselPresenter.ItemsProperty] = control[!ItemsControl.ItemsProperty],
[!CarouselPresenter.ItemsPanelProperty] = control[!ItemsControl.ItemsPanelProperty],
[!CarouselPresenter.MemberSelectorProperty] = control[!ItemsControl.MemberSelectorProperty],
[!CarouselPresenter.SelectedIndexProperty] = control[!SelectingItemsControl.SelectedIndexProperty],
[~CarouselPresenter.TransitionProperty] = control[~Carousel.TransitionProperty],
};
}

Loading…
Cancel
Save