diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-05-11 18:39:15 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-06-01 12:52:16 +0300 |
commit | f45b10598c4a128510d7c469a6fe669587c01a3e (patch) | |
tree | 6a35598bcf52ee3e380890dbac3c2d013b83a2d2 /src/dragdrop.h | |
parent | 9f85b059aff7c54043d85c3422f02be3570d5050 (diff) | |
download | ManaVerse-f45b10598c4a128510d7c469a6fe669587c01a3e.tar.gz ManaVerse-f45b10598c4a128510d7c469a6fe669587c01a3e.tar.bz2 ManaVerse-f45b10598c4a128510d7c469a6fe669587c01a3e.tar.xz ManaVerse-f45b10598c4a128510d7c469a6fe669587c01a3e.zip |
add dragdrop between inventory and outfits window.
Diffstat (limited to 'src/dragdrop.h')
-rw-r--r-- | src/dragdrop.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/dragdrop.h b/src/dragdrop.h new file mode 100644 index 000000000..e65c76a9b --- /dev/null +++ b/src/dragdrop.h @@ -0,0 +1,79 @@ +/* + * The ManaPlus Client + * Copyright (C) 2013 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * 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 2 of the License, or + * 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/>. + */ + +#ifndef DRAGDROP_H +#define DRAGDROP_H + +#include "item.h" + +#include "localconsts.h" + +enum DragDropSource +{ + DRAGDROP_SOURCE_EMPTY = 0, + DRAGDROP_SOURCE_INVENTORY, + DRAGDROP_SOURCE_STORAGE, + DRAGDROP_SOURCE_CART, + DRAGDROP_SOURCE_TRADE, + DRAGDROP_SOURCE_OUTFIT, + DRAGDROP_SOURCE_SPELLS, + DRAGDROP_SOURCE_GROUND, + DRAGDROP_SOURCE_SHORTCUTS, + DRAGDROP_SOURCE_CRAFT +}; + +class DragDrop +{ + public: + DragDrop(Item *const item, const DragDropSource source) : + mItem(item), + mSource(source) + { + } + + Item *getItem() + { return mItem; } + + DragDropSource getSource() const + { return mSource; } + + void dragItem(Item *const item, const DragDropSource source) + { + mItem = item; + mSource = source; + } + + void clear() + { + mItem = nullptr; + mSource = DRAGDROP_SOURCE_EMPTY; + } + + bool isEmpty() const + { return mSource == DRAGDROP_SOURCE_EMPTY; } + + private: + Item *mItem; + DragDropSource mSource; +}; + +extern DragDrop dragDrop; + +#endif // DRAGDROP_H |