]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/FormUrl.C
2002-07-02 Lars Gullik Bj�nnes <larsbj@birdstep.com>
[lyx.git] / src / frontends / xforms / FormUrl.C
1 /**
2  * \file xforms/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 "forms/form_url.h"
20 #include FORMS_H_LOCATION
21
22 typedef FormCB<ControlUrl, FormDB<FD_url> > base_class;
23
24 FormUrl::FormUrl(ControlUrl & c, Dialogs & d)
25         : base_class(c, d, _("Url"))
26 {}
27
28
29 void FormUrl::build()
30 {
31         dialog_.reset(build_url(this));
32
33         fl_set_input_return(dialog_->input_name, FL_RETURN_CHANGED);
34         fl_set_input_return(dialog_->input_url,  FL_RETURN_CHANGED);
35
36         setPrehandler(dialog_->input_name);
37         setPrehandler(dialog_->input_url);
38
39         // Manage the ok, apply, restore and cancel/close buttons
40         bc().setOK(dialog_->button_ok);
41         bc().setApply(dialog_->button_apply);
42         bc().setCancel(dialog_->button_close);
43         bc().setRestore(dialog_->button_restore);
44
45         bc().addReadOnly(dialog_->input_name);
46         bc().addReadOnly(dialog_->input_url);
47         bc().addReadOnly(dialog_->check_html);
48 }
49
50
51 void FormUrl::update()
52 {
53         fl_set_input(dialog_->input_url,
54                      controller().params().getContents().c_str());
55         fl_set_input(dialog_->input_name,
56                      controller().params().getOptions().c_str());
57
58         if (controller().params().getCmdName() == "url")
59                 fl_set_button(dialog_->check_html, 0);
60         else
61                 fl_set_button(dialog_->check_html, 1);
62 }
63
64
65 void FormUrl::apply()
66 {
67         controller().params().setContents(fl_get_input(dialog_->input_url));
68         controller().params().setOptions(fl_get_input(dialog_->input_name));
69
70         if (fl_get_button(dialog_->check_html))
71                 controller().params().setCmdName("htmlurl");
72         else
73                 controller().params().setCmdName("url");
74 }