summaryrefslogtreecommitdiffstats
path: root/doc/kommander/introduction.docbook
diff options
context:
space:
mode:
Diffstat (limited to 'doc/kommander/introduction.docbook')
-rw-r--r--doc/kommander/introduction.docbook134
1 files changed, 134 insertions, 0 deletions
diff --git a/doc/kommander/introduction.docbook b/doc/kommander/introduction.docbook
new file mode 100644
index 00000000..7b40475a
--- /dev/null
+++ b/doc/kommander/introduction.docbook
@@ -0,0 +1,134 @@
+<?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.kdewebdev.org/mailman/listinfo/kommander">user list</ulink>
+for help developing &kommander; applications.
+</para>
+
+<para>Best Regards from the &kommander; development team!</para>
+
+</chapter>