244c8697efb8e5fc29f98f15e2e5d3e634b5ca86
[simple-launcher] / misc / ApplicationItem.h
1 // This file is a part of Simple Launcher
2 //
3 // Copyright (C) 2006, 2007, Mikhail Sobolev
4 //
5 // Simple Launcher is free software; you can redistribute it and/or modify it
6 // under the terms of the GNU General Public License version 2 as published by
7 // the Free Software Foundation.
8 //
9 // This program is distributed in the hope that it will be useful, but WITHOUT
10 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12 // more details.
13 //
14 // You should have received a copy of the GNU General Public License along with
15 // this program; if not, write to the Free Software Foundation, Inc., 51
16 // Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
18 #ifndef __APPLICATIONITEM_H__
19 #define __APPLICATIONITEM_H__
20
21 #include "BasicItem.h"
22
23 class ApplicationItemFactory : public BasicItemFactory {
24 public:
25  ~ApplicationItemFactory();
26
27   const std::string& factoryName() const;
28 protected:
29         BasicItem *createItem(const std::string&) const;
30 };
31
32 class ApplicationItem : public BasicItem {
33   friend class ApplicationItemFactory;
34
35 protected:
36   ApplicationItem();
37  ~ApplicationItem();
38
39   std::string getName() const;
40   std::string getComment() const;
41   GdkPixbuf *getIcon(int iconSize) const;
42
43   void activate();
44
45   bool isSane() const;
46 };
47
48 #endif