|
|
2007-02-19 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Fixed a bug where the sort method of Qt::ListView and Qt::ListViewItem
|
|
|
was no longer working, as the classes are 'Enumerable' and ruby was
|
|
|
calling the ruby sort method instead. Thanks to kelko for reporting it
|
|
|
on #kde-ruby.
|
|
|
|
|
|
2006-12-05 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Backported some improvements to Qt::Variants from Qt4 QtRuby
|
|
|
* When marhalling QMap types with QVariant values, if the Ruby value isn't
|
|
|
a Qt::Variant then one is created
|
|
|
* Qt::Variants can now be constructed with Hash's of String/Qt::Variant
|
|
|
pairs, and from Arrays of Qt::Variants
|
|
|
* When marshalling QValueList<QVariant> types from Ruby to C++, if any elements
|
|
|
aren't Ruby Qt::Variants, they are automatically converted. Hence, the
|
|
|
following will work:
|
|
|
|
|
|
v = Qt::Variant.new([1, 2, 3])
|
|
|
|
|
|
The Qt::Variant v will contain a list of 3 QVariants with typeName 'int'
|
|
|
* Change all instances of strcmp() to qstrcmp()
|
|
|
|
|
|
2006-11-20 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Made Qt::ListView, Qt::ListViewItem, Qt::BoxLayout, Qt::HBoxLayout,
|
|
|
Qt::VBoxLayout and Qt::GridLayout Enumerable with implementations
|
|
|
of each() so they don't need to use the Qt External iterators like
|
|
|
Qt::LayoutIterator anymore. For instance:
|
|
|
|
|
|
lv = Qt::ListView.new do
|
|
|
["one", "two", "three", "four"].each do |label|
|
|
|
Qt::ListViewItem.new(self, label, "zzz")
|
|
|
end
|
|
|
end
|
|
|
|
|
|
lv.each do |item|
|
|
|
p item.inspect
|
|
|
pp item.inspect
|
|
|
end
|
|
|
|
|
|
* Add inspect() and pretty_print() methods to Qt::ListViewItem so that
|
|
|
they show the text of their columns
|
|
|
|
|
|
2006-09-19 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Upped the QtRuby version to 1.0.13 for the KDE 3.5.5 release
|
|
|
|
|
|
* Fixed a crash when a slot was inherited by a subclass, and the
|
|
|
subclass had no slots or signals of its own
|
|
|
|
|
|
2006-09-17 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Fixed bug reported by Caleb Tennis where temporary QString const arguments
|
|
|
were only being deleting after marshalling if they weren't const types.
|
|
|
|
|
|
2006-09-14 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Added a new variant of connect, which takes a SIGNAL as an argument, along with
|
|
|
a block. For example:
|
|
|
|
|
|
quit.connect(SIGNAL(:clicked)) { puts 'quit pressed' }
|
|
|
|
|
|
The block is called in the context of where the connect call was made, and 'self'
|
|
|
needn't be a Qt::Object. It is similar to the signal_connect() method in
|
|
|
ruby-gnome. This was suggested by rickdangerous on the #qtruby irc channel.
|
|
|
|
|
|
2006-09-13 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Blocks can now be used as slots in Qt::Object.connect() calls. There are two
|
|
|
versions, a singleton method and an instance method.
|
|
|
|
|
|
* Here is an example of the class method connect() call with a block as a target:
|
|
|
|
|
|
app = Qt::Application.new(ARGV)
|
|
|
quit = Qt::PushButton.new('Quit')
|
|
|
Qt::Object.connect(quit, SIGNAL('clicked()'), app) { puts 'quit clicked' }
|
|
|
|
|
|
The block is executed in the context of the target instance, 'app' in this
|
|
|
case.
|
|
|
|
|
|
* And the instance method form:
|
|
|
|
|
|
class MyButton < Qt::Button
|
|
|
def initialize(text)
|
|
|
super(text)
|
|
|
connect(self, SIGNAL('clicked()')) { puts 'button clicked' }
|
|
|
end
|
|
|
...
|
|
|
|
|
|
The block is executed in the context of self - the instance making the
|
|
|
connect() call.
|
|
|
|
|
|
* The Rails version of the Ruby 1.9 method Object#instance_exec was used
|
|
|
to invoke the block. Thanks to kelko on the #kde-ruby channel for the
|
|
|
idea and the code, and #rickdangerous for further discussion.
|
|
|
|
|
|
2006-08-29 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Backported some memory leak fixes from Qt4 QtRuby
|
|
|
|
|
|
2006-08-10 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* The Ruby VALUE to 'uchar *' marshaller wasn't working correctly if the
|
|
|
Ruby string contained nulls. Fixed by Dirk Mueller (thanks) and also
|
|
|
applied for 'char *' types.
|
|
|
|
|
|
2006-07-12 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* The Ruby String to 'char *' and String to 'unsigned char *' were using
|
|
|
the pointer within the Ruby String directly which meant they were
|
|
|
deleted when the Ruby String was gc'd. So they are copied with
|
|
|
strdup () instead.
|
|
|
|
|
|
2006-06-05 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* The metaObject methods for slots and signals are no longer added when
|
|
|
a Qt::Object is constructed, but when slots or signals are added to
|
|
|
a class. This means that signals as well as slots can be added to an
|
|
|
existing instance.
|
|
|
|
|
|
2006-06-04 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* For Qt::QObject classes which are immediate subclasses of Qt::Base,
|
|
|
don't add C metaObject() and qt_invoke() methods as they aren't
|
|
|
needed. This means that a QMetaObject is no longer constructed for
|
|
|
these classes, and the one that the corresponding C++ class has is
|
|
|
returned instead.
|
|
|
|
|
|
2006-05-20 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Fix regression for dynamic class creation via QMetaObject info causing
|
|
|
a crash.
|
|
|
* A list of properties is now returned via Qt::MetaObject.propertyNames
|
|
|
for a Qt::Object with properties for the inspect and pretty_print
|
|
|
methods.
|
|
|
|
|
|
2006-05-15 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Removed the customized version of Kernel.exec, Kernel.open etc
|
|
|
as they aren't needed anymore.
|
|
|
|
|
|
2006-05-14 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* When an unknown C++ class is found, a corresponding Ruby class is now
|
|
|
created. For instance, if a KPresenter KPart is loaded, a
|
|
|
KDE::PresenterDoc class is created.
|
|
|
* It is now possible to set and get properties without needing to use
|
|
|
Qt::Object.property() and Qt::Object.setProperty(). For instance:
|
|
|
|
|
|
factory = KDE::LibLoader.self().factory("libkpresenterpart")
|
|
|
@kpresenter = factory.create(self)
|
|
|
p @kpresenter.presentationDuration
|
|
|
@kpresenter.presentationDuration = true
|
|
|
|
|
|
* A Qt::Variant.to_ruby method has been added which returns a Ruby value
|
|
|
corresponding to the current value of a Qt::Variant
|
|
|
* A boolean Qt::Variant can now be constructed with a Qt::Variant.new(true)
|
|
|
call, and a dummy second arg (as for C++) is no longer needed.
|
|
|
|
|
|
2006-05-07 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* An an type of Q_UINT16 wasn't working with QtRuby. Fixes problem
|
|
|
reported by maelclerambault.
|
|
|
|
|
|
2006-05-03 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* The qt_emit() and qt_invoke() methods are overriden by the QtRuby
|
|
|
runtime. When they are called the runtime looks for a Ruby slot or
|
|
|
signal matching the call, and invokes it if found. If a Ruby version
|
|
|
wasn't found for a signal however, the qt_invoke() method was being
|
|
|
called in the Smoke library instead of qt_emit(). This occasionally
|
|
|
caused a crash in code using KDE::HTMLPart.
|
|
|
|
|
|
2006-04-17 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Made :foobar a synonym for 'foobar()' for slots and signals
|
|
|
* Added some calls for Qt::Event.type methods to force them
|
|
|
to go via method_missing()
|
|
|
|
|
|
2006-03-29 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Don't special case open() in virtual method callbacks, because all
|
|
|
the Qt classes with open methods now have explicit open() method
|
|
|
calls. So it isn't possible that Kernel.open() will be called
|
|
|
wrongly anymore.
|
|
|
|
|
|
2006-03-29 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Added a KDE::KonsolePart class for when a konsolePart KPart is
|
|
|
dynamically loaded.
|
|
|
|
|
|
2006-03-21 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Added various explicit calls to method_missing() for methods which
|
|
|
are defined in Kernel and Object, such as 'exec', 'select', 'format'
|
|
|
etc. Otherwise, the corresponding methods in the Smoke library were
|
|
|
not being invoked correctly.
|
|
|
* Removed a virtual destructor compile warning
|
|
|
* Removed obsolete qtruby-only.patch and kdevelop project file
|
|
|
|
|
|
2006-03-14 Richard Dale <rdale@foton.es>
|
|
|
|
|
|
* Fixed bugs in const lists marshallers, where the items in the ruby
|
|
|
Array were wrongly being updated after a method call
|
|
|
|
|
|
2006-02-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The Kernel#select method was being redefined as it clashed with
|
|
|
Qt::SqlCursor#select and Qt::SqlSelectCursor#select methods. This
|
|
|
caused a problem when QtRuby was used with Rails ActiveRecord which
|
|
|
also has a select method. So the methods are now defined in the Sql
|
|
|
classes, and use method_missing() to explictly invoke the methods in
|
|
|
the Smoke library. Fixes problem reported by Imo Sosa.
|
|
|
|
|
|
2006-01-18 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Improved the debug logging of virtual method callbacks so that the
|
|
|
arg types are shown too
|
|
|
|
|
|
2005-12-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The logger_backend() function has been removed and replaced with
|
|
|
qWarning() calls. This was because of problems with getting the
|
|
|
logger_backend() code to work on Windows.
|
|
|
|
|
|
2005-12-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Improved the code to call a C++ slot via qt_invoke() when a ruby slot hasn't
|
|
|
been defined. It now invokes the method in the Smoke lib directly, rather
|
|
|
than going via method_missing().
|
|
|
|
|
|
2005-12-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The ruby display() method was clashing with a display() method in some
|
|
|
QtRuby classes, and so it was aliased to _display(). However, this caused
|
|
|
problems with the ruby RMagick extension. The display methods are now
|
|
|
special cased in Qt::LCDNumber, Qt::WhatsThis and Qt::TimeEdit. Fixes
|
|
|
problem reported by David Corbin.
|
|
|
* The slots and signals methods are now module methods of Qt::Base,
|
|
|
rather than defined as ordinary methods in class Module, reducing name
|
|
|
space pollution. Thanks to Esteban Manchado for pointing this out.
|
|
|
|
|
|
2005-12-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* QtRuby didn't work with versions of ruby > 1.8.3, as it didn't call
|
|
|
initialize methods correctly. It used the rb_respond_to() method
|
|
|
to check it a newly created qt instance responded to :initialize.
|
|
|
However, in newer versions of ruby rb_responds_to() ignores
|
|
|
private methods such as initialize(). The solution was to just remove
|
|
|
the test, as it was redundant anyway.
|
|
|
* Fixes problem reported by Hans Fugel and Caleb Tennis.
|
|
|
|
|
|
2005-11-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* When dispose() was used to delete a ruby instance, the mapping between
|
|
|
the C++ ptr and corresponding ruby instance was not being removed, and
|
|
|
this caused a crash. Fixes problem reported by Christopher Chan-Nui.
|
|
|
|
|
|
2005-11-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* 'signed int&' types were not being matched or marshalled correctly
|
|
|
|
|
|
2005-11-02 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* A Qt::Canvas owned by a Qt::CanvasItem is marked as in use
|
|
|
and not needing garbage collection
|
|
|
|
|
|
2005-10-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Argument types of 'unsigned short int' were not working. Fixes
|
|
|
problem reported by Ian Monroe
|
|
|
|
|
|
2005-10-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* More fixes from the Qt4 version
|
|
|
* The Qt::ByteArray class is now a normal Smoke class,
|
|
|
rather than a special case, as it's easier to make a
|
|
|
Qt::ByteArray look like a ruby String, than the other way
|
|
|
round.
|
|
|
* The overloaded method resolution for enum arg types has been
|
|
|
improved
|
|
|
* Added missing relational operators to Qt::Integer
|
|
|
|
|
|
|
|
|
2005-09-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added some fixes from the Qt4 version of QtRuby
|
|
|
* There was a clash between operator methods in Kernel
|
|
|
for '>', '>=', '<' and '<=' and the ones in the Smoke lib.
|
|
|
* Fixed a Qt::ByteArray marshalling problem
|
|
|
|
|
|
2005-09-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed various problems with the rbuic code generation for database
|
|
|
.ui forms reported by Daniel Morris
|
|
|
|
|
|
2005-09-11 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed problem with Qt::SqlCursor.select() reported by Daniel Morris
|
|
|
|
|
|
2005-09-02 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added a Qt::Char.to_s method for converting a Qt::Char to a ruby
|
|
|
string
|
|
|
|
|
|
2005-08-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Caleb Tennis wrote:
|
|
|
One nice feature would be to allow Qt::Object::inherits() to use the QtRuby
|
|
|
naming scheme for valid lookups. For example, right now:
|
|
|
|
|
|
irb(main):001:0> w = Qt::Widget.new(nil)
|
|
|
irb(main):002:0> w.inherits("Qt::Widget")
|
|
|
=> true
|
|
|
irb(main):003:0> w.inherits("Qt::Object")
|
|
|
=> false
|
|
|
irb(main):004:0> w.inherits("QWidget")
|
|
|
=> true
|
|
|
irb(main):005:0> w.inherits("QObject")
|
|
|
=> true
|
|
|
|
|
|
* Inherits now works for "QObject", and for "Qt::Object" as well.
|
|
|
|
|
|
2005-08-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added a file called 'COPYING' to the qtruby project, with a note that
|
|
|
the 'Qt' trademark in the QtRuby name is used with Trolltech's permission,
|
|
|
followed by the text of the GPL v2 license.
|
|
|
|
|
|
2005-07-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Qt::version and Qt::ruby_version are now module methods
|
|
|
|
|
|
2005-07-15 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Qt::Socket started working correctly when I and regenerated and rebuilt
|
|
|
my Smoke library. Before then it was calling the wrong version of
|
|
|
QSocket::at() for some reason, and wasn't discarding bytes that had
|
|
|
already been read.
|
|
|
* Removed comment from the client.rb example about Qt::Socket.canReadLine
|
|
|
always returning true now it works.
|
|
|
|
|
|
2005-07-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added example programs for client/server programming with Qt::Socket
|
|
|
and associated classes. client.rb illustrates current bugs in QtRuby
|
|
|
* Qt::Socket.canReadLine() always returns true
|
|
|
* Qt::readLine() seg faults when called a second time
|
|
|
* A memory leak and seg faulting problems like the above were reported
|
|
|
by Caleb Tennis
|
|
|
|
|
|
2005-07-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* When a Qt method returned a QString value type, such as:
|
|
|
QString QSocket::readLine()
|
|
|
A temporary QString was being created that wasn't deleted and caused a
|
|
|
memory leak. Fixes problem reported by Caleb Tennis.
|
|
|
|
|
|
2005-06-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Improved display of Qt::Enums in the KDevelop debugger. With a p
|
|
|
command it just looks like a constant, but a pretty print pp command
|
|
|
shows the type of the underlying C++ enum:
|
|
|
|
|
|
(rdb:1) p AlignTop
|
|
|
16
|
|
|
|
|
|
(rdb:1) pp AlignTop
|
|
|
#<Qt::Enum:0x1825db68 @type=Qt::AlignmentFlags, @value=16>
|
|
|
|
|
|
2005-06-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Upped the version to 1.0.10
|
|
|
|
|
|
2005-06-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The Object.id method was clashing with the one in Qt::WidgetStack.
|
|
|
Both methods now work correctly. Fixes problem reported by Dave M.
|
|
|
|
|
|
2005-05-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The rbuic '-subimpl' option now works correctly
|
|
|
|
|
|
2005-05-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The initialize methods in code generated by the rbuic tool, now have
|
|
|
named parameters with default values, rather than '*k'
|
|
|
|
|
|
2005-05-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed bug where the rbuic tool was generating incorrect code
|
|
|
for an array of strings used as a combo box value
|
|
|
|
|
|
2005-05-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added support for the QScintilla text editing widget, including an optional
|
|
|
'--enable-qscintilla=yes' configure option. The QScintilla classes are included in a
|
|
|
Qext:: namespace. Thanks to Blackshack for the idea and configure code.
|
|
|
* The KDE namespace modules are only created if the Korundum extension is used.
|
|
|
Otherwise the Object namespace was being polluted with unused constants.
|
|
|
* Some enums in the QScintilla headers had a spurious comma after
|
|
|
the last enum value, and kalyptus was failing with a parse error.
|
|
|
The comma is now ignored.
|
|
|
|
|
|
2005-05-25 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* '!=' operator methods in the Smoke library were being shown via ruby introspection when they
|
|
|
can't actually be written in ruby, and are derived from the corresponding '==' operator method.
|
|
|
* '==' operator methods can now be called.
|
|
|
|
|
|
2005-05-22 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed bug in Smoke code generation where spaces were not being removed from operator
|
|
|
methods such as 'operator *'
|
|
|
* Operator methods are now displayed correctly via ruby introspection
|
|
|
|
|
|
2005-05-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Improved the format of enums displayed by rbqtapi and rbkdeapi
|
|
|
|
|
|
2005-05-20 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Removed unused Qt::Internal functions
|
|
|
* Added KNS:: to the namespaces expected by the rbkdeapi tool
|
|
|
* Introspection via Object#methods, public_methods, protected_methods and singleton_methods
|
|
|
or Module#constants, instance_methods, protected_instance_methods and public_instance_methods
|
|
|
now all include methods from the Smoke runtime. This fixes part of the request in bug 105772, but
|
|
|
not enabling 'respond_to?' to be used with Smoke methods.
|
|
|
|
|
|
2005-05-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The Kernel.format() method was clashing with the Qt::MimeSource.format() method.
|
|
|
The correct method is now called according to the type of the first argument. Fixes
|
|
|
problem reported by Armin Joellenbeck
|
|
|
|
|
|
2005-04-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Removed superfluous "require 'pp'" statement
|
|
|
|
|
|
2005-04-25 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Upped the version to 1.0.9 for the RubyForge release
|
|
|
|
|
|
2005-04-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed regressions in the rbqtapi and rbkdeapi utilities caused by the Qt::Internal namespace
|
|
|
tidy up
|
|
|
* Qt::version and Qt::ruby_version had wrongly been moved to the Qt::Internal module
|
|
|
|
|
|
2005-04-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Upped the version to 1.0.8 for the RubyForge release
|
|
|
|
|
|
2005-03-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* An 'include Qt' statement in qtruby.rb where a couple of methods were being added to
|
|
|
class Module was causing all the Qt methods to be added to Module. Oops, this a really
|
|
|
serious bug. Various methods in qtruby.rb are now module methods in the Qt::Internal
|
|
|
module. Big thanks to Eric Veensta and Samir Patel for pointing out this can of worms.
|
|
|
|
|
|
* It also fixes a problem reported by David Crosby where a "require 'time'" statement was
|
|
|
incompatible with a "require 'Qt'" statement. As the cause was unknown, a hacky workround
|
|
|
had to be added, which is no longer needed.
|
|
|
|
|
|
2005-03-24 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* When a subclass of QObject is instantiated in the C++ world, and the exact class doesn't
|
|
|
exist in ruby, then scan up the inheritance heirarchy via QObject::metaObject() until a
|
|
|
class is found which does have a ruby equivalent. Fixes problem reported by Dmitry Morozhnikor
|
|
|
where a KViewPart was being returned as a Qt::Object, rather than a KParts::ReadOnlyPart.
|
|
|
* The internal method 'cast_object_to()' now takes a class literal as a second parameter,
|
|
|
rather than the class name as a string
|
|
|
|
|
|
2005-03-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Moved Qt.rb from qtruby/lib/Qt to qtruby/lib. Fixes problem building qtruby on Mac OS X
|
|
|
with extconf.rb reported by Michael Doppler
|
|
|
* Rename 'README.build' as INSTALL
|
|
|
|
|
|
2005-02-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Upped the version to 1.0.7 for the KDE 3.4 release
|
|
|
* Removed the khtml:: namespace as it wasn't being used
|
|
|
|
|
|
2005-02-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added a KNS:: namespace for the KNewStuff library
|
|
|
|
|
|
2005-02-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The KDE::Win::WindowInfo nested class is included in the Korundum runtime
|
|
|
|
|
|
2005-01-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Made some changes to get code generated by the rbkconfig_compiler
|
|
|
to work. When an argument is a non-const reference to a primitive
|
|
|
type, or a QString or QStringList, then don't delete it after the
|
|
|
method call. This is because a class like KConfigSkeleton takes
|
|
|
references, and then 'squirrels them away' - before the references
|
|
|
were just pointing to junk on the stack.
|
|
|
* The method 'isImmutable' is added to KDE::ConfigSkeletonItems
|
|
|
|
|
|
2005-01-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* If a ruby Array is passed as an argument to an overloaded method, give
|
|
|
priority to QStringList args.
|
|
|
|
|
|
2005-01-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* rbuic was giving widgets names containing a '@' to match the ruby instance variable
|
|
|
name. However, this doesn't work with KDE::ConfigDialog which expects the names to
|
|
|
match the ones generated in a KDE::ConfigSkeleton by rbkconfig_compiler so '@' is no
|
|
|
longer added.
|
|
|
|
|
|
2005-01-20 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed bug reported by Ian Monroe where the KIO.copy() method wasn't being found in
|
|
|
the Smoke runtime. Modules methods are now trapped with method_missing and
|
|
|
despatched to call Smoke methods correctly
|
|
|
* Added support for the KDE::ConfigSkeleton and subclasses. Constructors for nested
|
|
|
classes can now be called correctly
|
|
|
|
|
|
CCMAIL: ian.monroe@gmail.com
|
|
|
|
|
|
2005-01-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added a Qt::Integer.coerce method so that Qt::Integers and Qt::Enums can be
|
|
|
combined in arithmetic expressions with ruby Integers.
|
|
|
|
|
|
2005-01-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Upped the version to 1.0.6 for the KDE 3.4 beta 1 release
|
|
|
|
|
|
2005-01-02 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The Qt::Object pretty_print method now shows the class name of enum properties
|
|
|
|
|
|
2004-12-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed an interesting bug reported by Stephan Oehlert. Kernel has a method called
|
|
|
open() which takes a String as the first argument. But when a call is made to an open()
|
|
|
method in the Qt classes, it messes up the method_missing() logic to divert it to the
|
|
|
Smoke library. Instead it attempts to call the Kernel method with the wrong arg types.
|
|
|
|
|
|
* The problem is fixed by calling the appropriate method based on the
|
|
|
type of the first arg. However, it is no longer possible to override virtual methods
|
|
|
called 'open'.
|
|
|
|
|
|
CCMAIL: stephan.oehlert@gmx.net
|
|
|
|
|
|
2004-12-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added a parent attribute to the Qt::Object pretty_print() method
|
|
|
* Removed all the properties from the Qt::Object inspect() method except name,
|
|
|
x, y, width, height (the last four for for Qt::Widgets only). This speeds up fetching
|
|
|
the details of Qt::Objects that have more than just a handful of children.
|
|
|
The full details can still be fetched with a pretty_print() call via a debugger 'pp'
|
|
|
command.
|
|
|
|
|
|
2004-12-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The qtruby runtime needs to be able to run the code for an initialize() method up
|
|
|
to the point where the C++ instance has been constructed and wrapped, and then
|
|
|
jump out. It then re-runs initialize() with the wrapped instance. Before a callcc() call
|
|
|
had been used for the jumping which worked fine. However, it made the frame stack
|
|
|
look strange when debugging code with the KDevelop debugger. The fix is to use
|
|
|
catch and throw instead, as they leave the stack in a more normal looking state.
|
|
|
|
|
|
2004-12-20 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added a work round for a bug caused by an incompatibility between QtRuby
|
|
|
the 'require time' statement, reported by David Crosby
|
|
|
|
|
|
CCMAIL: dcrosby42@gmail.com
|
|
|
|
|
|
2004-12-18 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added a 'receivers' property to the Qt::Object inspector. This allows the active signal
|
|
|
connections for a Qt::Object instance to be viewed in the KDevelop debugger as a
|
|
|
Hash. The hash keys are the signal names, and the hash values are arrays of the target
|
|
|
signals/slots as Qt::Connection instances.
|
|
|
|
|
|
2004-12-17 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added 'metaObject' as an expandable property for Qt::Objects. This allows the
|
|
|
Qt::MetaClass class heirarchy to be browsed, and signals/slots declarations inspected.
|
|
|
|
|
|
2004-12-17 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed bug in lower case/underscore method naming to camel case conversion
|
|
|
|
|
|
2004-12-15 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added an attribute of 'children' to the Qt::Object inspect method, which is an array
|
|
|
of the Qt::Object's children
|
|
|
* The QObjects in a QObjectList were not being created with the exact ruby class
|
|
|
if they hadn't been allocated from within the ruby code, and just left as Qt::Objects
|
|
|
|
|
|
2004-12-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Qt::Object properities of type enum are shown by name in the KDevelop debugger,
|
|
|
and not as numeric literals
|
|
|
|
|
|
2004-12-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Changed the format of the Qt::Color inspect string to #<Qt::Color:0x0 #ffffff>
|
|
|
* Added some more attributes to the Qt::Font inspector
|
|
|
* Added a Qt::Cursor inspector
|
|
|
|
|
|
2004-12-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed a bug where the debugger was calling an inspect method on an instance
|
|
|
which wasn't fully initialized yet, and not of type T_DATA.
|
|
|
|
|
|
2004-12-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added inspect() and pretty_print() methods for Qt::SizePolicy
|
|
|
* Greatly improved the Qt::Object Qt property based inspect() and pretty_print()
|
|
|
methods. Property types such as Qt::Point, Qt::Font and Qt::Rect can be
|
|
|
viewed as expandable items in the KDevelop debugger variable tree.
|
|
|
|
|
|
2004-12-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* More inspect() and pretty_print() methods for common classes to improve debugging -
|
|
|
Qt::Color, Qt::Font, Qt::Point, Qt::Rect, Qt::Size, Qt::Date, Qt::DateTime and Qt::Time
|
|
|
|
|
|
2004-12-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added inspect() and pretty_print() methods for Qt::Objects that get the QObject properties and
|
|
|
show them as 'name=value' pairs. This means the KDevelop debugger can make Qt::Object
|
|
|
variables expandable and show their properties.
|
|
|
|
|
|
2004-11-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Upped the QtRuby version to 1.0.5 for the KDE 3.3.2 release
|
|
|
|
|
|
2004-10-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* qError(), qWarning() and qFatal() are now Object instance methods, rather than Qt module
|
|
|
methods. This means they don't need to be referenced with an ugly 'Qt.' module scope anymore.
|
|
|
|
|
|
2004-10-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* If a class method was called before super, it was wrongly throwing an exception
|
|
|
as an error. For instance, this call to i18n():
|
|
|
|
|
|
def initialize()
|
|
|
super(TreeList, i18n("My App Preferences"),
|
|
|
Help|Default|Ok|Apply|Cancel, Ok)
|
|
|
...
|
|
|
|
|
|
|
|
|
2004-10-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Until super has been called in an initialize() method, Qt methods can't be called on
|
|
|
it. An exception is now thrown 'Instance not initialized', instead of it causing a seg fault.
|
|
|
* For instance:
|
|
|
|
|
|
class MyWidget < Qt::ComboBox
|
|
|
def initialize
|
|
|
# Must call super first
|
|
|
insertItem('abc')
|
|
|
super
|
|
|
end
|
|
|
end
|
|
|
|
|
|
* Fixes problem reported by Han Holl
|
|
|
CCMAIL: kde-bindings@kde.org
|
|
|
|
|
|
2004-10-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Upped the version to 1.0.4 for the RubyForge release
|
|
|
* Added some names to AUTHORS from the ChangeLog
|
|
|
|
|
|
2004-10-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* If the smokeruby_mark() function was called for an instance of a QObject, it should
|
|
|
mark all the instances below it in the QObject tree, as not needing garbage collection.
|
|
|
However, if a node in the tree didn't have a mapping onto a ruby instance the marking
|
|
|
process stopped there, even though the grandchildren and their descendants might
|
|
|
have a valid mapping onto ruby instances.
|
|
|
* The solution is to always traverse the entire tree. Fixes problem reported by Han Holl.
|
|
|
|
|
|
CCMAIL: kde-bindings@kde.org
|
|
|
|
|
|
2004-10-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* All the Qt::CanvasItems owned by a Qt::Canvas are marked with rb_gc_mark() to
|
|
|
prevent them being garbage collected
|
|
|
* The top level widgets are no longer disposed() on Qt::Application exit
|
|
|
* Fixed some bugs in the chart example.
|
|
|
|
|
|
2004-10-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed arg matching to give priority to 'int' or 'signed' when passed a ruby Integer, or
|
|
|
'double' when passed a ruby Float
|
|
|
* The chart example can now save and load chart files
|
|
|
|
|
|
2004-10-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added greater than and less than operators to Qt::Enum, so that enums can be compared with
|
|
|
Integers
|
|
|
* Added the chart example for Qt Tutorial #2
|
|
|
|
|
|
2004-10-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added Qt::Application.ARGV. It returns the original ruby ARGV array with Qt command line
|
|
|
options removed.
|
|
|
|
|
|
2004-10-11 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added a global flag 'application_terminated'. Once this is set the QtRuby runtime will no longer
|
|
|
delete any C++ instances. This will hopefully fix crash on application exit problems reported
|
|
|
by Thibauld Favre.
|
|
|
|
|
|
CCMAIL: kde-bindings@kde.org
|
|
|
|
|
|
2004-10-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The recent fix for checking invalid arg types, didn't work with nil passed as a value
|
|
|
|
|
|
2004-10-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* A QRgb[] color table was being wrongly deleted after marshalling
|
|
|
|
|
|
2004-10-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* If a ruby method overriding a virtual method returned a primitive type when an instance of a class
|
|
|
was expected, it caused a seg fault. A ruby exception is now thrown instead. Fixes problem reported by
|
|
|
Han Holl.
|
|
|
|
|
|
* For instance,
|
|
|
class ContainerGrid < Qt::Widget
|
|
|
def sizeHint
|
|
|
# next line should return a Qt::Size, not an integer
|
|
|
100
|
|
|
end
|
|
|
end
|
|
|
|
|
|
Now gives the following error:
|
|
|
|
|
|
qsize.rb:12:in `method_missing': Invalid type, expecting QSize (ArgumentError)
|
|
|
from qsize.rb:12
|
|
|
|
|
|
CCMAIL: kde-bindings@kde.org
|
|
|
|
|
|
2004-10-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The smokeruby_mark() function was only marking the immediate children of a
|
|
|
Qt::Object for not being garbage collected. It now marks all the Qt::Objects
|
|
|
in the object tree below it.
|
|
|
|
|
|
2004-10-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added Qt Designer Tutorial 'Creating Dialogs' translated into QtRuby. It
|
|
|
shows how you can combine ruby code generated from .ui files with the rbuic
|
|
|
tool, with your own code.
|
|
|
|
|
|
* The .ui files and images are identical to the original C++ versions.
|
|
|
|
|
|
* It features a simple Makefile to run rbuic when you change the .ui files, and
|
|
|
regenerate the ruby sources.
|
|
|
|
|
|
2004-10-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed rbuic '-embed' option which had been broken after adding DCOP suppot
|
|
|
to Korundum, after changes in the Qt::ByteArray class.
|
|
|
* Fixed QRgb* marshalling problem where the ruby value was overflowing a signed int.
|
|
|
The target for marshalling is now an array of unsigned ints.
|
|
|
* When a Qt::Application exits after returning for an Qt::Application.exec() call, the top
|
|
|
level widgets are deleted as well as the Qt::Application itself. This fixes a problem where
|
|
|
ruby does garbage collection in an arbitrary order after the ruby app has exited. It destroys
|
|
|
a ruby Hash of QMetaData info that the Qt::Application or Qt::MainWindow need to clean up.
|
|
|
* The layout of the ruby code generated by rbuic has been improved with better indenting.
|
|
|
* attr_reader attribute accessors have been added for the most important instance variables
|
|
|
in an rbuic generated class to make them more easily accessed from another class.
|
|
|
|
|
|
2004-10-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Given a C++ instance and an approximate classname, the QtRuby runtime uses the
|
|
|
various Qt rtti mechanisms such as QObject::className() to improve the resolution
|
|
|
of the name. However, the numeric classId into the array of classnames in the Smoke
|
|
|
runtime was not being updated in line with the more accurate name.
|
|
|
* This caused problems with method argument matching which uses the numeric classId
|
|
|
rather than the ruby object's classname, and so QtRuby wrongly assumed that a an
|
|
|
instance of a Qt::Widget was a Qt::Object.
|
|
|
* Fixes problem reported by Han Holl
|
|
|
|
|
|
CCMAIL: kde-bindings@kde.org
|
|
|
|
|
|
2004-10-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed a couple of errors in the rbuic generated code found as a result of
|
|
|
the recently improved stricter arg type matching.
|
|
|
|
|
|
2004-10-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* When a ruby app exits, rb_gc_call_finalizer_at_exit() is called and all the ruby
|
|
|
instances are garbage collected. The problem is that this is done in an arbitrary
|
|
|
order, and Qt::Application was occasionally crashing in its destructor because
|
|
|
QMetaObject info it still needed was being deleted before then.
|
|
|
|
|
|
* Fixes problem reported by Thibauld Favre
|
|
|
|
|
|
CCMAIL: <tfavre@mandrakesoft.com>
|
|
|
|
|
|
2004-10-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* When a QMetaData object was contructed the class name was a pointer from a ruby
|
|
|
string, and was being corrupted when the string was freed. The string is now copied.
|
|
|
|
|
|
2004-10-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Han Holl's report about a when you pass an incorrect arg type to a QtRuby
|
|
|
method, it caused a crash has opened a 'can of worms'. This was because there
|
|
|
was no arg type checking if there was only one candidate method in the
|
|
|
Smoke runtime. Now that arg type checking is applied to all QtRuby method calls, not
|
|
|
not just those that after lookup in Smoke map onto a single method, the overloaded
|
|
|
method resolution via the arg types has had to be greatly improved. This has
|
|
|
been done, and so the arg type matching is now extremely fussy.
|
|
|
|
|
|
CCMAIL: kde-bindings@kde.org
|
|
|
|
|
|
2004-10-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* An optimization in the overloaded method resolution matching causes a crash;
|
|
|
instead of throwing a ruby exception when a programming error is made.
|
|
|
If there is only one method found in the Smoke runtime, it assumes that it must
|
|
|
be the right one and just takes that.
|
|
|
|
|
|
* For example:
|
|
|
|
|
|
lay = Qt::HBoxLayout.new(self)
|
|
|
ed = Qt::LineEdit.new('blah',self)
|
|
|
# The next line should be: lay.addWidget(ed)
|
|
|
lay.addLayout(ed)
|
|
|
|
|
|
* Fixes problem reported by Han Holl
|
|
|
|
|
|
CCMAIL: kde-bindings@kde.org
|
|
|
|
|
|
2004-10-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* A common programming error is to accidently leave off the 'new' method call when
|
|
|
creating an instance. The QtRuby runtime wasn't correctly trapping an attempt to
|
|
|
call an instance method on a class object, and was seg faulting rather than
|
|
|
throwing an exception.
|
|
|
|
|
|
* For example:
|
|
|
|
|
|
# The next line should be: lay = Qt::HBoxLayout.new(self)
|
|
|
lay = Qt::HBoxLayout
|
|
|
ed = Qt::LineEdit.new('blah',self)
|
|
|
lay.addWidget(ed)
|
|
|
|
|
|
* Fixes problem reported by Han Holl
|
|
|
|
|
|
CCMAIL: kde-bindings@kde.org
|
|
|
|
|
|
2004-10-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Upped version to 1.0.3 for the KDE 3.3.1 release
|
|
|
|
|
|
2004-10-02 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added Ruby Array to QPair<int,int>& marshaller
|
|
|
|
|
|
2004-09-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The resolve_classname() function in handlers.cpp uses the various Qt rtti mechanisms to
|
|
|
get a more accurate classname to instantiate as a ruby instance. It has now been extended
|
|
|
with a callback to the Korundum library to do the same for KDE classes.
|
|
|
|
|
|
CCMAIL: zack@kde.org
|
|
|
|
|
|
2004-09-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added Jim Menard's ruboids as an OpenGL/Qt::GL* Widgets example
|
|
|
* Improved instructions and exconf.rb for building the gui extension from Michal 'hramrach' Suchanek
|
|
|
|
|
|
2004-09-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Upped the version to 1.0.2 for Rubyforge release
|
|
|
|
|
|
2004-09-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added a 'qui' extension for reading in .ui Qt Designer files at runtime
|
|
|
* For example:
|
|
|
|
|
|
require 'Qt'
|
|
|
require 'qui'
|
|
|
|
|
|
a = Qt::Application.new(ARGV)
|
|
|
if ARGV.length == 0
|
|
|
exit
|
|
|
end
|
|
|
|
|
|
if ARGV.length == 2
|
|
|
QUI::WidgetFactory.loadImages( ARGV[ 0 ] )
|
|
|
w = QUI::WidgetFactory.create( ARGV[ 1 ] )
|
|
|
if w.nil?
|
|
|
exit
|
|
|
end
|
|
|
w.show()
|
|
|
a.connect( a, SIGNAL('lastWindowClosed()'), a, SLOT('quit()') )
|
|
|
a.exec()
|
|
|
end
|
|
|
|
|
|
|
|
|
2004-09-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Upped the version to 1.0.1 for the current Rubyforge release
|
|
|
|
|
|
2004-09-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added Kate:: and KTextEdit:: namespaces for writing Kate plugins
|
|
|
|
|
|
2004-09-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Some newer changes from the uic were added to the rbuic tool.
|
|
|
|
|
|
2004-09-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Brought the rbuic code to uncompress zip files in line with the current uic code
|
|
|
* Added a qmake project file for building the rbuic tool on Mac OS X, and some
|
|
|
notes on how to build QtRuby on a Mac.
|
|
|
|
|
|
2004-08-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added Kontact module to provide a namespace for the kontact plugin api
|
|
|
|
|
|
2004-08-25 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Underscore naming for can be used for method names instead of camel case if
|
|
|
preferred. Any underscores in method names are removed, and the following
|
|
|
character is capitalised. For example, either of these two forms can be used
|
|
|
to call the same method:
|
|
|
|
|
|
create_standard_status_bar_action()
|
|
|
|
|
|
createStandardStatusBarAction()
|
|
|
|
|
|
2004-08-23 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* A 'thing?' ruby method can now be used as a synonym for either isThing() or hasThing() in the Smoke runtime
|
|
|
|
|
|
2004-08-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Upped the QtRuby version to 1.0.0 - it must work now then..
|
|
|
|
|
|
2004-08-02 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added 'long long' and 'unsigned long long' marshallers
|
|
|
|
|
|
2004-07-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The smokeruby_mark() gc marking f'n now marks the QTableItems owned
|
|
|
by a QTable so they don't get garbage collected, even if there are no
|
|
|
remaining references in the user code.
|
|
|
|
|
|
2004-07-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added a template based method for QValueList marshallers, and several
|
|
|
QValueList types.
|
|
|
|
|
|
2004-07-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Removed any marshaller types that weren't in the Smoke runtime from the
|
|
|
type name to marshaller function lookup table.
|
|
|
|
|
|
2004-07-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* If a class doesn't have a virtual destructor, then no mapping was being
|
|
|
kept from the C++ instance to the corresponding ruby value. If the class
|
|
|
had virtual method callbacks, this meant that the ruby instance couldn't
|
|
|
be found, and the callback couldn't be made.
|
|
|
|
|
|
* Hence, the Qt::ToolTip callback in examples/qt-examples/tooltip didn't
|
|
|
work, as that class doesn't have a virtual destructor.
|
|
|
|
|
|
* Added an 'isEnum()' function to use when matching args in overloaded
|
|
|
method resolution.
|
|
|
|
|
|
* QCString arg types are chosen in preference to QByteArray ones, matching
|
|
|
against ruby strings, when resolving an overloaded method call.
|
|
|
|
|
|
* Qt::Enums and Qt::Integers can be marshalled to uints, longs and ulongs as
|
|
|
well as ints.
|
|
|
|
|
|
* Added a '==' operator to Qt::Enums so they can be compared with ruby Integers
|
|
|
|
|
|
2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Qt::Integer arithmetic and bit operations return Qt::Integers, rather
|
|
|
than ruby Integers so that ops can be nested as for Qt::Enums.
|
|
|
|
|
|
2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The recently added Qt::Integer bit operators were returning a ruby Integer
|
|
|
type. When they were nested, the Integer didn't know how to convert the
|
|
|
Enum it was being or'd with to an Integer.
|
|
|
|
|
|
* The solution is to add bit operators to the Enum class which return Enums
|
|
|
rather than Integers.
|
|
|
|
|
|
* The following code didn't work:
|
|
|
|
|
|
def initialize(message)
|
|
|
super(nil, "passivedlg",
|
|
|
Qt::WStyle_Customize | Qt::WX11BypassWM | Qt::WStyle_StaysOnTop |
|
|
|
Qt::WStyle_Tool | Qt::WStyle_NoBorder)
|
|
|
|
|
|
2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Replaced QString casts to 'const char *' with latin1() calls
|
|
|
|
|
|
2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The Qt::Enum class was missing bit operations, so various bit methods
|
|
|
were added to Qt::Enum's superclass, Qt::Integer.
|
|
|
|
|
|
* This was causing this line from examples/uimodules/uidialogs.rb to fail:
|
|
|
|
|
|
dlg = KDE::DialogBase.new(parent, "sample_dialog", false, caption,
|
|
|
KDE::DialogBase::Ok | KDE::DialogBase::Cancel,
|
|
|
KDE::DialogBase::Ok, true )
|
|
|
|
|
|
2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added error messages for invalid slot or signal declarations
|
|
|
|
|
|
2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The standard ruby error message for missing constants and methods is
|
|
|
now used when they can't be found in the Smoke library. Removed Alex's
|
|
|
comment about the previous approach, now I agree this is the best way
|
|
|
to show errors.
|
|
|
|
|
|
CCMAIL: me@lypanov.ne
|
|
|
|
|
|
2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added qDebug(), qFatal() and qWarning() module methods
|
|
|
|
|
|
2004-07-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The parsing of types passed to slots, (or returned from dcop slots) didn't
|
|
|
work with template types containing commas such as 'QMap<QString,QString>'.
|
|
|
* Added 'QMap<QString,QString>&' and 'QMap<QString,QVariant>&' to the
|
|
|
handlers.cpp string to marshaller lookup table.
|
|
|
|
|
|
2004-07-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added marshallers for QMap<QString,QString> and QMap<QString,QVariant> to and from ruby hashes
|
|
|
|
|
|
2004-07-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The error messages for missing methods or missing constants now give the
|
|
|
name of the missing item.
|
|
|
* For example, this incorrect line:
|
|
|
|
|
|
color_group.setColor( ColorGroup::MyMissingConst, blue )
|
|
|
|
|
|
Gives this error:
|
|
|
|
|
|
splitter.rb:16:in `const_missing': unresolved constant
|
|
|
reference MyMissingConst (ArgumentError)
|
|
|
|
|
|
* Implements suggestion from Jeff on the kdebindings list
|
|
|
|
|
|
CCMAIL: kde-bindings@kde.org
|
|
|
|
|
|
2004-07-19 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added Qt::Enum type. Before a C++ enum was being marshalled to a ruby
|
|
|
Integer, and the type name of the enum was lost. A Qt::Enum is a subclass
|
|
|
of Integer with an extra type name.
|
|
|
* This fixes a problem with overloaded method resolution where two methods differ
|
|
|
only be an enum type such as this:
|
|
|
|
|
|
# KPasswordEdit(EchoMode echoMode, QWidget *parent, const char *name);
|
|
|
# KPasswordEdit(EchoModes echoMode, QWidget *parent, const char *name);
|
|
|
|
|
|
pw2 = KDE::PasswordEdit.new(KDE::PasswordEdit::ThreeStars, page, "")
|
|
|
|
|
|
2004-07-17 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* After a non-const string arg was passed to a method, the value of the QString
|
|
|
is copied into the ruby value. But it wasn't being correctly converted to the
|
|
|
correct string format according to $KCODE.
|
|
|
* QString to ruby string conversions in QStringLists were not localised either.
|
|
|
|
|
|
2004-07-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Removed superfluous '(void *)' cast which was causing compilation
|
|
|
problems with gcc 3.4
|
|
|
* Fixes problem reported by Jochen Immend<6E>fer on comp.lang.ruby
|
|
|
CCMAIL: kde-bindings@kde.org
|
|
|
|
|
|
2004-07-11 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Qt eucJP and Shift-JIS codecs used to support ruby $KCODE values of 's'
|
|
|
for SJIS and 'e' for EUC
|
|
|
|
|
|
2004-07-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added support for strings in QtRuby programs being written in UTF-8.
|
|
|
Use the '-Ku' command line option or '$KCODE=u' in the program.
|
|
|
* Removed recently added QChar marshalling as it wasn't very i18n friendly
|
|
|
|
|
|
2004-07-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added QChar marshalling
|
|
|
|
|
|
2004-07-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fix for passing C++ 'bool*' and 'bool&' argument types
|
|
|
There is a similar problem for bool arg types as with ints, and the mutable
|
|
|
Qt::Boolean class can be used like this:
|
|
|
|
|
|
# QFont getFont(bool * ok, const QFont&initial, QWidget* parent = 0);
|
|
|
|
|
|
ok = Qt::Boolean.new
|
|
|
font = Qt::FontDialog.getFont(ok, Qt::Font.new("Helvetica [Cronyx]", 10), self)
|
|
|
if !ok.nil?
|
|
|
# font is set to the font the user selected
|
|
|
else
|
|
|
# the user canceled the dialog
|
|
|
end
|
|
|
|
|
|
Use 'nil?' to test the value returned in the Boolean
|
|
|
* Signal and slot type signatures are 'normalized' and any unwanted white space
|
|
|
removed
|
|
|
* Fixed problem with QByteArray arg type matching in overloaded method resolution
|
|
|
|
|
|
2004-07-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fix for passing C++ 'int*' and 'int&' argument types
|
|
|
Ruby passes numeric values by value, and so they can't be changed when passed to a
|
|
|
method. The Qt::Integer class provides a mutable numeric type which does get updated
|
|
|
when passed as an argument. For example, this C++ method 'findByFileContent()':
|
|
|
|
|
|
# static Ptr findByFileContent( const QString &fileName, int *accuracy=0 );
|
|
|
|
|
|
acc = Qt::Integer.new(0)
|
|
|
fc = KDE::MimeType.findByFileContent("mimetype.rb", acc)
|
|
|
|
|
|
It supports the arithmetic operators, and so expressions such as 'acc + 3'
|
|
|
will work.
|
|
|
|
|
|
2004-07-02 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Replaced obsolete STR2CSTR() calls with StringValuePtr()
|
|
|
|
|
|
2004-06-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The internal findAllMethods() method now returns nil rather than an empty array
|
|
|
if the given classid is greater than 'smoke->numClasses'. Otherwise, it wasn't
|
|
|
possible to distinguish between a class with no methods, or reaching the end of
|
|
|
the classes array.
|
|
|
|
|
|
2004-06-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added QStrList marshalling
|
|
|
|
|
|
2004-06-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Improved Garbage Collection, dispose() and isDisposed() methods
|
|
|
- When a ruby instance is garbage collected, the underlying C++ instance will only be
|
|
|
deleted if it isn't 'owned' by a parent object. Normally this will 'just work', but
|
|
|
there are occasions when you need to delete the C++ ahead of garbage collection, and
|
|
|
whether or not it has a parent. Use the dispose() and isDisposed() methods like
|
|
|
this:
|
|
|
|
|
|
item0.takeItem(item1)
|
|
|
item0.insertItem(item1)
|
|
|
|
|
|
item2.dispose
|
|
|
if item2.isDisposed
|
|
|
puts "item2 is disposed"
|
|
|
end
|
|
|
|
|
|
- Fixes problem reported by Hans Fugel
|
|
|
|
|
|
2004-06-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The marshalling TypeHandler function pointers are now looked up in a
|
|
|
QAsciiDict, rather than a ruby Hash.
|
|
|
* Some unused functions removed
|
|
|
* QtRuby version upped to 0.9.8
|
|
|
|
|
|
2004-06-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* New flags were added for Smoke methods - mf_internal and mf_copyctor.
|
|
|
This allows copy constructors which are only used internally by the ruby
|
|
|
runtime, to be excluded from the standard api.
|
|
|
|
|
|
|
|
|
2004-05-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* When ARGV was passed to the Qt::Application constructor, it was being
|
|
|
altered, and the name of the ruby program added as a first entry. The
|
|
|
constructor now uses a copy of the array, and ARGV is left unchanged.
|
|
|
|
|
|
2004-05-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added a '-kde' option to the rbuic tool to generate require 'Korundum'
|
|
|
instead of require 'Qt' statements, and use KDE widgets.
|
|
|
|
|
|
2004-04-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Applied patch from Marek Janukowicz.
|
|
|
* The patch fixes some perlisms, that caused errors on loading a Ruby file
|
|
|
generated from .ui file for Qt::MainWindow subclass
|
|
|
|
|
|
2004-04-20 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The rbuic now correctly names KDE widgets with a KDE:: prefix
|
|
|
* If the rbuic -x option is used, a KDE top level is generated if any
|
|
|
KDE widgets have been found.
|
|
|
|
|
|
2004-04-17 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed bug in rbuic generated code for setResizeMode()
|
|
|
|
|
|
2004-04-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Improved classname resolution for QListViewItem and QTableItem subclasses using rtti() calls
|
|
|
|
|
|
2004-03-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Ruby slots and signals are now inherited correctly
|
|
|
* This causes problems with code generated by the rbuic utility
|
|
|
* Fixes bug 78273 reported by Imobach Sosa
|
|
|
|
|
|
2004-03-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* When a mutable, non-const QString, int*, int&, bool* or bool& is passed
|
|
|
to a method, the corresponding ruby value is now updated after the
|
|
|
method call.
|
|
|
* Some f'ns are no longer static, so that the korundum extension can link
|
|
|
against them.
|
|
|
|
|
|
2004-03-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The f'n new_qobject is no longer static, and can be called from korundum
|
|
|
|
|
|
2004-03-01 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed bugs in QCString, QString and QByteArray marshalling.
|
|
|
- When a C++ method with a mutable, non-const QCString arg type
|
|
|
is called from ruby, the C++ arg value is copied back into the
|
|
|
corresponding ruby arg VALUE after the call.
|
|
|
- A pointer to a locally allocated QString was being returned,
|
|
|
giving memory corruption problems.
|
|
|
* The default debug level in qtruby.rb is DebugLevel::OFF, otherwise
|
|
|
very verbose error messages are produced.
|
|
|
|
|
|
2004-01-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed bug where a QCString was being ranked equally with a QString,
|
|
|
when resolving ambiguous method overloading. Caused the KDE::URL
|
|
|
constructor to fail with a string arg.
|
|
|
|
|
|
2003-11-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added DOM:: namespace for the DOM:: classes in the Smoke library.
|
|
|
* The scope operator in nested classnames is now '::' rather
|
|
|
than '__', so changed the qtruby runtime to expect that.
|
|
|
|
|
|
2003-11-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added the KillerFilter event filtering example from chapter 16
|
|
|
of 'Programming with Qt'
|
|
|
* Improved classname resolution via the Qt rtti mechanisms in
|
|
|
QObject, QEvent and QCanvasItem. This fixed a problem in the
|
|
|
KillerFilter example when a QMouseEvent was passed to the ruby
|
|
|
event handler, it was being instantiated as a ruby Qt::Event,
|
|
|
rather than a Qt::MouseEvent.
|
|
|
|
|
|
2003-11-11 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Improved nil argument matching, and nil can match any type now
|
|
|
not just classes. Translated the code from the Qt.pm in PerlQt,
|
|
|
after discussion on the kde-perl list.
|
|
|
* Fixed bug in rbuic where a C++ 'QString::null' was "" in ruby, and
|
|
|
should have been a nil.
|
|
|
|
|
|
2003-11-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Finally fixed huge leak, causing the progress.rb example to grow by
|
|
|
1 Mb a minute.
|
|
|
* Added a cache from ruby classname to Smoke class id
|
|
|
* Speeded up method selector look ups
|
|
|
* Put some C++ code inside blocks to ensure that the destructor clean
|
|
|
up code was called, when the current f'n longjmp's up the stack rather
|
|
|
than returns normally.
|
|
|
* QtRuby looking good, raised the version to 0.9.6 to celebrate
|
|
|
|
|
|
2003-11-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed some memory leaks
|
|
|
* Ensured that any instance 'owned' by ruby, ie with the the allocated
|
|
|
flag set to true, is always added to the pointer_map.
|
|
|
Otherwise, the same C++ instance can be wrapped twice and will be deleted
|
|
|
twice.
|
|
|
|
|
|
2003-11-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* When marshalling a const ref type to a ruby VALUE, it is now copied
|
|
|
* Applied some fixes for construct_copy() from the PerlQt version of
|
|
|
handlers.cpp
|
|
|
* Fixed some minor bugs in the progress.rb Qt example
|
|
|
|
|
|
2003-11-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added method selector caching for class methods and constructors,
|
|
|
although performance still 'sedate' compared with C++ or Perl.
|
|
|
|
|
|
2003-10-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The smokeruby_mark() f'n now marks the QListViewItems in a QListView
|
|
|
* Fixed a QLayoutItem crash in smokeruby_free()
|
|
|
|
|
|
2003-10-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The smokeruby_mark() f'n was completely wrong, as it is only called if
|
|
|
the current object is already marked. So marking the current object
|
|
|
doesn't make a lot of sense. Instead, if the instance is a kind of
|
|
|
QObject then its childeren are marked.
|
|
|
* The smokeruby_delete() object doesn't delete instances which have
|
|
|
parents of one sort or another.
|
|
|
* Made some fixes to the tutorial examples
|
|
|
* Removed equality '==' operator overloading as it only expects a single
|
|
|
arg in ruby, and not two.
|
|
|
|
|
|
2003-10-22 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Changed some error messages in do_method_missing() to be 'debug only' for now.
|
|
|
|
|
|
2003-10-22 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Got the checklists.rb example working after bug report from Mikhail Yakshin
|
|
|
- Corrected some coding errors in the example itself.
|
|
|
- The arg matching code in method_missing() has been improved and simplified.
|
|
|
- In the overloaded arg type resolution matching, an enum is type 'long'
|
|
|
- A class which matches exactly is a better match than a subclass.
|
|
|
Multiple matches are allowed as long as there is a 'best match'.
|
|
|
- Operator overloading now looks for methods of the form 'operator+=',
|
|
|
'operator-=' etc in the Smoke runtime.
|
|
|
|
|
|
2003-10-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed serious random crash problem
|
|
|
- qt_invoke() and qt_emit() were not calling super if a ruby signal or
|
|
|
slot hadn't been found, which stopped C++ signals from working.
|
|
|
- This prevented destroy() signals from invoking event filter list clean
|
|
|
up when a QObject was deleted, leaving deleted instances in the list.
|
|
|
- 'QUObject*' args are now marshalled as a ruby list with a single
|
|
|
entry of a VALUE wrapping the pointer.
|
|
|
* The ruby ALLOCA_N macro is no longer used as it is based on alloca(),
|
|
|
which doesn't seem a good idea. malloc(), calloc() and free() are used
|
|
|
instead
|
|
|
|
|
|
2003-10-11 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added khtml:: namespace, although it isn't in the SmokeKDE runtime yet
|
|
|
* Improved method_missing error messages if a method can't be resolved
|
|
|
|
|
|
2003-10-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added KIO:: and KParts:: namespaces for the new classes in libsmokekde
|
|
|
|
|
|
2003-10-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Korundum KDE ruby extension
|
|
|
- made various changes so it can be linked against the QtRuby code
|
|
|
|
|
|
2003-09-18 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Removed leading 'K' from class names of when adding to KDE:: namespace.
|
|
|
As per Germain Garand's suggestion on the kde-bindings list:
|
|
|
|
|
|
..actually, I used the same scheme as for Qt when possible, that is:
|
|
|
$class =~ s/^Q/Qt::/ or
|
|
|
$class =~ s/^K/KDE::/ or
|
|
|
$class = "KDE::" . $class
|
|
|
unless $class eq "Qt";
|
|
|
|
|
|
2003-09-18 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added support for KDE classes under module KDE:: for use with
|
|
|
the new libsmokekde.so. You can now write KDE programs in Ruby,
|
|
|
here is Hello World:
|
|
|
|
|
|
about = KDE::KAboutData.new("one", "two", "three")
|
|
|
KDE::KCmdLineArgs.init(1, ["four"], about)
|
|
|
a = KDE::KApplication.new()
|
|
|
hello = KDE::KPushButton.new(nil) { setText "Hello World" }
|
|
|
a.setMainWidget(hello)
|
|
|
hello.show()
|
|
|
a.exec()
|
|
|
|
|
|
2003-09-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The rbuic -embed option finally works. Fixed QByteArray marshalling.
|
|
|
|
|
|
2003-09-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Improved the rbuic -embed option, and added some fixes
|
|
|
|
|
|
2003-09-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* More passing blocks to constructors fun! You can now also pass
|
|
|
an arg to the block, and it will be run in the context of the arg:
|
|
|
|
|
|
w = MyWidget.new { |theWidget| theWidget.setCaption "foobar" }
|
|
|
|
|
|
I got this idea from the FXRuby bindings, from the ChangeLog:
|
|
|
|
|
|
"This approach has the advantage that the initialization code now has
|
|
|
access to the outer scope, as blocks normally would. Thanks to
|
|
|
Rich Kilmer for this suggestion."
|
|
|
|
|
|
If you don't pass an arg to the block, the block is run in the context
|
|
|
of the new instance as before.
|
|
|
|
|
|
* Debugging left in handlers.cpp (must stop doing this)
|
|
|
|
|
|
2003-09-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Marshallers now return Qnil, rather than Qundef (for internal use only)
|
|
|
|
|
|
2003-09-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Improved garbage collection with various 'ad hoc' rules from the
|
|
|
QtJava bindings about when it's ok/not ok to destruct an instance.
|
|
|
Not always just a 'parent() != 0' check in Qt.
|
|
|
|
|
|
2003-09-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added QByteArray <-> Ruby string marshaller
|
|
|
|
|
|
2003-09-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Blocks can now be passed to constructors, like this:
|
|
|
w = MyWidget.new { setCaption("foobar") }
|
|
|
|
|
|
2003-09-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added method selector caching, scribbling may be slightly faster..
|
|
|
|
|
|
2003-09-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* GC getting closer to working. Debugging code improved.
|
|
|
|
|
|
2003-09-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* From below 'watch out for extra crashes!' - indeed! Have now disabled
|
|
|
smokeruby_free() and smokeruby_mark() until garbage collection works.
|
|
|
|
|
|
2003-09-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* The pointer_map is now a QPtrDict rather than a ruby Hash, and
|
|
|
the entries are weak references. An implementation was tried
|
|
|
using the ruby WeakRef class, but it didn't work because rb_gc_mark()
|
|
|
didn't prevent them being garbage collected.
|
|
|
* smokeruby_free() and smokeruby_mark() have been implemented
|
|
|
* The C++ instance for a ruby object is deleted in smokeruby_free(),
|
|
|
so watch out for extra crashes!
|
|
|
* Improved README with more details about QtRuby
|
|
|
|
|
|
2003-09-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Improved error message handling, changed rb_error() calls to rb_raise()
|
|
|
* Decided changing method calls like foobar? to isFoobar() not a good idea,
|
|
|
as the Qt property could just as also be hasFoobar() or foobar()
|
|
|
|
|
|
2003-09-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Set methods such as autoMask= are converted to setAutoMask()
|
|
|
* Get methods such as modal? are converted to isModal()
|
|
|
|
|
|
2003-08-31 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* rbuic code generation brought up to date wrt Qt 3.2 uic
|
|
|
Main change is that a 'languageChanged()' method is generated
|
|
|
|
|
|
2003-08-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* rbuic() code generation fixes
|
|
|
|
|
|
2003-08-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added 'Run Selection' menu option to the QtRuby shell
|
|
|
|
|
|
2003-08-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Operator methods are now called 'operator..' in QGlobalSpace and not renamed
|
|
|
* Added unary minus, and a test in opoverloading.rb
|
|
|
|
|
|
2003-08-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Updated TODO list, improved rbuic code generation for images
|
|
|
|
|
|
2003-08-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Improved operator overloading to work with operators not in QGlobalSpace
|
|
|
|
|
|
2003-08-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Changed the operator overloading implementation to be more like PerlQt
|
|
|
|
|
|
2003-08-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Translated the rbqtsh filePrint() method from perl
|
|
|
|
|
|
2003-08-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added 'changed' attribute to the MetaInfo class, so that the C++ metaObject
|
|
|
is reconstructed if the slots or signals are changed.
|
|
|
* Changed window title on rbqtsh to 'QtRuby'. The example slot now works
|
|
|
correctly. Only just tried this utility - Wow Alex!!
|
|
|
|
|
|
2003-08-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* findMethod() now looks in the QGlobalSpace pseudo class as well as the normal target class.
|
|
|
* The bitBlt() code in the scribble example works correctly
|
|
|
|
|
|
2003-08-25 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Removed ugly _current_object global variable.
|
|
|
The current target object is now passed to the MethodCall constructor.
|
|
|
|
|
|
2003-08-25 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Removed obsolete rb_enable_super() calls
|
|
|
* Removed test for _current_object in class_method_missing()
|
|
|
* Fixed missing index in signalInfo() method
|
|
|
* Added Qt scribble example - TODO add Qt::PaintDevice.bitBlt() calls to SMOKE runtime
|
|
|
|
|
|
2003-08-23 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added rbuic tool for ruby Qt Designer support
|
|
|
|
|
|
2003-08-12 Alexander Kellett <lypanov@kde.org>
|
|
|
|
|
|
* Add debug level setting via Qt::debug_level
|
|
|
* When calling .new on a Qt object with a incorrect prototype
|
|
|
the list of appropriate constructors is printed
|
|
|
* Fix a number of cases in which imperfect code would cause a crash
|
|
|
|
|
|
2003-08-11 Alex Zepeda <zipzippy@sonic.net>
|
|
|
|
|
|
* Various fixes to get QStringList marshalling working
|
|
|
* Treat Ruby strings as UTF-8 strings in order to fix the QFont examples
|
|
|
|
|
|
2003-08-09 Alexander Kellett <lypanov@kde.org>
|
|
|
|
|
|
* Added support for operator overloading
|
|
|
|
|
|
2003-08-07 Alexander Kellett <lypanov@kde.org>
|
|
|
|
|
|
* Added rbqtapi and rbqt tools (port of the PerlQt tools of the same name)
|
|
|
|
|
|
2003-08-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Added some TODO list entries, added Alex to the AUTHORS list
|
|
|
|
|
|
2003-08-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed 'int&' marshalling so script name appears in window title
|
|
|
|
|
|
2003-08-12 Alexander Kellett <lypanov@kde.org>
|
|
|
|
|
|
* Add several new marshalling types - QCanvasItemList for example,
|
|
|
unfortuantely due to several improvements in Qt 3.2 these
|
|
|
improvements will not be seen when compiling against Qt 3.1.2
|
|
|
|
|
|
2003-08-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Moved SLOT(), SIGNAL() and emit() to global scope
|
|
|
|
|
|
2003-08-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Removed redundant 'rb_eval_string("include Qt")' call from extension initialization.
|
|
|
|
|
|
2003-08-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Qt::Application constructor safer, but program name still not appearing in the window title
|
|
|
|
|
|
2003-08-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed bug in resolution of overloaded Qt::Popup.insertItem() methods
|
|
|
|
|
|
2003-08-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Use new const_missing from ruby 1.8.x to allow for constant access from base class, for example "Qt::RichText"
|
|
|
* QString::null now maps onto Qnil, rather than a zero length ruby string
|
|
|
|
|
|
2003-08-04 Alexander Kellett <lypanov@kde.org>
|
|
|
|
|
|
* Allow for accumulative slots/signals declarations in a class
|
|
|
* Minor build fixes
|
|
|
|
|
|
2003-08-02 Alexander Kellett <lypanov@kde.org>
|
|
|
|
|
|
* Fix several deprecation warnings when running under 1.8.x
|
|
|
* Several more build fixes
|
|
|
|
|
|
2003-08-01 Alexander Kellett <lypanov@kde.org>
|
|
|
|
|
|
* Slightly improve ease of debugging of qtruby programs
|
|
|
which subclass Qt base classes by print out some useful
|
|
|
debugging informationn when/if method_missing ever
|
|
|
fails to find a matching function in the baseclass.
|
|
|
|
|
|
2003-08-01 Alex Zepeda <zipzippy@sonic.net>
|
|
|
|
|
|
* Remove need to manually run extconf.rb by some automation via a configure.in.in
|
|
|
* Various other build fixes
|
|
|
|
|
|
2003-07-31 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed bug in marshalling QString::null to a ruby VALUE
|
|
|
|
|
|
2003-07-31 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Changed require in Qt.cpp to 'Qt/Qt.rb' instead of 'lib/Qt/Qt.rb'
|
|
|
|
|
|
2003-07-31 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* Fixed problem with non-working installed version, lib/Qt.rb moved to lib/Qt/Qt.rb
|
|
|
|
|
|
2003-07-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
|
|
|
|
|
|
* QtRuby - a Ruby SMOKE adaptor for Qt, initial checkin
|
|
|
|
|
|
|