MonoDevelop Addins: hello world, license and AnyCPU
[CSharpForFun/.git] / MonoDevelop / addins / MonoDevelop.HelloWorld / MonoDevelop.HelloWorld / Commands.cs
1 /**
2 * Copyright 2015 Gustavo Martin Morcuende
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 using System.Linq;
17 using MonoDevelop.Components.Commands;
18 using MonoDevelop.Ide;
19 using MonoDevelop.Projects;
20
21
22 namespace MonoDevelop.HelloWorld
23 {
24         public enum Commands
25         {
26                 ShowFiles,
27         }
28
29         public class ShowFilesCommandHandler : CommandHandler
30         {
31                 protected override void Run()
32                 {
33                         var proj = IdeApp.Workspace.GetAllProjects ().FirstOrDefault ();
34                         if (proj != null)
35                         {
36                                 var dlg = new ShowFilesDialog (proj);
37                                 MessageService.ShowCustomDialog (dlg);
38                         }
39                 }
40
41                 protected override void Update (CommandInfo info)
42                 {
43                         var proj = IdeApp.Workspace.GetAllProjects ().FirstOrDefault ();
44                         if (proj != null) {
45                                 info.Enabled = true;
46                                 info.Visible = true;
47                         } else {
48                                 info.Enabled = false;
49                                 info.Visible = true;
50                         }
51                 }
52         }
53 }
54