root / trunk / Pithos.Client.WPF / PithosCommand.cs @ 422c9598
History | View | Annotate | Download (1.1 kB)
1 | 9bae55d1 | Panagiotis Kanavos | // ----------------------------------------------------------------------- |
---|---|---|---|
2 | 9bae55d1 | Panagiotis Kanavos | // <copyright file="PithosCommand.cs" company="Microsoft"> |
3 | 9bae55d1 | Panagiotis Kanavos | // TODO: Update copyright text. |
4 | 9bae55d1 | Panagiotis Kanavos | // </copyright> |
5 | 9bae55d1 | Panagiotis Kanavos | // ----------------------------------------------------------------------- |
6 | 9bae55d1 | Panagiotis Kanavos | |
7 | 9bae55d1 | Panagiotis Kanavos | using System.Windows.Input; |
8 | 9bae55d1 | Panagiotis Kanavos | |
9 | 9bae55d1 | Panagiotis Kanavos | namespace Pithos.Client.WPF |
10 | 9bae55d1 | Panagiotis Kanavos | { |
11 | 9bae55d1 | Panagiotis Kanavos | using System; |
12 | 9bae55d1 | Panagiotis Kanavos | using System.Collections.Generic; |
13 | 9bae55d1 | Panagiotis Kanavos | using System.Linq; |
14 | 9bae55d1 | Panagiotis Kanavos | using System.Text; |
15 | 9bae55d1 | Panagiotis Kanavos | |
16 | 9bae55d1 | Panagiotis Kanavos | /// <summary> |
17 | 9bae55d1 | Panagiotis Kanavos | /// TODO: Update summary. |
18 | 9bae55d1 | Panagiotis Kanavos | /// </summary> |
19 | 9bae55d1 | Panagiotis Kanavos | public class PithosCommand:ICommand |
20 | 9bae55d1 | Panagiotis Kanavos | { |
21 | 9bae55d1 | Panagiotis Kanavos | private Action _action; |
22 | 9bae55d1 | Panagiotis Kanavos | private Func<bool> _condition; |
23 | 9bae55d1 | Panagiotis Kanavos | |
24 | 9bae55d1 | Panagiotis Kanavos | public PithosCommand(Action execute,Func<bool> canExecute=null ) |
25 | 9bae55d1 | Panagiotis Kanavos | { |
26 | 9bae55d1 | Panagiotis Kanavos | _action = execute; |
27 | 9bae55d1 | Panagiotis Kanavos | _condition = canExecute; |
28 | 9bae55d1 | Panagiotis Kanavos | |
29 | 9bae55d1 | Panagiotis Kanavos | } |
30 | 9bae55d1 | Panagiotis Kanavos | |
31 | 9bae55d1 | Panagiotis Kanavos | public void Execute(object parameter) |
32 | 9bae55d1 | Panagiotis Kanavos | { |
33 | 9bae55d1 | Panagiotis Kanavos | _action(); |
34 | 9bae55d1 | Panagiotis Kanavos | } |
35 | 9bae55d1 | Panagiotis Kanavos | |
36 | 9bae55d1 | Panagiotis Kanavos | public bool CanExecute(object parameter) |
37 | 9bae55d1 | Panagiotis Kanavos | { |
38 | 9bae55d1 | Panagiotis Kanavos | if (_condition == null) |
39 | 9bae55d1 | Panagiotis Kanavos | return true; |
40 | 9bae55d1 | Panagiotis Kanavos | return _condition(); |
41 | 9bae55d1 | Panagiotis Kanavos | } |
42 | 9bae55d1 | Panagiotis Kanavos | |
43 | 9bae55d1 | Panagiotis Kanavos | public event EventHandler CanExecuteChanged; |
44 | 9bae55d1 | Panagiotis Kanavos | } |
45 | 9bae55d1 | Panagiotis Kanavos | } |