Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Dialog.hpp

    r6f5dfe r4cf323d  
    2626/** Dialog is one of the two main classes of the UIFactory base class.
    2727 *
    28  * The Dialog is meant for asking the user for information needed to perform actions he
    29  * desires, such as asking for a position in space or a length.
     28 * The Dialog is meant for asking the user for information needed to perform
     29 * actions he desires, such as asking for a position in space or a length.
    3030 *
    31  * For this purpose there is the base class Query and numerous specializations for each
    32  * of the types to be asked. There are primitives integer, doubles and string, but also
    33  * advanced types such as element, molecule or Vector. There is also an empty query for
    34  * displaying text.
     31 * For this purpose there is the base class Query and numerous specializations
     32 * for each of the types to be asked. There are primitives integer, doubles and
     33 * string, but also advanced types such as element, molecule or Vector. There
     34 * is also an empty query for displaying text.
    3535 */
    3636class Dialog
     
    7979  //due to lack of common code for query types as well as GUI-Types (all subtypes differ a lot)
    8080
    81   //base class for all queries
     81  /** Base class for all queries.
     82   *
     83   *
     84   * <h1>How to add another query?</h1>
     85   *
     86   * Let's say  we want to query for a type called \a Value.
     87   *
     88   * Then, we do the following:
     89   *  -# Add a class ValueQuery inside class Dialog, the class contains
     90   *    -# constructor/destructor (latter virtual! because of derived class)
     91   *    -# virtual bool handle() and virtual void setResult()
     92   *    -# a protected member tmp of type Value (NOTE: herein the result is stored)
     93   *    -# if temporaries for conversion are needed put them in here
     94   *  -# add a function queryValue
     95   *  -# now, for each of the GUIs we basically have to repeat the above, i.e.
     96   *     add the class and the function that implement the virtual ones above.
     97   *    -# QT: an extra class called ValueQtQueryPipe that actually handles
     98   *       showing dialogs to obtain the value and placing it into the \a tmp
     99   *       variable (via a given pointer to it as reference). handle() will
     100   *       simply return true. This is needed because of a restriction of Qt4:
     101   *       its meta-object-compiler does not like nested classes.
     102   *    -# CommandLine: nothing special, handle() imports value from \a
     103   *       CommandLineParser and sets the tmp variable.
     104   *    -# Text: nothing special, handle() queries the user and sets the tmp
     105   *       variable
     106   */
    82107  class Query {
    83108    friend class Dialog;
Note: See TracChangeset for help on using the changeset viewer.