]> git.lyx.org Git - features.git/blob - src/frontends/controllers/ControlBranch.C
Overhaul the branches code.
[features.git] / src / frontends / controllers / ControlBranch.C
1 /**
2  * \file ControlBranch.C
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author Angus Leeming
7  * \author Martin Vermeer
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #include <config.h>
13
14 #include "ControlBranch.h"
15
16 #include "buffer.h"
17 #include "bufferparams.h"
18 #include "BranchList.h"
19 #include "funcrequest.h"
20 #include "insets/insetbranch.h"
21
22
23 using std::string;
24 using std::vector;
25
26
27 ControlBranch::ControlBranch(Dialog & parent)
28         : Dialog::Controller(parent)
29 {}
30
31
32 bool ControlBranch::initialiseParams(string const & data)
33 {
34         InsetBranchParams params;
35         InsetBranchMailer::string2params(data, params);
36         params_.reset(new InsetBranchParams(params));
37
38         return true;
39 }
40
41
42 void ControlBranch::clearParams()
43 {
44         params_.reset();
45 }
46
47 void ControlBranch::dispatchParams()
48 {
49         string const lfun = InsetBranchMailer::params2string(params());
50         kernel().dispatch(FuncRequest(LFUN_INSET_APPLY, lfun));
51 }
52
53
54 BranchList const & ControlBranch::branchlist() const
55 {
56         return kernel().buffer().params().branchlist();
57 }