--- /dev/null
+#[macro_export]
+macro_rules! form_field_new {
+ ($field: ident,
+ $label: expr,
+ $dbtype: path) => {
+ $field.set_label($label);
+ $field.set_db_type($dbtype);
+ };
+}
+
+#[macro_export]
+macro_rules! form_field_text_new {
+ ($form: ident,
+ $name: expr,
+ $label: expr,
+ $maxlen: expr,
+ $dbtype: path) => {
+ let mut fi = zakform::fields::FieldText::new($name);
+ zakform::form_field_new!(fi, $label, $dbtype);
+ fi.set_maxlen($maxlen);
+ $form.add_field(Box::new(fi));
+ };
+}
+
+#[macro_export]
+macro_rules! form_field_radio_new {
+ ($form: ident,
+ $name: expr,
+ $label: expr,
+ $dbtype: path,
+ $($opt_value: expr, $opt_label: expr),*,) => {
+ let mut fi = zakform::fields::FieldRadio::new($name);
+ zakform::form_field_new!(fi, $label, $dbtype);
+ $(fi.add_option(zakform::fields::FOption{ value: String::from($opt_value), label: String::from($opt_label) });)*
+ $form.add_field(Box::new(fi));
+ };
+}
+
+#[macro_export]
+macro_rules! form_field_button_new {
+ ($form: ident,
+ $name: expr,
+ $label: expr,
+ $class: expr) => {
+ let mut fi = zakform::fields::FieldButton::new($name);
+ fi.set_label($label);
+ fi.set_class($class);
+ fi.set_to_load(false);
+ fi.set_to_save(false);
+ $form.add_field(Box::new(fi));
+ };
+}