~cszikszoy/do-plugins/pastebin

« back to all changes in this revision

Viewing changes to Templates/MyAction.cs

  • Committer: Christopher Halse Rogers
  • Date: 2008-08-24 08:44:24 UTC
  • mfrom: (244.1.2 do-plugins)
  • Revision ID: raof@ubuntu.com-20080824084424-8gp5ff6v9nku9z21
Merge in the tip of 0.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//  MyCommand.cs
2
 
//
3
 
//  This is a simple command called MyCommand. If you're going to
4
 
//  create a Command addin, you can start by copying this code
5
 
//  to begin your own command class.
6
 
//
7
 
//  GNOME Do is the legal property of its developers, whose names are too numerous
8
 
//  to list here.  Please refer to the COPYRIGHT file distributed with this
9
 
//  source distribution.
10
 
//
11
 
//  This program is free software: you can redistribute it and/or modify
12
 
//  it under the terms of the GNU General Public License as published by
13
 
//  the Free Software Foundation, either version 3 of the License, or
14
 
//  (at your option) any later version.
15
 
//
16
 
//  This program is distributed in the hope that it will be useful,
17
 
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
18
 
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
 
//  GNU General Public License for more details.
20
 
//
21
 
//  You should have received a copy of the GNU General Public License
22
 
//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
23
 
 
24
 
 
25
 
using System;
26
 
using Do.Universe;
27
 
 
28
 
namespace MyAddinNamespace
29
 
{
30
 
 
31
 
        public class MyAction : IAction
32
 
        {
33
 
                
34
 
                public string Name {
35
 
                        get {
36
 
                                return "The name of the action.";
37
 
                        }
38
 
                }
39
 
                
40
 
                public string Description {
41
 
                        get {
42
 
                                return "A description of the action.";
43
 
                        }
44
 
                }
45
 
                
46
 
                public string Icon {
47
 
                        get {
48
 
                                // Look in /usr/share/icons/Tango/* for some great icons
49
 
                                // to use. Just return the name of the icon, without the
50
 
                                // path or extension.
51
 
                                return "my-action-icon";
52
 
                        }
53
 
                }
54
 
                
55
 
                public Type[] SupportedItemTypes {
56
 
                        get {
57
 
                        return new Type[] {
58
 
                                        // Supported item types go here.
59
 
                                };
60
 
                        }
61
 
                }
62
 
                
63
 
                public bool SupportsItem (IItem item)
64
 
                {
65
 
                        // Here, you can filter the items you support further. The argument
66
 
                        // is non-null is a subtype of one of your SupportedItemTypes.
67
 
                        return true;
68
 
                }
69
 
                
70
 
                public IItem[] Perform (IItem[] items, IItem[] modItems)
71
 
                {
72
 
                        // This is where the magic happens.
73
 
                        
74
 
                        // If you return a non-null, non-empty array of IItems, they will
75
 
                        // be presented to the user in the main window for a new search.
76
 
                        // You can return null if you don't want to provide any items to
77
 
                        // the user as a result of performing your command.
78
 
                        return null;
79
 
                }
80
 
                
81
 
                //////////////////////////////////////////////////////////////////////
82
 
                /// If you don't plan on supporting modifier items (third pane),   ///
83
 
                /// you can safely leave all of the following methods as they are. ///
84
 
                //////////////////////////////////////////////////////////////////////
85
 
 
86
 
                public Type[] SupportedModifierItemTypes {
87
 
                        get {
88
 
                        return new Type[] {
89
 
                                        // Supported modifier item types go here.
90
 
                                };
91
 
                        }
92
 
                }
93
 
 
94
 
                public bool ModifierItemsOptional {
95
 
                        get { return true; }
96
 
                }
97
 
                                
98
 
                public bool SupportsModifierItemForItems (IItem[] items, IItem modItem)
99
 
                {
100
 
                        return true;
101
 
                }
102
 
                
103
 
                public IItem[] DynamicModifierItemsForItem (IItem item)
104
 
                {
105
 
                        return null;
106
 
                }
107
 
                
108
 
        }
109
 
}