Page MenuHomePhabricator

Rename Efl.Ui.Stack
Closed, ResolvedPublic

Description

Currently Efl.Ui.Stack is used as a elm_naviframe widget in legacy.
As you know, elm_naviframe widget is used for navigating multiple views by pushing and popping views.

In Gtk, "GtkStack" is used with the same purpose.

However, in xamarin forms, "StackLayout" is used as a "Box" widget in EFL.
(https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/layouts/stack-layout)

In IOS, "UIStackView" is used as a "Box" widget in EFL.
(https://developer.apple.com/documentation/uikit/uistackview)

In Android, Acrionbar or FrameLayout is used with the same purpose.
In IOS, UINavigationBar is used with the same purpose.
In Xamarin forms, NavigationPage is used with the same purpose.

So I want to hear from others what is the best name for the current purpose (navigation).
Please share your thoughts on here.

I have been thinking the following.

  1. Efl.Ui.Stack
  2. Efl.Ui.Stacker
  3. Efl.Ui.FrameLayout
  4. Efl.Ui.PageNavigator (if so rename Efl.Ui.NavigationLayout to Efl.Ui.NavigationPage and make Efl.Ui.PageNavigator support Efl.Ui.TabPage)
  5. Remove it and use Efl.Ui.Pager and make Efl.Ui.Pager support navigation as well
  6. Something new

Please share your opinions :)

Jaehyun_Cho added a project: efl: api.

I do not understand what is the problem. You want to rename Efl.Ui.Stack ? Why?

@segfaultxavi

Thank you for your opinion :)
(I think that you vote for 1. Efl.Ui.Stack)

The reason why I consider the renaming of Efl.Ui.Stack is as follows.

  1. The term 'stack' is used with different functionality as a widget in other platforms.
  2. As you know, 'stack' is basically a data structure name, so it may not be a quite familiar name as a widget or container I think.

OK, now I understand, thanks.

Well, at least another toolkit (Gtk) also uses Stack with the same meaning as us, so I don't think Efl.Ui.Stack is a bad name.

If we really need to change it, though, I would use names that explain what this widget really is: a container for other widgets which only shows one of them (and hides the others). I would stay away from names like "navigation" or "pager" because these are particular use cases of this widget.
I propose Efl.Ui.ZStack or Efl.Ui.Selector, but the name I like best is Efl.Ui.Stack :)

Here's one wild idea: Move Efl.Ui.Stack into Efl.Ui.Box and add another possible box direction: Z.

Jaehyun_Cho closed this task as Wontfix.Mar 20 2019, 5:00 AM

The original name Efl.Ui.Stack is preserved.

zmike reopened this task as Open.Mar 20 2019, 7:01 AM

Hold up.

I don't think it's bad to consider renaming this widget, specifically because we also have Efl.Gfx.Stack which is completely different. I was confused by the existence of these two for some time.

@zmike
ok~ then please suggest a new name :)

Since @segfaultxavi disagreed about "Navigation", "Pager", it would be better we do not consider those options.

I am thinking of using Efl.Ui.Box_Stack which is similar to @segfaultxavi 's suggestion.
However, the thing is that transition effect and loaded/unloaded/activated/deactivated events are important for Efl.Ui.Stack. (which is not supported in Efl.Ui.Box_Stack since it is a kind of Box widget)
Moreover, all other platforms provide special container names for navigating/viewing widgets unlike simple containers.

Naming is the one of the hardest things in programming... ;)

Let's just keep this here open until the release is out, then we can still decide on a name :)

I just wanted to say that YES, naming things is the hardest part of programming, and I am happy that we are taking it seriously!

zmike closed this task as Resolved.Wed, Jun 12, 7:42 AM

This is now something else entirely so I'm closing the task.