~ubuntu-branches/ubuntu/trusty/monodevelop/trusty-proposed

« back to all changes in this revision

Viewing changes to external/mono-addins/Samples/TextEditorSWF/TextEditorSWF/CommandManager.cs

  • Committer: Package Import Robot
  • Author(s): Jo Shields
  • Date: 2013-05-12 09:46:03 UTC
  • mto: This revision was merged to the branch mainline in revision 29.
  • Revision ID: package-import@ubuntu.com-20130512094603-mad323bzcxvmcam0
Tags: upstream-4.0.5+dfsg
Import upstream version 4.0.5+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
using System;
 
2
using System.Collections.Generic;
 
3
using System.Linq;
 
4
using System.Text;
 
5
using System.Windows.Forms;
 
6
using TextEditorSWF.ExtensionModel;
 
7
using Mono.Addins;
 
8
 
 
9
namespace TextEditorSWF
 
10
{
 
11
        /// <summary>
 
12
        /// Manages commands, menus and toolbars
 
13
        /// </summary>
 
14
        static class CommandManager
 
15
        {
 
16
                /// <summary>
 
17
                /// Returns the list of items for the main menu
 
18
                /// </summary>
 
19
                public static IEnumerable<ToolStripItem> GetMainMenuItems ()
 
20
                {
 
21
                        foreach (IUserInterfaceItem item in AddinManager.GetExtensionNodes ("/TextEditor/MainMenu"))
 
22
                                yield return item.CreateMenuItem ();
 
23
                }
 
24
 
 
25
                /// <summary>
 
26
                /// Returns the list of items for the main toolbar
 
27
                /// </summary>
 
28
                public static IEnumerable<ToolStripItem> GetToolbarItems ()
 
29
                {
 
30
                        foreach (IUserInterfaceItem item in AddinManager.GetExtensionNodes ("/TextEditor/Toolbar"))
 
31
                                yield return item.CreateButton ();
 
32
                }
 
33
 
 
34
                /// <summary>
 
35
                /// Returns the extension node for the provided command identifier.
 
36
                /// </summary>
 
37
                internal static CommandExtensionNode GetCommand (string id)
 
38
                {
 
39
                        foreach (CommandExtensionNode cmd in AddinManager.GetExtensionNodes (typeof (ICommand))) {
 
40
                                if (cmd.Id == id)
 
41
                                        return cmd;
 
42
                        }
 
43
                        throw new InvalidOperationException ("Unknown command: " + id);
 
44
                }
 
45
        }
 
46
}