Page MenuHomePhabricator

efl.ui.scrollable
Closed, ResolvedPublic

Description

| |interface Efl.Ui.Scrollable @beta
| |├ (E) scroll,start
| |├ (E) scroll
| |├ (E) scroll,stop
| |├ (E) scroll,up
| |├ (E) scroll,down
| |├ (E) scroll,left
| |├ (E) scroll,right
| |├ (E) edge,up
| |├ (E) edge,down
| |├ (E) edge,left
| |├ (E) edge,right
| |├ (E) scroll,anim,start
| |├ (E) scroll,anim,stop
| |├ (E) scroll,drag,start
| |├ (E) scroll,drag,stop
bu5hm4n created this task.May 3 2019, 11:42 AM
bu5hm4n triaged this task as TODO priority.
bu5hm4n updated the task description. (Show Details)
zmike moved this task from Backlog to Evaluating on the efl: api board.Aug 29 2019, 7:49 AM

@zmike @bu5hm4n @segfaultxavi

Any opinions on this task ?

I think those are the set of events which have been used well in legacy scroller.
So, I feel ok with this.

I think all events should be in the past tense: scroll, started, scroll, stopped...
But I do not know what to do with scroll, up and company :/

Ok - let's make a patch for "start->started" and "stop->stopped" ~

Any other opinions ~ then, please inform me of that :)

bu5hm4n added a comment.EditedSep 6 2019, 2:31 AM

I have to admit that i do not like the name of this interface. It seems it is very connected to scroll_manager and scrollable interactive, what do you think of moving this to use:

  • Efl.Ui.Scrollable.User (Efl.Ui.Scrollable)
  • Efl.Ui.Scrollable.Interactive (Efl.Ui.Scrollable_Interactive)
  • Efl.Ui.Scrollable.Manager (Efl.Ui.Scroll_Manager)
  • Efl.Ui.Scrollable.Bar (Efl.Ui.Scrollbar

This would clean things up a little bit, and have related things in one namespace.

How about Efl.Ui.Scroll for the namespace? it's simpler (and shorter).

I understand Efl.Ui.Scroll.User is a widget which uses scroll, but I don't like it. The word User is linked too strongly to the user of the computer.
How about Efl.Ui.Scroll.Scrollable?

I am fine with Scroll, I am not so fine with Scroll.Scrollable, how about Active ? (So we have Interactive & Active).

Also, how about merging Scrollable and Scrollable_Interactive?
The first only provides events, and the second is the only user of it.

I like that solution.

This needs to be done asap.

D9859 has landed. There's ongoing discussion regarding merging Scrollable and Scrollable_Interactive. Any opinion besides @bu5hm4n's and mine?

zmike added a comment.Sep 16 2019, 7:05 AM

So you are proposing to merge T7882 with this? Seems sensible, I can't imagine having one without the other...

woohyun added a comment.EditedFri, Sep 20, 7:30 PM

D9859 has landed. There's ongoing discussion regarding merging Scrollable and Scrollable_Interactive. Any opinion besides @bu5hm4n's and mine?

@segfaultxavi @bu5hm4n @zmike

So, which one is better between them ?
As a parent interface, I think Scrollable looks better.
After the discussion ~ @eagleeye and I would do the merging work immediately.

zmike added a comment.Fri, Sep 20, 7:38 PM

I agree that Scrollable is the better name for the combined interface. I think this should be fine.

@zmike

Is it ok to remove "Efl.Ui.Scrollable" from "Elm.Interface.Scrollable" -
and declare needed events by itself (instead of using events in "Efl.Ui.Scrollable") ?

After merging, some properties , such as "content_size" or "step_size", are conflicted with different value types.

So, we need to cut off the dependency between old "Efl.Ui.Scrollable_Interactive" and "Elm_Interface_Scrollable" first.

And I want to know what is the proper and best way to do this.

@woohyun It appears that no event of Efl.Ui.Scrollable is used in Elm.Interface.Scrollable. I think we can just remove it from its inheritance ?

@bu5hm4n

I will double check ~ and if there is no use of those events, I'll remove it from "Elm.Interface.Scrollable".

Thank you :)

zmike added a comment.Mon, Sep 23, 7:31 PM

What's going on here?

We have done about discussed things in D10072 and D9859.
If there is no more to be discussed ~ it's time to move stabilized :)

Yeah, that sounds good i think.

bu5hm4n moved this task from Evaluating to Stabilized on the efl: api board.Tue, Sep 24, 7:05 AM