3
// Copyright (C) 2009 GNOME Do
5
// This program is free software: you can redistribute it and/or modify
6
// it under the terms of the GNU General Public License as published by
7
// the Free Software Foundation, either version 3 of the License, or
8
// (at your option) any later version.
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU General Public License for more details.
15
// You should have received a copy of the GNU General Public License
16
// along with this program. If not, see <http://www.gnu.org/licenses/>.
20
using System.Collections.Generic;
21
using System.Collections.ObjectModel;
28
using Docky.Interface;
29
using Docky.Utilities;
35
public interface IItemsService : IDockService
37
event DockItemsChangedHandler DockItemsChanged;
39
event UpdateRequestHandler ItemNeedsUpdate;
42
/// Enable and disable updates to the items in the list.
43
/// Useful when universe is still being set up.
45
bool UpdatesEnabled { get; }
48
/// gets a read only collection of the dock items
50
ReadOnlyCollection<AbstractDockItem> DockItems { get; }
52
#region AddItem Overloads
53
void AddItemToDock (Item item);
55
void AddItemToDock (string identifier);
57
void AddItemToDock (Item item, int position);
59
void AddItemToDock (string identifier, int position);
62
bool ItemCanBeMoved (int item);
64
bool ItemCanBeRemoved (int item);
66
void DropItemOnPosition (AbstractDockItem item, int position);
68
void MoveItemToPosition (AbstractDockItem item, int position);
70
void MoveItemToPosition (int item, int position);
74
IconSource GetIconSource (AbstractDockItem item);
76
bool RemoveItem (AbstractDockItem item);
78
bool RemoveItem (int item);
80
bool HotSeatItem (AbstractDockItem item, List<AbstractDockItem> seatedItems);
82
bool ResetHotSeat (AbstractDockItem item);