Page MenuHomePhabricator

efl.ui.scrollbar
Closed, ResolvedPublic

Description

|interface Efl.Ui.Scrollbar @beta
|├ (P) bar_mode
|├ (P) bar_size
|├ (P) bar_position
|├ (M) bar_visibility_update :: @protected @beta
|├ (E) bar,press
|├ (E) bar,unpress
|├ (E) bar,drag
|├ (E) bar,size,changed
|├ (E) bar,pos,changed
|├ (E) bar,show
|├ (E) bar,hide

Related Objects

StatusAssignedTask
OpenNone
Resolvedcedric
ResolvedNone
Resolvedbu5hm4n
ResolvedNone
ResolvedNone
Resolvedzmike
ResolvedNone
Resolvedzmike
Resolvedcedric
bu5hm4n created this task.May 3 2019, 11:42 AM
bu5hm4n triaged this task as TODO priority.
bu5hm4n added a parent task: T7870: efl.ui.grid.

@eagleeye
Let's take a look at this together.

I think this interface should use the Efl.Ui.Layout_Orientable interface and remove its own enum for horizontal/vertical.

I am not sure we can use the interface. The users of this interface already use this interface. But maybe we can just change the property bar_mode to use the same data type ?

I am not sure we can use the interface. The users of this interface already use this interface.

Sorry, what?

zmike added a comment.Aug 22 2019, 5:43 AM

I am not sure we can use the interface. The users of this interface already use this interface.

Sorry, what?

https://media.giphy.com/media/CaiVJuZGvR8HK/giphy.gif

zmike moved this task from Backlog to Evaluating on the efl: api board.
In T7884#140737, @zmike wrote:

I am not sure we can use the interface. The users of this interface already use this interface.

Sorry, what?

https://media.giphy.com/media/CaiVJuZGvR8HK/giphy.gif

I cannot tell you what i wanted to say...

  • Event names should be in the past tense.
  • Docs need work. Just tell me if each of these is correct and I'll update them.
    • bar_size: 0 means bar is invisible, 1 means bar is as big as the widget and cannot move.
    • bar_position: 0 means the top of the thumb (the draggable part) is touching the top of the widget, 1 means the bottom of the thumb is touching the bottom of the widget.

The rest of the API seems OK, but I have no knowledge of its internals.
As a user I don't care about scrollbars, because they are something that happen automatically after I set sizes to widgets. Therefore I don't think this API is interesting to users.
As a widget developer, sort of the same, unless I am developing widget with special scrollbar requirements (for example?)

  • Event names should be in the past tense.

Right

  • Docs need work. Just tell me if each of these is correct and I'll update them.
    • bar_size: 0 means bar is invisible, 1 means bar is as big as the widget and cannot move.

Yes, but this also needs to specify that this method "returns the size that the bar should be for the given scroll implementation" or similar to avoid the confusion that we had earlier.

  • bar_position: 0 means the top of the thumb (the draggable part) is touching the top of the widget, 1 means the bottom of the thumb is touching the bottom of the widget.

This description assumes vertical orientation, but we have horizontal too...

The rest of the API seems OK, but I have no knowledge of its internals.
As a user I don't care about scrollbars, because they are something that happen automatically after I set sizes to widgets. Therefore I don't think this API is interesting to users.
As a widget developer, sort of the same, unless I am developing widget with special scrollbar requirements (for example?)

You mean like CollectionView?

@woohyun do you need this urgently for creating widgets?

Yeah, those above were guidelines. I'll take our chat into account, and the different orientations too, obviously.

You mean like CollectionView?

I really don't know, I can't think of any reason why a widget would need to mess with scrollbars at all unless he wants to draw them himself.

Right, and I'm saying CollectionView does that. So possibly other widgets might need to as well.

@eagleeye @SanghyeonLee

Could you share the idea on question of @zmike ?

@zmike

These days, we are in long holidays in Korea. Sorry for late reply and I will ask @eagleeye to answer soon.

  • Event names should be in the past tense.

I added patch, https://phab.enlightenment.org/D10040

  • Docs need work. Just tell me if each of these is correct and I'll update them.
    • bar_size: 0 means bar is invisible, 1 means bar is as big as the widget and cannot move.
    • bar_position: 0 means the top of the thumb (the draggable part) is touching the top of the widget, 1 means the bottom of the thumb is touching the bottom of the widget. The rest of the API seems OK, but I have no knowledge of its internals. As a user I don't care about scrollbars, because they are something that happen automatically after I set sizes to widgets. Therefore I don't think this API is interesting to users. As a widget developer, sort of the same, unless I am developing widget with special scrollbar requirements (for example?)

Actually user don't care about scrollbar now, but scrollable widget (such as efl.ui.scroller, efl.ui.collection_list) want to know their scrollbar size and position.
In addition, user want to change bar_mode.

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

@zmike @segfaultxavi

As @eagleeye told, @bar_mode and bar relating events have been used by lots of applications in Tizen.
So, I hope this interface would be opened if there is no serious problem.

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

With the documentation updates and renames that have gone in, this seems pretty reasonable.

@zmike

Thanks for checking :) Then, all good :)

Can we move this task to the stabilized column ?

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

bar,show and bar,hide should probably be bar,visibility,changed...

zmike closed this task as Resolved.Wed, Sep 25, 4:10 AM
zmike claimed this task.