Policy for Plugins

Main Identifier: Plugin Name

Additional Information:

Plugin file names must be of the format: lib<pluginname>.so

Internationalisation i18n

Uses QT-Translation mechanism.
To add a new language
To compile the translations:


Naming Conventions

// this is OK
func(aVeryLongVariableName1, aMuchMoreLongerVariableNameWhichFillsAllTheLine2,
aVeryLongVariableNameWhichIsReallyLong3, aVeryLongVariableNameWhichIsReallyLong4);
// if more than this:
func (
aVeryLongVariableNameWhichIsReallyLong1, aMuchMuchLongerVariableName2
aVeryLongVariableNameWhichIsReallyLong3, aMuchMuchLongerVariableName4
aVeryLongVariableNameWhichIsReallyLong5, aMuchMuchLongerVariableName5
);


Documentation

User Interface

Doxygen

 Doxygen comments look like this:
    /** @brief This holds the package collection ready to be used.
      *
      * Use the output function for your consumers
      */

 If they need only one line the closing */ must be on the same line:

    /** This manages the include widgets (but not the labels belonging to them. */


Includes

    #include <...> proceeds
    #include "..."
    include order:
     - stl includes
     - opengl includes
     - qt includes
     - other global includes (those with <>)
     - the corresponding header for the cpp file ("xmldata.h" for xmldata.cpp)
     - other local includes
    Grouping:
     - local includes from the same namespace are grouped together (followed by an
       empty line
     - includes from the same external library or directory are grouped together
     

Saving

    Saving happens in XML
    Error handling:
        - if something wasn't loaded properly we will try to set a reasonable default value
        - We will not go to the next entry if loading of an element failed, so if there is a
          broken tag (e.g. wrong spelling) this will break all following parts. This is done
          because if we added a new item in the DTD and we have an incorrect XML file where
          this entry is missing, it will use a default value and the next tag will read the
          correct entry.

    Saving in packagesearch:
        - comments in the configuration file are not allowed