Update CHANGES.md before the release
[scilab.git] / scilab / modules / scicos / src / cpp / view_scilab / CprAdapter.cpp
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2014-2016 - Scilab Enterprises - Clement DAVID
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 #include <string>
17
18 #include "internal.hxx"
19 #include "types.hxx"
20 #include "user.hxx"
21
22 #include "Controller.hxx"
23 #include "CprAdapter.hxx"
24
25 namespace org_scilab_modules_scicos
26 {
27 namespace view_scilab
28 {
29 namespace
30 {
31
32 struct dummy_property
33 {
34
35     static types::InternalType* get(const CprAdapter& /*adaptor*/, const Controller& /*controller*/)
36     {
37         // Return a default empty matrix.
38         return types::Double::Empty();
39     }
40
41     static bool set(CprAdapter& /*adaptor*/, types::InternalType* /*v*/, Controller& /*controller*/)
42     {
43         // Everything should be right as the properties mapped using this adapter do not perform anything
44         return true;
45     }
46 };
47
48 } /* namespace */
49
50 #ifndef _MSC_VER
51 template<>
52 #endif
53 property<CprAdapter>::props_t property<CprAdapter>::fields = property<CprAdapter>::props_t();
54 static void initialize_fields()
55 {
56     if (property<CprAdapter>::properties_have_not_been_set())
57     {
58         property<CprAdapter>::reserve_properties(4);
59         property<CprAdapter>::add_property(L"state", &dummy_property::get, &dummy_property::set);
60         property<CprAdapter>::add_property(L"sim", &dummy_property::get, &dummy_property::set);
61         property<CprAdapter>::add_property(L"cor", &dummy_property::get, &dummy_property::set);
62         property<CprAdapter>::add_property(L"corinv", &dummy_property::get, &dummy_property::set);
63         property<CprAdapter>::shrink_to_fit();
64     }
65 }
66
67 CprAdapter::CprAdapter() :
68     BaseAdapter<CprAdapter, org_scilab_modules_scicos::model::Diagram>()
69 {
70     initialize_fields();
71 }
72
73 CprAdapter::CprAdapter(const Controller& c, org_scilab_modules_scicos::model::Diagram* adaptee) :
74     BaseAdapter<CprAdapter, org_scilab_modules_scicos::model::Diagram>(c, adaptee)
75 {
76     initialize_fields();
77 }
78
79 CprAdapter::~CprAdapter()
80 {
81 }
82
83 std::wstring CprAdapter::getTypeStr() const
84 {
85     return getSharedTypeStr();
86 }
87 std::wstring CprAdapter::getShortTypeStr() const
88 {
89     return getSharedTypeStr();
90 }
91
92 } /* namespace view_scilab */
93 } /* namespace org_scilab_modules_scicos */