You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
6.6 KiB
135 lines
6.6 KiB
<?xml version="1.0" encoding="UTF-8" ?>
|
|
|
|
<chapter id="introduction">
|
|
<chapterinfo>
|
|
<title>Introduction</title>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Eric</firstname>
|
|
<surname>Laffoon</surname>
|
|
<affiliation>
|
|
<address><email>sequitur@kde.org</email></address>
|
|
</affiliation>
|
|
</author>
|
|
|
|
<!-- TRANS:ROLES_OF_TRANSLATORS -->
|
|
|
|
</authorgroup>
|
|
</chapterinfo>
|
|
|
|
<title>Introduction</title>
|
|
|
|
<para>
|
|
&kommander; is a visual dialog building tool which can be used to create
|
|
full mainwindow applications, provided the window is initially created in Qt Designer
|
|
or from a template in &kommander;. The primary objective is to create as much
|
|
functionality as possible with the absolute minimum use of scripting. This is
|
|
provided by the following features:
|
|
</para>
|
|
<note><para>Please note this document includes legacy documentation for compatibility reasons. In a nutshell &kommander; offers extremely rapid development and extensive abilities and capabilities. Following is a new list, followed by the legacy content.</para></note>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><emphasis>Capable internal scripting</emphasis> - &kommander; now offers nested logic structures, simple arrays and useful functions </para>
|
|
</listitem>
|
|
<listitem><para>
|
|
<emphasis>Function Browsers</emphasis> - One never need know exact syntax for any function or command, just click the button and point and click your way to a functional program. Even the project lead finds it easier than typos much of the time.</para>
|
|
</listitem>
|
|
<listitem><para>
|
|
<emphasis>Extensive widgets</emphasis> - &kommander; now has a tree/detail widget, spreadsheet like table widget, font dialog, color dialog, about dialog, timer, tab widgets, toolbox, popup menus, date picker and a lot more. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><emphasis>Plugins</emphasis> - &kommander; can run easy to create plugins. Plugins as of this writing are a database plugin offering a set of non visual tools, an HTTP plugin offering HTTPS and access to password protected areas and a KPart loader.
|
|
</para></listitem>
|
|
<listitem>
|
|
<para><emphasis>Scripting language support</emphasis> - The ability to run multiple scripting language in &kommander; scripts, inside your dialog
|
|
</para></listitem>
|
|
<listitem>
|
|
<para><emphasis>KPart creation</emphasis> - the ability to make your own plugins... and stranger yet you can even make a &kommander; window load a dialog as a KPart and directly access it with &kommander; functions!
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
<para>Look for documentation on tips and tricks like how to make &kommander; fake programming techniques like including a file, creating and using custom widgets, making collapsable panels in windows and other unexpected tricks. Below is our legacy list.</para>
|
|
<itemizedlist>
|
|
|
|
|
|
<listitem><para>Specials are prefaced with an <quote>@</quote> like @widgetText. The offer
|
|
special features like the value of a widget, functions, aliases, global
|
|
variables and such.</para></listitem>
|
|
|
|
|
|
<listitem><para>&DCOP; integration allows &kommander; dialogs to control and be
|
|
controlled in interactions with other &kde; applications. It is a very powerful
|
|
feature!</para></listitem>
|
|
|
|
<listitem><para>Signals and Slots is a little less intuitive to a new user. It is
|
|
under review for how we process things in the first major release. These
|
|
offer a limited event model for when a button is pushed or a widget is
|
|
changed. Combined with <quote>Population Text</quote> it is rather powerful.</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
The central key feature of &kommander; dialogs is that you can bind text
|
|
(&kommander; Text) to a widget. So if you have @widget1 and @widget2 and
|
|
they are line edits you can set &kommander; to show their contents by
|
|
entering @widgetText in their &kommander; Text area. Then enter hello in
|
|
@widget1 and world in @widget2. A button can have the string
|
|
My first @widget1 @widget2 program in &kommander;
|
|
If you run this dialog from a console it will output
|
|
My first hello world program in &kommander;
|
|
</para>
|
|
|
|
<para>
|
|
Hopefully you begin to see a small glimmering of the potential. &kommander;
|
|
enables a much faster design model for simple applications because if allows
|
|
you to stop thinking so much about language and revert to the more basic and
|
|
natural conceptual model. In computers language is a means to define concepts
|
|
and as such it is a layer between concept and implementation that can impede
|
|
progress with minutia. &kommander; seeks to minimize that layer.
|
|
</para>
|
|
|
|
<para>
|
|
&kommander; also seeks to build on standards. It is built on the &Qt; Designer
|
|
framework and creates *.ui files which it renames to *.kmdr. It can easily
|
|
import any &kde; widget and this can be done without having to rebuild
|
|
&kommander;, by using plugins.
|
|
</para>
|
|
|
|
<para>
|
|
&kommander;'s other significant factor is how it addresses the requirements of
|
|
language. Computer languages can be wonderful things but they tend to have
|
|
their own dogmas and zealots often seeking to provide an advance to &GUI;
|
|
design in an integrated development environment. Ironically the acceptance
|
|
of such &IDE;s is limited by the number of people willing to adopt a new new
|
|
language to gain access to a desired feature. It is really not reasonable to
|
|
expect people to need to change over to a dozen languages to access various
|
|
feature sets. By being language neutral and allowing a &kommander; dialog to be
|
|
extended by using any scripting language &kommander; positions itself in a
|
|
unique position for wide spread adoption. Multiple script languages can be
|
|
used in a single dialog and applications can be taken over by people using
|
|
a different language than the original developer and gradually converting
|
|
and extending it. New widgets and features can be instantly leveraged by all
|
|
available languages.
|
|
</para>
|
|
|
|
<para>
|
|
We hope that &kommander; begins to get the developer support and recognition
|
|
required to achieve the potential it offers. Our end goal is to make &kommander;
|
|
useful for novice users to extend and merge their applications. At the same
|
|
time it should become a good prototyping tool. Also it opens the door to the
|
|
promise of open source in a new way. We know that people can extend our GPL'd
|
|
programs, but the fact remains very few have the skills. With &kommander; those
|
|
numbers see a huge multiplier! Some applications may be most logical as a
|
|
&kommander; application. We already use it in areas we want to allow
|
|
extensibility in &quantaplus;.
|
|
</para>
|
|
|
|
<para>
|
|
We hope you enjoy &kommander;. Please help us with bug reports and example
|
|
dialogs, as well as any requests you may have. You can join our <ulink url="http://mail.tdewebdev.org/mailman/listinfo/kommander">user list</ulink>
|
|
for help developing &kommander; applications.
|
|
</para>
|
|
|
|
<para>Best Regards from the &kommander; development team!</para>
|
|
|
|
</chapter>
|