[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/3.5/kdebindings/korundum/rubylib/korundum
From:       Richard Dale <Richard_Dale () tipitina ! demon ! co ! uk>
Date:       2006-03-29 19:45:15
Message-ID: 1143661515.545768.6265.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 524124 by rdale:

* Special case KonsolePart.metaObject() as it isn't in the Smoke library. Otherwise,
  KParts::ReadOnlyPart.metaObject() would be called.



 M  +21 -0     Korundum.cpp  


--- branches/KDE/3.5/kdebindings/korundum/rubylib/korundum/Korundum.cpp \
#524123:524124 @@ -1070,6 +1070,26 @@
 #endif
 
 static VALUE
+konsole_part_metaobject(VALUE self)
+{
+	smokeruby_object * o = value_obj_info(self);
+	QObject * qobject = (QObject *) o->smoke->cast(o->ptr, o->classId, \
o->smoke->idClass("QObject")); +	QMetaObject * meta = qobject->metaObject();
+	VALUE obj = getPointerObject(meta);
+	if (obj != Qnil) {
+		return obj;
+	}
+
+	smokeruby_object  * m = (smokeruby_object *) malloc(sizeof(smokeruby_object));
+	m->smoke = o->smoke;
+	m->classId = m->smoke->idClass("QMetaObject");
+	m->ptr = meta;
+	m->allocated = false;
+	obj = set_obj_info("Qt::MetaObject", m);
+	return obj;
+}
+
+static VALUE
 konsole_part_startprogram(VALUE self, VALUE value_program, VALUE value_args)
 {
 	smokeruby_object * o = value_obj_info(self);
@@ -1157,6 +1177,7 @@
 	rb_define_method(kconfigskeleton_class, "addItem", (VALUE (*) (...)) \
config_additem, -1);  #endif
 
+	rb_define_method(konsole_part_class, "metaObject", (VALUE (*) (...)) \
konsole_part_metaobject, 0);  rb_define_method(konsole_part_class, "startProgram", \
(VALUE (*) (...)) konsole_part_startprogram, 2);  \
rb_define_method(konsole_part_class, "showShellInDir", (VALUE (*) (...)) \
konsole_part_showshellindir, 1);  rb_define_method(konsole_part_class, "sendInput", \
(VALUE (*) (...)) konsole_part_sendinput, 1);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic