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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
|
2005-09-26 Richard Dale <[email protected]>
* Some fixes/enhancements from the trunk version. Most
importantly generating accessor methods to get and set
public instance variables.
2005-02-17 Richard Dale <[email protected]>
* Added a '--qt4' option to parse Qt 4 headers
2005-02-06 Richard Dale <[email protected]>
* The KWin class was bracketed with '#ifdef Q_OS_UNIX.. #endif', and was being skipped
by kalyptus. Fixes a problem reported by Ian Monroe.
CCMAIL: [email protected]
2004-10-02 Richard Dale <[email protected]>
* Fixed problem where a call to super in java TQWidet.polish() caused a loop
* DCOPArg and DCOPReply are ignored for java bindings generation
2004-09-10 Richard Dale <[email protected]>
* Fixed Smoke library generation for KDE 3.1
2004-09-05 Richard Dale <[email protected]>
* Removed forward declarations for classes embedded in method return types.
For instance:
virtual class View *createView ( TQWidget *parent, const char *name = 0 ) = 0;
virtual TQPtrList<class View> views () const = 0;
* Added kate as a KDE include header subdirectory
2004-09-05 Richard Dale <[email protected]>
* Added kontact to the expected KDE header subdirectory names
* Fixed a bug in the code generation for this method:
virtual TQValueList<Kontact::Plugin*> pluginList() const = 0;
It was being incorrectly treated as a pointer type, because it contained as asterisk.
2004-08-19 Richard Dale <[email protected]>
* A namespace such as TDEIO:: can be spread over several header files, the source
names are now kept in a property list so that all the includes can be generated.
2004-07-26 Richard Dale <[email protected]>
* TQMap and TQPair template types such as 'TQMap<TQCString, DCOPRef>' with an
embedded comma, were not being correctly normalised. A space was left in
the smoke type.
2004-07-25 Richard Dale <[email protected]>
* When the Smoke code for accessing an enum was generated, it was assuming
that the enum was in the same source file as the class. This doesn't work
for namespaces like TDEIO:: where enums can be spread over several source
files.
* The solution is to add a source file property to each enum, and when the
accessor code for the enum is generated a suitable include can be added.
* Fixes problem reported by Luca Perossa
CCMAIL: [email protected]
2004-07-07 Richard Dale <[email protected]>
* After discussion with Germain Garand, TQChars have been returned to
the Smoke runtime as first class members.
2004-07-07 Richard Dale <[email protected]>
* The TQChar class is now treated as a primitive type just like TQString.
2004-06-30 Richard Dale <[email protected]>
* Added DCOPRef to the Smoke runtime. But the various template methods for send(), call() and callExt()
need to be reimplemented in the scripting language.
2004-06-29 Richard Dale <[email protected]>
* Java methods now generated for tqCompress and tqUncompress methods - Michal Ceresna
reported that the methods missing from the QtJava api.
2004-06-25 Richard Dale <[email protected]>
* Reinstated the KMultiTabBarTab and KMultiTabBarButton classes in the Smoke runtime
* It makes more sense to fix the parser to handle arg types starting with
'class '. They are now stripped off and ignored.
2004-06-24 Richard Dale <[email protected]>
* Removed KMultiTabBarTab and KMultiTabBarButton from the Smoke runtime
* Added an instance variable '_smokeObject' to generated C# Kimono classes
2004-06-09 Richard Dale <[email protected]>
* New flags were added for Smoke methods - mf_internal and mf_copyctor.
This allows copy constructors which are only used internally by the ruby
or perl runtime, to be excluded from the standard api.
2004-06-07 Richard Dale <[email protected]>
* Added patch from Michal Ceresna to fix code generation for TQImage.bits() and
TQImage.colorTable()
* Fixed bug reported by Maik Schulz caused by unwanted KListViewItem copy constructor.
An 'enhancement' was added for KDE 3.2 - for any class which didn't have a copy
constructor, but which could still be copied, a copy constructor was generated.
Unfortunately this had unforseen consequences, such as messing up KListView logic,
hence they're no longer generated.
2004-05-27 Richard Dale <[email protected]>
* The methods TQPainter::pos() and TQFontInfo::font() are skipped for
Qt2 embedded as they don't link to the ARM version of Qt/E
* Thanks to Fabien Renaud for testing QtJava/E on an ARM box
2004-05-25 Richard Dale <[email protected]>
* Added the correct macro expansion for Q_OBJECT with Qt/E 2.3.x
* kalyptus can now generate the SMOKE library for Qt Embedded
2004-05-22 Richard Dale <[email protected]>
* More tweaks to the QtJava Embedded code generation.
The code now compiles without error, links and runs..
* However, the Qt framebuffer emulator plasters the KDE desktop in
lurid green and doesn't seem to have a way of accepting mouse
input. How do you get mouse events into a named pipe that it reads?
2004-05-21 Richard Dale <[email protected]>
* Added code generation for Qt/Embedded 2.3.4 with a '--qte' option to
be used in conjunction with the '-fjni' option.
* Example usage - this command will parse the Qt embedded headers in
directory 'test', and generate the .java and .cpp files in the same dir:
$ kalyptus -fjni -dtest --globspace --qte test/*.h
2004-05-20 Richard Dale <[email protected]>
* The java '-fjni' option now generates correct java code with Qt/E 2.3.4
* KMainWindow.toolBar() and KMainWindow.menuBar() rename ktoolBar() and
kmenuBar(). This is because java doesn't have covariant return types
and the methods with the same names in TQMainWindow return a TQToolBar
and TQMenuBar, rather than their KDE equivalent subclasses.
2004-05-19 Richard Dale <[email protected]>
* Namespaces were being omitted from the SMOKE runtime, and so methods
such as the ones in KStdAction were missing. They are now included and
appear to be ordinary classes containing static methods.
For example, in ruby:
quit = KDE::StdAction.quit( self, SLOT("quit()"), actionCollection() )
2004-04-26 Richard Dale <[email protected]>
* Now only 55 Qt C# warnings, too much use of the 'new' inheritance directive
though.
2004-04-26 Richard Dale <[email protected]>
* Reduced the number of compiler warnings for C# Dispose() methods. Now down to
'only' 130 warnings for the Qt classes
2004-04-13 Richard Dale <[email protected]>
* When a class includes equality operator overloading, an implementation of
GetHashCode() is generated (along with Equals() too) to avoid compiler warnings.
* If a method was originally inherited via C++ MI, but is now copied from the superclass
to the current class in C# instead, then it isn't labelled with a 'new' modifier
2004-04-12 Richard Dale <[email protected]>
* Kimono C# code generation improvements
- Added the 'out' modifier for args which are references to mutable primitive types
- Improved doc comment to C# xml comment translation, with <remarks> tags bracketing
the body of the comment
- Enum types are only given a 'E_' prefix if they clash with a C# method name after
the first character has been uppercased
2004-03-26 Richard Dale <[email protected]>
* Removed quite a few compiler warnings from the C# code generated by -fkimono
- A lot of warnings about virtual methods not needing the 'new' keyword fixed
- If you define operator==, but not operator!= you get a warning.
A smarter compiler might be able to work one out from the other?
But added a corresponding 'operator!=' always.
- If you define operator== or operator!=, you get a warning for not defining
GetHashCode(). There must be some sort of logic in that, but not fixed yet.
2004-03-25 Richard Dale <[email protected]>
* Removed obsolete C and Objective-C code generation options
2004-03-19 Richard Dale <[email protected]>
* 'KDE Integrates Mono'; added -fkimono option to generate C# bindings
* It doens't use the Qt C bindings, like Qt# but the Smoke lib instead
* To generate the code and review the api, edit tdebindings/smoke/kde/generate.pl.in
and change '-fsmoke' to '-fkimono'. Then configure tdebindings with the
'--with-smoke=kde' option. The sources will be generated in smoke/kde.
* It uses custom real proxies as AOP style interceptors, one per instance
and a static interceptor per class.
- Every method call in the api is forwarded to SmokeInvocation.Invoke()
via the proxies, and is effectively a pointcut.
- In Invoke() the method call will be looked up dynamically from the Smoke runtime
- The arguments are marsalled from C# to C++ on the Smoke::Stack, and the method
invoked.
* The KDE doc comments are converted to C# xml style tags (eg TDEApplication.cs)
* Problems
- A small fix was need for RealProxies with Mono 0.30. DotGnu doesn't have
RealProxies/remoting yet.
- It should be possible to use ContextBoundObjects and custom ContextAttributes
as described here, but they aren't implemented in Mono yet.
http://msdn.microsoft.com/msdnmag/issues/03/03/ContextsinNET/
- In interfaces the 'ref' keyword can't be used
- Doesn't use event handlers as delegates like Qt#, they are just overriden
like normal virtual methods
- Many compiler warnings about 'new virtual' not being needed. Some work needed
to only add new to overriden ones.
2004-02-17 Richard Dale <[email protected]>
* Aligned the forthcoming KDE 3.3 dynamic proxy/SMOKE library based java
code generation with the current 3.2 JNI based ones (-fjava vs. -fjni).
2004-01-28 Richard Dale <[email protected]>
* When two methods differed only in 'constness', it wasn't possible to
resolve which to call from ruby. For example:
KProgress* progressBar();
const KProgress* progressBar() const;
So only the const variant is generated in the Smoke runtime.
2004-01-05 Richard Dale <[email protected]>
* When a java method needed to be renamed, because in the type signature
only the return type differed in C++, when that isn't allowed in java,
the JNI function name was not using the new name.
* Fixed error in JNI function names when the C++ method had an underscore.
2003-12-29 Richard Dale <[email protected]>
* Fixed a problem with parsing one line namespace declarations
* Added support for the QT_WORKSPACE_WINDOWMODE macro, to solve build problem
* Added some more primitive type definitions such as TDEIO::filesize_t
2003-12-23 Richard Dale <[email protected]>
* Added a '-fjni' option to generate code for the current KDE 3.2 JNI based java
bindings The '-fjava' option generates code for the forthcoming Dynamic
Proxy/Smoke library based java bindings in KDE 3.3.
* The Qt and KDE bindings just checked in were generated by changing the kalyptus
option '-fsmoke' to '-fjni' in tdebindings/smoke/kde/generate.pl.in. Then
configure tdebindings with '--enable-smoke=kde' option to generate the .cpp
and .java sources. The .h files are generated by using javah on the compiled
java .class files.
2003-11-29 Richard Dale <[email protected]>
* Fixed parsing of casts inside enums in tdefileitem.h:
enum { Unknown = (mode_t) - 1 };
Hmm, not sure what that's up to anyway..
* Added a special Source property to method nodes in TQGlobalSpace.
In java, this allows Qt friend methods to be grouped under the
Qt.java class, and KDE ones under KDE.java according to which
source file they originated from.
2003-11-05 Richard Dale <[email protected]>
* Fixed parsing default argument values cast to a numeric literal, eg:
mode_t mode = (mode_t)-1
* Excluded a couple of structs from tdeparts/browserextension
2003-11-04 Richard Dale <[email protected]>
* KDE MI has some diamond shaped cycles, such as for the children of
KXMLGUIClient. When the code for casts to all the parents of a class
was generated in the Smoke runtime, this meant there were some
duplicate entries in the switch statement. Duplicates now removed.
2003-10-11 Richard Dale <[email protected]>
* Avoid generating wrappers for private classes with 'Private',
'Impl' or 'Internal' in the name. Other unneeded classes also
dropped.
2003-10-08 Richard Dale <[email protected]>
* Added SmokeKDE namespace class code generation
- Fixed bug in kalyptus where it couldn't detect the end of a namespace
- resolveType() in kalyptusDataDict.pm now looks in parent namespace for symbols
- Namespace enclosed class code generation added to kalyptusCxxToSmoke.pm
2003-09-16 Richard Dale <[email protected]>
* Added various parser and code generation fixes so that a libsmokekde.so
can be generated from the tdelibs headers.
2003-08-30 Richard Dale <[email protected]>
* Applied Germain Garand's patch to no longer rename operator methods
in the TQGlobalSpace pseudo class
2003-08-21 Alexander Kellett <[email protected]>
* Added .kidl generation option (dcopidl replacement)
* Handled of several new constructs in the parsing:
* k_dcop: / k_dcop_signals: / K_DCOP:
* Use STDERR not STDOUT thus removing need for temporary file
2003-08-21 Richard Dale <[email protected]>
* Added missing getClassLoader() call to Proxy constructor
2003-08-21 Richard Dale <[email protected]>
* Rewritten java code generation for a Dynamic Proxy based SMOKE adaptor version of QtJava.
* Based on David Faure's SMOKE generation code in the '-fsmoke' option.
2003-08-11 Richard Dale <[email protected]>
* Removed old SWIG style ruby generation option
2003-08-09 Alexander Kellett <[email protected]>
* Parse static friend operator methods and place into a pseudo class (for smoke)
2002-06-03 David Faure <[email protected]>
* The Smoke generation is in good shape. Removed old PerlPig and PerlQK
modules.
2002-04-23 Richard Dale <[email protected]>
* Added patch from David Faure to correctly handle nested struct
or class names in perl .pig generation
2002-03-15 Richard Dale <[email protected]>
* Added C# P/Invoke bindings generation option from Adam Treat
2002-02-10 Richard Dale <[email protected]>
* Improved C destructor code generation
* TQCanvasItemList mapped onto java.util.ArrayList
* 'bool *' type converted to java 'boolean[]' type.
2002-02-03 Richard Dale <[email protected]>
* More fixes to .pig generation from Germain. Perl porting now
motoring 24*7...
2002-02-02 Richard Dale <[email protected]>
* Various improvements to Perl .pig generation from Germain Garand
2002-01-31 Richard Dale <[email protected]>
* Fixed bug in code generation for NULL default arguments
* Added some new KDE 3 types
2002-01-26 Richard Dale <[email protected]>
* Perl .pig generation improved
2002-01-25 Richard Dale <[email protected]>
* Added '-fperl' option to autogenerate .pig (Perl Interface
Generator) files, suitable for generating Ashley Winters' PerlQt/KDEQt
bindings
2002-01-23 Richard Dale <[email protected]>
* Made dispose() public, added isDisposed() after SWT.
2002-01-23 Richard Dale <[email protected]>
* Added generation of dispose() methods, to allow large resources,
such as pixmaps, to be freed before finalize() is called.
2002-01-20 Richard Dale <[email protected]>
* Ruby bindings generation - initial checkin.
2002-01-04 Richard Dale <[email protected]>
* Fixed bug in parsing decimal point in default argument values
2001-12-29 Richard Dale <[email protected]
* JNI event handling methods are now generated.
* Some additions for KDevelop types.
* Removed assumption that a class ending in '..Interface' should always
be a java interface.
2001-12-17 Richard Dale <[email protected]
* Improved code generation for String f'ns with default arguments.
* An implementation is no longer generated for classes which are
just interfaces.
2001-12-03 Richard Dale <[email protected]
* Added new KDE 3 data types
* Improved code generation for classes defined within namespaces
|