#include <eventslot.h>
Inheritance diagram for Kross::Api::EventSlot:


Definition at line 36 of file eventslot.h.
Public Types | |
| typedef KSharedPtr< EventSlot > | Ptr |
Public Member Functions | |
| EventSlot (const QString &name, Object::Ptr parent, QObject *receiver, QCString slot) | |
| virtual | ~EventSlot () |
| virtual const QString | getClassName () const |
| virtual Object::Ptr | call (const QString &name, KSharedPtr< List > arguments) |
| void | addFunction (const QString &name, FunctionPtr function, const ArgumentList &=ArgumentList()) |
| void | addFunction (const QString &name, Function *function) |
| void | addProxyFunction (const QString &name, INSTANCE *instance, METHOD method) |
| void | addProxyFunction (const QString &name, INSTANCE *instance, METHOD method) |
| Same as above, but with three arguments. | |
| void | addProxyFunction (const QString &name, INSTANCE *instance, METHOD method) |
| Same as above, but with two arguments. | |
| void | addProxyFunction (const QString &name, INSTANCE *instance, METHOD method) |
| Same as above, but with one argument. | |
| void | addProxyFunction (const QString &name, INSTANCE *instance, METHOD method) |
| Same as above, but with no arguments. | |
| bool | isAFunction (const QString &name) const |
| virtual Object::Ptr | call (const QString &name, List::Ptr arguments) |
| Object::Ptr | hasChild (List::Ptr args) |
| bool | hasChild (const QString &name) const |
| Object::Ptr | getChild (List::Ptr args) |
| Object::Ptr | getChild (const QString &name) const |
| Object::Ptr | getChildrenList (List::Ptr args) |
| Object::Ptr | getChildrenDict (List::Ptr args) |
| Object::Ptr | callChild (List::Ptr args) |
| const QString & | getName () const |
| virtual const QString | toString () |
| Object::Ptr | getParent () const |
| QMap< QString, Object::Ptr > | getChildren () const |
| bool | addChild (Object::Ptr object, const QString &name=QString::null) |
| void | removeChild (const QString &name) |
| void | removeAllChildren () |
| virtual QStringList | getCalls () |
Static Public Member Functions | |
| template<class T> | |
| static T * | fromObject (Object::Ptr object) |
Protected Attributes | |
| ArgumentList | m_arglist |
|
|
Shared pointer to implement reference-counting. Reimplemented from Kross::Api::Callable. Definition at line 43 of file eventslot.h. |
|
||||||||||||||||||||
|
Constructor.
Definition at line 30 of file eventslot.cpp. 00031 : Event<EventSlot>(name, parent) 00032 , m_receiver(receiver) 00033 , m_slot(slot) //QObject::normalizeSignalSlot(slot) 00034 { 00035 }
|
|
|
Destructor. Definition at line 37 of file eventslot.cpp.
|
|
||||||||||||
|
Add a new child. Replaces a possible already existing child with such a name.
Definition at line 79 of file object.cpp. References QString::arg(), QString::isEmpty(), QString::isNull(), and QMap::replace(). Referenced by Kross::Api::MainModule::addKAction(), Kross::Api::MainModule::addQObject(), Kross::Api::MainModule::addSignal(), Kross::Api::MainModule::addSlot(), Kross::Api::QtObject::QtObject(), and TestPluginModule::TestPluginModule(). 00080 { 00081 QString n = name.isNull() ? object->getName() : name; 00082 00083 #ifdef KROSS_API_OBJECT_ADDCHILD_DEBUG 00084 kdDebug() << QString("Kross::Api::Object::addChild() object.name='%2' object.classname='%3'") 00085 .arg(n).arg(object->getClassName()) << endl; 00086 #endif 00087 00088 if(n.isEmpty()) // prevent invalid items. 00089 return false; //throw Exception::Ptr( new Exception( QString("Failed to add child object to object '%1'. Invalid name for class '%2'.").arg(getName()).arg(object->getClassName()) ) ); 00090 00091 object->m_parent = this; 00092 m_children.replace(n, object); 00093 return true; 00094 }
|
|
||||||||||||
|
Add a methodfunction to the list of functions this Object supports.
Definition at line 119 of file event.h. 00120 { 00121 m_functions.replace(name, function); 00122 }
|
|
||||||||||||||||
|
Add a Callable methodfunction to the list of functions this Object supports. The FunctionPtr points to the concret Object::Ptr myfuncname(List::Ptr) method in the class defined with template T.
Definition at line 101 of file event.h. 00102 { 00103 m_functions.replace(name, new VarFunction0<T>(static_cast<T*>(this), function)); 00104 }
|
|
||||||||||||||||
|
Template function to add a Kross::Api::ProxyFunction as builtin-function to this Event instance. Definition at line 129 of file event.h. 00130 { 00131 m_functions.replace(name, 00132 new Kross::Api::ProxyFunction < 00133 INSTANCE, METHOD, 00134 RET, ARG1, ARG2, ARG3, ARG4 00135 > ( instance, method ) ); 00136 }
|
|
||||||||||||
|
Overloaded method to handle function-calls.
Reimplemented from Kross::Api::Callable. Definition at line 210 of file event.h. 00211 { 00212 #ifdef KROSS_API_EVENT_CALL_DEBUG 00213 kdDebug() << QString("Event::call() name='%1' getName()='%2'").arg(name).arg(getName()) << endl; 00214 #endif 00215 00216 Function* function = m_functions[name]; 00217 if(function) { 00218 #ifdef KROSS_API_EVENT_CALL_DEBUG 00219 kdDebug() << QString("Event::call() name='%1' is a builtin function.").arg(name) << endl; 00220 #endif 00221 00222 //FIXME checkArguments(arguments); 00223 return function->call(arguments); 00224 } 00225 00226 if(name.isNull()) { 00227 // If no name is defined, we return a reference to our instance. 00228 return this; 00229 } 00230 00231 // Redirect the call to the Kross::Api::Callable we are inheritated from. 00232 return Callable::call(name, arguments); 00233 }
|
|
||||||||||||
|
Reimplemented from Kross::Api::Object. |
|
|
Wrapper for the Kross::Api::Object::call() method to call a children. Definition at line 172 of file callable.cpp. References Kross::Api::Object::call(), and Kross::Api::Variant::toString(). Referenced by Kross::Api::Callable::call(). 00173 { 00174 //kdDebug() << QString("Kross::Api::Callable::callChild() getName()=%1").arg(getName()) << endl; 00175 return Object::call(Variant::toString(args->item(0)), args); 00176 }
|
|
||||||||||
|
Try to convert the Object instance to the template class T.
Definition at line 198 of file object.h. 00199 { 00200 T* t = (T*) object.data(); 00201 if(! t) 00202 throw KSharedPtr<Exception>( new Exception(QString("Object \"%1\" invalid.").arg(object ? object->getClassName() : "")) ); 00203 return t; 00204 }
|
|
|
Return a list of supported callable objects.
Reimplemented in Kross::Python::PythonObject. Definition at line 186 of file object.h. 00186 { return QStringList(); }
|
|
|
Return the defined child or NULL if there is no such object with that name avaible.
Definition at line 69 of file object.cpp. Referenced by Kross::Api::Callable::getChild().
|
|
|
Wrapper for the Kross::Api::Object::getChild() method to return a children this object has. Definition at line 146 of file callable.cpp. References Kross::Api::Object::getChild(), Kross::Api::Object::getName(), and Kross::Api::Variant::toString(). Referenced by Kross::Api::Callable::call(). 00147 { 00148 QString s = Variant::toString(args->item(0)); 00149 //kdDebug() << QString("Kross::Api::Callable::getChild() getName()=%1 childName=%2").arg(getName()).arg(s) << endl; 00150 Object::Ptr obj = Object::getChild(s); 00151 if(! obj) 00152 throw Exception::Ptr( new Exception(QString("The object '%1' has no child object '%2'").arg(getName()).arg(s)) ); 00153 return obj; 00154 }
|
|
|
Return all children.
Definition at line 74 of file object.cpp. Referenced by Kross::Api::Callable::getChildrenDict(), and Kross::Api::Callable::getChildrenList().
|
|
|
Wrapper for the Kross::Api::Object::getChild() method to return a dictonary of children this object has.
Definition at line 166 of file callable.cpp. References Kross::Api::Object::getChildren(). Referenced by Kross::Api::Callable::call(). 00167 { 00168 //kdDebug()<<"Kross::Api::Callable::getChildrenDict()"<<endl; 00169 return new Dict(Object::getChildren(), "Kross::Api::Callable::getChildrenDict::Dict"); 00170 }
|
|
|
Wrapper for the Kross::Api::Object::getChildren() method to return a list of childrennames this object has.
Definition at line 156 of file callable.cpp. References QMap::begin(), QMap::end(), and Kross::Api::Object::getChildren(). Referenced by Kross::Api::Callable::call(). 00157 { 00158 QStringList list; 00159 QMap<QString, Object::Ptr> children = getChildren(); 00160 QMap<QString, Object::Ptr>::Iterator it( children.begin() ); 00161 for(; it != children.end(); ++it) 00162 list.append( it.key() ); 00163 return new Variant(list); 00164 }
|
|
|
Reimplemented from Kross::Api::Callable. Definition at line 41 of file eventslot.cpp.
|
|
|
Return the name this object has.
Reimplemented in Kross::Api::ScriptContainer. Definition at line 49 of file object.cpp. Referenced by Kross::Api::Event< QtObject >::call(), Kross::Api::Callable::call(), Kross::Api::Callable::getChild(), and Kross::Api::Module::~Module().
|
|
|
Return the parent object or NULL if this object doesn't has a parent.
Definition at line 59 of file object.cpp.
|
|
|
Returns if the defined child is avaible.
Reimplemented in Kross::Api::MainModule. Definition at line 64 of file object.cpp. References QMap::contains(). Referenced by Kross::Api::MainModule::hasChild(), and Kross::Api::Callable::hasChild(). 00065 { 00066 return m_children.contains(name); 00067 }
|
|
|
Wrapper for the Kross::Api::Object::hasChild() method to check if this object has children. Definition at line 139 of file callable.cpp. References Kross::Api::Object::hasChild(), and Kross::Api::Variant::toString(). Referenced by Kross::Api::Callable::call(). 00140 { 00141 //kdDebug() << QString("Kross::Api::Callable::hasChild() getName()=%1").arg(getName()) << endl; 00142 return new Variant( Object::hasChild( Variant::toString(args->item(0)) ), 00143 "Kross::Api::Callable::hasChild::Bool" ); 00144 }
|
|
|
Check if a function is a member of this Callable
Definition at line 187 of file event.h. 00188 { 00189 return m_functions.contains(name); 00190 }
|
|
|
Remove all children. Definition at line 104 of file object.cpp. References QMap::clear(). 00105 { 00106 #ifdef KROSS_API_OBJECT_REMCHILD_DEBUG 00107 kdDebug() << "Kross::Api::Object::removeAllChildren()" << endl; 00108 #endif 00109 m_children.clear(); 00110 }
|
|
|
Remove an existing child.
Definition at line 96 of file object.cpp. References QMap::remove(). 00097 { 00098 #ifdef KROSS_API_OBJECT_REMCHILD_DEBUG 00099 kdDebug() << QString("Kross::Api::Object::removeChild() name='%1'").arg(name) << endl; 00100 #endif 00101 m_children.remove(name); 00102 }
|
|
|
Reimplemented in Kross::Api::Dict, Kross::Api::Exception, Kross::Api::List, and Kross::Api::Variant. Definition at line 54 of file object.cpp. References QString::arg(), and Kross::Api::Object::getClassName(). 00055 { 00056 return QString("%1 (%2)").arg(m_name).arg(getClassName()); 00057 }
|
|
|
List of arguments this callable object supports. Definition at line 123 of file callable.h. |
1.4.6