mirror of
https://github.com/Relintai/rcpp_framework.git
synced 2025-04-20 01:43:12 +02:00
Add the emitter object as a parameter.
This commit is contained in:
parent
d42311356f
commit
0d3db0979a
@ -36,13 +36,17 @@ bool Signal::is_connected_static(void (*func)(Signal *)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void Signal::emit() {
|
||||
void Signal::emit(Object *p_emitter) {
|
||||
emitter = p_emitter;
|
||||
|
||||
for (int i = 0; i < entries.size(); ++i) {
|
||||
entries[i]->call(this);
|
||||
}
|
||||
}
|
||||
|
||||
void Signal::emit(const Variant &p1) {
|
||||
void Signal::emit(Object *p_emitter, const Variant &p1) {
|
||||
emitter = p_emitter;
|
||||
|
||||
params.push_back(p1);
|
||||
|
||||
for (int i = 0; i < entries.size(); ++i) {
|
||||
@ -51,7 +55,9 @@ void Signal::emit(const Variant &p1) {
|
||||
|
||||
params.clear();
|
||||
}
|
||||
void Signal::emit(const Variant &p1, const Variant &p2) {
|
||||
void Signal::emit(Object *p_emitter, const Variant &p1, const Variant &p2) {
|
||||
emitter = p_emitter;
|
||||
|
||||
params.push_back(p1);
|
||||
params.push_back(p2);
|
||||
|
||||
@ -61,7 +67,9 @@ void Signal::emit(const Variant &p1, const Variant &p2) {
|
||||
|
||||
params.clear();
|
||||
}
|
||||
void Signal::emit(const Variant &p1, const Variant &p2, const Variant &p3) {
|
||||
void Signal::emit(Object *p_emitter, const Variant &p1, const Variant &p2, const Variant &p3) {
|
||||
emitter = p_emitter;
|
||||
|
||||
params.push_back(p1);
|
||||
params.push_back(p2);
|
||||
params.push_back(p3);
|
||||
@ -73,7 +81,9 @@ void Signal::emit(const Variant &p1, const Variant &p2, const Variant &p3) {
|
||||
params.clear();
|
||||
}
|
||||
|
||||
void Signal::emit(const Variant &p1, const Variant &p2, const Variant &p3, const Variant &p4) {
|
||||
void Signal::emit(Object *p_emitter, const Variant &p1, const Variant &p2, const Variant &p3, const Variant &p4) {
|
||||
emitter = p_emitter;
|
||||
|
||||
params.push_back(p1);
|
||||
params.push_back(p2);
|
||||
params.push_back(p3);
|
||||
@ -86,7 +96,9 @@ void Signal::emit(const Variant &p1, const Variant &p2, const Variant &p3, const
|
||||
params.clear();
|
||||
}
|
||||
|
||||
void Signal::emit(const Variant &p1, const Variant &p2, const Variant &p3, const Variant &p4, const Variant &p5) {
|
||||
void Signal::emit(Object *p_emitter, const Variant &p1, const Variant &p2, const Variant &p3, const Variant &p4, const Variant &p5) {
|
||||
emitter = p_emitter;
|
||||
|
||||
params.push_back(p1);
|
||||
params.push_back(p2);
|
||||
params.push_back(p3);
|
||||
|
@ -11,7 +11,7 @@ class Signal : public Object {
|
||||
RCPP_OBJECT(Signal, Object);
|
||||
|
||||
public:
|
||||
Object *owner;
|
||||
Object *emitter;
|
||||
Vector<Variant> params;
|
||||
Vector<Variant> static_data;
|
||||
|
||||
@ -26,12 +26,12 @@ public:
|
||||
void disconnect_static(void (*func)(Signal *));
|
||||
bool is_connected_static(void (*func)(Signal *));
|
||||
|
||||
void emit();
|
||||
void emit(const Variant &p1);
|
||||
void emit(const Variant &p1, const Variant &p2);
|
||||
void emit(const Variant &p1, const Variant &p2, const Variant &p3);
|
||||
void emit(const Variant &p1, const Variant &p2, const Variant &p3, const Variant &p4);
|
||||
void emit(const Variant &p1, const Variant &p2, const Variant &p3, const Variant &p4, const Variant &p5);
|
||||
void emit(Object *p_emitter);
|
||||
void emit(Object *p_emitter, const Variant &p1);
|
||||
void emit(Object *p_emitter, const Variant &p1, const Variant &p2);
|
||||
void emit(Object *p_emitter, const Variant &p1, const Variant &p2, const Variant &p3);
|
||||
void emit(Object *p_emitter, const Variant &p1, const Variant &p2, const Variant &p3, const Variant &p4);
|
||||
void emit(Object *p_emitter, const Variant &p1, const Variant &p2, const Variant &p3, const Variant &p4, const Variant &p5);
|
||||
|
||||
Signal();
|
||||
~Signal();
|
||||
|
Loading…
Reference in New Issue
Block a user