Page MenuHomePhabricator

efl: mvvmProject
ActivePublic

Watchers

  • This project does not have any watchers.

Details

Description

MVVM

Recent Activity

Yesterday

Diffusion added a commit to T8115: Provide group feature to PositionManager: rEFL3cb3c1c4b117: efl_ui_position_manager_grid: start to honor group items.
Tue, Aug 20, 10:52 PM · efl (efl-1.23), efl: mvvm, efl: widgets
Diffusion added a commit to T8115: Provide group feature to PositionManager: rEFLe2b859bdaeab: efl_ui_position_manager: pass on information about group ids.
Tue, Aug 20, 10:51 PM · efl (efl-1.23), efl: mvvm, efl: widgets
Diffusion added a commit to T8115: Provide group feature to PositionManager: rEFL5ad686bc85d4: efl_ui_position_manager_list: make it handle group items.
Tue, Aug 20, 10:51 PM · efl (efl-1.23), efl: mvvm, efl: widgets
Diffusion added a commit to T8115: Provide group feature to PositionManager: rEFL3ce3b3d48ca8: introduce group item.
Tue, Aug 20, 10:51 PM · efl (efl-1.23), efl: mvvm, efl: widgets
Diffusion added a commit to T8115: Provide group feature to PositionManager: rEFL2dfc69397bb1: efl_ui_default_item: remove item parts.
Tue, Aug 20, 10:51 PM · efl (efl-1.23), efl: mvvm, efl: widgets
Diffusion added a commit to T8115: Provide group feature to PositionManager: rEFL185659669837: introduce default item.
Tue, Aug 20, 10:51 PM · efl (efl-1.23), efl: mvvm, efl: widgets
cedric triaged T8153: Efl.Ui.Factory_Bind work on string as High priority.
Tue, Aug 20, 5:08 PM · efl (efl-1.23), efl: mvvm, efl: data types
lauromoura added a revision to T7628: Support Efl.Ui.Item_Factory Binding Features and static Efl.Part in mono: D9653: csharp: Add bindable factory parts support.
Tue, Aug 20, 4:54 PM · efl: mvvm
cedric added a comment to T8126: Long term extention for Position_Manager.

In time, maybe, but not necessarily. I have some idea that can be explored on using proxy instead of map. Depends. Anyway, that is for later.

Tue, Aug 20, 9:45 AM · efl (efl-1.23), efl: mvvm, efl: widgets
zmike added a comment to T8126: Long term extention for Position_Manager.

@cedric I think you need to lay off the baguettes. I only did optimizations for mask and proxy renders, not map. Do...do I have to look at map too?

Tue, Aug 20, 4:04 AM · efl (efl-1.23), efl: mvvm, efl: widgets

Mon, Aug 19

bu5hm4n added a revision to T8115: Provide group feature to PositionManager: D9629: introduce default item.
Mon, Aug 19, 9:24 AM · efl (efl-1.23), efl: mvvm, efl: widgets

Sun, Aug 18

bu5hm4n added a comment to T8115: Provide group feature to PositionManager.

The basics are there. The accessing is still quite rough.

Sun, Aug 18, 3:58 AM · efl (efl-1.23), efl: mvvm, efl: widgets
bu5hm4n added a comment to T8041: RFC Efl.Ui.Item_Position_Manager.

The basics of the Group feature are now available (Revisions linked to T8115).
The problems in there are that the accessing of the group is quite rough and tiresome, i am not happy myself with it. But i am thinking that its important to have at least a state, so we can look into performance and *feeling* as well.

Sun, Aug 18, 3:47 AM · efl (efl-1.23), efl: mvvm, efl: widgets
bu5hm4n added a revision to T8115: Provide group feature to PositionManager: D9608: efl_ui_position_manager_grid: start to honor group items.
Sun, Aug 18, 1:15 AM · efl (efl-1.23), efl: mvvm, efl: widgets

Sat, Aug 17

cedric triaged T8146: Enforce canvas hierarchy on Efl.Ui.Factory as High priority.
Sat, Aug 17, 9:58 AM · efl (efl-1.23), efl: mvvm, efl: data types

Fri, Aug 16

bu5hm4n added a comment to T8115: Provide group feature to PositionManager.

@cedric do you think you will ever be interested in the group item of the first item in the size callback ?

Fri, Aug 16, 10:34 PM · efl (efl-1.23), efl: mvvm, efl: widgets
bu5hm4n added a revision to T8115: Provide group feature to PositionManager: D9587: efl_ui_position_manager_list: make it handle group items.
Fri, Aug 16, 8:56 AM · efl (efl-1.23), efl: mvvm, efl: widgets
bu5hm4n added a revision to T8115: Provide group feature to PositionManager: D9586: efl_ui_position_manager: pass on information about group ids.
Fri, Aug 16, 8:55 AM · efl (efl-1.23), efl: mvvm, efl: widgets
bu5hm4n added a revision to T8115: Provide group feature to PositionManager: D9583: introduce group item.
Fri, Aug 16, 8:54 AM · efl (efl-1.23), efl: mvvm, efl: widgets
bu5hm4n added a revision to T8115: Provide group feature to PositionManager: D9582: efl_ui_default_item: remove item parts.
Fri, Aug 16, 8:54 AM · efl (efl-1.23), efl: mvvm, efl: widgets

Tue, Aug 13

cedric added a comment to T8126: Long term extention for Position_Manager.

Enjoy your vacation! The idea is to group together a bunch of object that move together in one smart object that we can turn evas map on. This way they become automatically buffered and it will speed up scrolling. But we do not want to put into a group things that would be resized or moved differently. The Position Manager being the only one who knows, we need a way to tell the Collection how to group things.

Tue, Aug 13, 9:17 AM · efl (efl-1.23), efl: mvvm, efl: widgets
bu5hm4n added a comment to T8126: Long term extention for Position_Manager.

I still fail to understand what exactly needs to be done here, can you give a brief explanation what is expected, in what form, at which occasion?

Tue, Aug 13, 1:01 AM · efl (efl-1.23), efl: mvvm, efl: widgets

Mon, Aug 12

SanghyeonLee added a comment to T8126: Long term extention for Position_Manager.

I was requested this feature from the tizen developers several times but at that time we couldn't have enough time to fix it so reject the request but if we can do this, it will improve scrolling performance very well.
I think it need to be 3 buffer for this, one is in the viewport and others are for the top and bottom....

Mon, Aug 12, 9:40 PM · efl (efl-1.23), efl: mvvm, efl: widgets
cedric added a comment to T8126: Long term extention for Position_Manager.

Not necessarily as with Group you need to know which object the Position Manager might move differently.

Mon, Aug 12, 6:47 PM · efl (efl-1.23), efl: mvvm, efl: widgets
bu5hm4n added a comment to T8126: Long term extention for Position_Manager.

Oh, but wouldn't that also just work if you take the range that is passed via the event and use the API that the collection (view) passes to the position manager for batching ?

Mon, Aug 12, 6:38 PM · efl (efl-1.23), efl: mvvm, efl: widgets
cedric added a comment to T8126: Long term extention for Position_Manager.

The same slice trick.

Mon, Aug 12, 5:59 PM · efl (efl-1.23), efl: mvvm, efl: widgets
bu5hm4n added a comment to T8126: Long term extention for Position_Manager.

What do you mean with buffer here ?

Mon, Aug 12, 5:06 PM · efl (efl-1.23), efl: mvvm, efl: widgets
cedric triaged T8126: Long term extention for Position_Manager as High priority.
Mon, Aug 12, 4:49 PM · efl (efl-1.23), efl: mvvm, efl: widgets

Thu, Aug 8

cedric triaged T8120: Add support for Object parameter in reflection generated code. as High priority.
Thu, Aug 8, 3:25 PM · efl (efl-1.23), efl: mvvm, efl: data types
SanghyeonLee added a comment to T8115: Provide group feature to PositionManager.

yes. we can go with current group index.

Thu, Aug 8, 12:21 AM · efl (efl-1.23), efl: mvvm, efl: widgets

Wed, Aug 7

cedric added a comment to T8115: Provide group feature to PositionManager.

== Item side ==

I think the problem with the item side is that we have a API which allows arbitary position of the items, but the grouping also puts a rule of positioning onto it, feels like a little bit racy. For getting around that we could ensure that in Efl.Ui.Collection we only accept items that are not grouped. After that, we can add API to the group item, for adding items as its children, which are then propagated *somehow* to the Collection. (I am not sure how much this is needed in Collection_View)

Wed, Aug 7, 9:37 AM · efl (efl-1.23), efl: mvvm, efl: widgets
bu5hm4n added a comment to T8115: Provide group feature to PositionManager.

I think the problem with the item side is that we have a API which allows arbitary position of the items, but the grouping also puts a rule of positioning onto it, feels like a little bit racy. For getting around that we could ensure that in Efl.Ui.Collection we only accept items that are not grouped. After that, we can add API to the group item, for adding items as its children, which are then propagated *somehow* to the Collection. (I am not sure how much this is needed in Collection_View)

Wed, Aug 7, 12:31 AM · efl (efl-1.23), efl: mvvm, efl: widgets

Tue, Aug 6

cedric triaged T8115: Provide group feature to PositionManager as High priority.
Tue, Aug 6, 8:49 AM · efl (efl-1.23), efl: mvvm, efl: widgets

Thu, Aug 1

cedric added a comment to T7831: Improve image support in MVVM.

I don't think we should look for images in multiple places, though, that'll be slower and cause confusion.

Thu, Aug 1, 10:53 AM · efl (efl-1.23), efl: mvvm, efl: data types
cedric added a comment to T7831: Improve image support in MVVM.

That is already the case (efl_file.c:96).

Thu, Aug 1, 10:51 AM · efl (efl-1.23), efl: mvvm, efl: data types
cedric added a comment to T7379: [MVVM] Support disabled composite model.

As I am working on Efl.Ui.CollectionView at the moment, I do absolutely plan to use this for handling all data. CollectionView shall not have any internal state related to any Item. It does completely break the design if we start to have random data not in the model as we can then not rely on MVVM infrastructure to use them.

Thu, Aug 1, 10:39 AM · efl: mvvm
segfaultxavi added a comment to T7831: Improve image support in MVVM.

vpaths looks like a very convenient thing to have. We should also be consistent, so if we allow them in some APIs, we should allow them everywhere. This seems to be already the case, as @bu5hm4n said, right?

Thu, Aug 1, 2:23 AM · efl (efl-1.23), efl: mvvm, efl: data types
SanghyeonLee added a comment to T7379: [MVVM] Support disabled composite model.

but the who will be managing the data? view itself? or viewmodel should?
we have statesmodel in the elementary,
I'm not sure we have plan to use them.

Thu, Aug 1, 12:11 AM · efl: mvvm

Wed, Jul 31

bu5hm4n added a comment to T7831: Improve image support in MVVM.

That is already the case (efl_file.c:96).

Wed, Jul 31, 11:46 PM · efl (efl-1.23), efl: mvvm, efl: data types
cedric updated subscribers of T7831: Improve image support in MVVM.

Looking at this, I am wondering if the proper answer isn't to actually handle eina_vpath syntax directly in every file_set operation. @segfaultxavi, @bu5hm4n any idea on the subject?

Wed, Jul 31, 4:49 PM · efl (efl-1.23), efl: mvvm, efl: data types

Sat, Jul 27

bu5hm4n added a comment to T8041: RFC Efl.Ui.Item_Position_Manager.

Right now we have m calls to the accessor, which are direct calls, with a batch oriented system we would have 1 call, but we iterate 2 times over the m items, first we copy everything into the buffer, and later on iterate again over the buffer to read it out.
In case of the object placement in list, i am also not sure if it would only be one call to request a buffer, since its not clear when we are stopping to place items, so it also might be multiple calls.
A few more things :

  1. I see one issue with your idea of getting the context from the accessing scheme, a position manager can request whatever items it likes to, and you might need to request items that are not even visible. IMO the logic to realize this tracking is way more complex than the current _get_at function.
  2. The logic for "keeing the buffer a little bit arround" makes me a little bit nervous, heavy scrolling or some animation that does scrolling might request a lot of batches, wouldn't that mean we explode memory wise for that time ?
  3. The reason the _get_at function in collection is looking how it looks, is to avoid eina_list_nth calls, because they are terrible slow. Even if you have the batch requesting, you will still want to have some caching mechanism like we have it right now in the _get_at function, which would bring that complexity from _get_at also into the batching, so this is not a real win (win over your first reason).
  4. I do not understand why you are saying that a slice is saving memory and reduces the memory allocation, we currently do 0 memory allocations when placing items, but with the batching we would need to allocate at least 1 buffer?
Sat, Jul 27, 2:19 AM · efl (efl-1.23), efl: mvvm, efl: widgets

Fri, Jul 26

cedric updated subscribers of T8041: RFC Efl.Ui.Item_Position_Manager.

After a bit of work for CollectionView, I am pretty convinced that Accessor are a bad solution here.

Fri, Jul 26, 2:00 PM · efl (efl-1.23), efl: mvvm, efl: widgets

Jul 19 2019

cedric added a comment to T7379: [MVVM] Support disabled composite model.

This is why we do have the Efl.BooleanModel and Efl.SelectModel.

Jul 19 2019, 9:11 AM · efl: mvvm
SanghyeonLee updated subscribers of T7379: [MVVM] Support disabled composite model.
Jul 19 2019, 2:21 AM · efl: mvvm
SanghyeonLee added a comment to T7379: [MVVM] Support disabled composite model.

@cedric @felipealmeida @bu5hm4n
as my understand, our efl_view_model or efl_ui_state_model need to take control some ui-related boolean states in the model data.
enable/disable
select/unselect (by interally adding select_model)
visible/hidden

Jul 19 2019, 2:19 AM · efl: mvvm

Jul 10 2019

cedric added a revision to T7376: [MVVM] Model Selection Support: D9266: efl: use eina_streq for all property operation in model to avoid crash on NULL property name..
Jul 10 2019, 11:48 AM · efl (efl-1.23), efl: mvvm

Jun 30 2019

bu5hm4n added a comment to T8041: RFC Efl.Ui.Item_Position_Manager.

@cedric you can find my current implementation in https://git.enlightenment.org/core/efl.git/log/?h=devs/bu5hm4n/work_container

Jun 30 2019, 2:38 AM · efl (efl-1.23), efl: mvvm, efl: widgets

Jun 28 2019

cedric added a comment to T8041: RFC Efl.Ui.Item_Position_Manager.

So we will be going with @bu5hm4n solution. He has already build more code around it and I don't see anything wrong with it.

Jun 28 2019, 6:39 PM · efl (efl-1.23), efl: mvvm, efl: widgets
cedric added a comment to T8041: RFC Efl.Ui.Item_Position_Manager.

Hum, I was going for a very different approach actually. I was thinking of having a function to call on a object with something like :

Jun 28 2019, 9:58 AM · efl (efl-1.23), efl: mvvm, efl: widgets
bu5hm4n updated the task description for T8041: RFC Efl.Ui.Item_Position_Manager.
Jun 28 2019, 7:55 AM · efl (efl-1.23), efl: mvvm, efl: widgets