/**
* @defgroup Web Web
+ * @ingroup Elementary
*
* @image html img/widget/web/preview-00.png
* @image latex img/widget/web/preview-00.eps
*
- * A web object is used for displaying web pages (HTML/CSS/JS)
+ * A web widget is used for displaying web pages (HTML/CSS/JS)
* using WebKit-EFL. You must have compiled Elementary with
* ewebkit support.
*
*
* @see elm_web_popup_selected_set()
* @see elm_web_popup_destroy()
+ *
+ * @ingroup Web
*/
typedef struct _Elm_Web_Menu Elm_Web_Menu;
*
* @see elm_web_popup_selected_set()
* @see elm_web_popup_destroy()
+ *
+ * @ingroup Web
*/
struct _Elm_Web_Menu
{
*/
typedef struct _Elm_Web_Window_Features Elm_Web_Window_Features;
+
+/**
+ * Definitions of web window features.
+ *
+ */
+typedef enum
+{
+ ELM_WEB_WINDOW_FEATURE_TOOLBAR,
+ ELM_WEB_WINDOW_FEATURE_STATUSBAR,
+ ELM_WEB_WINDOW_FEATURE_SCROLLBARS,
+ ELM_WEB_WINDOW_FEATURE_MENUBAR,
+ ELM_WEB_WINDOW_FEATURE_LOCATIONBAR,
+ ELM_WEB_WINDOW_FEATURE_FULLSCREEN
+} Elm_Web_Window_Feature_Flag;
+
/**
* Callback type for the create_window hook.
*
* Returning @c NULL should cancel the request.
*
* @see elm_web_window_create_hook_set()
+ *
+ * @ingroup Web
*/
typedef Evas_Object *(*Elm_Web_Window_Open)(void *data, Evas_Object *obj, Eina_Bool js, const Elm_Web_Window_Features *window_features);
* If the function returns @c NULL the popup will be ignored.
*
* @see elm_web_dialog_alert_hook_set()
+ *
+ * @ingroup Web
*/
typedef Evas_Object *(*Elm_Web_Dialog_Alert)(void *data, Evas_Object *obj, const char *message);
* @li @p data User data pointer set when setting the hook function
* @li @p obj The elm_web object requesting the new window
* @li @p message The message to show in the confirm dialog
- * @li @p ret Pointer where to store the user selection. @c EINA_TRUE if
+ * @li @p ret Pointer to store the user selection. @c EINA_TRUE if
* the user selected @c Ok, @c EINA_FALSE otherwise.
*
* The function should return the object representing the confirm dialog.
* If the function returns @c NULL the popup will be ignored.
*
* @see elm_web_dialog_confirm_hook_set()
+ *
+ * @ingroup Web
*/
typedef Evas_Object *(*Elm_Web_Dialog_Confirm)(void *data, Evas_Object *obj, const char *message, Eina_Bool *ret);
* @li @p obj The elm_web object requesting the new window
* @li @p message The message to show in the prompt dialog
* @li @p def_value The default value to present the user in the entry
- * @li @p value Pointer where to store the value given by the user. Must
+ * @li @p value Pointer to store the value given by the user. Must
* be a malloc'ed string or @c NULL if the user canceled the popup.
- * @li @p ret Pointer where to store the user selection. @c EINA_TRUE if
+ * @li @p ret Pointer to store the user selection. @c EINA_TRUE if
* the user selected @c Ok, @c EINA_FALSE otherwise.
*
* The function should return the object representing the prompt dialog.
* If the function returns @c NULL the popup will be ignored.
*
* @see elm_web_dialog_prompt_hook_set()
+ *
+ * @ingroup Web
*/
typedef Evas_Object *(*Elm_Web_Dialog_Prompt)(void *data, Evas_Object *obj, const char *message, const char *def_value, char **value, Eina_Bool *ret);
* @li @p obj The elm_web object requesting the new window
* @li @p allows_multiple @c EINA_TRUE if multiple files can be selected.
* @li @p accept_types Mime types accepted
- * @li @p selected Pointer where to store the list of malloc'ed strings
+ * @li @p selected Pointer to store the list of malloc'ed strings
* containing the path to each file selected. Must be @c NULL if the file
* dialog is canceled
- * @li @p ret Pointer where to store the user selection. @c EINA_TRUE if
+ * @li @p ret Pointer to store the user selection. @c EINA_TRUE if
* the user selected @c Ok, @c EINA_FALSE otherwise.
*
* The function should return the object representing the file selector
* If the function returns @c NULL the popup will be ignored.
*
* @see elm_web_dialog_file selector_hook_set()
+ *
+ * @ingroup Web
*/
typedef Evas_Object *(*Elm_Web_Dialog_File_Selector)(void *data, Evas_Object *obj, Eina_Bool allows_multiple, Eina_List *accept_types, Eina_List **selected, Eina_Bool *ret);
* @li @p source_id Source id
*
* @see elm_web_console_message_hook_set()
+ *
+ * @ingroup Web
*/
typedef void (*Elm_Web_Console_Message)(void *data, Evas_Object *obj, const char *message, unsigned int line_number, const char *source_id);
*
* @see elm_web_uri_set()
* @see elm_web_webkit_view_get()
+ *
+ * @ingroup Web
*/
EAPI Evas_Object *elm_web_add(Evas_Object *parent);
/**
* Change useragent of a elm_web object
- *
+ *
* @param obj The object
* @param user_agent String for useragent
*
+ * @ingroup Web
*/
EAPI void elm_web_useragent_set(Evas_Object *obj, const char *user_agent);
* @param obj The object
* @return Useragent string
*
+ * @ingroup Web
*/
EAPI const char* elm_web_useragent_get(const Evas_Object *obj);
* ewebkit)
*
* @see elm_web_add()
+ *
+ * @ingroup Web
*/
EAPI Evas_Object *elm_web_webkit_view_get(const Evas_Object *obj);
* @param obj The web object where to set the hook function
* @param func The hook function to be called when a window is requested
* @param data User data
+ *
+ * @ingroup Web
*/
EAPI void elm_web_window_create_hook_set(Evas_Object *obj, Elm_Web_Window_Open func, void *data);
* @param data User data
*
* @see elm_web_inwin_mode_set()
+ *
+ * @ingroup Web
*/
EAPI void elm_web_dialog_alert_hook_set(Evas_Object *obj, Elm_Web_Dialog_Alert func, void *data);
* @param data User data
*
* @see elm_web_inwin_mode_set()
+ *
+ * @ingroup Web
*/
EAPI void elm_web_dialog_confirm_hook_set(Evas_Object *obj, Elm_Web_Dialog_Confirm func, void *data);
* @param data User data
*
* @see elm_web_inwin_mode_set()
+ *
+ * @ingroup Web
*/
EAPI void elm_web_dialog_prompt_hook_set(Evas_Object *obj, Elm_Web_Dialog_Prompt func, void *data);
* @param data User data
*
* @see elm_web_inwin_mode_set()
+ *
+ * @ingroup Web
*/
EAPI void elm_web_dialog_file_selector_hook_set(Evas_Object *obj, Elm_Web_Dialog_File_Selector func, void *data);
* @param obj The web object where to set the hook function
* @param func The callback function to be used
* @param data User data
+ *
+ * @ingroup Web
*/
EAPI void elm_web_console_message_hook_set(Evas_Object *obj, Elm_Web_Console_Message func, void *data);
* @return EINA_TRUE if tab propagation is enabled, EINA_FALSE otherwise
*
* @see elm_web_tab_propagate_set()
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_tab_propagate_get(const Evas_Object *obj);
*
* @param obj The web object
* @param propagate Whether to propagate Tab keys to Elementary or not
+ *
+ * @ingroup Web
*/
EAPI void elm_web_tab_propagate_set(Evas_Object *obj, Eina_Bool propagate);
*
* @param obj The web object
* @param uri The URI to set
- * @return EINA_TRUE if the URI could be, EINA_FALSE if an error occurred
+ * @return EINA_TRUE if the URI could be set, EINA_FALSE if an error occurred
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_uri_set(Evas_Object *obj, const char *uri);
* @param obj The web object
* @return A stringshared internal string with the current URI, or NULL on
* failure
+ *
+ * @ingroup Web
*/
EAPI const char *elm_web_uri_get(const Evas_Object *obj);
* @param obj The web object
* @return A stringshared internal string with the current title, or NULL on
* failure
+ *
+ * @ingroup Web
*/
EAPI const char *elm_web_title_get(const Evas_Object *obj);
* @param g Green component
* @param b Blue component
* @param a Alpha component
+ *
+ * @ingroup Web
*/
EAPI void elm_web_bg_color_set(Evas_Object *obj, int r, int g, int b, int a);
* @param g Green component
* @param b Blue component
* @param a Alpha component
+ *
+ * @ingroup Web
*/
EAPI void elm_web_bg_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a);
* @param obj The web object
* @return A newly allocated string, or NULL if nothing is selected or an
* error occurred
+ *
+ * @ingroup Web
*/
EAPI char *elm_web_selection_get(const Evas_Object *obj);
* @param index The index selected
*
* @see elm_web_popup_destroy()
+ *
+ * @ingroup Web
*/
EAPI void elm_web_popup_selected_set(Evas_Object *obj, int index);
* @param obj The web object
* @return EINA_TRUE if the menu was successfully destroyed, or EINA_FALSE
* if there was no menu to destroy
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_popup_destroy(Evas_Object *obj);
*
* @return @c EINA_TRUE if the given string was found, @c EINA_FALSE if not
* or failure
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_text_search(const Evas_Object *obj, const char *string, Eina_Bool case_sensitive, Eina_Bool forward, Eina_Bool wrap);
* @param limit Maximum amount of matches, or zero to unlimited
*
* @return number of matched @a string
+ *
+ * @ingroup Web
*/
EAPI unsigned int elm_web_text_matches_mark(Evas_Object *obj, const char *string, Eina_Bool case_sensitive, Eina_Bool highlight, unsigned int limit);
* @param obj The web object
*
* @return EINA_TRUE on success, EINA_FALSE otherwise
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_text_matches_unmark_all(Evas_Object *obj);
* @param highlight Whether to highlight the marks or not
*
* @return EINA_TRUE on success, EINA_FALSE otherwise
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_text_matches_highlight_set(Evas_Object *obj, Eina_Bool highlight);
/**
* Gets whether highlighting marks is enabled
*
- * @param The web object
+ * @param obj The web object
*
* @return EINA_TRUE is marks are set to be highlighted, EINA_FALSE
* otherwise
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_text_matches_highlight_get(const Evas_Object *obj);
*
* @return A value between 0.0 and 1.0 indicating the progress, or -1.0 on
* failure
+ *
+ * @ingroup Web
*/
EAPI double elm_web_load_progress_get(const Evas_Object *obj);
* @param obj The web object
*
* @return EINA_TRUE if the cancel was successful, EINA_FALSE otherwise
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_stop(Evas_Object *obj);
* @param obj The web object
*
* @return EINA_TRUE on success, EINA_FALSE otherwise
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_reload(Evas_Object *obj);
* @param obj The web object
*
* @return EINA_TRUE on success, EINA_FALSE otherwise
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_reload_full(Evas_Object *obj);
*
* @return EINA_TRUE on success, EINA_FALSE otherwise
*
- * @see elm_web_history_enable_set()
+ * @see elm_web_history_enabled_set()
* @see elm_web_back_possible()
* @see elm_web_forward()
* @see elm_web_navigate()
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_back(Evas_Object *obj);
*
* @return EINA_TRUE on success, EINA_FALSE otherwise
*
- * @see elm_web_history_enable_set()
- * @see elm_web_forward_possible()
+ * @see elm_web_history_enabled_set()
+ * @see elm_web_forward_possible_get()
* @see elm_web_back()
* @see elm_web_navigate()
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_forward(Evas_Object *obj);
* @return EINA_TRUE on success, EINA_FALSE on error or if not enough
* history exists to jump the given number of steps
*
- * @see elm_web_history_enable_set()
- * @see elm_web_navigate_possible()
+ * @see elm_web_history_enabled_set()
* @see elm_web_back()
* @see elm_web_forward()
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_navigate(Evas_Object *obj, int steps);
*
* @return EINA_TRUE if it's possible to back in history, EINA_FALSE
* otherwise
+ *
+ * @ingroup Web
*/
-EAPI Eina_Bool elm_web_back_possible(Evas_Object *obj);
+EAPI Eina_Bool elm_web_back_possible_get(Evas_Object *obj);
/**
* Queries whether it's possible to go forward in history
*
* @return EINA_TRUE if it's possible to forward in history, EINA_FALSE
* otherwise
+ *
+ * @ingroup Web
*/
-EAPI Eina_Bool elm_web_forward_possible(Evas_Object *obj);
+EAPI Eina_Bool elm_web_forward_possible_get(Evas_Object *obj);
/**
* Queries whether it's possible to jump the given number of steps
*
* @return EINA_TRUE if enough history exists to perform the given jump,
* EINA_FALSE otherwise
+ *
+ * @ingroup Web
*/
-EAPI Eina_Bool elm_web_navigate_possible(Evas_Object *obj, int steps);
+EAPI Eina_Bool elm_web_navigate_possible_get(Evas_Object *obj, int steps);
/**
* Gets whether browsing history is enabled for the given object
* @param obj The web object
*
* @return EINA_TRUE if history is enabled, EINA_FALSE otherwise
+ *
+ * @ingroup Web
*/
-EAPI Eina_Bool elm_web_history_enable_get(const Evas_Object *obj);
+EAPI Eina_Bool elm_web_history_enabled_get(const Evas_Object *obj);
/**
* Enables or disables the browsing history
*
* @param obj The web object
- * @param enable Whether to enable or disable the browsing history
+ * @param enabled Whether to enable or disable the browsing history
+ *
+ * @ingroup Web
*/
-EAPI void elm_web_history_enable_set(Evas_Object *obj, Eina_Bool enable);
+EAPI void elm_web_history_enabled_set(Evas_Object *obj, Eina_Bool enabled);
/**
* Sets the zoom level of the web object
*
* @param obj The web object
* @param zoom The zoom level to set
+ *
+ * @ingroup Web
*/
EAPI void elm_web_zoom_set(Evas_Object *obj, double zoom);
* @param obj The web object
*
* @return The zoom level set on the object
+ *
+ * @ingroup Web
*/
EAPI double elm_web_zoom_get(const Evas_Object *obj);
*
* @param obj The web object
* @param mode The mode to set
+ *
+ * @ingroup Web
*/
EAPI void elm_web_zoom_mode_set(Evas_Object *obj, Elm_Web_Zoom_Mode mode);
*
* @return The current zoom mode set for the object, or
* ::ELM_WEB_ZOOM_MODE_LAST on error
+ *
+ * @ingroup Web
*/
EAPI Elm_Web_Zoom_Mode elm_web_zoom_mode_get(const Evas_Object *obj);
* @param y The y coordinate of the region to show
* @param w The width of the region to show
* @param h The height of the region to show
+ *
+ * @ingroup Web
*/
EAPI void elm_web_region_show(Evas_Object *obj, int x, int y, int w, int h);
* @param y The y coordinate of the region to show
* @param w The width of the region to show
* @param h The height of the region to show
+ *
+ * @ingroup Web
*/
EAPI void elm_web_region_bring_in(Evas_Object *obj, int x, int y, int w, int h);
*
* @param obj The web object
* @param value EINA_TRUE to use Inwin, EINA_FALSE to use a normal window
+ *
+ * @ingroup Web
*/
EAPI void elm_web_inwin_mode_set(Evas_Object *obj, Eina_Bool value);
* @param obj The web object
*
* @return EINA_TRUE if Inwin mode is set, EINA_FALSE otherwise
+ *
+ * @ingroup Web
*/
EAPI Eina_Bool elm_web_inwin_mode_get(const Evas_Object *obj);
EAPI void elm_web_window_features_ref(Elm_Web_Window_Features *wf);
EAPI void elm_web_window_features_unref(Elm_Web_Window_Features *wf);
-EAPI void elm_web_window_features_bool_property_get(const Elm_Web_Window_Features *wf, Eina_Bool *toolbar_visible, Eina_Bool *statusbar_visible, Eina_Bool *scrollbars_visible, Eina_Bool *menubar_visible, Eina_Bool *locationbar_visble, Eina_Bool *fullscreen);
-EAPI void elm_web_window_features_int_property_get(const Elm_Web_Window_Features *wf, int *x, int *y, int *w, int *h);
+
+/**
+ * Gets boolean properties from Elm_Web_Window_Features
+ * (such as statusbar, menubar, etc) that are on a window.
+ *
+ * @param wf The web window features object
+ * @param flag The web window feature flag whose value is required.
+ *
+ * @return EINA_TRUE if the flag is set, EINA_FALSE otherwise
+ *
+ * @ingroup Web
+ */
+EAPI Eina_Bool elm_web_window_features_property_get(const Elm_Web_Window_Features *wf, Elm_Web_Window_Feature_Flag flag);
+
+/**
+ *
+ * TODO : Add documentation.
+ *
+ * @param wf The web window features object
+ * @param x, y, w, h - the co-ordinates of the web view window.
+ *
+ * @ingroup Web
+ */
+EAPI void elm_web_window_features_region_get(const Elm_Web_Window_Features *wf, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
/**
* @}