Commit c98a479
Changed files (8)
product
desktop.ui
messages
product/desktop.ui/bootstrappers/Bootstrapper.cs
@@ -108,6 +108,11 @@ namespace solidware.financials.windows.ui.bootstrappers
builder.RegisterType<AddNewStockSymbolPresenter>();
builder.RegisterType<AddNewStockSymbolPresenter.AddCommand>();
+
+ builder.RegisterType<StockViewModel.MoreCommand>();
+
+ builder.RegisterType<SingleStockPresenter>();
+ builder.RegisterType<SingleStockPresenter.Factory>();
}
static void register_for_message_to_listen_for(ContainerBuilder builder)
product/desktop.ui/presenters/AddNewStockSymbolPresenter.cs
@@ -35,7 +35,7 @@ namespace solidware.financials.windows.ui.presenters
public override void run(AddNewStockSymbolPresenter presenter)
{
- bus.publish(new StartWatchingSymbol {Symbol = presenter.Symbol});
+ bus.publish(new StartWatchingSymbol {Symbol = presenter.Symbol.ToUpperInvariant()});
presenter.close();
}
}
product/desktop.ui/presenters/SingleStockPresenter.cs
@@ -36,7 +36,7 @@ namespace solidware.financials.windows.ui.presenters
{
public virtual SingleStockPresenter create_for(string symbol)
{
- throw new NotImplementedException();
+ return new SingleStockPresenter(symbol);
}
}
}
product/desktop.ui/presenters/StockWatchPresenter.cs
@@ -46,7 +46,9 @@ namespace solidware.financials.windows.ui.presenters
public void notify(StartWatchingSymbol message)
{
- Stocks.Add(new StockViewModel(symbol: message.Symbol, builder: builder));
+ var presenter = new StockViewModel(symbol: message.Symbol, builder: builder);
+ presenter.present();
+ Stocks.Add(presenter);
}
public class AddSymbolCommand : UICommand<StockWatchPresenter>
product/desktop.ui/views/SingleStockTab.xaml
@@ -1,8 +1,7 @@
<UserControl x:Class="solidware.financials.windows.ui.views.SingleStockTab" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:Charting="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit" mc:Ignorable="d">
<DockPanel>
- <Label Content="{Binding Path=Header}"></Label>
<Charting:Chart>
- <Charting:LineSeries ItemsSource="{Binding Path=Chart}" IndependentValueBinding="{Binding Path=Key}" DependentValueBinding="{Binding Path=Value}"></Charting:LineSeries>
+ <Charting:LineSeries Title="{Binding Path=Header}" ItemsSource="{Binding Path=Chart}" IndependentValueBinding="{Binding Path=Key}" DependentValueBinding="{Binding Path=Value}"></Charting:LineSeries>
</Charting:Chart>
</DockPanel>
</UserControl>
\ No newline at end of file
product/desktop.ui/views/StockWatch.xaml
@@ -1,16 +1,16 @@
<UserControl x:Class="solidware.financials.windows.ui.views.StockWatch" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300">
- <StackPanel>
- <DockPanel>
- <Button Command="{Binding Path=AddSymbol}" DockPanel.Dock="Left">Add Symbol</Button>
- <Button Command="{Binding Path=Refresh}" DockPanel.Dock="Right">Refresh</Button>
- </DockPanel>
+ <StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
+ <DockPanel>
+ <Button Command="{Binding Path=AddSymbol}" DockPanel.Dock="Left">Add Symbol</Button>
+ <Button Command="{Binding Path=Refresh}" DockPanel.Dock="Right">Refresh</Button>
+ </DockPanel>
<ListView ItemsSource="{Binding Path=Stocks}">
<ListView.ItemTemplate>
<DataTemplate>
- <DockPanel>
- <Label Content="{Binding Path=Symbol}" DockPanel.Dock="Left" Width="90" ></Label>
- <Label Content="{Binding Path=Price.Value}" DockPanel.Dock="Right" HorizontalAlignment="Right" HorizontalContentAlignment="Right"></Label>
- <Button Command="{Binding Path=AdditionalInformation}">...</Button>
+ <DockPanel HorizontalAlignment="Stretch">
+ <Label Content="{Binding Path=Symbol}" DockPanel.Dock="Left"></Label>
+ <Button Command="{Binding Path=AdditionalInformation}" DockPanel.Dock="Right">...</Button>
+ <Label Content="{Binding Path=Price.Value}" HorizontalAlignment="Right" HorizontalContentAlignment="Right" DockPanel.Dock="Right"></Label>
</DockPanel>
</DataTemplate>
</ListView.ItemTemplate>
product/desktop.ui/WPFApplicationController.cs
@@ -23,17 +23,24 @@ namespace solidware.financials.windows.ui
var presenter = open<Presenter>();
var view = new View();
view.bind_to(presenter);
- region_manager.region(new TabRegionConfiguration(presenter,view.downcast_to<FrameworkElement>()));
+ region_manager.region(new TabRegionConfiguration(presenter, view.downcast_to<FrameworkElement>()));
}
public void load_tab<Presenter, View>(Presenter presenter) where Presenter : TabPresenter where View : Tab<Presenter>, new()
{
- throw new NotImplementedException();
+ event_aggregator.subscribe(presenter);
+ presenter.present();
+ var view = new View();
+ view.bind_to(presenter);
+ region_manager.region(new TabRegionConfiguration(presenter, view.downcast_to<FrameworkElement>()));
}
public void load_region<TPresenter, Region>() where TPresenter : Presenter where Region : FrameworkElement, View<TPresenter>, new()
{
- configure_region<Region>(x => { x.DataContext = open<TPresenter>(); });
+ configure_region<Region>(x =>
+ {
+ x.DataContext = open<TPresenter>();
+ });
}
void configure_region<TRegion>(Action<TRegion> configure) where TRegion : UIElement
product/messages/StartWatchingSymbol.cs
@@ -9,7 +9,7 @@ namespace solidware.financials.messages
public override string ToString()
{
- return "I will start watching {0}".format(Symbol.ToUpperInvariant());
+ return "I will start watching {0}".format(Symbol);
}
}
}
\ No newline at end of file