~and471/+junk/do-with-docky

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//  
//  Copyright (C) 2009 GNOME Do
// 
//  This program is free software: you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation, either version 3 of the License, or
//  (at your option) any later version.
// 
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
// 
//  You should have received a copy of the GNU General Public License
//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
// 

using System;
using System.Collections.Generic;

using Cairo;
using Gdk;
using Gtk;

using Do.Interface;
using Do.Universe;
using Do.Platform;

using Docky.Utilities;

namespace Docky.Interface
{
	
	
	public class ActionDockItem : AbstractDockItem
	{
		Act action;
		Do.Universe.Item target_item;
		
		protected override string Icon {
			get { return action.Icon; }
		}
		
		public ActionDockItem(Act action, Do.Universe.Item targetItem)
		{
			this.action = action;
			this.target_item = targetItem;
			SetText (action.Name);
		}
		
		public override void Clicked (uint button, ModifierType state, PointD position)
		{
			if (button == 1) {
				Services.Core.PerformActionOnItem (action, target_item);
			}
			
			base.Clicked (button, state, position);
		}

	}
}