1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
/* ====================================================================
* Copyright (c) 2003-2007, Martin Hauner
* http://subcommander.tigris.org
*
* Subcommander is licensed as described in the file doc/COPYING, which
* you should have received as part of this distribution.
* ====================================================================
*/
// sc
#include "ActionStorage.h"
// qt
#include <QtGui/QAction>
#include <QtGui/QWidget>
// sys
#include <map>
typedef std::map<long, QAction*> Actions;
class ActionStorage::Member
{
public:
Actions actions;
};
ActionStorage::ActionStorage()
{
_m = new ActionStorage::Member();
}
ActionStorage::~ActionStorage()
{
delete _m;
}
QAction* ActionStorage::getAction( long key )
{
return _m->actions[key];
}
void ActionStorage::addAction( long key, QAction* action )
{
_m->actions[key] = action;
}
void ActionStorage::enableAction( long key, bool b )
{
getAction( key )->setEnabled(b);
}
void ActionStorage::enableActions( long keys[] )
{
int i = 0;
while( keys[i] != ActionNull )
{
enableAction( keys[i], true );
i++;
}
}
void ActionStorage::disableActions( long keys[] )
{
int i = 0;
while( keys[i] != ActionNull )
{
enableAction( keys[i], false );
i++;
}
}
void ActionStorage::enableActions()
{
for( Actions::iterator it = _m->actions.begin(); it != _m->actions.end(); it++ )
{
((*it).second)->setEnabled(true);
}
}
void ActionStorage::disableActions()
{
for( Actions::iterator it = _m->actions.begin(); it != _m->actions.end(); it++ )
{
((*it).second)->setEnabled(false);
}
}
|