PieDock 1.6.0

src/MenuItem.h

00001 /*
00002  *   O         ,-
00003  *  ° o    . -´  '     ,-
00004  *   °  .´        ` . ´,´
00005  *     ( °   ))     . (
00006  *      `-;_    . -´ `.`.
00007  *          `._'       ´
00008  *
00009  * Copyright (c) 2007-2012 Markus Fisch <mf@markusfisch.de>
00010  *
00011  * Licensed under the MIT license:
00012  * http://www.opensource.org/licenses/mit-license.php
00013  */
00014 #ifndef _PieDock_MenuItem_
00015 #define _PieDock_MenuItem_
00016 
00017 #include "WindowStack.h"
00018 #include "Icon.h"
00019 
00020 namespace PieDock
00021 {
00027     class MenuItem : public WindowStack
00028     {
00029         public:
00030             MenuItem( std::string, std::string, bool = true );
00031             MenuItem( Icon * );
00032             virtual ~MenuItem() {}
00033             virtual inline const std::string &getTitle() const {
00034                 return title; }
00035             virtual inline void setTitle( std::string t ) { title = t; }
00036             virtual inline const std::string &getCommand() const {
00037                 return command; }
00038             virtual inline void setCommand( std::string c ) { command = c; }
00039             virtual inline Icon *getIcon() const { return icon; }
00040             virtual inline void setIcon( Icon *i ) { icon = i; }
00041             virtual inline const bool isSticky() const { return sticky; }
00042             virtual inline void makeSticky() { sticky = true; }
00043 
00044         private:
00045             std::string title;
00046             std::string command;
00047             Icon *icon;
00048             bool sticky;
00049     };
00050 }
00051 
00052 #endif