~ubuntu-branches/ubuntu/karmic/ugene/karmic

« back to all changes in this revision

Viewing changes to src/libs_3rdparty/qtbindings_gui/src/qtscript_QAccessibleWidget.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Ivan Efremov
  • Date: 2009-01-26 19:17:51 UTC
  • Revision ID: james.westby@ubuntu.com-20090126191751-9kqqevd3yf4o098r
Tags: upstream-1.3.2+repack
ImportĀ upstreamĀ versionĀ 1.3.2+repack

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*****************************************************************
 
2
* Unipro UGENE - Integrated Bioinformatics Suite
 
3
* Copyright (C) 2008 Unipro, Russia (http://ugene.unipro.ru)
 
4
* All Rights Reserved
 
5
 
6
*     This source code is distributed under the terms of the
 
7
*     GNU General Public License. See the files COPYING and LICENSE
 
8
*     for details.
 
9
*****************************************************************/
 
10
 
 
11
#include <QtScript/QScriptEngine>
 
12
#include <QtScript/QScriptContext>
 
13
#include <QtScript/QScriptValue>
 
14
#include <QtCore/QStringList>
 
15
#include <QtCore/QDebug>
 
16
#include <qmetaobject.h>
 
17
 
 
18
#include <qaccessiblewidget.h>
 
19
#include <QVariant>
 
20
#include <qaccessible.h>
 
21
#include <qaccessiblewidget.h>
 
22
#include <qlist.h>
 
23
#include <qobject.h>
 
24
#include <qrect.h>
 
25
#include <qwidget.h>
 
26
 
 
27
#include "qtscriptshell_QAccessibleWidget.h"
 
28
 
 
29
static const char * const qtscript_QAccessibleWidget_function_names[] = {
 
30
    "QAccessibleWidget"
 
31
    // static
 
32
    // prototype
 
33
    , "toString"
 
34
};
 
35
 
 
36
static const char * const qtscript_QAccessibleWidget_function_signatures[] = {
 
37
    "QWidget o, Role r, String name"
 
38
    // static
 
39
    // prototype
 
40
""
 
41
};
 
42
 
 
43
static QScriptValue qtscript_QAccessibleWidget_throw_ambiguity_error_helper(
 
44
    QScriptContext *context, const char *functionName, const char *signatures)
 
45
{
 
46
    QStringList lines = QString::fromLatin1(signatures).split(QLatin1Char('\n'));
 
47
    QStringList fullSignatures;
 
48
    for (int i = 0; i < lines.size(); ++i)
 
49
        fullSignatures.append(QString::fromLatin1("%0(%1)").arg(functionName).arg(lines.at(i)));
 
50
    return context->throwError(QString::fromLatin1("QFile::%0(): could not find a function match; candidates are:\n%1")
 
51
        .arg(functionName).arg(fullSignatures.join(QLatin1String("\n"))));
 
52
}
 
53
 
 
54
Q_DECLARE_METATYPE(QAccessibleWidget*)
 
55
Q_DECLARE_METATYPE(QtScriptShell_QAccessibleWidget*)
 
56
Q_DECLARE_METATYPE(QAccessible::Role)
 
57
Q_DECLARE_METATYPE(QAccessibleObject*)
 
58
 
 
59
//
 
60
// QAccessibleWidget
 
61
//
 
62
 
 
63
static QScriptValue qtscript_QAccessibleWidget_prototype_call(QScriptContext *context, QScriptEngine *)
 
64
{
 
65
#if QT_VERSION > 0x040400
 
66
    Q_ASSERT(context->callee().isFunction());
 
67
    uint _id = context->callee().data().toUInt32();
 
68
#else
 
69
    uint _id;
 
70
    if (context->callee().isFunction())
 
71
        _id = context->callee().data().toUInt32();
 
72
    else
 
73
        _id = 0xBABE0000 + 0;
 
74
#endif
 
75
    Q_ASSERT((_id & 0xFFFF0000) == 0xBABE0000);
 
76
    _id &= 0x0000FFFF;
 
77
    QAccessibleWidget* _q_self = qscriptvalue_cast<QAccessibleWidget*>(context->thisObject());
 
78
    if (!_q_self) {
 
79
        return context->throwError(QScriptContext::TypeError,
 
80
            QString::fromLatin1("QAccessibleWidget.%0(): this object is not a QAccessibleWidget")
 
81
            .arg(qtscript_QAccessibleWidget_function_names[_id+1]));
 
82
    }
 
83
 
 
84
    switch (_id) {
 
85
    case 0: {
 
86
    QString result = QString::fromLatin1("QAccessibleWidget");
 
87
    return QScriptValue(context->engine(), result);
 
88
    }
 
89
 
 
90
    default:
 
91
    Q_ASSERT(false);
 
92
    }
 
93
    return qtscript_QAccessibleWidget_throw_ambiguity_error_helper(context,
 
94
        qtscript_QAccessibleWidget_function_names[_id+1],
 
95
        qtscript_QAccessibleWidget_function_signatures[_id+1]);
 
96
}
 
97
 
 
98
static QScriptValue qtscript_QAccessibleWidget_static_call(QScriptContext *context, QScriptEngine *)
 
99
{
 
100
    uint _id = context->callee().data().toUInt32();
 
101
    Q_ASSERT((_id & 0xFFFF0000) == 0xBABE0000);
 
102
    _id &= 0x0000FFFF;
 
103
    switch (_id) {
 
104
    case 0:
 
105
    if (context->thisObject().strictlyEquals(context->engine()->globalObject())) {
 
106
        return context->throwError(QString::fromLatin1("QAccessibleWidget(): Did you forget to construct with 'new'?"));
 
107
    }
 
108
    if (context->argumentCount() == 1) {
 
109
        QWidget* _q_arg0 = qscriptvalue_cast<QWidget*>(context->argument(0));
 
110
        QtScriptShell_QAccessibleWidget* _q_cpp_result = new QtScriptShell_QAccessibleWidget(_q_arg0);
 
111
        QScriptValue _q_result = context->engine()->newVariant(context->thisObject(), qVariantFromValue((QAccessibleWidget*)_q_cpp_result));
 
112
        _q_cpp_result->__qtscript_self = _q_result;
 
113
        return _q_result;
 
114
    } else if (context->argumentCount() == 2) {
 
115
        QWidget* _q_arg0 = qscriptvalue_cast<QWidget*>(context->argument(0));
 
116
        QAccessible::Role _q_arg1 = qscriptvalue_cast<QAccessible::Role>(context->argument(1));
 
117
        QtScriptShell_QAccessibleWidget* _q_cpp_result = new QtScriptShell_QAccessibleWidget(_q_arg0, _q_arg1);
 
118
        QScriptValue _q_result = context->engine()->newVariant(context->thisObject(), qVariantFromValue((QAccessibleWidget*)_q_cpp_result));
 
119
        _q_cpp_result->__qtscript_self = _q_result;
 
120
        return _q_result;
 
121
    } else if (context->argumentCount() == 3) {
 
122
        QWidget* _q_arg0 = qscriptvalue_cast<QWidget*>(context->argument(0));
 
123
        QAccessible::Role _q_arg1 = qscriptvalue_cast<QAccessible::Role>(context->argument(1));
 
124
        QString _q_arg2 = context->argument(2).toString();
 
125
        QtScriptShell_QAccessibleWidget* _q_cpp_result = new QtScriptShell_QAccessibleWidget(_q_arg0, _q_arg1, _q_arg2);
 
126
        QScriptValue _q_result = context->engine()->newVariant(context->thisObject(), qVariantFromValue((QAccessibleWidget*)_q_cpp_result));
 
127
        _q_cpp_result->__qtscript_self = _q_result;
 
128
        return _q_result;
 
129
    }
 
130
    break;
 
131
 
 
132
    default:
 
133
    Q_ASSERT(false);
 
134
    }
 
135
    return qtscript_QAccessibleWidget_throw_ambiguity_error_helper(context,
 
136
        qtscript_QAccessibleWidget_function_names[_id],
 
137
        qtscript_QAccessibleWidget_function_signatures[_id]);
 
138
}
 
139
 
 
140
QScriptValue qtscript_create_QAccessibleWidget_class(QScriptEngine *engine)
 
141
{
 
142
    static const int function_lengths[] = {
 
143
        3
 
144
        // static
 
145
        // prototype
 
146
        , 0
 
147
    };
 
148
    engine->setDefaultPrototype(qMetaTypeId<QAccessibleWidget*>(), QScriptValue());
 
149
    QScriptValue proto = engine->newVariant(qVariantFromValue((QAccessibleWidget*)0));
 
150
    proto.setPrototype(engine->defaultPrototype(qMetaTypeId<QAccessibleObject*>()));
 
151
 
 
152
    engine->setDefaultPrototype(qMetaTypeId<QAccessibleWidget*>(), proto);
 
153
 
 
154
    QScriptValue ctor = engine->newFunction(qtscript_QAccessibleWidget_static_call, proto, function_lengths[0]);
 
155
    ctor.setData(QScriptValue(engine, uint(0xBABE0000 + 0)));
 
156
 
 
157
    return ctor;
 
158
}