]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/FormUrl.C
sourcedoc-friendly files.
[lyx.git] / src / frontends / xforms / FormUrl.C
1 /**
2  * \file FormUrl.C
3  * Copyright 2000-2001 The LyX Team.
4  * See the file COPYING.
5  *
6  * \author Angus Leeming, a.leeming@ic.ac.uk
7  */
8
9
10 #include <config.h>
11
12 #ifdef __GNUG__
13 #pragma implementation
14 #endif
15
16 #include "xformsBC.h"
17 #include "ControlUrl.h"
18 #include "FormUrl.h"
19 #include "form_url.h"
20
21 typedef FormCB<ControlUrl, FormDB<FD_form_url> > base_class;
22
23 FormUrl::FormUrl(ControlUrl & c)
24         : base_class(c, _("Url"))
25 {}
26
27
28 void FormUrl::build()
29 {
30         dialog_.reset(build_url());
31
32         fl_set_input_return(dialog_->name, FL_RETURN_CHANGED);
33         fl_set_input_return(dialog_->url,  FL_RETURN_CHANGED);
34
35         // Manage the ok, apply, restore and cancel/close buttons
36         bc().setOK(dialog_->button_ok);
37         bc().setApply(dialog_->button_apply);
38         bc().setCancel(dialog_->button_cancel);
39         bc().setRestore(dialog_->button_restore);
40
41         bc().addReadOnly(dialog_->name);
42         bc().addReadOnly(dialog_->url);
43         bc().addReadOnly(dialog_->radio_html);
44 }
45
46
47 void FormUrl::update()
48 {
49         fl_set_input(dialog_->url,
50                      controller().params().getContents().c_str());
51         fl_set_input(dialog_->name,
52                      controller().params().getOptions().c_str());
53
54         if (controller().params().getCmdName() == "url")
55                 fl_set_button(dialog_->radio_html, 0);
56         else
57                 fl_set_button(dialog_->radio_html, 1);
58 }
59
60
61 void FormUrl::apply()
62 {
63         controller().params().setContents(fl_get_input(dialog_->url));
64         controller().params().setOptions(fl_get_input(dialog_->name));
65
66         if (fl_get_button(dialog_->radio_html))
67                 controller().params().setCmdName("htmlurl");
68         else
69                 controller().params().setCmdName("url");
70 }