summaryrefslogtreecommitdiffstats
path: root/qtruby/rubylib/designer/uilib/qui.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-12-06 01:57:23 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-12-06 01:57:23 -0600
commit9e7608eef5bc6d209610bf4509cf6a655c054ec8 (patch)
tree821dd1fba1311d698b97ca3775edf144d63b1c80 /qtruby/rubylib/designer/uilib/qui.cpp
parent949476e1ff69d5f9e10aafea3d2c72096a8d120b (diff)
downloadtdebindings-9e7608eef5bc6d209610bf4509cf6a655c054ec8.tar.gz
tdebindings-9e7608eef5bc6d209610bf4509cf6a655c054ec8.zip
Move qui.cpp
Diffstat (limited to 'qtruby/rubylib/designer/uilib/qui.cpp')
-rw-r--r--qtruby/rubylib/designer/uilib/qui.cpp175
1 files changed, 0 insertions, 175 deletions
diff --git a/qtruby/rubylib/designer/uilib/qui.cpp b/qtruby/rubylib/designer/uilib/qui.cpp
deleted file mode 100644
index 05b094bb..00000000
--- a/qtruby/rubylib/designer/uilib/qui.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/***************************************************************************
- tqui.cpp - A ruby wrapper for the TQWidgetFactory class
- -------------------
- begin : Wed Mar 14 2004
- copyright : (C) 2004 by Richard Dale
- email : Richard_Dale@tipitina.demon.co.uk
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-#include <tqwidgetfactory.h>
-#include <tqwidget.h>
-
-#include "smoke.h"
-
-#undef DEBUG
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-#ifndef __USE_POSIX
-#define __USE_POSIX
-#endif
-#ifndef __USE_XOPEN
-#define __USE_XOPEN
-#endif
-#include <ruby.h>
-
-#include "qtruby.h"
-#include "smokeruby.h"
-
-extern Smoke *qt_Smoke;
-extern bool isDerivedFrom(Smoke *smoke, Smoke::Index classId, Smoke::Index baseId);
-
-extern "C" {
-extern VALUE set_obj_info(const char * className, smokeruby_object * o);
-
-static VALUE tqui_module;
-static VALUE qwidget_factory_class;
-
-static VALUE
-create(int argc, VALUE * argv, VALUE /*klass*/)
-{
- TQWidget * topLevelWidget = 0;
- VALUE result = Qnil;
-
- if (argc == 0 || argc > 4) {
- rb_raise(rb_eArgError, "wrong number of arguments (%d)\n", argc);
- }
-
- TQObject * connector = 0;
- if (argc >= 2) {
- if (TYPE(argv[1]) == T_DATA) {
- smokeruby_object *o = value_obj_info(argv[1]);
- if (o != 0) {
- connector = (TQObject *) o->ptr;
- }
- } else {
- rb_raise(rb_eArgError, "invalid argument type\n");
- }
- }
-
- TQWidget * parent = 0;
- if (argc >= 3) {
- if (TYPE(argv[2]) == T_DATA) {
- smokeruby_object *o = value_obj_info(argv[2]);
- if (o != 0) {
- parent = (TQWidget *) o->ptr;
- }
- } else {
- rb_raise(rb_eArgError, "invalid argument type\n");
- }
- }
-
- const char * name = 0;
- if (argc >= 4) {
- if (TYPE(argv[3]) == T_STRING) {
- name = StringValuePtr(argv[3]);
- } else {
- rb_raise(rb_eArgError, "invalid argument type\n");
- }
- }
-
- if (TYPE(argv[0]) == T_STRING) {
- topLevelWidget = TQWidgetFactory::create(TQString(StringValuePtr(argv[0])), connector, parent, name);
- } else if (TYPE(argv[0]) == T_DATA) {
- TQIODevice * dev = 0;
- smokeruby_object *o = value_obj_info(argv[0]);
-
- if (o != 0 && o->ptr != 0 && o->classId == qt_Smoke->idClass("TQIODevice")) {
- dev = (TQIODevice *) o->ptr;
- } else {
- rb_raise(rb_eArgError, "invalid argument type\n");
- }
-
- topLevelWidget = TQWidgetFactory::create(dev, connector, parent, name);
- } else {
- rb_raise(rb_eArgError, "invalid argument type\n");
- }
-
- if (topLevelWidget != 0) {
- smokeruby_object * o = (smokeruby_object *) malloc(sizeof(smokeruby_object));
- o->smoke = qt_Smoke;
- o->classId = qt_Smoke->idClass(topLevelWidget->className());
- o->ptr = topLevelWidget;
- o->allocated = false;
-
- const char * className = qt_Smoke->binding->className(o->classId);
- result = set_obj_info(className, o);
- }
-
- return result;
-}
-
-static VALUE
-load_images(VALUE klass, VALUE dir)
-{
- TQWidgetFactory::loadImages(TQString(StringValuePtr(dir)));
- return klass;
-}
-
-static VALUE
-widgets(VALUE /*self*/)
-{
- VALUE result = rb_ary_new();
- TQStringList widgetList = TQWidgetFactory::widgets();
-
- for (TQStringList::Iterator it = widgetList.begin(); it != widgetList.end(); ++it) {
- TQString widgetName = *it;
- if (widgetName.startsWith("Q")) {
- widgetName.replace(0, 1, TQString("TQt::"));
- } else if (widgetName.startsWith("K")) {
- widgetName.replace(0, 1, TQString("KDE::"));
- }
- rb_ary_push(result, rb_str_new2(widgetName.latin1()));
- }
-
- return result;
-}
-
-static VALUE
-supports_widget(VALUE /*self*/, VALUE widget)
-{
- TQString widgetName(StringValuePtr(widget));
-
- if (widgetName.startsWith("TQt::")) {
- widgetName.replace(0, 4, TQString("Q"));
- } else if (widgetName.startsWith("KDE::")) {
- widgetName.replace(0, 5, TQString("K"));
- }
-
- return TQWidgetFactory::supportsWidget(widgetName) ? Qtrue : Qfalse;
-}
-
-void
-Init_tqui()
-{
- tqui_module = rb_define_module("TQUI");
- qwidget_factory_class = rb_define_class_under(tqui_module, "WidgetFactory", rb_cObject);
-
- rb_define_singleton_method(qwidget_factory_class, "create", (VALUE (*) (...)) create, -1);
- rb_define_singleton_method(qwidget_factory_class, "loadImages", (VALUE (*) (...)) load_images, 1);
- rb_define_singleton_method(qwidget_factory_class, "load_images", (VALUE (*) (...)) load_images, 1);
- rb_define_singleton_method(qwidget_factory_class, "widgets", (VALUE (*) (...)) widgets, 0);
- rb_define_singleton_method(qwidget_factory_class, "supportsWidget", (VALUE (*) (...)) supports_widget, 1);
- rb_define_singleton_method(qwidget_factory_class, "supports_widget", (VALUE (*) (...)) supports_widget, 1);
-}
-
-};