def __init__(self, parent, editable, popup_hide_object_signal_list=[]): FloaterOpener.__init__(self, popup_hide_object_signal_list) WidgetEntry.__init__(self, parent) self.validator_set(validator_rgba) self._edit_grp = editable self.color = (255, 255, 255, 255) self.parent = parent self.entry.callback_activated_add(self._entry_activate_cb) self.entry.callback_changed_add(self._entry_changed_cb) self.entry.callback_double_clicked_add(self._dblclick_cb) ed = parent.edje_get() file = ed.file_get()[0] self.rect = edje.Edje(ed.evas, file=file, group="colorpreviewer") self.rect.size_hint_align_set(-1.0, -1.0) self.rect.size_hint_min_set(*self.rect.size_min_get()) self.rect.on_mouse_down_add(self._sample_clicked_cb) self.rect.show() self.box = elementary.Box(parent) self.box.horizontal_set(True) self.box.size_hint_weight_set(1.0, 0.0) self.box.size_hint_align_set(-1.0, -1.0) self.box.pack_end(self.entry) self.box.pack_end(self.rect) self.box.show() self.obj = self.box self._delayed_callback = False
def __manage_objects(self): remain = (self.h % self.row_height) > 1 needed_objects = ((self.h / self.row_height) + 1 + remain) * (self.w / self.row_width) current_objects = len(self.objects) if current_objects < needed_objects: for i in range(current_objects, needed_objects): obj = edje.Edje(self.canvas); obj.file_set(self.edje_file, "list_item"); obj.signal_callback_add("mouse,move", "*", self.__on_mouse_move) obj.signal_callback_add("mouse,down,1", "*", self.__on_mouse_down) obj.signal_callback_add("mouse,up,1", "*", self.__on_mouse_up) obj.size = (self.row_width, self.row_height) obj.clip = self self.objects.append(obj) image_obj = ResizableImage(self.canvas) image_obj.size = (100, 75) obj.part_swallow("thumbnail", image_obj); self.image_objects.append(image_obj) elif needed_objects < current_objects: for i in range(needed_objects, current_objects): pass # Make this work, it throws exception that makes
def __init__(self, evas_canvas, items): self.evas_obj = evas_canvas.evas_obj f = os.path.splitext(sys.argv[0])[0] + ".edj" try: self.main_group = edje.Edje(self.evas_obj.evas, file=f, group="main") except edje.EdjeLoadError, e: raise SystemExit("error loading %s: %s" % (f, e))
def create_scene(ee, canvas): bg = edje.Edje(canvas, file=theme_file, group="background") bg.size = canvas.size bg.layer = -999 bg.focus = True bg.show() bg.on_key_down_add(AppKeyboardEvents(), ee) ee.data["bg"] = bg
def group_release(self): if self._group: self._group.hide() self._group.delete() self._group = edje.Edje(self._parent.evas) self._group.show() self.content_set(self._group)
def __init__(self, parent,group,edje_file='../tichy/gui_paroli/design/paroli-in-tichy.edj'): self.parent = parent self.group = group self.edje_file = edje_file self.edj = edje.Edje(self.parent.etk_obj.evas, file=self.edje_file, group=group) self.edj.size = parent.etk_obj.evas.size parent.etk_obj.data["edje"] = self.edj edje.frametime_set(1.0/30)
def _options_load(self): self._options_edje = edje.Edje( self.evas, file=self._theme_file, group="editje/collapsable/list/options/widgets") self._options_edje.signal_callback_add( "back", "editje/collapsable/list/options", self._back_cb) self.content_set("options", self._options_edje) self._options = False
def generate_list(self,instance,main,scroller,box,app_window,item_group): #scroller = eval('instance.' + list_type + '_scroller') #box = eval('instance.' + list_type + '_box.box') edje_file = '../tichy/gui_paroli/edje/paroli-in-tichy.edj' for i in range(len(scroller)): #print i label_list = [('testos'+str(i+1),'label')] canvas_obj = etk.Canvas() edje_obj = edje.Edje(main, file=edje_file, group=item_group) canvas_obj.object_add(edje_obj) for e,i in label_list: edje_obj.part_text_set(i,e) #print e + i hbox = etk.HBox() texts = [('Missed','255 0 0 255'),('at','255 255 255 255'),('15:35','255 255 255 255')] for n,i in texts: width = len(str(n)) * 13 text_canvas = etk.Canvas() text_edj = edje.Edje(main, file=edje_file, group='history-label', size=(int(width),30)) text_edj.part_text_set('text',n) text_edj.color_set(int(i.split(' ')[0]),int(i.split(' ')[1]),int(i.split(' ')[2]),int(i.split(' ')[3])) text_canvas.object_add(text_edj) hbox.append(text_canvas, etk.HBox.START, etk.HBox.NONE, 0) text_evas = etk.Embed(main) text_evas.add(hbox) text_evas.show_all() edje_obj.part_swallow('label-action',text_evas.object) instance.history_items.append([edje_obj,text_evas,canvas_obj]) box.box.append(canvas_obj, etk.VBox.START, etk.VBox.NONE, 0) #if list_type == 'contacts': edje_obj.signal_callback_add("*", "*", app_window.self_test) #elif edje_group == 'history_item': #edje_obj.signal_callback_add("mouse,clicked,1", "*", instance.self_test) edje_obj.layer_set(5) edje_obj.show() box.box.show()
def __main_group(self, file_name): global content, signals self.main_group = edje.Edje(self.evas_obj.evas, file = file_name+".edj", group = "main") self.main_group.size = self.evas_obj.evas.size self.evas_obj.data[content] = self.main_group self.print_to("display0", ".:: Ecalc v "+__version__+" ::. ") self.print_to("display", "0") if file_name == "main": self.main_group.show() for signal in signals: self.main_group.signal_callback_add(signal, "*", self.parse_signal)
def _options_load(self): self._options_edje = edje.Edje( self.edje_get().evas, file=self._theme_file, group="editje/collapsable/list/options/signals") self._options_edje.signal_callback_add( "new", "editje/collapsable/list/options", self._new_cb) self._options_edje.signal_callback_add( "remove", "editje/collapsable/list/options", self._remove_cb) self._options_edje.signal_emit("remove,disable", "") self.content_set("options", self._options_edje) self._options = False
def __init__(self, parent): elementary.Scroller.__init__(self, parent) self._parent = parent self._group = edje.Edje(self._parent.evas) self._group.show() self.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) self.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self.policy_set(elementary.ELM_SCROLLER_POLICY_AUTO, elementary.ELM_SCROLLER_POLICY_AUTO) self.bounce_set(False, False) self.content_set(self._group) self.show()
def __init__(self, amsn_core, parent): self._core = amsn_core self._evas = parent._evas self._parent = parent self._account_views = [] edje.frametime_set(1.0 / 30) try: self._edje = edje.Edje(self._evas, file=THEME_FILE, group="login_screen") except edje.EdjeLoadError, e: raise SystemExit("error loading %s: %s" % (THEME_FILE, e))
def generate_single_item_obj(self,title,subtitle,contact): print "generate_single_item_obj called" #if self.app_window.name == 'Paroli-Contacts': #label_list = [(unicode(name),'name-text'),(str(tel),'tel-mobile-text')] #else: label_list = [(unicode(title),'label'),(str(subtitle),'label-number')] canvas_obj = etk.Canvas() edje_obj = edje.Edje(self.main, file=self.edje_file, group=self.item_group) canvas_obj.object_add(edje_obj) #print str(tel) for e,i in label_list: edje_obj.part_text_set(i,e) self.box.box.append(canvas_obj, etk.VBox.START, etk.VBox.NONE, 0) #edje_obj.signal_callback_add("*", "*", self.app_window.self_test) if self.app_window.name == 'Paroli-Contacts': edje_obj.signal_callback_add("contact_details", "*", self.app_window.show_details, contact, [canvas_obj,edje_obj]) elif self.app_window.name == 'Paroli-Msgs': if self.item_group == 'message-contacts_item': edje_obj.signal_callback_add("add_contact", "*", self.app_window.add_recipient, contact, self.arbit_window) else: edje_obj.signal_callback_add("contact_details", "*", self.app_window.show_details, contact, canvas_obj) elif self.app_window.name == 'Paroli-I/O': #import edje_obj.signal_callback_add("call_contact", "*", self.app_window.call_contact, contact) #edje_obj.signal_callback_add("remove_self", "*", ) #canvas_obj.on_destroyed(self.app_window.remove_entry, contact) else: edje_obj.signal_callback_add("call_contact", "*", self.app_window.call_contact) edje_obj.layer_set(5) edje_obj.show() if self.app_window.name == 'Paroli-I/O': self.item_list.append([unicode(title),edje_obj,canvas_obj,contact]) else: self.item_list.append([unicode(title),edje_obj,canvas_obj])
def __init__(self, parent, width=None, height=None, group=None): elementary.InnerWindow.__init__(self, parent) self._parent = parent self.style_set("minimal") # size fallbacks to __layout's min/max self.__edje = edje.Edje(self.evas) self.__width = height or self.default_width self.__height = height or self.default_height _group = group or self.default_group self.__edje.file_set(THEME_FILE, _group) self.__edje.size_hint_min_set(self.__width, self.__height) self.__edje.size_hint_max_set(self.__width, self.__height) self.__action_btns = [] self.__action_list = {} self.__edje.show() elementary.InnerWindow.content_set(self, self.__edje)
def __init__(self, canvas, media_module, media_file): self.vid = emotion.Emotion(canvas, module_filename=media_module) self.member_add(self.vid) self.vid.file = media_file self.vid.smooth_scale = True self.frame = edje.Edje(canvas, file=theme_file, size=(320, 240), group="video_controller") self.member_add(self.frame) self.frame.part_swallow("video_swallow", self.vid) self.frame.data["moving"] = False self.frame.data["resizing"] = False self.frame.part_drag_value_set("video_speed", 0.0, 1.0) self.frame.part_text_set("video_speed_txt", "1.0") self.vid.show() evas.SmartObject.__init__(self, canvas) self._setup_signals()
def __init__(self, parent,group,app=None,phone=None,phone_book=None,edje_file='../tichy/gui_paroli/design/paroli-in-tichy.edj'): self.parent = parent self.app = app self.gsm = phone self.group = group self.phone_book = phone_book self.extra_child = None self.text_field = None self.name = 'none' if group == "tele.psd": self.edje_file = '../test/plugins/apps/paroli-dialer/dialer/tele.edj' else: self.edje_file = edje_file self.edj = edje.Edje(self.parent.etk_obj.evas, file=self.edje_file, group=group) self.edj.size = parent.etk_obj.evas.size parent.etk_obj.data["edje"] = self.edj edje.frametime_set(1.0/30) self.edj.signal_callback_add("*", "*", self.self_test) self.edj.layer_set(2) self.edj.show()
def generate_contacts_list(self,instance,main,scroller,box,app_window,item_group): #scroller = eval('instance.' + list_type + '_scroller') #box = eval('instance.' + list_type + '_box.box') item_list = [] edje_file = '../tichy/gui_paroli/edje/paroli-in-tichy.edj' for i in scroller: #label_list = [(i[1].encode('utf8'),'label'),(i[2].encode('utf8'),'label-number')] label_list = [(unicode(i[0]),'label'),(str(i[1]).encode('utf8'),'label-number')] canvas_obj = etk.Canvas() edje_obj = edje.Edje(main, file=edje_file, group=item_group) canvas_obj.object_add(edje_obj) for e,i in label_list: edje_obj.part_text_set(i,e) box.box.append(canvas_obj, etk.VBox.START, etk.VBox.NONE, 0) edje_obj.signal_callback_add("*", "*", app_window.self_test) edje_obj.layer_set(5) edje_obj.show() item_list.append([unicode(i[0]),edje_obj,canvas_obj]) return item_list box.box.show()
def testPartNotExists(self): o = edje.Edje(self.canvas.evas, file="theme.edj", group="main") self.assertEqual(o.part_exists("bg123"), False)
def f(): o = edje.Edje(self.canvas.evas, file="inexistent", group="")
def testConstructor(self): o = edje.Edje(self.canvas.evas, file="theme.edj", group="main") o.show()
def cb_on_btn_clicked(self, emission, source): group = "%s-group" % source c = edje.Edje(self.evas, file=self.file_get()[0], group=group) c.show() self.container.add(c)
print "warning: x11-16 is not supported, fallback to x11" f = ecore.evas.SoftwareX11 w, h = options.geometry ee = f(w=w, h=h) ee.fullscreen = not options.no_fullscreen edje.frametime_set(1.0 / options.fps) # Load and setup UI ee.title = "Edje App Launcher Demo" ee.name_class = ("Edje_App_Launcher_Demo", "Edje_App_Launcher_Demo") canvas = ee.evas edje_file = os.path.join(os.path.dirname(sys.argv[0]), "01-app_launcher.edj") try: edje_obj = edje.Edje(canvas, file=edje_file, group="main") except Exception, e: # should be EdjeLoadError, but it's wrong on python2.5 raise SystemExit("Failed to load Edje file: %s" % edje_file) # resize edje to fit our window, show and remember it for later use edje_obj.size = canvas.size edje_obj.show() ee.data["edje"] = edje_obj # Setup callbacks for resize, keydown and selected item def resize_cb(ee): r = ee.evas.rect ee.data["edje"].size = r.size