summaryrefslogtreecommitdiff
path: root/include/Form.h
blob: 1b2274246c94b81efa49b3eae0caf29de02dc4ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef __FORM_H__
#define __FORM_H__
#ifdef __cplusplus

#include <Action.h>
#include <String.h>
#include <Exceptions.h>

/*
 * Cette classe sert à afficher un formulaire de saisie.
 *   Constructeur:
 *     - titre = titre de la page
 *     - url = url de ce formulaire
 *     - inv = invite du formulaire
 *     - names = liste des noms des variables pour chaque champs
 *     - invs = liste des invites pour chaque champs
 *     - defaults = listes des valeurs par defaut pour chaque champs
 *     - lists = liste des listes de valeurs pour les menus deroulants. Si une liste déroulante = 0,
 *         alors il s'agira d'un champ de saisie manuel.
 *     - descs = liste des listes de descriptions pour les menus deroulants.
 *     - nb = nombre de champs
 *     - ok = Action a effectuer lorsque l'on clique sur le bouton Ok.
 */

class Form : public Action {
  public:
    Form(const String & titre, const String & url, const String & inv,
	 String * names, String * invs, String * defaults, String ** lists, String ** descs,
	 int nb, Action * ok = 0);
    virtual ~Form() { }
    virtual String GetTitle();
    virtual Task * Do(Variables *, Handle *);
  private:
    String tit, iv, * nms, * ivs, * defs, ** lsts, ** dscs;
    int n;
    Action * Next;
};

#else
#error This only works with a C++ compiler
#endif
#endif