rhodes 2.0.0.beta2 → 2.0.0.beta3
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +2 -0
- data/Manifest.txt +27 -148
- data/Rakefile +49 -3
- data/lib/framework/builtinME.rb +6 -0
- data/lib/framework/rho/render.rb +13 -8
- data/lib/framework/rho/rho.rb +97 -43
- data/lib/framework/rho/rhoapplication.rb +8 -3
- data/lib/framework/rho/rhocontroller.rb +1 -1
- data/lib/framework/rhodes-framework.rb +1 -1
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/rhoframework.rb +7 -22
- data/lib/framework/rhofsconnector.rb +1 -1
- data/lib/framework/rholang/localization_simplified.rb +2 -2
- data/lib/framework/rhom/rhom.rb +1 -0
- data/lib/framework/rhom/rhom_db_adapter.rb +2 -2
- data/lib/framework/rhom/rhom_model.rb +98 -0
- data/lib/framework/rhom/rhom_object_factory.rb +13 -12
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/jni/include/{JNIRhodes.h → rhodes/JNIRhodes.h} +3 -54
- data/platform/android/Rhodes/jni/include/{RhoClassFactory.h → rhodes/RhoClassFactory.h} +0 -0
- data/platform/android/Rhodes/jni/include/{SystemInfoImpl.h → rhodes/SystemInfoImpl.h} +0 -0
- data/platform/android/Rhodes/jni/include/{details → rhodes/details}/rhojava.inc +1 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_Logger.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_RhoConf.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_RhoLogConf.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_RhoMenu.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_Rhodes.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_SplashScreen.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_alert_Alert.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_camera_Camera.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_datetime_DateTimePicker.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_geolocation_GeoLocationImpl.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_socket_RhoSocketImpl.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_socket_SSLImpl.h +0 -0
- data/platform/android/Rhodes/jni/include/{sslimpl.h → rhodes/sslimpl.h} +0 -0
- data/platform/android/Rhodes/jni/include/rhodes.h +59 -0
- data/platform/android/Rhodes/jni/src/RhoClassFactory.cpp +3 -3
- data/platform/android/Rhodes/jni/src/alert.cpp +2 -2
- data/platform/android/Rhodes/jni/src/callbacks.cpp +4 -3
- data/platform/android/Rhodes/jni/src/camera.cpp +2 -2
- data/platform/android/Rhodes/jni/src/datetimepicker.cpp +2 -2
- data/platform/android/Rhodes/jni/src/geolocation.cpp +2 -2
- data/platform/android/Rhodes/jni/src/logconf.cpp +2 -2
- data/platform/android/Rhodes/jni/src/logger.cpp +2 -2
- data/platform/android/Rhodes/jni/src/mapview.cpp +1 -1
- data/platform/android/Rhodes/jni/src/menu.cpp +2 -2
- data/platform/android/Rhodes/jni/src/nativebar.cpp +1 -1
- data/platform/android/Rhodes/jni/src/navbar.cpp +17 -3
- data/platform/android/Rhodes/jni/src/phonebook.cpp +1 -1
- data/platform/android/Rhodes/jni/src/rhoconf.cpp +2 -2
- data/platform/android/Rhodes/jni/src/rhodes.cpp +3 -3
- data/platform/android/Rhodes/jni/src/ringtones.cpp +1 -1
- data/platform/android/Rhodes/jni/src/socketimpl.cpp +2 -2
- data/platform/android/Rhodes/jni/src/splashscreen.cpp +2 -2
- data/platform/android/Rhodes/jni/src/sslimpl.cpp +3 -3
- data/platform/android/Rhodes/jni/src/syncengine.cpp +2 -2
- data/platform/android/Rhodes/jni/src/webview.cpp +15 -12
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/NativeLibraries.java +11 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/NavBar.java +52 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java +8 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java +26 -28
- data/platform/android/build/RhodesSRC_build.files +21 -20
- data/platform/android/build/android.rake +69 -24
- data/platform/android/build/androidcommon.rb +17 -12
- data/platform/bb/build/bb.rake +23 -21
- data/platform/bb/rhodes/src/com/rho/BrowserAdapter.java +5 -2
- data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +6 -1
- data/platform/bb/rhodes/src/com/rho/rubyext/System.java +9 -1
- data/platform/bb/rhodes/src/com/rho/rubyext/WebView.java +31 -2
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +17 -6
- data/platform/bb/rhodes/src/rhomobile/Utilities.java +6 -0
- data/platform/iphone/Classes/AppManager/AppManager.m +16 -4
- data/platform/iphone/Classes/DateTime.h +5 -6
- data/platform/iphone/Classes/DateTimePicker.m +4 -18
- data/platform/iphone/Classes/DateTimePickerDelegate.h +7 -9
- data/platform/iphone/Classes/DateTimePickerDelegate.m +141 -152
- data/platform/iphone/Classes/Rhodes.h +6 -1
- data/platform/iphone/Classes/Rhodes.m +17 -43
- data/platform/iphone/Classes/SimpleMainView.h +1 -1
- data/platform/iphone/Classes/SimpleMainView.m +54 -4
- data/platform/iphone/Classes/WebView.m +17 -0
- data/platform/iphone/rbuild/iphone.rake +1 -0
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +0 -45
- data/platform/shared/common/PosixThreadImpl.cpp +8 -0
- data/platform/shared/common/PosixThreadImpl.h +1 -0
- data/platform/shared/common/RhoThread.cpp +1 -0
- data/platform/shared/common/RhoThread.h +4 -2
- data/platform/shared/curl/include/curl/curl.h +4 -0
- data/platform/shared/db/DBAdapter.cpp +47 -60
- data/platform/shared/db/DBAdapter.h +6 -2
- data/platform/shared/net/AsyncHttp.cpp +27 -11
- data/platform/shared/net/AsyncHttp.h +3 -1
- data/platform/shared/net/CURLNetRequest.cpp +11 -10
- data/platform/shared/net/CURLNetRequest.h +6 -4
- data/platform/shared/net/HttpServer.cpp +11 -6
- data/platform/shared/ruby/ext/asynchttp/asynchttp.i +2 -2
- data/platform/shared/ruby/ext/asynchttp/asynchttp_wrap.c +22 -11
- data/platform/shared/ruby/ext/rho/rhoruby.c +2 -2
- data/platform/shared/ruby/ext/rho/rhosupport.c +23 -3
- data/platform/shared/ruby/ext/webview/webview.i +4 -0
- data/platform/shared/ruby/ext/webview/webview_wrap.c +39 -0
- data/platform/shared/ruby/re.c +8 -0
- data/platform/shared/ruby/string.c +1 -1
- data/platform/shared/rubyJVM/src/com/rho/IRhoRubyHelper.java +1 -0
- data/platform/shared/rubyJVM/src/com/rho/RhoClassFactory.java +6 -1
- data/platform/shared/rubyJVM/src/com/rho/RhoThread.java +3 -0
- data/platform/shared/rubyJVM/src/com/rho/RhodesApp.java +34 -0
- data/platform/shared/rubyJVM/src/com/rho/db/DBAdapter.java +40 -53
- data/platform/shared/rubyJVM/src/com/rho/net/AsyncHttp.java +32 -15
- data/platform/shared/rubyJVM/src/com/rho/net/NetRequest.java +31 -17
- data/platform/shared/rubyJVM/src/com/rho/net/RhoConnection.java +3 -0
- data/platform/shared/rubyJVM/src/com/rho/sync/JSONArrayIterator.java +17 -0
- data/platform/shared/rubyJVM/src/com/rho/sync/SyncEngine.java +158 -137
- data/platform/shared/rubyJVM/src/com/rho/sync/SyncSource.java +18 -17
- data/platform/shared/rubyJVM/src/com/rho/sync/SyncThread.java +10 -2
- data/platform/shared/rubyJVM/src/com/xruby/GeneratedMethods/RubyFile_Methods.java +6 -0
- data/platform/shared/rubyJVM/src/com/xruby/runtime/builtin/RubyFile.java +18 -3
- data/platform/shared/rubyJVM/src/j2me/io/File.java +37 -9
- data/platform/shared/sqlite/sqlite3.c +14613 -13016
- data/platform/shared/sqlite/sqlite3.h +1461 -1499
- data/platform/shared/sqlite/sqlite3ext.h +0 -2
- data/platform/shared/sync/ClientRegister.cpp +3 -3
- data/platform/shared/sync/ClientRegister.h +2 -1
- data/platform/shared/sync/SyncEngine.cpp +20 -8
- data/platform/shared/sync/SyncSource.cpp +12 -12
- data/platform/shared/sync/SyncSource.h +4 -4
- data/platform/shared/sync/SyncThread.cpp +8 -1
- data/platform/shared/tcmalloc/rhomem.h +3 -0
- data/platform/shared/tcmalloc/tcmalloc_.cpp +11 -0
- data/platform/wm/rhodes/Alert.cpp +148 -101
- data/platform/wm/rhodes/Alert.h +4 -1
- data/platform/wm/rhodes/AppManager.cpp +212 -72
- data/platform/wm/rhodes/AppManager.h +24 -3
- data/platform/wm/rhodes/DateTimePicker.cpp +23 -11
- data/platform/wm/rhodes/DateTimePicker.h +16 -5
- data/platform/wm/rhodes/MainWindow.cpp +22 -7
- data/platform/wm/rhodes/OkCancelModalDialog.h +63 -0
- data/platform/wm/rhodes/Rhodes.cpp +29 -17
- data/platform/wm/rhodes/phonebook/NativeAddressBook.cpp +128 -4
- data/platform/wm/rhodes/phonebook/NativeAddressBook.h +33 -3
- data/platform/wm/rhodes/resource.h +1 -1
- data/platform/wm/rhodes/rho/common/RhoClassFactory.cpp +5 -0
- data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +136 -102
- data/platform/wm/rhodes/rho/net/NetRequestImpl.h +12 -5
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +24 -10
- data/platform/wm/rhodes/rho/rubyext/WebView.cpp +6 -0
- data/platform/wm/rhodes/rhodes.vcproj +4 -0
- data/platform/wm/tools/detool/detool.cpp +17 -4
- data/rakefile.rb +49 -3
- data/res/build-tools/db/syncdb.schema +2 -2
- data/res/build-tools/detool.exe +0 -0
- data/res/generators/rhogen.rb +10 -10
- data/res/generators/templates/application/app/helpers/browser_helper.rb +9 -4
- data/res/generators/templates/application/app/index.bb.erb +5 -5
- data/res/generators/templates/application/build.yml +1 -0
- data/res/generators/templates/application/public/css/android.css +10 -8
- data/res/generators/templates/application/public/css/blackberry.css +40 -31
- data/res/generators/templates/application/public/css/iphone.css +4 -4
- data/res/generators/templates/application/public/css/webkit.css +7 -0
- data/res/generators/templates/application/public/css/windows_mobile.css +31 -27
- data/res/generators/templates/application/rhoconfig.txt +2 -2
- data/res/generators/templates/model/edit.bb.erb +2 -2
- data/res/generators/templates/model/index.bb.erb +6 -4
- data/res/generators/templates/model/model.rb +2 -1
- data/res/generators/templates/model/new.bb.erb +2 -2
- data/res/generators/templates/model/show.bb.erb +2 -2
- data/rhobuild.yml +37 -0
- data/rhodes.gemspec +1 -1
- data/spec/framework_spec/app/Account/account.rb +7 -0
- data/spec/framework_spec/app/Case/case.rb +6 -0
- data/spec/framework_spec/app/Customer/customer.rb +6 -0
- data/spec/framework_spec/app/Product/product.rb +9 -0
- data/spec/framework_spec/app/spec/rhom_object_spec.rb +1 -1
- data/spec/framework_spec/app/spec/syncengine_spec.rb +2 -1
- metadata +45 -151
- data/lib/build/manifest/createAppManifest.rb +0 -18
- data/lib/build/tasks/android.rake +0 -317
- data/lib/build/tasks/blackberry.rake +0 -355
- data/lib/build/tasks/common.rake +0 -62
- data/lib/build/tasks/iphone.rake +0 -108
- data/lib/build/tasks/linux.rake +0 -81
- data/lib/build/tasks/rhodes-build.rb +0 -11
- data/lib/build/tasks/rspec.rake +0 -20
- data/lib/build/tasks/symbian.rake +0 -202
- data/lib/build/tasks/wm.rake +0 -166
- data/lib/framework/ServeME.rb +0 -7
- data/platform/bb/build/MANIFEST.MF +0 -12
- data/platform/iphone/Classes/DateTimePicker.h +0 -17
- data/res/generators/templates/application/public/icons/Read me first - license.txt +0 -14
- data/res/generators/templates/application/public/icons/about.png +0 -0
- data/res/generators/templates/application/public/icons/airplane.png +0 -0
- data/res/generators/templates/application/public/icons/baby.png +0 -0
- data/res/generators/templates/application/public/icons/badge.png +0 -0
- data/res/generators/templates/application/public/icons/bandaid.png +0 -0
- data/res/generators/templates/application/public/icons/bar-chart.png +0 -0
- data/res/generators/templates/application/public/icons/battery.png +0 -0
- data/res/generators/templates/application/public/icons/beaker.png +0 -0
- data/res/generators/templates/application/public/icons/beaker2.png +0 -0
- data/res/generators/templates/application/public/icons/beermug.png +0 -0
- data/res/generators/templates/application/public/icons/bird.png +0 -0
- data/res/generators/templates/application/public/icons/book.png +0 -0
- data/res/generators/templates/application/public/icons/bookmark.png +0 -0
- data/res/generators/templates/application/public/icons/brightness.png +0 -0
- data/res/generators/templates/application/public/icons/bug.png +0 -0
- data/res/generators/templates/application/public/icons/cabinet.png +0 -0
- data/res/generators/templates/application/public/icons/calendar.png +0 -0
- data/res/generators/templates/application/public/icons/camera.png +0 -0
- data/res/generators/templates/application/public/icons/changeName.rb +0 -22
- data/res/generators/templates/application/public/icons/chat2.png +0 -0
- data/res/generators/templates/application/public/icons/chicken.png +0 -0
- data/res/generators/templates/application/public/icons/clock.png +0 -0
- data/res/generators/templates/application/public/icons/cloud.png +0 -0
- data/res/generators/templates/application/public/icons/coffee.png +0 -0
- data/res/generators/templates/application/public/icons/compass.png +0 -0
- data/res/generators/templates/application/public/icons/contrast.png +0 -0
- data/res/generators/templates/application/public/icons/dashboard.png +0 -0
- data/res/generators/templates/application/public/icons/display.png +0 -0
- data/res/generators/templates/application/public/icons/dogpaw.png +0 -0
- data/res/generators/templates/application/public/icons/download.png +0 -0
- data/res/generators/templates/application/public/icons/dumbbell.png +0 -0
- data/res/generators/templates/application/public/icons/ekg.png +0 -0
- data/res/generators/templates/application/public/icons/envelope.png +0 -0
- data/res/generators/templates/application/public/icons/equalizer.png +0 -0
- data/res/generators/templates/application/public/icons/eye.png +0 -0
- data/res/generators/templates/application/public/icons/film-roll.png +0 -0
- data/res/generators/templates/application/public/icons/flag.png +0 -0
- data/res/generators/templates/application/public/icons/fork-and-knife.png +0 -0
- data/res/generators/templates/application/public/icons/fuel.png +0 -0
- data/res/generators/templates/application/public/icons/gameplan.png +0 -0
- data/res/generators/templates/application/public/icons/gear.png +0 -0
- data/res/generators/templates/application/public/icons/gear2.png +0 -0
- data/res/generators/templates/application/public/icons/gift.png +0 -0
- data/res/generators/templates/application/public/icons/heart.png +0 -0
- data/res/generators/templates/application/public/icons/house.png +0 -0
- data/res/generators/templates/application/public/icons/inbox.png +0 -0
- data/res/generators/templates/application/public/icons/index-cards.png +0 -0
- data/res/generators/templates/application/public/icons/iphone.png +0 -0
- data/res/generators/templates/application/public/icons/ipod.png +0 -0
- data/res/generators/templates/application/public/icons/key.png +0 -0
- data/res/generators/templates/application/public/icons/lifebuoy.png +0 -0
- data/res/generators/templates/application/public/icons/lightbulb.png +0 -0
- data/res/generators/templates/application/public/icons/line-chart.png +0 -0
- data/res/generators/templates/application/public/icons/location.png +0 -0
- data/res/generators/templates/application/public/icons/lock.png +0 -0
- data/res/generators/templates/application/public/icons/loopback.png +0 -0
- data/res/generators/templates/application/public/icons/magnifying-glass.png +0 -0
- data/res/generators/templates/application/public/icons/map-marker.png +0 -0
- data/res/generators/templates/application/public/icons/map.png +0 -0
- data/res/generators/templates/application/public/icons/medical-bag.png +0 -0
- data/res/generators/templates/application/public/icons/medical.png +0 -0
- data/res/generators/templates/application/public/icons/microphone.png +0 -0
- data/res/generators/templates/application/public/icons/movie1.png +0 -0
- data/res/generators/templates/application/public/icons/movie2.png +0 -0
- data/res/generators/templates/application/public/icons/network.png +0 -0
- data/res/generators/templates/application/public/icons/note.png +0 -0
- data/res/generators/templates/application/public/icons/outlet.png +0 -0
- data/res/generators/templates/application/public/icons/palette.png +0 -0
- data/res/generators/templates/application/public/icons/paperclip.png +0 -0
- data/res/generators/templates/application/public/icons/phone.png +0 -0
- data/res/generators/templates/application/public/icons/photos.png +0 -0
- data/res/generators/templates/application/public/icons/piano.png +0 -0
- data/res/generators/templates/application/public/icons/picture-frame.png +0 -0
- data/res/generators/templates/application/public/icons/pill.png +0 -0
- data/res/generators/templates/application/public/icons/pin.png +0 -0
- data/res/generators/templates/application/public/icons/pinetree.png +0 -0
- data/res/generators/templates/application/public/icons/planet.png +0 -0
- data/res/generators/templates/application/public/icons/puzzle.png +0 -0
- data/res/generators/templates/application/public/icons/radar.png +0 -0
- data/res/generators/templates/application/public/icons/redo.png +0 -0
- data/res/generators/templates/application/public/icons/refresh.png +0 -0
- data/res/generators/templates/application/public/icons/runner.png +0 -0
- data/res/generators/templates/application/public/icons/shoebox.png +0 -0
- data/res/generators/templates/application/public/icons/shopping-bag.png +0 -0
- data/res/generators/templates/application/public/icons/shopping-cart.png +0 -0
- data/res/generators/templates/application/public/icons/shuffle.png +0 -0
- data/res/generators/templates/application/public/icons/signpost.png +0 -0
- data/res/generators/templates/application/public/icons/skull-n-crossbones.png +0 -0
- data/res/generators/templates/application/public/icons/skull.png +0 -0
- data/res/generators/templates/application/public/icons/sliders.png +0 -0
- data/res/generators/templates/application/public/icons/spraycan.png +0 -0
- data/res/generators/templates/application/public/icons/squiggle.png +0 -0
- data/res/generators/templates/application/public/icons/star.png +0 -0
- data/res/generators/templates/application/public/icons/stopwatch.png +0 -0
- data/res/generators/templates/application/public/icons/suitcase.png +0 -0
- data/res/generators/templates/application/public/icons/tag.png +0 -0
- data/res/generators/templates/application/public/icons/tags.png +0 -0
- data/res/generators/templates/application/public/icons/target.png +0 -0
- data/res/generators/templates/application/public/icons/testtube.png +0 -0
- data/res/generators/templates/application/public/icons/thermometer.png +0 -0
- data/res/generators/templates/application/public/icons/toolbox.png +0 -0
- data/res/generators/templates/application/public/icons/trophy.png +0 -0
- data/res/generators/templates/application/public/icons/tshirt.png +0 -0
- data/res/generators/templates/application/public/icons/tv.png +0 -0
- data/res/generators/templates/application/public/icons/umbrella.png +0 -0
- data/res/generators/templates/application/public/icons/walk.png +0 -0
- data/res/generators/templates/application/public/icons/weather.png +0 -0
- data/res/generators/templates/application/public/icons/widescreen.png +0 -0
- data/res/generators/templates/application/public/icons/wineglass.png +0 -0
- data/res/generators/templates/application/public/icons/zap.png +0 -0
- data/res/generators/templates/application/public/js/jquery-1.2.6.min.js +0 -32
- data/res/generators/templates/model/config.rb +0 -3
- data/res/generators/templates/spec/app/spec/webview_spec.rb +0 -5
- data/spec/framework_spec/app/Account/config.rb +0 -59
- data/spec/framework_spec/app/Case/config.rb +0 -3
- data/spec/framework_spec/app/Customer/config.rb +0 -3
- data/spec/framework_spec/app/Product/config.rb +0 -17
@@ -7,24 +7,37 @@
|
|
7
7
|
|
8
8
|
#define RHOSETUP_DLL "rhosetup.dll"
|
9
9
|
|
10
|
+
void checkMDEstart(HRESULT hr)
|
11
|
+
{
|
12
|
+
if (FAILED(hr)) {
|
13
|
+
if (hr == REGDB_E_CLASSNOTREG) {
|
14
|
+
printf ("Microsoft Device Emulator is too old or corrupted. Please update it.\n");
|
15
|
+
printf ("You could get the latest version on:\n");
|
16
|
+
printf ("http://www.microsoft.com/downloads/details.aspx?familyid=a6f6adaf-12e3-4b2f-a394-356e2c2fb114\n");
|
17
|
+
} else {
|
18
|
+
wprintf_s(L"Error: Unable to instantiate DeviceEmulatorManager. ErrorCode=0x%08X\n", hr);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
}
|
10
22
|
|
11
23
|
DWORD WINAPI startDEM(LPVOID lpParam)
|
12
24
|
{
|
13
25
|
if (SUCCEEDED(CoInitializeEx(NULL, COINIT_MULTITHREADED))) {
|
14
|
-
HRESULT hr;
|
26
|
+
HRESULT hr = 0;
|
15
27
|
|
16
28
|
CComPtr<IDeviceEmulatorManager> pDeviceEmulatorManager;
|
17
29
|
hr = pDeviceEmulatorManager.CoCreateInstance(__uuidof(DeviceEmulatorManager));
|
18
30
|
if (FAILED(hr)) {
|
19
|
-
|
20
|
-
|
31
|
+
checkMDEstart(hr);
|
32
|
+
ExitProcess(EXIT_FAILURE);
|
33
|
+
return hr;
|
21
34
|
}
|
22
35
|
|
23
36
|
pDeviceEmulatorManager->ShowManagerUI(false);
|
24
37
|
while (1) {
|
25
38
|
Sleep(600 * 1000);
|
26
39
|
}
|
27
|
-
return
|
40
|
+
return hr;
|
28
41
|
CoUninitialize();
|
29
42
|
}
|
30
43
|
return 0;
|
data/rakefile.rb
CHANGED
@@ -84,7 +84,12 @@ namespace "config" do
|
|
84
84
|
extpaths << File.join($app_path, "extensions")
|
85
85
|
extpaths << "lib/extensions"
|
86
86
|
$app_config["extpaths"] = extpaths
|
87
|
-
|
87
|
+
|
88
|
+
if $app_config["build"] and $app_config["build"] == "release"
|
89
|
+
$debug = false
|
90
|
+
else
|
91
|
+
$debug = true
|
92
|
+
end
|
88
93
|
end
|
89
94
|
|
90
95
|
out = `javac -version 2>&1`
|
@@ -211,6 +216,17 @@ def common_bundle_start(startdir, dest)
|
|
211
216
|
end
|
212
217
|
end
|
213
218
|
|
219
|
+
if extpath.nil?
|
220
|
+
begin
|
221
|
+
$rhodes_extensions = nil
|
222
|
+
require extname
|
223
|
+
extpath = $rhodes_extensions[0] unless $rhodes_extensions.nil?
|
224
|
+
rescue Exception => e
|
225
|
+
|
226
|
+
end
|
227
|
+
|
228
|
+
end
|
229
|
+
|
214
230
|
unless extpath.nil?
|
215
231
|
add_extension(extpath, dest)
|
216
232
|
|
@@ -286,6 +302,16 @@ def common_bundle_start(startdir, dest)
|
|
286
302
|
cp_r app + '/public', File.join($srcdir,'apps')
|
287
303
|
cp app + '/rhoconfig.txt', File.join($srcdir,'apps')
|
288
304
|
|
305
|
+
|
306
|
+
unless $debug
|
307
|
+
rm_rf $srcdir + "/apps/app/test"
|
308
|
+
rm_rf $srcdir + "/apps/app/SpecRunner"
|
309
|
+
rm_rf $srcdir + "/apps/app/mspec"
|
310
|
+
rm_rf $srcdir + "/apps/app/mspec.rb"
|
311
|
+
rm_rf $srcdir + "/apps/app/spec_runner.rb"
|
312
|
+
end
|
313
|
+
|
314
|
+
|
289
315
|
copy_assets($assetfolder) if ($assetfolder and File.exists? $assetfolder)
|
290
316
|
|
291
317
|
chdir File.join($srcdir,'apps')
|
@@ -307,14 +333,34 @@ end
|
|
307
333
|
|
308
334
|
def create_manifest
|
309
335
|
dir = File.join($srcdir, 'apps')
|
310
|
-
fname = "config.rb"
|
336
|
+
#fname = "config.rb"
|
311
337
|
fappManifest = File.new( File.join(dir,'app_manifest.txt'), "w")
|
338
|
+
dir = File.join($srcdir, 'apps/app')
|
312
339
|
|
313
340
|
Find.find(dir) do |path|
|
341
|
+
|
342
|
+
strDir = File.dirname(path)
|
343
|
+
next unless dir == File.dirname(strDir) #one level only
|
344
|
+
|
345
|
+
if File.basename(path) == "config.rb"
|
346
|
+
puts "******ERROR enumerating models***********"
|
347
|
+
puts "Model definition has changed and doesn't use config.rb anymore: '#{path}' "
|
348
|
+
puts "You should replace config.rb with <model_name>.rb file as described: "
|
349
|
+
puts "http://wiki.rhomobile.com/index.php/Rhom#Rhom_Models_2.0"
|
350
|
+
puts "*****************************************"
|
351
|
+
exit 1
|
352
|
+
end
|
353
|
+
|
354
|
+
fname = File.dirname(path)
|
355
|
+
fname = File.basename(fname)
|
356
|
+
modelname = fname.split(/(?=[A-Z])/).map{|w| w.downcase}.join("_")
|
357
|
+
fname = modelname + ".rb"
|
358
|
+
|
314
359
|
if File.basename(path) == fname
|
315
360
|
|
316
361
|
relPath = path[dir.length+1, File.dirname(path).length-1] #relative path
|
317
|
-
relPath = relPath[0, relPath.length-3] #remove .rb extension
|
362
|
+
relPath = relPath[0, relPath.length-3] #remove .rb extension and app
|
363
|
+
relPath = File.join(File.dirname(relPath), modelname )
|
318
364
|
fappManifest.puts( relPath )
|
319
365
|
|
320
366
|
end
|
@@ -23,7 +23,7 @@ CREATE TABLE sources (
|
|
23
23
|
source_id BIGINT PRIMARY KEY,
|
24
24
|
name VARCHAR(255) default NULL,
|
25
25
|
token BIGINT default NULL,
|
26
|
-
|
26
|
+
sync_priority BIGINT,
|
27
27
|
partition VARCHAR(255),
|
28
28
|
sync_type VARCHAR(255),
|
29
29
|
metadata varchar default NULL,
|
@@ -36,7 +36,7 @@ CREATE TABLE sources (
|
|
36
36
|
source_attribs varchar default NULL,
|
37
37
|
schema varchar default NULL,
|
38
38
|
schema_version varchar default NULL,
|
39
|
-
|
39
|
+
associations varchar default NULL,
|
40
40
|
blob_attribs varchar default NULL);
|
41
41
|
CREATE INDEX by_src_id on object_values (source_id);
|
42
42
|
CREATE UNIQUE INDEX by_src_object ON object_values (object, attrib, source_id);
|
data/res/build-tools/detool.exe
CHANGED
Binary file
|
data/res/generators/rhogen.rb
CHANGED
@@ -136,11 +136,11 @@ module Rhogen
|
|
136
136
|
third_argument :priority, :required => false, :desc => "optional sync priority (i.e. 100)"
|
137
137
|
fourth_argument :type, :required => false, :desc => "optional type (i.e. \"ask\" for an ask model)"
|
138
138
|
|
139
|
-
template :config do |template|
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
end
|
139
|
+
#template :config do |template|
|
140
|
+
# @model_sync_server = syncserver_exists? ? class_name : ''
|
141
|
+
# template.source = 'config.rb'
|
142
|
+
# template.destination = "app/#{name.camel_case}/config.rb"
|
143
|
+
#end
|
144
144
|
|
145
145
|
template :index do |template|
|
146
146
|
template.source = 'index.erb'
|
@@ -197,7 +197,7 @@ module Rhogen
|
|
197
197
|
template :spec do |template|
|
198
198
|
underscore_name = name.camel_case.split(/(?=[A-Z])/).map{|w| w.downcase}.join("_")
|
199
199
|
template.source = 'spec.rb'
|
200
|
-
template.destination = "app/#{
|
200
|
+
template.destination = "app/test/#{underscore_name}_spec.rb"
|
201
201
|
end
|
202
202
|
|
203
203
|
def attributes?
|
@@ -238,10 +238,10 @@ module Rhogen
|
|
238
238
|
directory.source = 'app/mspec'
|
239
239
|
directory.destination = "app/mspec"
|
240
240
|
end
|
241
|
-
directory :spec do |directory|
|
242
|
-
|
243
|
-
|
244
|
-
end
|
241
|
+
#directory :spec do |directory|
|
242
|
+
# directory.source = 'app/spec'
|
243
|
+
# directory.destination = "app/spec"
|
244
|
+
#end
|
245
245
|
template :fileutils do |template|
|
246
246
|
template.source = 'app/fileutils.rb'
|
247
247
|
template.destination = "app/fileutils.rb"
|
@@ -1,13 +1,18 @@
|
|
1
1
|
module BrowserHelper
|
2
|
-
|
2
|
+
|
3
3
|
def placeholder(label=nil)
|
4
4
|
"placeholder='#{label}'" if platform == 'apple'
|
5
5
|
end
|
6
6
|
|
7
|
-
|
8
7
|
def platform
|
9
8
|
System::get_property('platform').downcase
|
10
9
|
end
|
11
|
-
|
12
|
-
|
10
|
+
|
11
|
+
def selected(option_value,object_value)
|
12
|
+
"selected=\"yes\"" if option_value == object_value
|
13
|
+
end
|
14
|
+
|
15
|
+
def checked(option_value,object_value)
|
16
|
+
"checked=\"yes\"" if option_value == object_value
|
17
|
+
end
|
13
18
|
end
|
@@ -31,7 +31,7 @@ div#toolbar {
|
|
31
31
|
}
|
32
32
|
|
33
33
|
div#toolbar div#leftItem,
|
34
|
-
div#toolbar div#centerItem,
|
34
|
+
div#toolbar div#centerItem,
|
35
35
|
div#toolbar div#rightItem {
|
36
36
|
display: table-cell;
|
37
37
|
}
|
@@ -42,9 +42,9 @@ div#toolbar a {
|
|
42
42
|
display: block;
|
43
43
|
}
|
44
44
|
|
45
|
-
div#toolbar .deleteButton,
|
46
|
-
div#toolbar .regularButton,
|
47
|
-
div#toolbar .blueButton,
|
45
|
+
div#toolbar .deleteButton,
|
46
|
+
div#toolbar .regularButton,
|
47
|
+
div#toolbar .blueButton,
|
48
48
|
div#toolbar .backButton {
|
49
49
|
background: -webkit-gradient(linear, left top, left bottom, color-stop(0.0, white),color-stop(0.5, #ccc), color-stop(1.0, #bdbebd));
|
50
50
|
-webkit-border-radius: 1px;
|
@@ -228,7 +228,7 @@ div#content form textarea {
|
|
228
228
|
box-shadow:0 -1px 3px #000000;
|
229
229
|
}
|
230
230
|
|
231
|
-
div#content form input[type="text"],
|
231
|
+
div#content form input[type="text"],
|
232
232
|
div#content form input[type="password"] {
|
233
233
|
float: right;
|
234
234
|
height: 40px;
|
@@ -243,11 +243,11 @@ div#content form input[type="password"] {
|
|
243
243
|
box-shadow:0 -1px 3px #000000;
|
244
244
|
}
|
245
245
|
|
246
|
-
div#content form
|
246
|
+
div#content form input.standardButton {
|
247
247
|
height: 45px;
|
248
|
-
margin
|
249
|
-
margin-bottom: 2px;
|
248
|
+
margin: 2px 0 2px 0;
|
250
249
|
-webkit-border: 2px;
|
250
|
+
width:100%;
|
251
251
|
}
|
252
252
|
|
253
253
|
/* Settings */
|
@@ -278,6 +278,8 @@ div#content div.standardButton a {
|
|
278
278
|
|
279
279
|
div#content ul#settings li.alertMessage{
|
280
280
|
text-align: center;
|
281
|
+
height: 45px;
|
282
|
+
line-height:45px;
|
281
283
|
}
|
282
284
|
|
283
285
|
div#content ul#settings li.alertMessage span.message{
|
@@ -3,19 +3,19 @@ body {
|
|
3
3
|
margin: 0;
|
4
4
|
font-family: Arial, Helvetica;
|
5
5
|
font-size:16px;
|
6
|
-
|
6
|
+
background: white;
|
7
7
|
color: black;
|
8
8
|
overflow-x: hidden;
|
9
9
|
}
|
10
10
|
|
11
11
|
div#pageTitle {
|
12
|
-
|
12
|
+
background: black;
|
13
13
|
width: auto;
|
14
14
|
}
|
15
15
|
|
16
16
|
div#pageTitle h1 {
|
17
|
-
|
18
|
-
|
17
|
+
margin: 0;
|
18
|
+
padding: 4px;
|
19
19
|
width: auto;
|
20
20
|
font-size: 16px;
|
21
21
|
max-height: 16px;
|
@@ -35,6 +35,10 @@ div#toolbar{
|
|
35
35
|
width:100%;
|
36
36
|
}
|
37
37
|
|
38
|
+
div#toolbar .noButton {
|
39
|
+
display:hidden;
|
40
|
+
}
|
41
|
+
|
38
42
|
/*content div styling*/
|
39
43
|
div#content h2 {
|
40
44
|
font-size:15px;
|
@@ -59,39 +63,17 @@ div#content div.warning{
|
|
59
63
|
}
|
60
64
|
|
61
65
|
div#content p{
|
62
|
-
font-size:14px;
|
63
|
-
}
|
64
|
-
|
65
|
-
/* bb list styles */
|
66
|
-
div#content ul {
|
67
|
-
margin: 0;
|
68
|
-
padding: 0;
|
69
|
-
}
|
70
|
-
|
71
|
-
div#content ul li {
|
72
|
-
list-style-type :none;
|
73
|
-
border-bottom:1px solid lightgray;
|
74
|
-
height: 25px;
|
75
|
-
line-height:25px;
|
76
|
-
padding:0 5px 0 5px;
|
77
|
-
}
|
78
|
-
|
79
|
-
div#content ul li a {
|
80
|
-
text-decoration: none;
|
81
|
-
font-weight:bold;
|
82
|
-
color:black;
|
83
|
-
display:block;
|
84
|
-
overflow: hidden;
|
66
|
+
font-size:14px;
|
85
67
|
}
|
86
68
|
|
87
69
|
/* bb table styles */
|
88
70
|
|
89
71
|
div#content table {
|
90
|
-
|
72
|
+
display:block;
|
91
73
|
border:none;
|
92
74
|
border-spacing:0;
|
93
|
-
|
94
|
-
|
75
|
+
font-size: 80%;
|
76
|
+
width:100%;
|
95
77
|
}
|
96
78
|
|
97
79
|
div#content table th {
|
@@ -100,7 +82,34 @@ div#content table th {
|
|
100
82
|
border-bottom:1px solid #BBBBBB;
|
101
83
|
}
|
102
84
|
|
85
|
+
div#content table tr {
|
86
|
+
width:100%;
|
87
|
+
}
|
103
88
|
div#content table tr td {
|
104
|
-
padding:5px;
|
105
89
|
margin:0;
|
90
|
+
border-bottom:1px solid lightgray;
|
91
|
+
height: 25px;
|
92
|
+
line-height:25px;
|
93
|
+
}
|
94
|
+
|
95
|
+
div#content table tr td a {
|
96
|
+
text-decoration: none;
|
97
|
+
font-weight:bold;
|
98
|
+
color:black;
|
99
|
+
display:block;
|
100
|
+
overflow: hidden;
|
101
|
+
}
|
102
|
+
|
103
|
+
div#content table tr td.recordLabel {
|
104
|
+
width:100%;
|
105
|
+
padding: 5px;
|
106
|
+
}
|
107
|
+
|
108
|
+
div#content table tr td.itemLabel {
|
109
|
+
width:50%;
|
110
|
+
font-weight:bold;
|
106
111
|
}
|
112
|
+
|
113
|
+
div#content table tr td.itemValue {
|
114
|
+
width:50%;
|
115
|
+
}
|
@@ -74,8 +74,8 @@ div#toolbar .backButton {
|
|
74
74
|
z-index: 3;
|
75
75
|
}
|
76
76
|
|
77
|
-
div#toolbar .deleteButton,
|
78
|
-
div#toolbar .regularButton,
|
77
|
+
div#toolbar .deleteButton,
|
78
|
+
div#toolbar .regularButton,
|
79
79
|
div#toolbar .blueButton {
|
80
80
|
-webkit-border-radius: 5px;
|
81
81
|
overflow: hidden;
|
@@ -121,7 +121,7 @@ div#content .standardButton {
|
|
121
121
|
color: #436395;
|
122
122
|
font-size: 15px;
|
123
123
|
font-weight: bold;
|
124
|
-
|
124
|
+
width:100%;
|
125
125
|
height: 40px;
|
126
126
|
border: 1px solid black;
|
127
127
|
margin-top:10px;
|
@@ -354,7 +354,7 @@ div#content ul#settings li.alertMessage{
|
|
354
354
|
div#content ul#settings li span {
|
355
355
|
line-height:40px;
|
356
356
|
}
|
357
|
-
|
357
|
+
|
358
358
|
div#content ul#settings li.alertMessage span.message{
|
359
359
|
color: red;
|
360
360
|
}
|
@@ -7,14 +7,14 @@ body {
|
|
7
7
|
|
8
8
|
/* page title */
|
9
9
|
div#pageTitle {
|
10
|
-
display:none;
|
10
|
+
display:none;
|
11
11
|
}
|
12
12
|
|
13
13
|
/* toolbar */
|
14
14
|
div#toolbar {
|
15
15
|
width:100%;
|
16
16
|
height: 30px;
|
17
|
-
background: black;
|
17
|
+
background: black;
|
18
18
|
border-bottom:1px solid gray;
|
19
19
|
}
|
20
20
|
div#toolbar a {
|
@@ -38,6 +38,11 @@ div#toolbar div#rightItem {
|
|
38
38
|
margin-right:5px;
|
39
39
|
}
|
40
40
|
|
41
|
+
div#toolbar .noButton {
|
42
|
+
display:hidden;
|
43
|
+
}
|
44
|
+
|
45
|
+
|
41
46
|
/* content */
|
42
47
|
div#content {
|
43
48
|
width: 100%;
|
@@ -60,39 +65,38 @@ div#content h2.groupTitle{
|
|
60
65
|
/* Lists */
|
61
66
|
div#content ul {
|
62
67
|
margin: 0;
|
63
|
-
padding: 0;
|
68
|
+
padding: 0;
|
64
69
|
width: 100%;
|
65
70
|
}
|
66
71
|
|
67
72
|
div#content ul li {
|
68
73
|
list-style-type:none;
|
69
|
-
height: 30px;
|
70
|
-
width: 100%;
|
74
|
+
height: 30px;
|
75
|
+
width: 100%;
|
71
76
|
border-bottom: 1px solid black;
|
72
77
|
margin:0;
|
73
|
-
|
78
|
+
padding:0;
|
74
79
|
overflow: hidden;
|
75
|
-
|
80
|
+
clear:both;
|
76
81
|
}
|
77
82
|
|
78
|
-
div#content ul li span.title {
|
79
|
-
margin:
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
+
div#content ul li a span.title {
|
84
|
+
margin: 0 5px 0 5px;
|
85
|
+
padding: 0;
|
86
|
+
font-size: 12px;
|
87
|
+
font-weight: bold;
|
88
|
+
line-height: 30px;
|
89
|
+
height: 30px;
|
83
90
|
display:block;
|
84
91
|
}
|
85
92
|
|
86
93
|
div#content ul li a {
|
87
94
|
text-decoration:none;
|
88
95
|
display:block;
|
89
|
-
color: black;
|
96
|
+
color: black;
|
97
|
+
height:30px;
|
98
|
+
line-height:30px;
|
90
99
|
}
|
91
|
-
div#content ul li a span.title {
|
92
|
-
margin: 0 5px 0 5px;
|
93
|
-
float: left;
|
94
|
-
}
|
95
|
-
|
96
100
|
|
97
101
|
div#content ul li a span.disclosure_indicator {
|
98
102
|
display:none;
|
@@ -101,10 +105,10 @@ div#content ul li a span.disclosure_indicator {
|
|
101
105
|
}
|
102
106
|
|
103
107
|
div#content ul li div {
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
}
|
108
|
+
width: 45%;
|
109
|
+
line-height:30px;
|
110
|
+
margin: 0 5px;
|
111
|
+
}
|
108
112
|
div#content ul li div.itemLabel {
|
109
113
|
float:left;
|
110
114
|
font-weight:bold;
|
@@ -126,7 +130,7 @@ div#content ul#settings li div {
|
|
126
130
|
}
|
127
131
|
|
128
132
|
div#content ul#settings li span.clientID {
|
129
|
-
font-size:60%;
|
133
|
+
font-size:60%;
|
130
134
|
float:right;
|
131
135
|
display:block;
|
132
136
|
height:20px;
|
@@ -149,7 +153,7 @@ div#content div#reset {
|
|
149
153
|
|
150
154
|
/* forms */
|
151
155
|
div#content form {
|
152
|
-
margin: 0;
|
156
|
+
margin: 0;
|
153
157
|
padding:0;
|
154
158
|
}
|
155
159
|
|
@@ -157,18 +161,18 @@ div#content form h4 {
|
|
157
161
|
background-color:black;
|
158
162
|
color:white;
|
159
163
|
display:block;
|
160
|
-
padding: 5px;
|
164
|
+
padding: 5px;
|
161
165
|
margin:0;
|
162
166
|
}
|
163
167
|
|
164
168
|
|
165
169
|
div#content form ul {
|
166
|
-
margin: 0;
|
170
|
+
margin: 0;
|
167
171
|
padding:0;
|
168
172
|
}
|
169
173
|
|
170
174
|
div#content form ul li {
|
171
|
-
height: 40px;
|
175
|
+
height: 40px;
|
172
176
|
}
|
173
177
|
div#content form ul li.textarea {
|
174
178
|
height:110px;
|
@@ -18,6 +18,6 @@ ExcludeLogCategories =
|
|
18
18
|
KeepTrackOfLastVisitedPage = 0
|
19
19
|
LastVisitedPage = ''
|
20
20
|
|
21
|
-
# Sync server url.
|
22
|
-
# For example: http://
|
21
|
+
# Sync server url. Typically this will look like 'http://<hostname>:<port>/application'
|
22
|
+
# For example: 'http://localhost:9292/application'
|
23
23
|
syncserver = '<%=syncserver%>'
|
@@ -14,8 +14,8 @@
|
|
14
14
|
<table>
|
15
15
|
<% attributes.each do |attribute| %>
|
16
16
|
<tr>
|
17
|
-
<td
|
18
|
-
<td><input type="text" name="<%= name.downcase %>[<%= attribute %>]" value="<%%= @<%= name.downcase %>.<%= attribute %> %>"/></td>
|
17
|
+
<td class="itemLabel"><%= humanize(attribute) %>: </td>
|
18
|
+
<td class="itemValue"><input type="text" name="<%= name.downcase %>[<%= attribute %>]" value="<%%= @<%= name.downcase %>.<%= attribute %> %>"/></td>
|
19
19
|
</tr>
|
20
20
|
<% end %>
|
21
21
|
</table>
|
@@ -9,13 +9,15 @@
|
|
9
9
|
</div>
|
10
10
|
|
11
11
|
<div id="content">
|
12
|
-
|
12
|
+
<table>
|
13
|
+
<tr>
|
13
14
|
<%% @<%= name.downcase.pluralize %>.each do |obj| %>
|
14
15
|
<% if self.attributes? %>
|
15
|
-
<
|
16
|
+
<td class="recordLabel"><%%= link_to "#{obj.<%= attributes[0] %>}", :action => :show, :id => obj.object %></td>
|
16
17
|
<% else %>
|
17
|
-
<
|
18
|
+
<td class="recordLabel">Some list entry...</td>
|
18
19
|
<% end %>
|
19
20
|
<%% end %>
|
20
|
-
</
|
21
|
+
</tr>
|
22
|
+
</table>
|
21
23
|
</div>
|
@@ -14,8 +14,8 @@
|
|
14
14
|
<table>
|
15
15
|
<% attributes.each do |attribute| %>
|
16
16
|
<tr>
|
17
|
-
<td
|
18
|
-
<td><input type="text" name="<%= name.downcase %>[<%= attribute %>]"/></td>
|
17
|
+
<td class="itemLabel"><%= humanize(attribute) %>: </td>
|
18
|
+
<td class="itemValue"><input type="text" name="<%= name.downcase %>[<%= attribute %>]"/></td>
|
19
19
|
</tr>
|
20
20
|
<% end %>
|
21
21
|
</table>
|
@@ -13,8 +13,8 @@
|
|
13
13
|
<table>
|
14
14
|
<% attributes.each do |attribute| %>
|
15
15
|
<tr>
|
16
|
-
<td><%= attribute.camelize %></td>
|
17
|
-
<td><%%= @<%= name.downcase %>.<%= attribute %>%></td>
|
16
|
+
<td class="itemLabel"><%= attribute.camelize %></td>
|
17
|
+
<td class="itemValue"><%%= @<%= name.downcase %>.<%= attribute %>%></td>
|
18
18
|
</tr>
|
19
19
|
<% end %>
|
20
20
|
</table>
|