[Kommander-devel] Recent Kommander developments
Eric Laffoon
eric at kdewebdev.org
Thu Jan 17 02:45:32 EST 2008
Hi all,
Andras has been making a few commits to Kommander in svn as I have been using
it with the database plugin to develop an in house application. Currently
there are a lot of new features which I will be announcing on the user list.
We will be releasing 1.3 soon, but for now you need SVN to see the latest
improvements and fixes. Testing would be nice and I'm also looking for
developer involvement. We do need to get a KDE4 version ready ASAP and we
have nobody to actively work on that. I'm familiar with the code, but not the
most productive C++ programmer and don't have the time what with my business
expansion. I'd also like to sponsor a developer, but I'm not in a position to
be comfortable with that right now. If anyone on the list is interested in
helping with docs, fine tuning or C++ coding let me know.
Here are some of the things you can look at now. For one there is a new module
in KDE SVN for our plugins which have a revised architecture to make them
less fragile.
svn.kde.org/home/kde/trunk/playground/devtools/kommander-plugins
Along with the hk_classes plugin there is HTTP, capable of HTTPS and password
protected areas and a new KParts loader. Matthias Wieser had submitted a
KParts creation patch that never got in, but we will be looking at adding
code for this too.
New functionality, let me try to remember it all...
* Table.Selection - returns 4 parameters as Self.Item(0)-Self.Item(3) which
address a range of cells. So now you can detect range with functions.
* DatePicker widget added
* execute method added to buttons for slot
*passing paramters back and forth between scripts...
widget1:
mydata = ScriptObject.execute(3,4)
ScriptObject:
x = str_toint(Self.Item(0))*str_toint(Self.Item(1))
return(x)
//returns 12
* createWidget(name, type, parent) - now possible to create on the fly, but
make sure you have some layout preparation
createWidget("DatePicker1", "DatePicker", "Form1")
DatePicker1.show()
* assign variable name to widgets...
* Table.setCellWidget(row, col, widget)
for i=0 to 5 do
var = "Combo"+i
createWidget(var, "ComboBox", "Table1")
Table1.setCellWidget(i, 3, var)
y = 0
for x=1 to 10 do
y = y +"\n"+ x
end
var.insertItems(y, 0 )
end
* directly call preconfigured slots!
slot()
slot(QString)
slot(QString, QString)
slot(bool)
slot(int)
slot(int,int)
slot(int,int,int)
slot(int,int,int,int)
of course like Table1.slot(int,int,int,int)
This opens up a huge number of new things you can do with tables, text edit
and tree/detail to name a few. For instance I load tables with setText and
have to rename columns and deal with formatting, but even just removing and
replacing data it's easy to add Table1.adjustColumn(0) to optimize display.
If you haven't played with the new parser it's very nice. It gives you the
same functionalit as the @ functions with some additions, plus you can nest
if and for loops and call break, exit and return(). It is still very lean and
very fast and can be managed with point and click by users in the function
browser. However now you can clean up long statements with variables. I've
managed to find I hope most of the bugs in it. The editor is extensible with
Kommander developed tools too. There are also approaching several hundred
apps on kde-apps.org using Kommander. I hope to get some developer help to
make it better and prepare for a KDE4 version.
--
Eric Laffoon
Project Lead - kdewebdev module
More information about the Kommander-devel
mailing list