Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Dialog.hpp

    r4cf323d r6f5dfe  
    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
    29  * actions he 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 actions he
     29 * 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
    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.
     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.
    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.
    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    */
     81  //base class for all queries
    10782  class Query {
    10883    friend class Dialog;
Note: See TracChangeset for help on using the changeset viewer.