Statistics
| Branch: | Revision:

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
}