summaryrefslogtreecommitdiffstats
path: root/qtsharp/TODO
blob: ba8c79269763f1b615e2f4d259ada2ce6e83b106 (plain)
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 TQObject.
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 TQStyle enum problem.

** Classes needing converted to C# types moving in and out of methods

TTQDate, TQTime, TQDateTime, TQDir, TQFile*, TQDict*, TQDns, TQFtp, TQHttp,
TTQUrl*, TQHostAddress, TQGL*, TQInt*, TQIODevice, TQString*, TQMap

o TQPROPERTYs

** Classes needing attention, discussion or throttling

TTQTimeEdit, TQDateTimeEdit, TQHebrewCodec, TQJisCodec, TQTsciiCodec, TQPtr*,
TTQHeader (needed?), TQLibrary (hehe), TQNetwork*, TQInt*, TQNS*, TQStr*,
TTQText*Stream, TQTextCodec*, TQText[En|De]coder, TQThread, TQWaitCondition,
TTQTimer, TQValidator, TQValue*, TQWidgetStack, TQXml*, TQXt*

** MI Classes (very incomplete list)

o Some TQGL* 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,
  TQBoxLayout.AddLayout adds a layout as a child. Need to identify all such
  instances and code accordingly.