2016-04-01 21:17:25 +02:00
|
|
|
FAQ {#page_FAQ}
|
2016-03-30 21:40:01 +02:00
|
|
|
===
|
2014-09-03 22:02:02 +02:00
|
|
|
|
2016-03-30 21:40:01 +02:00
|
|
|
What is ewol licence
|
|
|
|
--------------------
|
2014-09-03 22:02:02 +02:00
|
|
|
|
2017-01-05 21:28:23 +01:00
|
|
|
This is really simple : MPL v2.0 :
|
2014-09-03 22:02:02 +02:00
|
|
|
|
|
|
|
Copyright ewol Edouard DUPIN
|
|
|
|
|
2017-01-05 21:28:23 +01:00
|
|
|
Licensed under the Mozilla Public License, Version 2.0 (the "License");
|
2014-09-03 22:02:02 +02:00
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
2017-01-05 21:28:23 +01:00
|
|
|
<https://www.mozilla.org/MPL/2.0>
|
2014-09-03 22:02:02 +02:00
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
|
2014-09-02 21:26:15 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
2016-03-30 21:40:01 +02:00
|
|
|
Why we use "DECLARE_FACTORY" Macro?
|
|
|
|
-----------------------------------
|
2014-09-02 21:26:15 +02:00
|
|
|
|
|
|
|
For some reason!!! But everything might be clear:
|
2016-03-30 21:40:01 +02:00
|
|
|
- In ewol we masively use ememory::SharedPtr (simple wrapper over std::shared_ptr (that is not thread safe ...)).
|
|
|
|
- The main class : ewol::Object herited from ememory::EnableSharedFromThis<ewol::Object> to permit to access at his own ememory::SharedPtr.
|
|
|
|
- Acces At his own ememory::SharedPtr is not allowed in the class contructor/destructor.
|
|
|
|
- Many time for meta-widget we need to propagate our ememory::SharedPtr in child through the ememory::WeakPtr.
|
2014-09-02 21:26:15 +02:00
|
|
|
|
|
|
|
Then for all these reasons, I have create a simple MACRO that create a static template funtion that create the object and just after
|
|
|
|
creation call the init(...) function to permit to create a complex widget or others with some writing convinience.
|
|
|
|
|
|
|
|
|
|
|
|
|