summaryrefslogtreecommitdiff
path: root/include/Form.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/Form.h')
-rw-r--r--include/Form.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/include/Form.h b/include/Form.h
new file mode 100644
index 0000000..8a35898
--- /dev/null
+++ b/include/Form.h
@@ -0,0 +1,41 @@
+#ifndef __FORM_H__
+#define __FORM_H__
+#ifdef __cplusplus
+
+#include "Exceptions.h"
+#include "Action.h"
+#include "String.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 void 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