Commit 93341bc
Changed files (8)
product
desktop.ui
product/desktop.ui/bootstrappers/ComposeShell.cs
@@ -32,6 +32,7 @@ namespace solidware.financials.windows.ui.bootstrappers
//x.add("_Deductions").add("_Add RRSP", () => { }) ;
//x.add("_Credits").add("_Add Credit", () => { }) ;
//x.add("_Benefits").add("_Add Benefit", () => { }) ;
+ //x.add("_Window").add("_Taxes", () => controller.add_tab<TaxSummaryPresenter, TaxSummaryTab>()).apply_icon(UIIcon.Category);
x.add("_Help").add("_Taxes", launch<DisplayCanadianTaxInformationViewModel, DisplayCanadianTaxInformationDialog>).apply_icon(UIIcon.Help);
});
product/desktop.ui/views/Shell.xaml
@@ -1,82 +1,59 @@
-<Window x:Class="solidware.financials.windows.ui.views.Shell"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ad="clr-namespace:AvalonDock;assembly=AvalonDock" xmlns:views="clr-namespace:solidware.financials.windows.ui.views" Title="Family Finances - (ALPHA)" MinWidth="1024" MinHeight="768" WindowStartupLocation="CenterScreen" WindowState="Maximized">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="24"/>
- <RowDefinition Height="32"/>
- <RowDefinition Height="*"/>
- <RowDefinition Height="24"/>
- </Grid.RowDefinitions>
- <views:MainMenu x:Name="Menu"></views:MainMenu>
- <views:ButtonBar x:Name="ButtonBar" Grid.Row="1"></views:ButtonBar>
- <ad:DockingManager x:Name="DockManager" Grid.Row="2">
- <ad:ResizingPanel Orientation="Vertical">
- <ad:ResizingPanel Orientation="Horizontal">
- <ad:DockablePane ad:ResizingPanel.ResizeWidth="150">
- <ad:DockableContent x:Name="historyContent" Title="History">
- <TreeView>
- <TreeViewItem Header="2011">
- <TreeViewItem Header="January"></TreeViewItem>
- <TreeViewItem Header="February"></TreeViewItem>
- <TreeViewItem Header="March"></TreeViewItem>
- <TreeViewItem Header="April"></TreeViewItem>
- <TreeViewItem Header="May"></TreeViewItem>
- <TreeViewItem Header="June"></TreeViewItem>
- <TreeViewItem Header="July"></TreeViewItem>
- <TreeViewItem Header="August"></TreeViewItem>
- <TreeViewItem Header="September"></TreeViewItem>
- <TreeViewItem Header="October"></TreeViewItem>
- <TreeViewItem Header="November"></TreeViewItem>
- <TreeViewItem Header="December"></TreeViewItem>
- </TreeViewItem>
- <TreeViewItem Header="2010">
- <TreeViewItem Header="January"></TreeViewItem>
- <TreeViewItem Header="February"></TreeViewItem>
- <TreeViewItem Header="March"></TreeViewItem>
- <TreeViewItem Header="April"></TreeViewItem>
- <TreeViewItem Header="May"></TreeViewItem>
- <TreeViewItem Header="June"></TreeViewItem>
- <TreeViewItem Header="July"></TreeViewItem>
- <TreeViewItem Header="August"></TreeViewItem>
- <TreeViewItem Header="September"></TreeViewItem>
- <TreeViewItem Header="October"></TreeViewItem>
- <TreeViewItem Header="November"></TreeViewItem>
- <TreeViewItem Header="December"></TreeViewItem>
- </TreeViewItem>
- </TreeView>
- </ad:DockableContent>
- <ad:DockableContent x:Name="stocksContent" Title="Stocks">
- <ListBox>
- <ListBoxItem Content="ARX.TO"/>
- <ListBoxItem Content="TD.TO"/>
- </ListBox>
- </ad:DockableContent>
- </ad:DockablePane>
- <ad:DocumentPane Name="Tabs"></ad:DocumentPane>
- </ad:ResizingPanel>
- <!--<ad:DockablePane ad:ResizingPanel.ResizeHeight="100">
- <ad:DockableContent Title="Errors" x:Name="errorsContent">
- <ListView>
- <ListView.View>
- <GridView>
- <GridView.Columns>
- <GridViewColumn Header="Error"/>
- <GridViewColumn Header="Page"/>
- <GridViewColumn Header="File"/>
- <GridViewColumn Header="Row"/>
- </GridView.Columns>
- </GridView>
- </ListView.View>
- </ListView>
- </ad:DockableContent>
- <ad:DockableContent Title="Output" x:Name="output">
- <TextBox IsReadOnly="True" AcceptsReturn="True"/>
- </ad:DockableContent>
- </ad:DockablePane>-->
- </ad:ResizingPanel>
- </ad:DockingManager>
- <views:StatusBarRegion x:Name="StatusBar" Grid.Row="3"></views:StatusBarRegion>
- <views:TrayIcon x:Name="TaskBarIcon" />
- </Grid>
-</Window>
+<Window x:Class="solidware.financials.windows.ui.views.Shell" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ad="clr-namespace:AvalonDock;assembly=AvalonDock" xmlns:views="clr-namespace:solidware.financials.windows.ui.views" Title="Family Finances - (ALPHA)" MinWidth="1024" MinHeight="768" WindowStartupLocation="CenterScreen" WindowState="Maximized">
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="24" />
+ <RowDefinition Height="32" />
+ <RowDefinition Height="*" />
+ <RowDefinition Height="24" />
+ </Grid.RowDefinitions>
+ <views:MainMenu x:Name="Menu"></views:MainMenu>
+ <views:ButtonBar x:Name="ButtonBar" Grid.Row="1"></views:ButtonBar>
+ <ad:DockingManager x:Name="DockManager" Grid.Row="2">
+ <ad:ResizingPanel Name="ResizingPanel" Orientation="Horizontal">
+ <ad:DockablePane ad:ResizingPanel.ResizeWidth="150">
+ <ad:DockableContent x:Name="historyContent" Title="History">
+ <TreeView>
+ <TreeViewItem Header="2011">
+ <TreeViewItem Header="January"></TreeViewItem>
+ <TreeViewItem Header="February"></TreeViewItem>
+ <TreeViewItem Header="March"></TreeViewItem>
+ <TreeViewItem Header="April"></TreeViewItem>
+ <TreeViewItem Header="May"></TreeViewItem>
+ <TreeViewItem Header="June"></TreeViewItem>
+ <TreeViewItem Header="July"></TreeViewItem>
+ <TreeViewItem Header="August"></TreeViewItem>
+ <TreeViewItem Header="September"></TreeViewItem>
+ <TreeViewItem Header="October"></TreeViewItem>
+ <TreeViewItem Header="November"></TreeViewItem>
+ <TreeViewItem Header="December"></TreeViewItem>
+ </TreeViewItem>
+ <TreeViewItem Header="2010">
+ <TreeViewItem Header="January"></TreeViewItem>
+ <TreeViewItem Header="February"></TreeViewItem>
+ <TreeViewItem Header="March"></TreeViewItem>
+ <TreeViewItem Header="April"></TreeViewItem>
+ <TreeViewItem Header="May"></TreeViewItem>
+ <TreeViewItem Header="June"></TreeViewItem>
+ <TreeViewItem Header="July"></TreeViewItem>
+ <TreeViewItem Header="August"></TreeViewItem>
+ <TreeViewItem Header="September"></TreeViewItem>
+ <TreeViewItem Header="October"></TreeViewItem>
+ <TreeViewItem Header="November"></TreeViewItem>
+ <TreeViewItem Header="December"></TreeViewItem>
+ </TreeViewItem>
+ </TreeView>
+ </ad:DockableContent>
+ <ad:DockableContent x:Name="stocksContent" Title="Stocks">
+ <ListBox>
+ <ListBoxItem Content="ARX.TO" />
+ <ListBoxItem Content="TD.TO" />
+ </ListBox>
+ </ad:DockableContent>
+ </ad:DockablePane>
+ <ad:DocumentPane Name="Tabs"></ad:DocumentPane>
+ </ad:ResizingPanel>
+ </ad:DockingManager>
+ <views:StatusBarRegion x:Name="StatusBar" Grid.Row="3"></views:StatusBarRegion>
+ <views:TrayIcon x:Name="TaskBarIcon" />
+ </Grid>
+</Window>
\ No newline at end of file
product/desktop.ui/views/Shell.xaml.cs
@@ -20,6 +20,7 @@ namespace solidware.financials.windows.ui.views
{Menu.GetType(), Menu},
{DockManager.GetType(), DockManager},
{Tabs.GetType(), Tabs},
+ {ResizingPanel.GetType(), ResizingPanel},
{ButtonBar.GetType(), ButtonBar},
{TaskBarIcon.GetType(), TaskBarIcon},
};
@@ -42,6 +43,11 @@ namespace solidware.financials.windows.ui.views
configure(regions[typeof (Region)].downcast_to<Region>());
}
+ public void region<Region>(Configuration<Region> configuration) where Region : UIElement
+ {
+ region<Region>(x => configuration.configure(x));
+ }
+
void ensure_that_the_region_exists<Region>()
{
if (!regions.ContainsKey(typeof (Region)))
product/desktop.ui/views/ShellWIndow.xaml.cs
@@ -29,6 +29,11 @@ namespace solidware.financials.windows.ui.views
configure(regions[typeof (Region)].downcast_to<Region>());
}
+ public void region<Region>(Configuration<Region> configuration) where Region : UIElement
+ {
+ region<Region>(x => configuration.configure(x));
+ }
+
void ensure_that_the_region_exists<Region>()
{
if (!regions.ContainsKey(typeof (Region)))
product/desktop.ui/RegionManager.cs
@@ -1,10 +1,12 @@
using System;
using System.Windows;
+using gorilla.utility;
namespace solidware.financials.windows.ui
{
public interface RegionManager
{
- void region<Control>(Action<Control> configure) where Control : UIElement;
+ void region<Region>(Action<Region> configure) where Region : UIElement;
+ void region<Region>(Configuration<Region> configure) where Region : UIElement;
}
}
\ No newline at end of file
product/desktop.ui/solidware.financials.csproj
@@ -149,6 +149,7 @@
<Compile Include="SimpleCommand.cs" />
<Compile Include="Tab.cs" />
<Compile Include="TabPresenter.cs" />
+ <Compile Include="TabRegionConfiguration.cs" />
<Compile Include="UICommand.cs" />
<Compile Include="UICommandBuilder.cs" />
<Compile Include="UISpecification.cs" />
product/desktop.ui/TabRegionConfiguration.cs
@@ -0,0 +1,41 @@
+using System.Windows;
+using AvalonDock;
+using gorilla.utility;
+
+namespace solidware.financials.windows.ui
+{
+ public class TabRegionConfiguration :
+ //Configuration<ResizingPanel>,
+ Configuration<DocumentPane>
+ {
+ readonly TabPresenter presenter;
+ readonly FrameworkElement view;
+
+ public TabRegionConfiguration(TabPresenter presenter, FrameworkElement view)
+ {
+ this.presenter = presenter;
+ this.view = view;
+ }
+
+ public void configure(ResizingPanel panel)
+ {
+ var pane = new DocumentPane();
+ pane.Items.Add(new DocumentContent
+ {
+ Title = presenter.Header,
+ Content = view,
+ });
+ panel.Children.Add(pane);
+ }
+
+ public void configure(DocumentPane item)
+ {
+ item.Items.Add(new DocumentContent
+ {
+ Title = presenter.Header,
+ Content = view,
+ IsCloseable = false
+ });
+ }
+ }
+}
\ No newline at end of file
product/desktop.ui/WPFApplicationController.cs
@@ -1,6 +1,5 @@
using System;
using System.Windows;
-using AvalonDock;
using solidware.financials.infrastructure.eventing;
namespace solidware.financials.windows.ui
@@ -11,8 +10,7 @@ namespace solidware.financials.windows.ui
PresenterFactory factory;
EventAggregator event_aggregator;
- public WPFApplicationController(RegionManager region_manager, PresenterFactory factory,
- EventAggregator event_aggregator)
+ public WPFApplicationController(RegionManager region_manager, PresenterFactory factory, EventAggregator event_aggregator)
{
this.region_manager = region_manager;
this.event_aggregator = event_aggregator;
@@ -24,11 +22,7 @@ namespace solidware.financials.windows.ui
var presenter = open<Presenter>();
var view = new View();
view.bind_to(presenter);
- configure_region<DocumentPane>(x => x.Items.Add(new DocumentContent
- {
- Title = presenter.Header,
- Content = view,
- }));
+ region_manager.region(new TabRegionConfiguration(presenter,view));
}
public void load_region<TPresenter, Region>() where TPresenter : Presenter where Region : FrameworkElement, View<TPresenter>, new()