29#include <kxmlguibuilder.h>
32using namespace KoMacro;
40 class Manager::Private
43 KXMLGUIClient*
const xmlguiclient;
44 TQMap<TQString, TDESharedPtr<Macro > > macros;
46 TQStringList actionnames;
47 TQMap<TQString, TDESharedPtr<Action> > actions;
49 TQMap<TQString, TQGuardedPtr<TQObject> > objects;
51 Private(KXMLGUIClient*
const xmlguiclient)
52 : xmlguiclient(xmlguiclient)
58 static ::KoMacro::Manager* _self = 0;
61 static KStaticDeleter< ::KoMacro::Manager > _manager;
69 _manager.setObject(_self, manager);
82Manager::Manager(KXMLGUIClient*
const xmlguiclient)
83 : d( new Private(xmlguiclient) )
85 kdDebug() <<
"Manager::Manager() Ctor" << endl;
86 TQObject* obj =
dynamic_cast<TQObject*
>(xmlguiclient);
88 d->objects.replace(obj->name(), obj);
92 d->objects.replace(
"TestCase",
new TQWidget());
103 return d->xmlguiclient;
108 return d->macros.contains(macroname);
113 return d->macros[macroname];
118 d->macros.replace(macroname, macro);
123 d->macros.remove(macroname);
128 TDESharedPtr<Macro> macro = TDESharedPtr<Macro>(
new Macro(macroname) );
134 return d->actions[name];
144 return d->actionnames;
149 const TQString name =
action->name();
150 if(! d->actions.contains(name)) {
151 d->actionnames.append(name);
153 d->actions.replace(name,
action);
158 Q_ASSERT(! d->objects.contains(name));
159 d->objects.replace(name,
object);
164 return d->objects[name];
TQMap< TQString, TDESharedPtr< Action > > Map
Property to get/set the name.
The Macro class implements all the action-handling.
The Manager class acts as window-wide manager for macros.
TQGuardedPtr< TQObject > object(const TQString &name) const
TQMap< TQString, TQGuardedPtr< TQObject > > objects() const
TDESharedPtr< Macro > createMacro(const TQString ¯oname)
Factory function to create a new Macro instances.
void publishObject(const TQString &name, TQObject *object)
Publish the passed TQObject object.
bool hasMacro(const TQString ¯oname)
static void init(KXMLGUIClient *xmlguiclient)
Initialize this Manager singleton.
TDESharedPtr< Action > action(const TQString &name) const
KXMLGUIClient * guiClient() const
void addMacro(const TQString ¯oname, TDESharedPtr< Macro > macro)
Add a new Macro to the list of known macros.
TQMap< TQString, TDESharedPtr< Action > > actions() const
void publishAction(TDESharedPtr< Action > action)
Publish the Action action .
void removeMacro(const TQString ¯oname)
Remove the Macro defined with macroname .
TQStringList actionNames() const
TDESharedPtr< Macro > getMacro(const TQString ¯oname)