sketching ApplicationItem (to replace launcher-item & launchable-item)
[simple-launcher] / misc / ApplicationItem.h
diff --git a/misc/ApplicationItem.h b/misc/ApplicationItem.h
new file mode 100644 (file)
index 0000000..244c869
--- /dev/null
@@ -0,0 +1,48 @@
+// This file is a part of Simple Launcher
+//
+// Copyright (C) 2006, 2007, Mikhail Sobolev
+//
+// Simple Launcher is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License version 2 as published by
+// the Free Software Foundation.
+//
+// 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, write to the Free Software Foundation, Inc., 51
+// Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef __APPLICATIONITEM_H__
+#define __APPLICATIONITEM_H__
+
+#include "BasicItem.h"
+
+class ApplicationItemFactory : public BasicItemFactory {
+public:
+ ~ApplicationItemFactory();
+
+  const std::string& factoryName() const;
+protected:
+       BasicItem *createItem(const std::string&) const;
+};
+
+class ApplicationItem : public BasicItem {
+  friend class ApplicationItemFactory;
+
+protected:
+  ApplicationItem();
+ ~ApplicationItem();
+
+  std::string getName() const;
+  std::string getComment() const;
+  GdkPixbuf *getIcon(int iconSize) const;
+
+  void activate();
+
+  bool isSane() const;
+};
+
+#endif