From 4491c96ff11b268f25f971b4b4f9d39c61ccabe9 Mon Sep 17 00:00:00 2001 From: HyungKyu Song Date: Fri, 15 Feb 2013 15:11:10 +0900 Subject: [PATCH] Tizen 2.0 Release --- LICENSE | 206 +++++++++ NOTICE | 4 + description.xml | 9 + project/data/nofile.dummy | 0 project/home/nofile.dummy | 0 project/inc/MetalDetector.h | 76 ++++ project/inc/MetalDetectorDetectForm.h | 79 ++++ project/inc/MetalDetectorFormFactory.h | 33 ++ project/inc/MetalDetectorFrame.h | 36 ++ project/inc/MetalDetectorMainForm.h | 48 +++ project/inc/MetalDetectorPanelFactory.h | 33 ++ project/manifest.xml | 28 ++ project/packaging/org.tizen.MetalDetector.spec | 49 +++ project/res/1.jpg | Bin 0 -> 2233 bytes project/res/2.jpg | Bin 0 -> 3904 bytes project/res/3.jpg | Bin 0 -> 6732 bytes project/res/4.jpg | Bin 0 -> 9022 bytes project/res/5.jpg | Bin 0 -> 11583 bytes project/res/6.jpg | Bin 0 -> 14649 bytes project/res/7.jpg | Bin 0 -> 39156 bytes project/res/8.jpg | Bin 0 -> 43856 bytes project/res/magnetic.txt | 37 ++ project/shared/data/nofile.dummy | 0 .../shared/res/screen-density-xhigh/mainmenu.png | Bin 0 -> 17581 bytes project/shared/trusted/nofile.dummy | 0 project/src/MetalDetector.cpp | 117 +++++ project/src/MetalDetectorDetectForm.cpp | 478 +++++++++++++++++++++ project/src/MetalDetectorEntry.cpp | 60 +++ project/src/MetalDetectorFormFactory.cpp | 61 +++ project/src/MetalDetectorFrame.cpp | 44 ++ project/src/MetalDetectorMainForm.cpp | 123 ++++++ project/src/MetalDetectorPanelFactory.cpp | 39 ++ sample.xml | 37 ++ screenshot.png | Bin 0 -> 5668 bytes 34 files changed, 1597 insertions(+) create mode 100644 LICENSE create mode 100644 NOTICE create mode 100644 description.xml create mode 100644 project/data/nofile.dummy create mode 100644 project/home/nofile.dummy create mode 100644 project/inc/MetalDetector.h create mode 100644 project/inc/MetalDetectorDetectForm.h create mode 100644 project/inc/MetalDetectorFormFactory.h create mode 100644 project/inc/MetalDetectorFrame.h create mode 100644 project/inc/MetalDetectorMainForm.h create mode 100644 project/inc/MetalDetectorPanelFactory.h create mode 100644 project/manifest.xml create mode 100755 project/packaging/org.tizen.MetalDetector.spec create mode 100644 project/res/1.jpg create mode 100644 project/res/2.jpg create mode 100644 project/res/3.jpg create mode 100644 project/res/4.jpg create mode 100644 project/res/5.jpg create mode 100644 project/res/6.jpg create mode 100644 project/res/7.jpg create mode 100644 project/res/8.jpg create mode 100644 project/res/magnetic.txt create mode 100644 project/shared/data/nofile.dummy create mode 100755 project/shared/res/screen-density-xhigh/mainmenu.png create mode 100644 project/shared/trusted/nofile.dummy create mode 100644 project/src/MetalDetector.cpp create mode 100644 project/src/MetalDetectorDetectForm.cpp create mode 100644 project/src/MetalDetectorEntry.cpp create mode 100644 project/src/MetalDetectorFormFactory.cpp create mode 100644 project/src/MetalDetectorFrame.cpp create mode 100644 project/src/MetalDetectorMainForm.cpp create mode 100644 project/src/MetalDetectorPanelFactory.cpp create mode 100644 sample.xml create mode 100644 screenshot.png diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..917b21e --- /dev/null +++ b/LICENSE @@ -0,0 +1,206 @@ +Flora License + +Version 1.0, May, 2012 + +http://www.tizenopensource.org/license + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and +all other entities that control, are controlled by, or are +under common control with that entity. For the purposes of +this definition, "control" means (i) the power, direct or indirect, +to cause the direction or management of such entity, +whether by contract or otherwise, or (ii) ownership of fifty percent (50%) +or more of the outstanding shares, or (iii) beneficial ownership of +such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation source, +and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, +made available under the License, as indicated by a copyright notice +that is included in or attached to the work (an example is provided +in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial +revisions, annotations, elaborations, or other modifications represent, +as a whole, an original work of authorship. For the purposes of this License, +Derivative Works shall not include works that remain separable from, +or merely link (or bind by name) to the interfaces of, the Work and +Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original +version of the Work and any modifications or additions to that Work or +Derivative Works thereof, that is intentionally submitted to Licensor +for inclusion in the Work by the copyright owner or by an individual or +Legal Entity authorized to submit on behalf of the copyright owner. +For the purposes of this definition, "submitted" means any form of +electronic, verbal, or written communication sent to the Licensor or +its representatives, including but not limited to communication on +electronic mailing lists, source code control systems, and issue +tracking systems that are managed by, or on behalf of, the Licensor +for the purpose of discussing and improving the Work, but excluding +communication that is conspicuously marked or otherwise designated +in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +"Tizen Certified Platform" shall mean a software platform that complies +with the standards set forth in the Compatibility Definition Document +and passes the Compatibility Test Suite as defined from time to time +by the Tizen Technical Steering Group and certified by the Tizen +Association or its designated agent. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work +solely as incorporated into a Tizen Certified Platform, where such +license applies only to those patent claims licensable by such +Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work solely +as incorporated into a Tizen Certified Platform to which such +Contribution(s) was submitted. If You institute patent litigation +against any entity (including a cross-claim or counterclaim +in a lawsuit) alleging that the Work or a Contribution incorporated +within the Work constitutes direct or contributory patent infringement, +then any patent licenses granted to You under this License for that +Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof pursuant to the copyright license +above, in any medium, with or without modifications, and in Source or +Object form, provided that You meet the following conditions: + + 1. You must give any other recipients of the Work or Derivative Works + a copy of this License; and + 2. You must cause any modified files to carry prominent notices stating + that You changed the files; and + 3. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + 4. If the Work includes a "NOTICE" text file as part of its distribution, + then any Derivative Works that You distribute must include a readable + copy of the attribution notices contained within such NOTICE file, + excluding those notices that do not pertain to any part of + the Derivative Works, in at least one of the following places: + within a NOTICE text file distributed as part of the Derivative Works; + within the Source form or documentation, if provided along with the + Derivative Works; or, within a display generated by the Derivative Works, + if and wherever such third-party notices normally appear. + The contents of the NOTICE file are for informational purposes only + and do not modify the License. + +You may add Your own attribution notices within Derivative Works +that You distribute, alongside or as an addendum to the NOTICE text +from the Work, provided that such additional attribution notices +cannot be construed as modifying the License. You may add Your own +copyright statement to Your modifications and may provide additional or +different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works +as a whole, provided Your use, reproduction, and distribution of +the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Flora License to your work + +To apply the Flora License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "[]" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Flora License, Version 1.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.tizenopensource.org/license + + 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. + diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..3997999 --- /dev/null +++ b/NOTICE @@ -0,0 +1,4 @@ +Copyright (c) Samsung Electronics Co., Ltd. All rights reserved. +Except as noted, this software is licensed under Flora License, Version 1. +Please, see the LICENSE file for Flora License terms and conditions. + diff --git a/description.xml b/description.xml new file mode 100644 index 0000000..97ecb3b --- /dev/null +++ b/description.xml @@ -0,0 +1,9 @@ + + + + + MetalDetector + 1.0 + screenshot.png + The MetalDetector sample application demonstrates how you can use the magnetic sensor to enable your device to detect metallic objects around it. + diff --git a/project/data/nofile.dummy b/project/data/nofile.dummy new file mode 100644 index 0000000..e69de29 diff --git a/project/home/nofile.dummy b/project/home/nofile.dummy new file mode 100644 index 0000000..e69de29 diff --git a/project/inc/MetalDetector.h b/project/inc/MetalDetector.h new file mode 100644 index 0000000..ef1693c --- /dev/null +++ b/project/inc/MetalDetector.h @@ -0,0 +1,76 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +#ifndef _METAL_DETECTOR_H_ +#define _METAL_DETECTOR_H_ + +#include +#include +#include +#include + +/** + * [MetalDetectorApp] UiApp must inherit from UiApp class + * which provides basic features necessary to define an UiApp. + */ +class MetalDetectorApp + : public Tizen::App::UiApp + , public Tizen::System::IScreenEventListener +{ +public: + /** + * [Test] UiApp must have a factory method that creates an instance of itself. + */ + static Tizen::App::UiApp* CreateInstance(void); + +public: + MetalDetectorApp(void); + virtual~MetalDetectorApp(void); + +public: + // Called when the UiApp is initializing. + bool OnAppInitializing(Tizen::App::AppRegistry& appRegistry); + + // Called when the UiApp initializing is finished. + bool OnAppInitialized(void); + + // Called when the UiApp is requested to terminate. + bool OnAppWillTerminate(void); + + // Called when the UiApp is terminating. + bool OnAppTerminating(Tizen::App::AppRegistry& appRegistry, bool forcedTermination = false); + + // Called when the UiApp's frame moves to the top of the screen. + void OnForeground(void); + + // Called when this UiApp's frame is moved from top of the screen to the background. + void OnBackground(void); + + // Called when the system memory is not sufficient to run the UiApp any further. + void OnLowMemory(void); + + // Called when the battery level changes. + void OnBatteryLevelChanged(Tizen::System::BatteryLevel batteryLevel); + + // Called when the screen turns on. + void OnScreenOn(void); + + // Called when the screen turns off. + void OnScreenOff(void); +}; + +#endif // _METAL_DETECTOR_H_ diff --git a/project/inc/MetalDetectorDetectForm.h b/project/inc/MetalDetectorDetectForm.h new file mode 100644 index 0000000..3eedecd --- /dev/null +++ b/project/inc/MetalDetectorDetectForm.h @@ -0,0 +1,79 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +#ifndef _METAL_DETECTOR_DETECT_FORM_H_ +#define _METAL_DETECTOR_DETECT_FORM_H_ + +#include +#include +#include +#include +#include + +class MetalDetectorDetectForm + : public Tizen::Ui::Controls::Form + , public Tizen::Ui::Controls::IFormBackEventListener + , public Tizen::Ui::Scenes::ISceneEventListener + , public Tizen::Uix::Sensor::ISensorEventListener + , public Tizen::Base::Runtime::ITimerEventListener +{ +public: + MetalDetectorDetectForm(void); + virtual ~MetalDetectorDetectForm(void); + bool Initialize(void); + +public: + bool InitTimer(void); + void RegisterSensor(void); + void UnRegisterSensor(void); + bool IsSensorStart(void); + + virtual result OnInitializing(void); + virtual result OnTerminating(void); + virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source); + virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, + const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs); + virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, + const Tizen::Ui::Scenes::SceneId& nextSceneId); + + virtual result OnDraw(void); + virtual void OnDataReceived(Tizen::Uix::Sensor::SensorType sensorType, Tizen::Uix::Sensor::SensorData& sensorData, result r); + virtual void OnTimerExpired(Tizen::Base::Runtime::Timer& timer); + +private: + result GetFileList(Tizen::Base::String dirPath); + result AddElementInFileList(Tizen::Base::Collection::ArrayList& fileList, Tizen::Base::String& dirPath, Tizen::Io::DirEntry& DirEntry); + void StartTimer(int interval); + void StopTimer(void); + void StartSensor(void); + void StopSensor(void); + +private: + Tizen::Uix::Sensor::SensorManager __sensorMgr; + Tizen::Base::Collection::ArrayList __fileList; + Tizen::Media::Image* __pImage; + Tizen::Graphics::Canvas* __pCanvas; + Tizen::Base::Runtime::Timer* __pTimer; + Tizen::Ui::Controls::Label* __pDetectingMessageLabel; + int __timerInterval; + int __fileIndex; + double __magneticFieldMagnitude; + bool __isSensorStart; + bool __isFirstDrawing; +}; + +#endif //_METAL_DETECTOR_DETECT_FORM_H_ diff --git a/project/inc/MetalDetectorFormFactory.h b/project/inc/MetalDetectorFormFactory.h new file mode 100644 index 0000000..6dcb28c --- /dev/null +++ b/project/inc/MetalDetectorFormFactory.h @@ -0,0 +1,33 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +#ifndef _METAL_DETECTOR_FORM_FACTORY_H_ +#define _METAL_DETECTOR_FORM_FACTORY_H_ + +#include + +class MetalDetectorFormFactory + : public Tizen::Ui::Scenes::IFormFactory +{ +public: + MetalDetectorFormFactory(void); + virtual ~MetalDetectorFormFactory(void); + + virtual Tizen::Ui::Controls::Form* CreateFormN(const Tizen::Base::String& formId, const Tizen::Ui::Scenes::SceneId& sceneId); +}; + +#endif // _METAL_DETECTOR_FORM_FACTORY_H_ diff --git a/project/inc/MetalDetectorFrame.h b/project/inc/MetalDetectorFrame.h new file mode 100644 index 0000000..97292f2 --- /dev/null +++ b/project/inc/MetalDetectorFrame.h @@ -0,0 +1,36 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +#ifndef _METAL_DETECTOR_FRAME_H_ +#define _METAL_DETECTOR_FRAME_H_ + +#include +#include + +class MetalDetectorFrame + : public Tizen::Ui::Controls::Frame +{ +public: + MetalDetectorFrame(void); + virtual ~MetalDetectorFrame(void); + +public: + virtual result OnInitializing(void); + virtual result OnTerminating(void); +}; + +#endif // _METAL_DETECTOR_FRAME_H_ diff --git a/project/inc/MetalDetectorMainForm.h b/project/inc/MetalDetectorMainForm.h new file mode 100644 index 0000000..38abbd8 --- /dev/null +++ b/project/inc/MetalDetectorMainForm.h @@ -0,0 +1,48 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +#ifndef _METAL_DETECTOR_MAIN_FORM_H_ +#define _METAL_DETECTOR_MAIN_FORM_H_ + +#include +#include + +class MetalDetectorMainForm + : public Tizen::Ui::Controls::Form + , public Tizen::Ui::IActionEventListener + , public Tizen::Ui::Scenes::ISceneEventListener + , public Tizen::Ui::Controls::IFormBackEventListener +{ +public: + MetalDetectorMainForm(void); + virtual ~MetalDetectorMainForm(void); + bool Initialize(void); + +public: + virtual result OnInitializing(void); + virtual result OnTerminating(void); + virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId); + virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, + const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs); + virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, + const Tizen::Ui::Scenes::SceneId& nextSceneId); + virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source); +protected: + static const int ID_BUTTON_START = 101; +}; + +#endif // _METAL_DETECTOR_MAIN_FORM_H_ diff --git a/project/inc/MetalDetectorPanelFactory.h b/project/inc/MetalDetectorPanelFactory.h new file mode 100644 index 0000000..227386f --- /dev/null +++ b/project/inc/MetalDetectorPanelFactory.h @@ -0,0 +1,33 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +#ifndef _METAL_DETECTOR_PANEL_FACTORY_H_ +#define _METAL_DETECTOR_PANEL_FACTORY_H_ + +#include + +class MetalDetectorPanelFactory + : public Tizen::Ui::Scenes::IPanelFactory +{ +public: + MetalDetectorPanelFactory(void); + virtual ~MetalDetectorPanelFactory(void); + + virtual Tizen::Ui::Controls::Panel* CreatePanelN(const Tizen::Base::String& panelId, const Tizen::Ui::Scenes::SceneId& sceneId); +}; + +#endif // _METAL_DETECTOR_PANEL_FACTORY_H_ diff --git a/project/manifest.xml b/project/manifest.xml new file mode 100644 index 0000000..bb59da2 --- /dev/null +++ b/project/manifest.xml @@ -0,0 +1,28 @@ + + + $(manifestAppId) + 3.0.0 + C++App + + + + + 2.0 + + http://tizen.org/privilege/alarm + http://tizen.org/privilege/power + + + + + + $(projectName) + + + mainmenu.png + + + + + + diff --git a/project/packaging/org.tizen.MetalDetector.spec b/project/packaging/org.tizen.MetalDetector.spec new file mode 100755 index 0000000..d0ae9bc --- /dev/null +++ b/project/packaging/org.tizen.MetalDetector.spec @@ -0,0 +1,49 @@ +Name: org.tizen.MetalDetector +Summary: MetalDetector sample application +Version: 1.2.1.0 +Release: 1 +Group: TO_BE/FILLED_IN +License: TO BE FILLED IN +Source0: %{name}-%{version}.tar.gz +BuildRequires: cmake +BuildRequires: pkgconfig(osp-appfw) +BuildRequires: pkgconfig(osp-uifw) +BuildRequires: pkgconfig(osp-image) +BuildRequires: pkgconfig(osp-media) +BuildRequires: pkgconfig(osp-net) +BuildRequires: osp-appfw-internal-devel + +%description +MetalDetector sample application + +%prep +%setup -q + +%build +MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` +%ifarch %{ix86} +CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_X86_ -D_OSP_EMUL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} +%else +CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_ARMEL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} +%endif + +# Call make instruction with smp support +make %{?jobs:-j%jobs} + +%install +rm -rf %{buildroot} +%make_install + +%post -p /sbin/ldconfig +app_id=r8g4676332 +echo "/usr/etc/package-manager/backend/oap -i /opt/apps/org.tizen."${app_id} +/usr/etc/package-manager/backend/oap -i /opt/apps/org.tizen.${app_id} + +%postun -p /sbin/ldconfig +app_id=r8g4676332 +echo "/usr/etc/package-manager/backend/oap -u "${app_id} +/usr/etc/package-manager/backend/oap -u ${APP_ID} + +%files +%defattr(-,root,root,-) +/opt/apps/* diff --git a/project/res/1.jpg b/project/res/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b729b3b40615e2e9215233afcc326197b2ffcdab GIT binary patch literal 2233 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 literal 0 HcmV?d00001 diff --git a/project/res/4.jpg b/project/res/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba91edf922d4da847953d1ccc2a562b60b653773 GIT binary patch literal 9022 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 S+R*>6|NkBQt1$q&n*Se_$(E@A literal 0 HcmV?d00001 diff --git a/project/res/5.jpg b/project/res/5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2d744645bdc31489bc41d44cb60e8b75793a16a2 GIT binary patch literal 11583 zcmeHtXH-+swr&t90*W-LfjAHk+rkux7V8A`qrH5>ig9?;I^)&jwXPJ zhzO8P_yDdh0UVDtR3F_lb$;&Z+ko!fAaVCzjqNX zDsnRNzdioFcGUx*At&M?;vpvD0$igZBBmj_8USzr07N7NIDZlSM zLSII|iHVJS`z}5`BQq;I=Y4KoaY-q(to&0&<(K+~#-`?$*0#R>fx)5SuOp)~vvc$C zh3|_9Bx>Ww=GOMlon7qF@voE9Gu-b#e{m53i2o<7eh^_?_ zjF{#+38y$It*Q~3gD)MI#A|YTwX~wT-W%Kxj4=$3e$y0pfRaca>|bdAK=!Wzi~7Gp z_D^8{8y5mVMNC8(JYpJv3g8m_vp62W|KHJie@PlWB>k`Dde;KZ_6l&_6CTNhC!Ouk z7fV1lT!5|X^wnnd-MKJ=ZE;D!_sZ%LY3cN6J`QP#h=QEBV=9Dy`K$6tRPBlG*cKdC zyaIVJu>3p&b0Qd6A3vJ;LN8lhCU}P)p;z@%6lQ{o7YsXRZdlqum#ed#9!zV;rB|0< zk0kvFyIb}l_g7u|i=RS=DT~{eQ#fl&%;?mNWsuMK)fuTe1eB19WK+MGK)846|*)y?MQenCUqpMe`b zo*hK50I(_~o0neffPvKtqwy^f4bhaDy|Q;}T4%5+{G%~h2x}Dd7UO_sl7{4uO}KQJ zvX#d^qNxg|wV^DCK@Y!CG^}uAba@a6UC{%HCmyI_TQz$RB&ekz#)gW`!D7O-M`J>a z!9l{4IwQcs(!!Iw;nfJg@XE2Gv$@Pn+Wht=*wiN@jfjkMNpLTBAV=~QfY>A4{!>Vs z2*rj?Os(XeRGkd**a-Pd*U8X6h~gFzS;kR{4bNBc-;E%3BEv!*+uf|3DmMdO=K*{T8&?PVad@{8H2y zU8WDUZ>yow9&blw=H?Aq9jh9aW96tUOVg+d{S~PI_=Hj(1%L6!Z~yM(6x!v817pm^ z-r3*0ykUcrhOa$p$uVfS!xC8~De6_jMcF7zMYG6Aq+^d{jrND+e1aJYPx`h7Y?_dm z&H9-K?RM7`?iC@oJ04_hOCt58idgF2v=*1bKo?$35hlPqP;2gwv{fCTN9Q`TQB|O9d4!Xaoc!b9v)=IbI*f0L8_bVnr^p8(~%=C#6AHZp0EWq3zy! z(xh&x0mTN;KM|5BwA954?tRz=#0%k^3h8GK_itu3crri-2b*&Po#JFoJ=S0844rrc zumP?O_0#Y}c z?HRPBBRu2$4mAb8D-CHFSBQ!NJ6b|rg0tN$+uPH}2MW@4c6APo790%_5O;kY4T1Kq zt|EIq{Ix4U6f|7*0&+>CwSLa3L~Yji*<4?G>r#NloyXB&Dyt{(diuvBd8b!^GqFYP zQz{&2qkFOa(fr8=sgq8Vfjea=_o>D)RvU4kMM;3XQUh{=6F@4To*+HqwO?wt{w?SdzndylO<{t_*eXr(FwL+ozLPfR}Ez z2?}h%!aDdDN%ZE%85w>V?Vz31Hx3NsLOjKKPEqmv75x9sTs}`ZjU>DrrSie4#q-Bl zgL2f)uLXerx-+a6CC@s2z9KZ@cv7x!LsK{N6G|5_+XXFVukpQ+eO#jTq)o zvuEQYAOsZKprnohCI7mRU{<`a7?8mtO2)U(GW72~vFcoGl{)FrivRk;;r{e!#V7+e z$Er-2jPpvTcW|IH=*YgnCzdhZ=lya-BoKDvn_nle=3r1x=8O5$jyCC)+2CF5PgpJ3 z)ey(Cfxn9ri9mVE49x7F{Q+{JE)jaFw0cZKr-`vZPc~$ID)l`~q$VuBA62oCki{2} zQihxq7<;g+SSM#|5He&SrkNMEKNF@;8@VxdGVZMh()Uz_GxvrV{BNXxA#Cu1YxAB+FSgbPiI#S+>@J(6K!W zvpw^;d{%YJddhPJh_;ABE1gq^_@ksdvC4=2g`!w^8hdl`cblCGUk5jDMMpg&pTX#M zdHNuM=4as!@jotg!qwVmq^LREbJ#hW@}^WFPYU&=Zx}d5eg8THd_FaP`;%g!MnwI& zI04oWM}zl1^jvfi&yP8oiiZ8FVV~a*h_Er6-5c;H& z`i_sHf66Fk@3s3-4A_lPInw6HYNy(zA*(gr!p%x)c8y3_(&h3?Z4I;?LK|}28+--0 zi4Uv^2{udOnwO;f{cCSPbGb@VLeh)qfLLJb)6$MbaJI>Ezo)-QW7(R#Y2p|47G&^! zq+ba0o@Pyztvdobe{nLf5ZqiZc|7$XC*6%H8|0#x4J2@fK3I=W358zFprMek>N z#+c>il4O`<=xg)++7c1%=J8E6rEC5~(aF3e(GWr1KUVsDRPhzC{loA^?S$dmq_$ifE;p=cdwVP(RWec zIpccU9wUIK=0=itWOA~TL^h+?6PQfRBoOjjyee)QGtnXP=?d_C(Q1WjI7}(4T}uf=ChPdL zGWvDuYyYX|@e72WR^VRw69`UV8*S@`S$hmecSwP}%O|RL|CD~qMNCfeB}==aMt`R> z^S)EdHad1HxE1LGv$=TJ?P-7avPY$XG#AT_+}wnAwU-a`G<>$}bE%&bDJ33n{y=0r z-9(SCu4XoSef^p;=-uZ~$f>Ac%B@jJtO4z*fiBjhxou_E{-v8+06gxNYT9P5sTtK> z27~;Z2S(=YVcoOSRvaeaUU%?%+=2>5H%#mXE=L3VX7vFE6o23}+p*Lx)z~rXHLcjo z8slO`^G!jB|0&aVnlrsfu*G~g#zYJ!%s6O>6EuK+9Nq{C5TWkBWEK`!r=`yf=>K3P8!-&kpFE>ktDPD%B@^;%@6s zxf zQzdlK`0`?Ye2uyBy}Ny7`s-kX|Hc$fFgWT8u%5|IG#g17a;S|ZZA2XcLV_k|weocu z;)OV95T$lz)#rJ}o{MinvMi;CECjZ0w&D+QMppnb0NxL$gvl|*6y}q?sWsjTdl!IK zI~cVRZE()h^k;jh&Fz%f#7)cX2_S9(kZon+AcO1zede$<6KHH{<&bHm6kb;>|M%}% z9Y0-tO_7yBp>n!?XpYaSjrr}NQ8S*=xe|Q6Iodr?&th%-7z_aSvV&bA@yeudMXjQ6 zrS{HQN%yKMO_$E*Ser$W(vYolML+qDBHO#FM#l`C!R$g?2~}1eUeKtJ(pcB0rD<(h z0ndC?$x>C(_Ft|57(;5D7$~{{vbfX>zJ=F9!tU&X={zR7UOU`O^wlBlR!ruO(#&0E zT3O5)7cM>EiN$BJtDJ+uy*Cwgkl?67dE9Q7XhSQOsI?ud-2Rc3nv1+7&n3^nTlB~< zlMQLBxoPZIP7ztfiM5dI1qFU7lz~zSgN)RvW^xXtUYvDgB%Il+w9>CY?Cc+~_RGHb zF6-zQDxaizLf705Jr@a{wSZnk8vhML!hBE&Ou-4Pp&dY&B|Z2@%w_>gIARi3sY8Zf z85-qHVonzs+fvXG)+XI#4$pYyzTCau2*IegLvTEr5TrewYnOP=kR27)Y<8#U0DT93 zZrE;#?@4Be|C(I6UoD;XIZFOPc;h);Bw|(Z;#HT5TQ^M?yPdU-dy}}1yQEBNE?SDx zO?=B{{8iM~K~qBDQdC^Oee-1so_^|*k_c;fNs(27i%|5w6KWGcl=f_-Cu1i`mQq4y@u&K?cOwv*2^88xjd9w`my;!SAZ|D zEoW@Dkio&J6w=U@c+|ZJI~~9V@3(j(ziC239V)(zNPWN?0_~nL(Tc*&&4=&$JY*&# zW{Vp#OniAb4Cb)KWehwRRxS!+xHgc_6(z-FIUU;fdRIq|un0?yPTN;&#z@JSX{|;W z=9Z*7&($4|?-<3yq}=qyLTlvlS?7!P&x+%POcwqn+Wkw<=g-v%V{{*vVvS>_eyf7y zZ%P=nkXAbtpFYQt57fhlxPvUH{CPpZPF^jO(QNGuS54<3n&7GKpKKOce zGa~%Z)0Yx6t(|C=xzX}W3u)iXfzdMjp0bg%-+9iZgCeNMkg+~}Uo89R-Ir5+@>^+= zaG#vFlC+KECMAQybxi$4tT9BYRQ;QHwa(6bla9QtEjJKBH)9Zbi;ISxkG&RwMgiz z@B`rsGrU%rvetAZ@PunT$Gos|LEj8q^_t*zbKft}ybtZiW8O+lgQu{ZEW}jJ ziLJuUTG4N*bI|3tOZf}JCd74(23L*}dRQnRL)wReud0Zy8Qi90YJTVU{n5RYj)8O? zV7j3e=J=FjF5DZlyJVej9cS1v_l)sQcG+^XZtCrl!f&2C;~+he*AmoX*9=?F z*&_98=DrST)3IG6>i4`Wq2Ql)!IfDFAGx1_3{^GujS~~pRV--pD{HWEz4+0vx(yF; zwu$-)3hBnZZKyP0OW!o|YpV#v`pGt-BP}9rc7N5|d6w=Xn)?metk*1;^~&}NIl8RS z+iz1O;3#Hdq3Bt`UGg)A^P=LA2dCMDs3`^a%KXA9s-j>-A=jum+{VPuNs|GTmA)gzqcvh|^7hTzzQN`Ns3cItxKj?pi4_aCYevFZopz#|Vsf3ts2G{S* zoVqoSf#bG|a7tLZp1hpCwYMzWu~P3fn(B}fY7wG;?jZ+Edbu^YqGV+Qxw*RayVoIL zjEBs-D}bl{_r1qBXcbp z;(02j*jB|r&FyVllxqOEzCniQ^2fd2=(I=WB%gHC;i67$^=z?s@qY?Sg6|O>)PmAV zv&{hjN(J$CqKPnz9zz^|b7B`!xP(2WwWS*i^h4S4a}m_YmbJIzV5B)~rZ|u|dg|#j z>S-t&cwV4t7_sOt)rdZ{z7T6Xsr$XnZj54H=W1~@O0o-#^scDwwQ9Le1-_A$eK=JJsVHE!@4?wz6Ez%@tPgfE*+-umMc(NUD_zOR(` z-UvEjhU`@mvXm__Yp9updINZ84SeC-`bM6jm11^5h?h^YSe_yp0VfROwtl$zO1Ml@ zli~wZTz`!ol5s%ay`QCRs4Y7tn5SS%dO7hcA+;LFeH~OlGt>HK0XvlxsPgtweC`D8 zxW2O6HaNDjqWjSHNP$+H_?1Km@hjQt_}_TFvfYvCZk`obCk%>5x1P!J*gEV~n;4V} zZZ$2#;j0#%9fTxSwLxleJU`$+w{Mu{*h9tVC{G3L*$uiEEH!gMLDLyYN7~5SpeCyr zUUU@~RJ%{qKS8#Kk9%OV$u?le%xGi+Yv2c~FF8-AAVG#hRlle8`4?NWVqzN zq^b|arBXoNqh9Ax)Zc+M3R7txvmh6uX#E9_8|Ja36*UsO(s_ zK5w3Tpi9Q@C9}Fi4vfVW0LOU+h*w$9yko}%|A9?PNeSmfCB%JBFitS=lt#^{DVaj6_1rPn*N_RYksux6ytV5kr z)Atz#Kax-|w`KEosmJNI=k?iqMc3NRklq09u`+G&eH8gdcWBSo7p{=Mwal$2jAf_a zbL0WL<_H?hbcl_(R`9sDSlN4(!?oBj@4Ks=XMCEbHft}G41XH-b6^aoVmL6y-HTU% zhqwx?o}S_DkR_B#oQOBXe72D?!RgzZ)VO5Cj5y~bo1mbl+O@X*xiU`iIF5BgJnIJ( zm{5Hn5$mu4VIQb{Zg0unI42$aHNqQb{Q7P-GqlBuES={Gn@93fq1w=|9CRUkr^C1! z%ob}Wq;2&$v=5RK^Q8B)4u0&C^Xx5NE*5r+d7Rt) zK@|tczw|9KM@+{Oid`OiL2+~e}_B!8dKek8k z2H6i7MdY$QlOh>X#Q))RBoNoHJKdqB*lZmGt%U-Ori81lEr_(gI{^5+wwH;Sz;p0?hXI3j>hQQSA=TVH5?Y-U4sF(VOAQ%IC zgn}V1V?A*8Adof8%|nb3%!Lcae}kD>I<@D{qi3d3%=AY@Wbp3w3WAT;hHuv}X8hqY zP+W@Ew+;a$m~!+isLedvDOEpU@AH&!I;~aIrYWFEz4>~K6T&=eB@uUM zVzjl@&|VwqespxyNExoXJuw?%U!|j?;ufJ&lakC23%W>Eap*KTt^G20LQ~!U(e;m0 z@%Lq^y4G~7rda-pR?=%(z-*3?XY9Uxk<(zJM*GEfRLojzpw-9rbp9FC>K5CZ)|lhQ z9>wTXRk9+J5hlJ9SCpG>Nin3Oje|1|l~~yYGU0_OW!01Oi%P2zSHj%f#4g&HMtRncyOt2di2xEe}-%}6(WgHGjj-7ZTG~1K$#5Z0h(!q%kM2eFJ}^exp44&$ zSC4FpM%M84(^%q$)#trDOIq@u-1qFVNibK~N)I(Rw@*u~?04k`fEDcME|R){xCLZ? zNd03>=O#R9Gxs@ILNX5tkPATx-(5(SjxJn;iNQw0tuQdM;qNR=6u8#uQwI7&{qhKw zdPCUJSV;TNgK6}S0*#o!7u7u4rkP5MJiujp5U6C<#UuP->-3>wXsteSFD&2onx|Uu zEN8(%HtTb4rnE@|OWtpxit!i17pdU&1(kQ;M*IEH61-8y@a0`hZ53)lDiBQllhK@Z zQWRaP|4nIdwB<-~UT|I54{58@JDM`qb|HC@Mo4UJcPFTPiQA8W;zbgAyY65`t^hF& zNGLAMuB*@~OenzibLls+F_p{~v;N_u;^>wrORP)I-C?2r{#VY_UX>d9b3eQn7f&h< z4!yjaz2i*U0hkUns;Mda@JK}_+!m>?-cu+vFR5g`xZmh`=fH+?DfnIk-J?yQn(DpO zQ7tkyi(mN!TClkItl~mV4DRK{^Fj4DIO5nDZ8@}4LkOuHG0&P>=T14BTu`h@S72t^ zXJjVMjkhmPm871jibY_9Zggdb~fu1v}js3>??Wd6EAmbYE^2YHbk2mb9mbz5zA+_?I3drvLFf0dZ>a{ag^fj_7AI&L4zIpsS z=|HzYCNr@Ya-AlN40u~YQ)t2^R?lr!z-S{~TJUE-RVg9ARx}X_iH?yED2aRXyOq|$ z>rlhJdF3R+3W=UeCMrTEZ@B1luQQ`FaLbo$;ZXYdqZVS?$ zTh`|(J!;UDd$`oe2D+Yjja&}VDgM-AcrE$m0-74jzBiD!9wn4()mRxXZkZ*`M+a1uHBY3PtPygM`N;Mt}`Eaih6;ksc!^S2IEityg0@mSWOmQ zgDAwe&kKp=TX!V{g-_A>#v1njs(?=l2^v+1TCV)_pi1=$?g2p>X<*`_A^|%rUeMCr z{sC*!4-8S(HbdQ@cJX_Ue0dMkw4c~;3r!OHLSjxn=r`6l9-K^bryqcFvq%~A#DPTL z{f*WZ^~>xHJ$+*3(50?F)cnjc*OQfQs@p5X^_ujL8c<9e_+u7GHm!I(G=)SH4BEG{ zRu;@N!-SgtbOwJH+VOtVjd=`a!kgnX+)?jOJo)rq z@=1B>JojD0HyjvKZ`yD{oSYjn7;_1!T-}lGn>Co@X>}bi`qX!Wi}HM;1aNyKmDJDA zAY|d)roDONVa3?6G0OQ(8O}jtZu{x-ayNC3bavMj;KdS$_->x_P(sDiMcYT;Y^`;_ zO|VA%Trq%~9FTKW&DT6PZ&_$`uR3p~TCk{BJl1|ls^ua)oMNnRRy!E>BBDmw%WSIK z#xt@>`Nu`B$~tuQHtsow^6@t*w2VcH1qR)`=%6Q?t$mmYawip*mKJXhzS}F;gPR&& z70wu5RfL}`IwT`Jy)MJf;#FE%^|-Z7!>)a=etFJ)`huWcG3b-MHWlPy2^+X^wLNdW+SfSvG#v zb#jCgKQaQn2SU89f@)7P-el!X|ACYlS5c%U>3Z#y&e}+xI%v?FvXIalJ^Z&ULJxCz zNijtzJ`MK@d6O+!|7@0#53KzD{l)PR+TWexlNm{{N3a=_IXBzQ-qxuxQ;UkMZOi>O zze3WgvLDsxd9aPrf_mRn%X7iWioR@jHL2%h6AV1{m(4cH73oh6dB$PF$y2~YtHori zcR$i2bUyto?iiZ#6>^R0D#OVTc%=aM8k@4-2ut)l5urBlG+#o$^nwH&-KZ_*<{$6X zEyIp(E8aF(#vV;Xq+uRhQj(ykqaoKk6uEto3L@^t-_RtU;aPKVQk?_G^?5N)(ot zwSB1474Eofl<7zrblHV>Ol5fGDF4ZTaGhpvH8mkFJby6!+U^m<3C5*d0`T`zdQY=i zcnPb>(6n2#MFnT}gbtq@MUVDJNG2Q2Ebtli`=2m%p-J)9KnojUqdtAB#>HQkZMz|h zXE!%<=SgBFTs5n?=F)RC+p4Tin)9ZA+F|+LdWYMhSTAghTf#cEOk2|rc7xAn^|%>> xWe+SfaPutuFnMD?FXLbjLW%8u{2PY!X`U~tgvpXkZ=?bE|MvgxI{;rT{tssv@IwFq literal 0 HcmV?d00001 diff --git a/project/res/6.jpg b/project/res/6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..55d101f0d2f2733694f9058c115bded1097d2d38 GIT binary patch literal 14649 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 W%$C}tMo1EEC8r4ETF`%SOUKIi{V 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 ak`(?oQq^Dn6`B11_Z|2@RszvK-uwgopzFv0 literal 0 HcmV?d00001 diff --git a/project/res/8.jpg b/project/res/8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd94efc6fa539684d8b7de6812bdf0febc3d293d GIT binary patch literal 43856 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

N(m1PO)^x+ow*f^?!(nUP)sV@LvqCWH`@5PB$r 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 h2g-v+Gn)_u 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 +#include "MetalDetector.h" +#include "MetalDetectorFrame.h" +#include "MetalDetectorFormFactory.h" +#include "MetalDetectorPanelFactory.h" + +using namespace Tizen::App; +using namespace Tizen::Base; +using namespace Tizen::System; +using namespace Tizen::Ui; +using namespace Tizen::Ui::Controls; +using namespace Tizen::Ui::Scenes; + +MetalDetectorApp::MetalDetectorApp(void) +{ +} + +MetalDetectorApp::~MetalDetectorApp(void) +{ +} + +UiApp* +MetalDetectorApp::CreateInstance(void) +{ + return new (std::nothrow) MetalDetectorApp(); +} + +bool +MetalDetectorApp::OnAppInitializing(AppRegistry& appRegistry) +{ + return true; +} + +bool +MetalDetectorApp::OnAppInitialized(void) +{ + // Create a Frame + MetalDetectorFrame* pMetalDetectorFrame = new (std::nothrow) MetalDetectorFrame(); + TryReturn(pMetalDetectorFrame, false, "MetalDetectorFrame creation failed."); + pMetalDetectorFrame->Construct(); + pMetalDetectorFrame->SetName(L"MetalDetector"); + AddFrame(*pMetalDetectorFrame); + + // Prepare Scene management. + SceneManager* pSceneManager = SceneManager::GetInstance(); + static MetalDetectorFormFactory formFactory; + static MetalDetectorPanelFactory panelFactory; + pSceneManager->RegisterFormFactory(formFactory); + pSceneManager->RegisterPanelFactory(panelFactory); + pSceneManager->RegisterScene(L"MainScene", L"MainForm", L""); + pSceneManager->RegisterScene(L"DetectScene", L"DetectForm", L""); + + // Goto the scene. + if (pSceneManager->GoForward(ForwardSceneTransition(L"MainScene")) != E_SUCCESS) + return false; + + return true; +} + +bool +MetalDetectorApp::OnAppWillTerminate(void) +{ + return true; +} + +bool +MetalDetectorApp::OnAppTerminating(AppRegistry& appRegistry, bool forcedTermination) +{ + return true; +} + +void +MetalDetectorApp::OnForeground(void) +{ +} + +void +MetalDetectorApp::OnBackground(void) +{ +} + +void +MetalDetectorApp::OnLowMemory(void) +{ +} + +void +MetalDetectorApp::OnBatteryLevelChanged(BatteryLevel batteryLevel) +{ +} + +void +MetalDetectorApp::OnScreenOn(void) +{ +} + +void +MetalDetectorApp::OnScreenOff(void) +{ +} diff --git a/project/src/MetalDetectorDetectForm.cpp b/project/src/MetalDetectorDetectForm.cpp new file mode 100644 index 0000000..d35446d --- /dev/null +++ b/project/src/MetalDetectorDetectForm.cpp @@ -0,0 +1,478 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +#include +#include +#include +#include +#include "MetalDetectorDetectForm.h" + +using namespace Tizen::Base; +using namespace Tizen::Base::Collection; +using namespace Tizen::Base::Runtime; +using namespace Tizen::Base::Utility; +using namespace Tizen::App; +using namespace Tizen::Ui; +using namespace Tizen::Ui::Controls; +using namespace Tizen::Ui::Scenes; +using namespace Tizen::Graphics; +using namespace Tizen::Io; +using namespace Tizen::Media; +using namespace Tizen::System; +using namespace Tizen::Uix::Sensor; + +static const int MAX_B_VALUE = 100; +static const int TIMEINTERVAL_LEVEL0 = 5000; +static const int TIMEINTERVAL_LEVEL1 = 1100; +static const int TIMEINTERVAL_LEVEL2 = 900; +static const int TIMEINTERVAL_LEVEL3 = 600; +static const int TIMEINTERVAL_LEVEL4 = 400; +static const int TIMEINTERVAL_LEVEL5 = 250; +static const int TIMEINTERVAL_LEVEL6 = 150; +static const int IMAGE_COUNT = 8; +static const wchar_t IMAGE_EXT[] = L"jpg"; + +MetalDetectorDetectForm::MetalDetectorDetectForm(void) + : __sensorMgr() + , __fileList() + , __pImage(null) + , __pCanvas(null) + , __pTimer(null) + , __pDetectingMessageLabel(null) + , __timerInterval(TIMEINTERVAL_LEVEL1) + , __fileIndex(0) + , __magneticFieldMagnitude(0.0) + , __isSensorStart(false) + , __isFirstDrawing(true) +{ + __fileList.Construct(); +} + +MetalDetectorDetectForm::~MetalDetectorDetectForm(void) +{ +} + +bool +MetalDetectorDetectForm::Initialize(void) +{ + Construct(FORM_STYLE_NORMAL|FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_INDICATOR); + SetName(L"DetectForm"); + SetBackgroundColor(Color::GetColor(COLOR_ID_BLACK)); + + Header* pHeader = this->GetHeader(); + pHeader->SetTitleText(String(L"METAL DETECTOR")); + + Footer* pFooter = this->GetFooter(); + pFooter->SetStyle(FOOTER_STYLE_SEGMENTED_TEXT); + pFooter->SetBackButton(); + this->SetFormBackEventListener(this); + + return true; +} + +result +MetalDetectorDetectForm::OnInitializing(void) +{ + result r = PowerManager::KeepScreenOnState(true, false); + TryReturn(!IsFailed(r), r, "[%s] Screen on state keeping failed.", GetErrorMessage(r)); + + r = GetFileList(App::GetInstance()->GetAppRootPath() + String(L"res/")); + TryReturn(!IsFailed(r), r, "[%s] FileList getting failed.", GetErrorMessage(r)); + + Label* pLabel = new (std::nothrow) Label(); + TryReturn(pLabel, E_OUT_OF_MEMORY, "[%s] Label creation failed.", GetErrorMessage(r)); + + Image* pImage = new (std::nothrow) Image(); + if (!pImage) + { + delete pLabel; + AppLogException("[%s] Image creation failed.", GetErrorMessage(E_OUT_OF_MEMORY)); + return E_OUT_OF_MEMORY; + } + + __pDetectingMessageLabel = pLabel; + __pImage = pImage; + + Rectangle clientAreaBound = GetClientAreaBounds(); + Rectangle labelRect; + labelRect.x = static_cast(clientAreaBound.width * 0.25); // 1/3 + labelRect.y = static_cast(clientAreaBound.height * 0.45); // 9/20 + labelRect.width = static_cast(clientAreaBound.width * 0.5); // 1/3 + labelRect.height = static_cast(clientAreaBound.height * 0.14); // 1/7 + + __pDetectingMessageLabel->Construct(labelRect, L""); + __pDetectingMessageLabel->SetTextHorizontalAlignment(ALIGNMENT_CENTER); + __pDetectingMessageLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE); + __pDetectingMessageLabel->SetTextColor(Color::GetColor(COLOR_ID_WHITE)); + this->AddControl(*__pDetectingMessageLabel); + + __pImage->Construct(); + + __timerInterval = TIMEINTERVAL_LEVEL1; + __magneticFieldMagnitude = 150.0; + + RegisterSensor(); + + return r; +} + +result +MetalDetectorDetectForm::OnTerminating(void) +{ + PowerManager::KeepScreenOnState(false); + + __timerInterval = 0; + + StopTimer(); + UnRegisterSensor(); + + delete __pImage; + __pImage = null; + + __fileList.RemoveAll(true); + + return E_SUCCESS; +} + +void +MetalDetectorDetectForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source) +{ + SceneManager* pSceneManager = SceneManager::GetInstance(); + AppAssert(pSceneManager); + AppAssert(pSceneManager->GoBackward(BackwardSceneTransition("MainScene")) == E_SUCCESS); +} + +void +MetalDetectorDetectForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, + const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs) +{ + AppLog("MetalDetectorDetectForm activated"); + InitTimer(); + StartSensor(); +} + +void +MetalDetectorDetectForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, + const Tizen::Ui::Scenes::SceneId& nextSceneId) +{ + AppLog("MetalDetectorDetectForm deactivated"); + UnRegisterSensor(); + StopTimer(); +} + +result +MetalDetectorDetectForm::OnDraw(void) +{ + static Rectangle clientAreaBound = GetClientAreaBounds(); + static Rectangle frameRect = clientAreaBound; + static int frameMargin = static_cast(clientAreaBound.width * 0.05); // width/21 + + if (__isFirstDrawing) + { + __isFirstDrawing = false; + frameRect = clientAreaBound; + frameRect.x += frameMargin; + frameRect.y += frameMargin; + frameRect.width -= frameMargin * 2; + frameRect.height -= frameMargin * 2; + } + + static int drawingMargin = static_cast(frameRect.width * 0.02); // width/50 + static int drawingBitmapWidth = static_cast(frameRect.width * 0.5); + static int drawingArchWidth = static_cast(frameRect.width * 0.4); + static int drawingBitmapX = frameRect.x + static_cast(frameRect.width * 0.25); // width/4 + static int drawingBitmapY = frameRect.y + drawingMargin; // width*3/50 + static int drawingArchX = frameRect.x + static_cast(frameRect.width * 0.3); + static int drawingArchY = frameRect.y + static_cast(frameRect.height * 0.67); + + if (IsSensorStart()) + { + static int fileCount = __fileList.GetCount(); + + __fileIndex = (__fileIndex-1+fileCount)%fileCount; + + __pCanvas = GetCanvasN(); + if (__pCanvas != null) + { + __pCanvas->SetBackgroundColor(Color::GetColor(COLOR_ID_BLACK)); + __pCanvas->SetForegroundColor(Color::GetColor(COLOR_ID_WHITE)); + __pCanvas->Clear(); + + Font font; + font.Construct(FONT_STYLE_PLAIN, 30); + __pCanvas->SetFont(font); + + String* nextImageName = static_cast(__fileList.GetAt(__fileIndex)); + String msg; + + if (__timerInterval == TIMEINTERVAL_LEVEL0) + { + msg = L"++No Metal....++"; + } + else + { + if (__timerInterval == TIMEINTERVAL_LEVEL6) + { + msg = L"++Metal Detected++"; + } + else + { + msg = L"++Scanning....++"; + } + + Bitmap* pBmp = __pImage->DecodeN(*nextImageName, BITMAP_PIXEL_FORMAT_ARGB8888); + TryReturn(pBmp != null, E_IO, "Get bitmap failed."); + + __pCanvas->DrawRectangle(frameRect); + __pCanvas->DrawBitmap(Rectangle(drawingBitmapX, drawingBitmapY, drawingBitmapWidth, drawingBitmapWidth), *pBmp); + double result = __magneticFieldMagnitude*1.5; + + if (__magneticFieldMagnitude >= MAX_B_VALUE) + { + result = 359.999; + } + + __pCanvas->DrawArc(Rectangle(drawingArchX, drawingArchY, drawingArchWidth, drawingArchWidth), 0, result, ARC_STYLE_FILLED_PIE ); + delete pBmp; + } + __pDetectingMessageLabel->SetText(msg); + delete __pCanvas; + } + } + + StartTimer(__timerInterval); + return E_SUCCESS; +} + +void +MetalDetectorDetectForm::OnDataReceived(SensorType sensorType, SensorData& sensorData, result r) +{ + float x = 0.0F; + float y = 0.0F; + float z = 0.0F; + + sensorData.GetValue(static_cast(MAGNETIC_DATA_KEY_X), x); + sensorData.GetValue(static_cast(MAGNETIC_DATA_KEY_Y), y); + sensorData.GetValue(static_cast(MAGNETIC_DATA_KEY_Z), z); + + __magneticFieldMagnitude = Math::Sqrt((Math::Pow(x,2)+ Math::Pow(y,2)+ Math::Pow(z,2))); + + AppLog("Magnetic field magnitude (%5.3f)", __magneticFieldMagnitude); + if (__magneticFieldMagnitude <= 0) + { + __timerInterval = TIMEINTERVAL_LEVEL0; + } + else if (__magneticFieldMagnitude > 0 && __magneticFieldMagnitude <= 170) + { + __timerInterval = TIMEINTERVAL_LEVEL1; + } + else if (__magneticFieldMagnitude <= 190) + { + __timerInterval = TIMEINTERVAL_LEVEL2; + } + else if (__magneticFieldMagnitude <= 200) + { + __timerInterval = TIMEINTERVAL_LEVEL3; + } + else if (__magneticFieldMagnitude <= 220) + { + __timerInterval = TIMEINTERVAL_LEVEL4; + } + else if (__magneticFieldMagnitude < 240) + { + __timerInterval = TIMEINTERVAL_LEVEL5; + } + else + { + __timerInterval = TIMEINTERVAL_LEVEL6; + } +} + + +bool +MetalDetectorDetectForm::InitTimer(void) +{ + __pTimer = new (std::nothrow) Timer; + TryReturn(__pTimer, false, "[%s] Timer creation failed.", GetErrorMessage(E_OUT_OF_MEMORY)); + + __pTimer->Construct(*this); + + return true; +} + +void +MetalDetectorDetectForm::StartTimer(int interval) +{ + __pTimer->Start(interval); +} + +void +MetalDetectorDetectForm::StopTimer(void) +{ + if (__pTimer != null) + { + __pTimer->Cancel(); + delete __pTimer; + __pTimer = null; + } +} + +void +MetalDetectorDetectForm::OnTimerExpired(Timer& timer) +{ + if (__timerInterval != 0) + { + this->RequestRedraw(); + } +} + +void +MetalDetectorDetectForm::RegisterSensor() +{ + __sensorMgr.Construct(); +} + +void +MetalDetectorDetectForm::UnRegisterSensor(void) +{ + StopSensor(); +} + +void +MetalDetectorDetectForm::StartSensor(void) +{ + if (!__sensorMgr.IsAvailable(SENSOR_TYPE_MAGNETIC)) + { + AppLogException("MAGNETIC Sensor does not supported. This sample cannot be activated."); + + Application::GetInstance()->Terminate(); + } + + long interval = 0; + AppLog("Activating Metal Detector..."); + __sensorMgr.GetMinInterval(SENSOR_TYPE_MAGNETIC, interval); + + if (interval < 50) + { + interval = 50; + } + + __sensorMgr.AddSensorListener(*this, SENSOR_TYPE_MAGNETIC, interval, false); + + __isSensorStart = true; +} + +void +MetalDetectorDetectForm::StopSensor(void) +{ + AppLog("Deactivating Metal Detector..."); + __sensorMgr.RemoveSensorListener(*this); +} + +bool +MetalDetectorDetectForm::IsSensorStart(void) +{ + return __isSensorStart; +} + +result +MetalDetectorDetectForm::AddElementInFileList(ArrayList& fileList, String& dirPath, DirEntry& dirEntry) +{ + if (!dirEntry.IsDirectory()) + { + String ext(IMAGE_EXT); + String subStr; + String tempStr(dirPath); + String fileName(dirEntry.GetName()); + + fileName.SubString(fileName.GetLength()-3, 3, subStr); + if (subStr.Equals(ext, false)) + { + tempStr.Append(fileName); + + String* pNewString = new (std::nothrow) String(tempStr); + TryReturn(pNewString != null, E_OUT_OF_MEMORY, "[%s] NewString creation failed.", GetErrorMessage(E_OUT_OF_MEMORY)); + + fileList.Add(*pNewString); + } + } + + return E_SUCCESS; +} + +result +MetalDetectorDetectForm::GetFileList(String dirPath) +{ + Directory* pDir = new (std::nothrow) Directory(); + TryReturn(pDir, E_OUT_OF_MEMORY, "[%s] Directory creation failed.", GetErrorMessage(E_OUT_OF_MEMORY)); + + result r = pDir->Construct(dirPath); + if (IsFailed(r)) + { + delete pDir; + AppLogException("[%s] Directory construction failed.", GetErrorMessage(r)); + return r; + } + + DirEnumerator* pDirEnum = pDir->ReadN(); + if (!pDirEnum) + { + delete pDir; + AppLogException("[%s] Directory reading failed.", GetErrorMessage(r)); + } + + while (pDirEnum->MoveNext() == E_SUCCESS) + { + DirEntry dirEntry = pDirEnum->GetCurrentDirEntry(); + AddElementInFileList(__fileList, dirPath, dirEntry); + } + + delete pDirEnum; + pDirEnum = null; + delete pDir; + pDir = null; + + TryReturn(__fileList.GetCount() == IMAGE_COUNT, E_IO, "[%s] Unexpected IO exception occurred.", GetErrorMessage(E_IO)); + + String fileNames[IMAGE_COUNT]; + String* pFileName; + String fileIndex; + int index = 0; + for (int i = 0; i < IMAGE_COUNT; i++) + { + pFileName = static_cast(__fileList.GetAt(i)); + pFileName->SubString(pFileName->GetLength() - 5, 1, fileIndex); + Integer::Parse(fileIndex, index); + fileNames[index - 1] = *pFileName; + } + + __fileList.RemoveAll(true); + + for (int i = 0; i < IMAGE_COUNT; i++) + { + __fileList.Add(*(new (std::nothrow) String(fileNames[i]))); + } + + if (__fileList.GetCount() != IMAGE_COUNT) + { + __fileList.RemoveAll(true); + TryReturn(pDir, E_OUT_OF_MEMORY, "[%s] FileList getting failed.", GetErrorMessage(E_OUT_OF_MEMORY)); + return E_OUT_OF_MEMORY; + } + + return E_SUCCESS; +} diff --git a/project/src/MetalDetectorEntry.cpp b/project/src/MetalDetectorEntry.cpp new file mode 100644 index 0000000..2aaa0af --- /dev/null +++ b/project/src/MetalDetectorEntry.cpp @@ -0,0 +1,60 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +/** + * This file contains the Tizen application entry point. + */ +#include +#include "MetalDetector.h" + +using namespace Tizen::Base; +using namespace Tizen::Base::Collection; + +#ifdef __cplusplus +extern "C" +{ +#endif // __cplusplus + +_EXPORT_ int OspMain(int argc, char *pArgv[]); + +/** + * The entry function of Tizen application called by the operating system. + */ +int +OspMain(int argc, char *pArgv[]) +{ + result r = E_SUCCESS; + + AppLog("Application started."); + ArrayList args; + args.Construct(); + for (int i = 0; i < argc; i++) + { + args.Add(*(new (std::nothrow) String(pArgv[i]))); + } + + r = Tizen::App::Application::Execute(MetalDetectorApp::CreateInstance, &args); + TryLog(r == E_SUCCESS, "[%s] Application execution failed", GetErrorMessage(r)); + + args.RemoveAll(true); + AppLog("Application finished."); + + return static_cast(r); +} +#ifdef __cplusplus +} +#endif // __cplusplus diff --git a/project/src/MetalDetectorFormFactory.cpp b/project/src/MetalDetectorFormFactory.cpp new file mode 100644 index 0000000..7d806bd --- /dev/null +++ b/project/src/MetalDetectorFormFactory.cpp @@ -0,0 +1,61 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +#include "MetalDetectorFormFactory.h" +#include "MetalDetectorMainForm.h" +#include "MetalDetectorDetectForm.h" + +using namespace Tizen::Ui::Scenes; + +MetalDetectorFormFactory::MetalDetectorFormFactory(void) +{ +} + +MetalDetectorFormFactory::~MetalDetectorFormFactory(void) +{ +} + +Tizen::Ui::Controls::Form* +MetalDetectorFormFactory::CreateFormN(const Tizen::Base::String& formId, const Tizen::Ui::Scenes::SceneId& sceneId) +{ + SceneManager* pSceneManager = SceneManager::GetInstance(); + AppAssert(pSceneManager); + Tizen::Ui::Controls::Form* pNewForm = null; + + if (formId == L"MainForm") + { + MetalDetectorMainForm* pForm = new (std::nothrow) MetalDetectorMainForm(); + TryReturn(pForm, null, "[%s] MetalDetectorMainForm creation failed.", GetErrorMessage(E_OUT_OF_MEMORY)); + pForm->Initialize(); + pSceneManager->AddSceneEventListener(sceneId, *pForm); + pNewForm = pForm; + } + else if (formId == L"DetectForm") + { + MetalDetectorDetectForm* pForm = new (std::nothrow) MetalDetectorDetectForm(); + TryReturn(pForm, null, "[%s] MetalDetectorDetectForm creation failed.", GetErrorMessage(E_OUT_OF_MEMORY)); + pForm->Initialize(); + pSceneManager->AddSceneEventListener(sceneId, *pForm); + pNewForm = pForm; + } + else + { + AppAssert(false); + } + + return pNewForm; +} diff --git a/project/src/MetalDetectorFrame.cpp b/project/src/MetalDetectorFrame.cpp new file mode 100644 index 0000000..a16e643 --- /dev/null +++ b/project/src/MetalDetectorFrame.cpp @@ -0,0 +1,44 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +#include "MetalDetectorFrame.h" + +using namespace Tizen::Base; +using namespace Tizen::Ui; +using namespace Tizen::Ui::Controls; + +MetalDetectorFrame::MetalDetectorFrame(void) +{ +} + +MetalDetectorFrame::~MetalDetectorFrame(void) +{ +} + +result +MetalDetectorFrame::OnInitializing(void) +{ + return E_SUCCESS; +} + +result +MetalDetectorFrame::OnTerminating(void) +{ + return E_SUCCESS; +} + + diff --git a/project/src/MetalDetectorMainForm.cpp b/project/src/MetalDetectorMainForm.cpp new file mode 100644 index 0000000..f1cf92c --- /dev/null +++ b/project/src/MetalDetectorMainForm.cpp @@ -0,0 +1,123 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +#include +#include +#include +#include "MetalDetectorMainForm.h" + +using namespace Tizen::Base; +using namespace Tizen::App; +using namespace Tizen::Ui; +using namespace Tizen::Ui::Controls; +using namespace Tizen::Ui::Scenes; +using namespace Tizen::Graphics; + +MetalDetectorMainForm::MetalDetectorMainForm(void) +{ +} + +MetalDetectorMainForm::~MetalDetectorMainForm(void) +{ +} + +bool +MetalDetectorMainForm::Initialize(void) +{ + Construct(FORM_STYLE_NORMAL|FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_INDICATOR); + SetName(L"MainForm"); + + Header* pHeader = this->GetHeader(); + pHeader->SetTitleText(String(L"METAL DETECTOR")); + + Footer* pFooter = this->GetFooter(); + pFooter->SetStyle(FOOTER_STYLE_SEGMENTED_TEXT); + pFooter->SetBackButton(); + this->SetFormBackEventListener(this); + + SetBackgroundColor(Color::GetColor(COLOR_ID_BLACK)); + + + return true; +} + +result +MetalDetectorMainForm::OnInitializing(void) +{ + Button* pStartButton = new (std::nothrow) Button(); + TryReturn(pStartButton != null, E_OUT_OF_MEMORY, "[%s] StartButton creation failed.", GetErrorMessage(E_OUT_OF_MEMORY)); + + Rectangle clientAreaBound = GetClientAreaBounds(); + int buttonX = static_cast(clientAreaBound.width * 0.33); + int buttonY = static_cast(clientAreaBound.height * 0.75); + int buttonWidth = static_cast(clientAreaBound.width * 0.34); + int buttonHeight = static_cast(clientAreaBound.height * 0.14); + + pStartButton->Construct(Rectangle(buttonX, buttonY, buttonWidth, buttonHeight)); + pStartButton->SetText(String(L"Start")); + pStartButton->SetActionId(ID_BUTTON_START); + pStartButton->AddActionEventListener(*this); + AddControl(*pStartButton); + + return E_SUCCESS; +} + +result +MetalDetectorMainForm::OnTerminating(void) +{ + return E_SUCCESS; +} + +void +MetalDetectorMainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) +{ + SceneManager* pSceneManager = SceneManager::GetInstance(); + AppAssert(pSceneManager); + + switch(actionId) + { + case ID_BUTTON_START: + AppAssert(pSceneManager->GoForward(ForwardSceneTransition(L"DetectScene")) == E_SUCCESS); + break; + + default: + break; + } +} + +void +MetalDetectorMainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, + const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs) +{ + AppLog("MetalDetectorMainForm activated"); +} + +void +MetalDetectorMainForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, + const Tizen::Ui::Scenes::SceneId& nextSceneId) +{ + AppLog("MetalDetectorMainForm deactivated"); +} + + +void +MetalDetectorMainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source) +{ + UiApp* pApp = UiApp::GetInstance(); + AppAssert(pApp); + pApp->Terminate(); +} diff --git a/project/src/MetalDetectorPanelFactory.cpp b/project/src/MetalDetectorPanelFactory.cpp new file mode 100644 index 0000000..75ab905 --- /dev/null +++ b/project/src/MetalDetectorPanelFactory.cpp @@ -0,0 +1,39 @@ +// +// Tizen C++ SDK +// Copyright (c) 2012 Samsung Electronics Co., Ltd. +// +// Licensed under the Flora License, Version 1.0 (the License); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.tizenopensource.org/license +// +// 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. +// + +#include "MetalDetectorPanelFactory.h" +#include + +using namespace Tizen::Ui::Scenes; + +MetalDetectorPanelFactory::MetalDetectorPanelFactory(void) +{ +} + +MetalDetectorPanelFactory::~MetalDetectorPanelFactory(void) +{ +} + +Tizen::Ui::Controls::Panel* +MetalDetectorPanelFactory::CreatePanelN(const Tizen::Base::String& panelId, const Tizen::Ui::Scenes::SceneId& sceneId) +{ + SceneManager* pSceneManager = SceneManager::GetInstance(); + AppAssert(pSceneManager); + Tizen::Ui::Controls::Panel* pNewPanel = null; + + return pNewPanel; +} diff --git a/sample.xml b/sample.xml new file mode 100644 index 0000000..b4697d3 --- /dev/null +++ b/sample.xml @@ -0,0 +1,37 @@ + + diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..83362efeaf51ca9ad93bbf2f25cb66fe76fd4c83 GIT binary patch literal 5668 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 N`r2Snqo!lre*qXWk>>ya literal 0 HcmV?d00001 -- 2.7.4