diff options
Diffstat (limited to 'src/gui/itemcontainer.h')
-rw-r--r-- | src/gui/itemcontainer.h | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/src/gui/itemcontainer.h b/src/gui/itemcontainer.h index 7636ef0c..38eaba01 100644 --- a/src/gui/itemcontainer.h +++ b/src/gui/itemcontainer.h @@ -1,39 +1,37 @@ /* * The Mana World - * Copyright 2004 The Mana World Development Team + * Copyright (C) 2004 The Mana World Development Team * * This file is part of The Mana World. * - * The Mana World is free software; you can redistribute it and/or modify + * 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. * - * The Mana World is distributed in the hope that it will be useful, + * 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 The Mana World; if not, write to the Free Software + * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef _TMW_ITEMCONTAINER_H__ -#define _TMW_ITEMCONTAINER_H__ +#ifndef ITEMCONTAINER_H +#define ITEMCONTAINER_H + +#include <list> #include <guichan/keylistener.hpp> #include <guichan/mouselistener.hpp> - #include <guichan/widget.hpp> -#include "itempopup.h" - -#include <list> - class Image; class Inventory; class Item; +class ItemPopup; namespace gcn { class SelectionListener; @@ -53,9 +51,11 @@ class ItemContainer : public gcn::Widget, * Constructor. Initializes the graphic. * @param inventory * @param gridColumns Amount of columns in grid. - * @param gridRows Amount of rows in grid. + * @param gridRows Amount of rows in grid. + * @param offset Index offset */ - ItemContainer(Inventory *inventory, int gridColumns, int gridRows); + ItemContainer(Inventory *inventory, int gridColumns, int gridRows, + int offset = 0); /** * Destructor. @@ -95,7 +95,7 @@ class ItemContainer : public gcn::Widget, /** * Returns the selected item. */ - Item* getItem() const + Item* getSelectedItem() const { return mSelectedItem; } /** @@ -133,7 +133,6 @@ class ItemContainer : public gcn::Widget, */ void keyAction(); - void mouseEntered(gcn::MouseEvent &event); void mouseExited(gcn::MouseEvent &event); void mouseMoved(gcn::MouseEvent &event); @@ -150,6 +149,16 @@ class ItemContainer : public gcn::Widget, void setSelectedItem(Item *item); /** + * Find the current item index by the most recently used item ID + */ + void refindSelectedItem(); + + /** + * Determine and set the height of the container. + */ + void recalculateHeight(); + + /** * Sends out selection events to the list of selection listeners. */ void distributeValueChangedEvent(); @@ -161,10 +170,11 @@ class ItemContainer : public gcn::Widget, * @param posY The Y Coordinate position. * @return The slot index on success, -1 on failure. */ - int getSlotIndex(const int posX, const int posY) const; + int getSlotIndex(int posX, int posY) const; Inventory *mInventory; int mGridColumns, mGridRows; + int mOffset; Image *mSelImg; Item *mSelectedItem, *mHighlightedItem; int mSelectionStatus; |