diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-08-12 04:21:44 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-08-12 04:21:44 +0300 |
commit | 0c7a728ea5c63769c59e7cdbd13fc56cf3dd63fc (patch) | |
tree | 91309f8aa97653d05a913393fb98912b7f44ef20 /src/gui/widgets/table.h | |
parent | b2c9a0fa784997232141336dca358295bd57a75f (diff) | |
download | manaverse-0c7a728ea5c63769c59e7cdbd13fc56cf3dd63fc.tar.gz manaverse-0c7a728ea5c63769c59e7cdbd13fc56cf3dd63fc.tar.bz2 manaverse-0c7a728ea5c63769c59e7cdbd13fc56cf3dd63fc.tar.xz manaverse-0c7a728ea5c63769c59e7cdbd13fc56cf3dd63fc.zip |
Rename file name table to correct guitable.
Diffstat (limited to 'src/gui/widgets/table.h')
-rw-r--r-- | src/gui/widgets/table.h | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/src/gui/widgets/table.h b/src/gui/widgets/table.h deleted file mode 100644 index c4fab6a0d..000000000 --- a/src/gui/widgets/table.h +++ /dev/null @@ -1,196 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2008-2009 The Mana World Development Team - * Copyright (C) 2009-2010 The Mana Developers - * Copyright (C) 2011 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 TABLE_H -#define TABLE_H - -#include "gui/widgets/tablemodel.h" - -#include <guichan/keylistener.hpp> -#include <guichan/mouselistener.hpp> -#include <guichan/widget.hpp> - -#include <vector> - -#ifdef __GNUC__ -#define A_UNUSED __attribute__ ((unused)) -#else -#define A_UNUSED -#endif - -class GuiTableActionListener; - -/** - * A table, with rows and columns made out of sub-widgets. Largely inspired by - * (and can be thought of as a generalisation of) the guichan listbox - * implementation. - * - * Normally you want this within a ScrollArea. - * - * \ingroup GUI - */ -class GuiTable : public gcn::Widget, - public gcn::MouseListener, - public gcn::KeyListener, - public TableModelListener -{ - // so that the action listener can call distributeActionEvent - friend class GuiTableActionListener; - -public: - GuiTable(TableModel * initial_model = NULL, - gcn::Color background = 0xffffff, - bool opacity = true); - - virtual ~GuiTable(); - - /** - * Retrieves the active table model - */ - TableModel *getModel() const; - - /** - * Sets the table model - * - * Note that actions issued by widgets returned from the model will update - * the table selection, but only AFTER any event handlers installed within - * the widget have been triggered. To be notified after such an update, add - * an action listener to the table instead. - */ - void setModel(TableModel *m); - - void setSelected(int row, int column); - - int getSelectedRow() const; - - int getSelectedColumn() const; - - void setSelectedRow(int selected); - - void setSelectedColumn(int selected); - - bool isWrappingEnabled() const - { return mWrappingEnabled; } - - void setWrappingEnabled(bool wrappingEnabled) - { mWrappingEnabled = wrappingEnabled; } - - gcn::Rectangle getChildrenArea(); - - /** - * Toggle whether to use linewise selection mode, in which the table selects - * an entire line at a time, rather than a single cell. - * - * Note that column information is tracked even in linewise selection mode; - * this mode therefore only affects visualisation. - * - * Disabled by default. - * - * \param linewise: Whether to enable linewise selection mode - */ - void setLinewiseSelection(bool linewise); - - // Inherited from Widget - virtual void draw(gcn::Graphics* graphics); - - virtual gcn::Widget *getWidgetAt(int x, int y); - - virtual void moveToTop(gcn::Widget *child); - - virtual void moveToBottom(gcn::Widget *child); - - virtual void _setFocusHandler(gcn::FocusHandler* focusHandler); - - // Inherited from KeyListener - virtual void keyPressed(gcn::KeyEvent& keyEvent); - - /** - * Sets the table to be opaque, that is sets the table - * to display its background. - * - * @param opaque True if the table should be opaque, false otherwise. - */ - virtual void setOpaque(bool opaque) - { mOpaque = opaque; } - - /** - * Checks if the table is opaque, that is if the table area displays its - * background. - * - * @return True if the table is opaque, false otherwise. - */ - virtual bool isOpaque() const - { return mOpaque; } - - // Inherited from MouseListener - virtual void mousePressed(gcn::MouseEvent& mouseEvent); - - virtual void mouseWheelMovedUp(gcn::MouseEvent& mouseEvent); - - virtual void mouseWheelMovedDown(gcn::MouseEvent& mouseEvent); - - virtual void mouseDragged(gcn::MouseEvent& mouseEvent); - - // Constraints inherited from TableModelListener - virtual void modelUpdated(bool); - -protected: - /** Frees all action listeners on inner widgets. */ - virtual void uninstallActionListeners(); - /** Installs all action listeners on inner widgets. */ - virtual void installActionListeners(); - - virtual int getRowHeight() const; - virtual int getColumnWidth(int i) const; - -private: - int getRowForY(int y) const; // -1 on error - int getColumnForX(int x) const; // -1 on error - void recomputeDimensions(); - bool mLinewiseMode; - bool mWrappingEnabled; - bool mOpaque; - - static float mAlpha; - - /** - * Holds the background color of the table. - */ - gcn::Color mBackgroundColor; - - TableModel *mModel; - - int mSelectedRow; - int mSelectedColumn; - - /** Number of frames to skip upwards when drawing the selected widget. */ - int mPopFramesNr; - - /** If someone moves a fresh widget to the top, we must display it. */ - gcn::Widget *mTopWidget; - - /** Vector for compactness; used as a list in practice. */ - std::vector<GuiTableActionListener *> mActionListeners; -}; - - -#endif // TABLE_H |