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