Elementary.web: Add many things missing from API, not tested.
I won't be able to test this until I get Elm compiled with efl-webkit, and for that I need a reasonably fresh source snapshot. Latest one I could find was from August last year, I'm assuming it won't match with current Elm.
This commit is contained in:
parent
bd8f38667e
commit
603476f176
|
@ -22,6 +22,14 @@ cdef extern from "Elementary.h":
|
|||
ctypedef void (*Elm_Web_Console_Message) (void *data, Evas_Object *obj, const_char *message, unsigned int line_number, const_char *source_id)
|
||||
|
||||
Evas_Object *elm_web_add(Evas_Object *parent)
|
||||
void elm_web_zoom_mode_set(Evas_Object *obj, Elm_Web_Zoom_Mode mode)
|
||||
Elm_Web_Zoom_Mode elm_web_zoom_mode_get(Evas_Object *obj)
|
||||
|
||||
Eina_Bool elm_web_window_features_property_get(Elm_Web_Window_Features *wf, Elm_Web_Window_Feature_Flag flag)
|
||||
void elm_web_window_features_region_get(Elm_Web_Window_Features *wf, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
|
||||
void elm_web_window_features_ref(Elm_Web_Window_Features *wf)
|
||||
void elm_web_window_features_unref(Elm_Web_Window_Features *wf)
|
||||
|
||||
void elm_web_useragent_set(Evas_Object *obj, const_char *user_agent)
|
||||
const_char * elm_web_useragent_get(Evas_Object *obj)
|
||||
Evas_Object *elm_web_webkit_view_get(Evas_Object *obj)
|
||||
|
@ -35,8 +43,10 @@ cdef extern from "Elementary.h":
|
|||
|
||||
Eina_Bool elm_web_tab_propagate_get(Evas_Object *obj)
|
||||
void elm_web_tab_propagate_set(Evas_Object *obj, Eina_Bool propagate)
|
||||
Eina_Bool elm_web_uri_set(Evas_Object *obj,char *uri)
|
||||
const_char * elm_web_uri_get(Evas_Object *obj)
|
||||
|
||||
Eina_Bool elm_web_url_set(Evas_Object *obj,char *url)
|
||||
const_char * elm_web_url_get(Evas_Object *obj)
|
||||
|
||||
const_char * elm_web_title_get(Evas_Object *obj)
|
||||
void elm_web_bg_color_set(Evas_Object *obj, int r, int g, int b, int a)
|
||||
void elm_web_bg_color_get(Evas_Object *obj, int *r, int *g, int *b, int *a)
|
||||
|
@ -67,14 +77,10 @@ cdef extern from "Elementary.h":
|
|||
|
||||
void elm_web_zoom_set(Evas_Object *obj, double zoom)
|
||||
double elm_web_zoom_get(Evas_Object *obj)
|
||||
void elm_web_zoom_mode_set(Evas_Object *obj, Elm_Web_Zoom_Mode mode)
|
||||
Elm_Web_Zoom_Mode elm_web_zoom_mode_get(Evas_Object *obj)
|
||||
|
||||
void elm_web_region_show(Evas_Object *obj, int x, int y, int w, int h)
|
||||
void elm_web_region_bring_in(Evas_Object *obj, int x, int y, int w, int h)
|
||||
void elm_web_inwin_mode_set(Evas_Object *obj, Eina_Bool value)
|
||||
Eina_Bool elm_web_inwin_mode_get(Evas_Object *obj)
|
||||
|
||||
Eina_Bool elm_web_window_features_property_get(Elm_Web_Window_Features *wf, Elm_Web_Window_Feature_Flag flag)
|
||||
void elm_web_window_features_region_get(Elm_Web_Window_Features *wf, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,43 +1,37 @@
|
|||
#!/usr/bin/env python
|
||||
# encoding: utf-8
|
||||
|
||||
from efl import evas
|
||||
from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL
|
||||
from efl import ecore
|
||||
from efl import elementary
|
||||
from efl.elementary.window import Window
|
||||
from efl.elementary.window import StandardWindow
|
||||
from efl.elementary.background import Background
|
||||
from efl.elementary.box import Box
|
||||
from efl.elementary.button import Button
|
||||
from efl.elementary.entry import Entry
|
||||
from efl.elementary.web import Web
|
||||
|
||||
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
|
||||
EXPAND_HORIZ = EVAS_HINT_EXPAND, 0.0
|
||||
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
|
||||
FILL_HORIZ = EVAS_HINT_FILL, 0.5
|
||||
|
||||
def web_clicked(obj):
|
||||
if not elementary.need_web():
|
||||
print("EFL-webkit not available!")
|
||||
return
|
||||
|
||||
win = Window("web", elementary.ELM_WIN_BASIC)
|
||||
win.title_set("Web")
|
||||
win.autodel_set(True)
|
||||
win = StandardWindow("web", "Web", autodel=True, size=(800, 600))
|
||||
if obj is None:
|
||||
win.callback_delete_request_add(lambda o: elementary.exit())
|
||||
|
||||
bg = Background(win)
|
||||
win.resize_object_add(bg)
|
||||
bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
|
||||
bg.show()
|
||||
|
||||
vbx = Box(win)
|
||||
vbx = Box(win, size_hint_weight=EXPAND_BOTH)
|
||||
win.resize_object_add(vbx)
|
||||
vbx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
|
||||
vbx.show()
|
||||
|
||||
web = Web(win)
|
||||
web.uri_set("http://enlightenment.org/")
|
||||
web.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
|
||||
web.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
|
||||
web.size_hint_min_set(100, 100)
|
||||
web = Web(win, url="http://enlightenment.org/",
|
||||
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH,
|
||||
size_hint_min=(100, 100))
|
||||
vbx.pack_end(web)
|
||||
web.show()
|
||||
|
||||
|
@ -61,43 +55,33 @@ def web_clicked(obj):
|
|||
web.console_message_hook_set(console_msg)
|
||||
|
||||
# navigation bar:
|
||||
hbx = Box(win)
|
||||
hbx.horizontal_set(True)
|
||||
hbx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
|
||||
hbx.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0)
|
||||
hbx = Box(win, horizontal=True, size_hint_weight=EXPAND_HORIZ,
|
||||
size_hint_align=FILL_HORIZ)
|
||||
vbx.pack_start(hbx)
|
||||
hbx.show()
|
||||
|
||||
bt = Button(win)
|
||||
bt.text_set("Back")
|
||||
bt = Button(win, text="Back")
|
||||
bt.callback_clicked_add(lambda x: web.back())
|
||||
hbx.pack_end(bt)
|
||||
bt.show()
|
||||
|
||||
bt = Button(win)
|
||||
bt.text_set("Forward")
|
||||
bt = Button(win, text="Forward")
|
||||
bt.callback_clicked_add(lambda x: web.forward())
|
||||
hbx.pack_end(bt)
|
||||
bt.show()
|
||||
|
||||
bt = Button(win)
|
||||
bt.text_set("Reload")
|
||||
bt = Button(win, text="Reload")
|
||||
bt.callback_clicked_add(lambda x: web.reload())
|
||||
hbx.pack_end(bt)
|
||||
bt.show()
|
||||
|
||||
bt = Button(win)
|
||||
bt.text_set("Stop")
|
||||
bt = Button(win, text="Stop")
|
||||
bt.callback_clicked_add(lambda x: web.stop())
|
||||
hbx.pack_end(bt)
|
||||
bt.show()
|
||||
|
||||
en = Entry(win)
|
||||
en.scrollable_set(True)
|
||||
en.editable_set(True)
|
||||
en.single_line_set(True)
|
||||
en.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
|
||||
en.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
|
||||
en = Entry(win, scrollable=True, editable=True, single_line=True,
|
||||
size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH)
|
||||
hbx.pack_end(en)
|
||||
en.show()
|
||||
|
||||
|
@ -116,12 +100,15 @@ def web_clicked(obj):
|
|||
win.title_set("Web - %s" % title)
|
||||
web.callback_title_changed_add(did_change_title, win)
|
||||
|
||||
win.resize(800, 600)
|
||||
win.show()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
elementary.init()
|
||||
if not elementary.need_web():
|
||||
elementary.shutdown()
|
||||
raise SystemExit("EFL-webkit not available!")
|
||||
|
||||
elementary.policy_set(elementary.ELM_POLICY_QUIT,
|
||||
elementary.ELM_POLICY_QUIT_LAST_WINDOW_CLOSED)
|
||||
|
||||
|
|
Loading…
Reference in New Issue