company logo

Klasseditor

The Klasseditor is our latest archievement in development. It is mainly designed to ease our work, but can also be used for other projects.

You have to realize that the Klasseditor is just the tip of the iceberg. There are about 450 classes in 3 librarys that support the software as framework to archieve the available functionality

The Tool is build on QT as control library and ODABA as data provider. With that choice it is possible to provide support for linux and windows.

It is obvious that this software cannot yet be as advanced as eclipse or the other studios, but it comes with features, that are unique in the world of software development

With the known tools development is something you do in textfiles with editors that make it as easy as possible to navigate you through that files. We turned that arround and created a editor, that is designed to navigate and edit code that is generated to textfiles when you decide to compile.

This view on the code opens up a wide range of possibilities that are not available in other tools.

Once you have realized the strength of that approach you will find that fast and complex architectures can get created in no time, even if you dont know all the fine details of a programming language

features

the klasseditor is capable of creating class definitions with the most common member definitions and functions. everything that makes sense in the mind of a educated developer is mapped into dialogs or some other view in the gui

member function parameters are named and described in a global list, so once you create a parameter with a name it is stored and when you reuse that name, all the properties (type, reference level, documentation will get reused). if you change the type all referencing functions get the new type too. most of the time that is a good approach.

one of the most powerful controls in the editor is the classtree. in its nodes you can see member, base classes, structures and enumerations. selecting a node will open up the right dialog for the type you selected. when you insert (ctrl+i | a) a overload, it will get the parameters from the basemember. you can do drag and drop with the functions to duplicate them. several features like typeahead, bookmarks and history help you to navigate through large amounts of code.

the source is highlighted and provides a inputhelp for the known attributes (class member, function parameter) and codeblocks that insert when you press keystrokes (ctrl+e -> ERROR, ctrl+s -> SWITCH)

toolbarbuttons provide the common actions for the classes like compile, link, search&replace ,gotoline

dont get lost. every feature could cause a segfault that can happen all the time. its good to know that all the data is stored when you focus out a widget.

each class, function, parameter etc has a text description. this can be used for doxygen or to browse in our docubrowser. when you discipline yourself you will get project documentation and code information for later reuse.

you can generate, compile and change everything that defines the klasseditor in the klasseditor

limits

currently there is only support for c++, c and oql. because the generation of the source is written in oql it is possible to implement a generator for java, c#, vb, perl or ruby in almost no time. of course you have to know the target language and understand the current implementation of the oql

we targeted low resource machines but the current situation is not this shiny. we aim to use 3ghz machines with at least 1g ram today because everything else was a pain. it still takes about 30s to load and eats 60m of your memory. other situations, where you change the type of view can send you in a 10s wait. once everything is loaded the responses are usable.

the klasseditor is not able to debug your code. we could implement a gdb/ddd interface but our aims are different, so this may never happen

you have to use a grown ruleset of compile procedures in bat files - nothing hinders you from running make in that files :)

usage

the klasseditor is not realy usable for testing out something technical like moving a pixel until everything looks fine, because the time from changing a bit/int to running the test is not comparable with vi;make;./bin because the tool has to generate the source, start the compile, invoke the link before you can enter your test. the developer should compile twice a hour - this improves the concept.

screenshots

of course you have to see the tool that you watch all day once you decided for it.

overview

overviewfull

properties

propertiesfull

the codewidget is replaced by a dialogue that allows you to set the features of the class you are in, select the programming language and edit the references (which indicate the generated #include statements)

member

memberfull

the thrid tab allows you to change the members as well as the base type of the class. you can choose from a table only view(bottom:list) or the dialogue driven (psw).

project

projectfull

this is another view that allows you to setup your project(paths). as you can see in the tree there are lots of things that count as project data. some are just a different view on the classes, some give you complete new dialogs that help you setup whats nessesary

tutorial

most features of the tool will enlight you to while you are using it for a specific matter. because this can be very odd when you have a appointment you may be frustrated and switch back to whatever you used before. so please take the time to go through some of the tutorials to get a feeling if this is what you like or not. we would also like to hear your feedback.

this section will get created later

tour through some parts of the editor

howto

when you managed to create something you will have special questions that need no large discussion of the overall context but the special hints to get you going on. to maybe we had a special problem too and already described the way. if not feel free to ask questions

article

inspried by the web there are some more general documents about the klasseditor that you might read before giving up helplessly overwhelmed by too much options

if you feel ready for a experimental version download the windows binary. we work with that tool and will publish new versions from time to time. if you like to get updates of the ongoing process please tell us that you use the tool and if you find bug feel free to inform us