1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
** General
o Better error checking on method arguments in generated code.
o System.Windows.Forms implementation using Qt#. :-)
o Devise connection and event handling schemes for calling C++
methods directly from C#. (thanks jowenn)
o Type mappings need better resolution in the generator.
** Methods to be throttled
o Qt reflection methods that are useless in C#, like those relating to
inheritance and class name.
o Maybe translation methods? I don't know if these could be useful from
C# or not, but I kind of doubt it, especially since Rhys gave Mono his
I18N code.
o Superfluous event handling methods in QObject.
o There should be no trace of connection code in any class except
QtSignal and QtSlot.
** New tools
o Need to refine generator design to support the above tools.
o Signals and slots should be identified in the API XML representation. In
particular, signal information must be present so we know to DllImport
them so we can connect C# signals to C++ signals.
o Tools should identify what underlying type enums should use in C#.
For example. the QStyle enum problem.
** Classes needing converted to C# types moving in and out of methods
QDate, QTime, QDateTime, QDir, QFile*, QDict*, QDns, QFtp, QHttp,
QUrl*, QHostAddress, QGL*, QInt*, QIODevice, QString*, QMap
o QPROPERTYs
** Classes needing attention, discussion or throttling
QTimeEdit, QDateTimeEdit, QHebrewCodec, QJisCodec, QTsciiCodec, QPtr*,
QHeader (needed?), QLibrary (hehe), QNetwork*, QInt*, QNS*, QStr*,
QText*Stream, QTextCodec*, QText[En|De]coder, QThread, QWaitCondition,
QTimer, QValidator, QValue*, QWidgetStack, QXml*, QXt*
** MI Classes (very incomplete list)
o Some QGL* classes
** Build Environment todo
o Write better library detection macros for autoconf.
o Use QTDIR when searching for Qt stuff.
o See if thre's a way to use LD_LIBRARY_PATH when hunting for libraries.
o Set up cvsignore files.
o Organize Qt.dll Makefile stuffs - maybe use external targets for building
the gargle-blaster foo muncher, csc, and mono.
** Signals/Slots
o Need error checking in Emit. Signal arguments should be compared to the
actual arguments provided. The current setup will make it hard for users
with buggy code to know what the problem is.
o Must research how Qt/C++ handles signals connected to slots that don't
have matching argument lists. I know its supported, but I don't know to
what extend.
o Use method access to determine what connections are allowed.
** Object model
o Ctors aren't the only way children can be added to a parent; for example,
QBoxLayout.AddLayout adds a layout as a child. Need to identify all such
instances and code accordingly.
|