Mana
Loading...
Searching...
No Matches
focushandler.h
Go to the documentation of this file.
1/*
2 * The Mana Client
3 * Copyright (C) 2004-2009 The Mana World Development Team
4 * Copyright (C) 2009-2012 The Mana Developers
5 *
6 * This file is part of The Mana Client.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 */
21
22#pragma once
23
24#include <guichan/focushandler.hpp>
25
26#include <list>
27
33class FocusHandler : public gcn::FocusHandler
34{
35 public:
41 void requestModalFocus(gcn::Widget *widget) override;
42
48 void releaseModalFocus(gcn::Widget *widget) override;
49
54 void remove(gcn::Widget *widget) override;
55
60 void tabNext() override;
61 void tabPrevious() override;
62
63 private:
68 void checkForWindow();
69
73 std::list<gcn::Widget*> mModalStack;
74};
The focus handler.
void checkForWindow()
Checks to see if the widget tabbed to is in a window, and if it is, it requests the window be moved t...
void requestModalFocus(gcn::Widget *widget) override
Sets modal focus to a widget.
void remove(gcn::Widget *widget) override
Removes a widget from the focus handler.
void releaseModalFocus(gcn::Widget *widget) override
Releases modal focus of a widget.
std::list< gcn::Widget * > mModalStack
Stack of widgets that have requested modal forcus.
void tabPrevious() override
void tabNext() override
Overloaded to allow windows to move to the top when one of their widgets is tabbed to when tabbing th...