Xcos MVC: slight improvements in Adapters
[scilab.git] / scilab / modules / scicos / src / cpp / view_scilab / LinkAdapter.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
4  *
5  *  This file must be used under the terms of the CeCILL.
6  *  This source file is licensed as described in the file COPYING, which
7  *  you should have received as part of this distribution.  The terms
8  *  are also available at
9  *  http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  */
12
13 #ifndef LINKADAPTER_HXX_
14 #define LINKADAPTER_HXX_
15
16 #include <string>
17 #include <memory>
18
19 #include "utilities.hxx"
20 #include "adapters_utilities.hxx"
21 #include "BaseAdapter.hxx"
22
23 #include "model/Link.hxx"
24
25 namespace org_scilab_modules_scicos
26 {
27 namespace view_scilab
28 {
29
30 class LinkAdapter : public BaseAdapter<LinkAdapter, org_scilab_modules_scicos::model::Link>
31 {
32 public:
33     LinkAdapter(std::shared_ptr<org_scilab_modules_scicos::model::Link> adaptee);
34     LinkAdapter(const LinkAdapter& adapter);
35     ~LinkAdapter();
36
37     static const std::wstring getSharedTypeStr()
38     {
39         return L"Link";
40     }
41
42     std::wstring getTypeStr();
43     std::wstring getShortTypeStr();
44
45     link_t getFrom() const;
46     void setFrom(const link_t& v);
47     void setFromInModel(const link_t& v, Controller& controller);
48     link_t getTo() const;
49     void setTo(const link_t& v);
50     void setToInModel(const link_t& v, Controller& controller);
51
52 private:
53     link_t m_from;
54     link_t m_to;
55 };
56
57 } /* namespace view_scilab */
58 } /* namespace org_scilab_modules_scicos */
59
60 #endif /* MODELADAPTER_HXX_ */