New version 2.6

4 views
Skip to first unread message

r.parlett

unread,
Aug 29, 2011, 8:38:04 AM8/29/11
to objecticon
Time for a new version. Changes include :-

I have abandoned the "SetFields" technique of creating objects, which
was used particularly in the gui code. The idea was that instead of
writing

t := TextButton()
t.set_width(100)
t.set_height(200)
t.set_label("helllo")

you could just say t :=
TextButton("width=100","height=200","label=hello")

Unfortunately this was very clumsy to implement under the covers, and
didn't handle types like lists very well. So I have finally abandoned
this and replaced it with method chaining. The idea here is that
every setter method returns "self", so you can just chain the methods
together, as follows :-
t := TextButton().
set_width(100).
set_height(200).
set_label("helllo")

There is a new program called "ieval", which is an interactive
expression evaluator. More details in this wiki page
http://code.google.com/p/objecticon/wiki/Ieval

The IPL library classes have undergone a cleanup with much redundant/
duplicated stuff removed (about 30 files).

In the i/o library, the low-level in() method now returns &null on end-
of-file, rather than failing. Higher-level functions like read() are
not affected. ProgStream is now split into two separate classes,
ProgInputStream and ProgOutputStream. There are new classes for
filtering through an external command (eg gzip), called
FilterInputStream and FilterOutputStream, as well as a line editor
class, LineEditorStream, and an SSL stream class, SslStream, which
depends on openssl being available. All this means that the HTTP
client can now handle https and gzip compression.

A new directory of example programs, see this page for details
http://code.google.com/p/objecticon/wiki/Examples
Reply all
Reply to author
Forward
0 new messages