currentViewModeFullScreen_(false),
focus_(NULL),
content_(NULL),
+#ifdef PROFILE_MOBILE
+ progressbar_(NULL),
+ top_layout_(NULL),
+#endif
rotation_(0),
handler_id_(0) {
}
EVAS_SIZE_EXPAND_FILL(top_layout);
elm_object_content_set(conformant, top_layout);
evas_object_show(top_layout);
+#ifdef PROFILE_MOBILE
+ top_layout_ = top_layout;
+#endif
// focus
Evas_Object* focus = elm_bg_add(top_layout);
evas_object_show(focus);
focus_ = focus;
+#ifdef PROFILE_MOBILE
+ // progressbar
+ Evas_Object *progressbar = elm_progressbar_add(top_layout);
+ EVAS_SIZE_EXPAND_FILL(progressbar);
+ elm_progressbar_unit_format_set(progressbar, "%1.1f%%");
+ elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
+ elm_object_part_content_set(top_layout, "elm.swallow.progress", progressbar);
+ evas_object_show(progressbar);
+ progressbar_ = progressbar;
+#endif
+
// focus callback
auto focus_callback = [](void* user_data,
Evas_Object*,
}
#endif // MANUAL_ROTATE_FEATURE_SUPPORT
+#ifdef PROFILE_MOBILE
+void NativeWindow::SignalEmit(const char* emission,
+ const char* source) {
+ elm_object_signal_emit(top_layout_, emission, source);
+}
+
+void NativeWindow::UpdateProgress(double value) {
+ elm_progressbar_value_set(progressbar_, ELM_SCALE_SIZE(value));
+}
+#endif
+
} // namespace runtime
void EnableManualRotation(bool enable);
void ManualRotationDone();
#endif // MANUAL_ROTATE_FEATURE_SUPPORT
+#ifdef PROFILE_MOBILE
+ void SignalEmit(const char* emission, const char* source);
+ void UpdateProgress(double value);
+#endif
protected:
virtual Evas_Object* CreateWindowInternal() = 0;
bool currentViewModeFullScreen_;
Evas_Object* focus_;
Evas_Object* content_;
+#ifdef PROFILE_MOBILE
+ Evas_Object* progressbar_;
+ Evas_Object* top_layout_;
+#endif
int rotation_;
int handler_id_;
ScreenOrientation natural_orientation_;
const char* kResWgtPath = "res/wgt/";
const char* kAppControlMain = "http://tizen.org/appcontrol/operation/main";
+#ifdef PROFILE_MOBILE
+// window signal callback
+const char *kEdjeShowProgressSignal = "show,progress,signal";
+const char *kEdjeHideProgressSignal = "hide,progress,signal";
+#endif
+
const std::string kViewmodeTypeFullscreen = "fullscreen";
const std::string kViewmodeTypeWindowed = "windowed";
LOGGER(DEBUG) << "LoadStart";
}
+#ifdef PROFILE_MOBILE
+void WebApplication::OnLoadProgress(WebView* view, double persent) {
+ LOGGER(DEBUG) << "LoadProgress, progress ;"<<persent;
+
+ if ((app_data_->setting_info() != NULL &&
+ app_data_->setting_info()->progressbar_presence()) ||
+ (app_data_->widget_info() != NULL &&
+ app_data_->widget_info()->view_modes() == kViewmodeTypeWindowed)) {
+ if (persent == 1.0) {
+ window_->SignalEmit(kEdjeHideProgressSignal, "");
+ } else {
+ window_->SignalEmit(kEdjeShowProgressSignal, "");
+ window_->UpdateProgress(persent);
+ }
+ }
+}
+#endif
+
void WebApplication::OnLoadFinished(WebView* /*view*/) {
LOGGER(DEBUG) << "LoadFinished";
+#ifdef PROFILE_MOBILE
+ if ((app_data_->setting_info() != NULL &&
+ app_data_->setting_info()->progressbar_presence()) ||
+ (app_data_->widget_info() != NULL &&
+ app_data_->widget_info()->view_modes() == kViewmodeTypeWindowed)) {
+ window_->SignalEmit(kEdjeHideProgressSignal, "");
+ }
+#endif
splash_screen_->HideSplashScreen(SplashScreen::HideReason::LOADFINISHED);
}
virtual void OnHardwareKey(WebView* view, const std::string& keyname);
virtual void OnConsoleMessage(const std::string& msg, int level);
virtual void OnLoadStart(WebView* view);
+#ifdef PROFILE_MOBILE
+ virtual void OnLoadProgress(WebView* view, double persent);
+#endif
virtual void OnLoadFinished(WebView* view);
virtual void OnRendered(WebView* view);
virtual void OnLanguageChanged();