Page MenuHomePhabricator

efl.ui.win
Open, TODOPublic

Description

discussions regarding stabilization of efl.ui.win class and dependencies

Related Objects

StatusAssignedTask
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
zmike created this task.Dec 19 2018, 11:18 AM
zmike triaged this task as TODO priority.

This is the class hierarchy required for Efl.Ui.Win. In other words, all these classes need to be stable for Efl.Ui.Win to have any chance of being stable:

$ elua print_hierarchy.lua efl_ui_win.eo
class Efl.Ui.Win
| abstract Efl.Ui.Widget
| | class Efl.Canvas.Group
| | | abstract Efl.Canvas.Object
| | | | class Efl.Loop_Consumer
| | | | | abstract Efl.Object
| | | | interface Efl.Gfx.Entity
| | | | mixin Efl.Gfx.Color
| | | | interface Efl.Gfx.Stack
| | | | interface Efl.Animator
| | | | interface Efl.Input.Interface
| | | | interface Efl.Gfx.Size_Hint
| | | | mixin Efl.Gfx.Map
| | | | | interface Efl.Interface
| | | | | abstract Efl.Object
| | | | interface Efl.Ui.Base
| | | | interface Efl.Canvas.Pointer
| | mixin Efl.Access.Object
| | | interface Efl.Interface
| | | abstract Efl.Object
| | mixin Efl.Access.Component
| | | interface Efl.Gfx.Entity
| | | interface Efl.Gfx.Stack
| | interface Efl.Part
| | mixin Efl.Ui.Focus.Object
| | interface Efl.Ui.Cursor
| | interface Efl.Ui.Translatable
| | mixin Efl.Selection
| | mixin Efl.Ui.Dnd
| interface Efl.Canvas.Scene
| interface Efl.Access.Window
| mixin Efl.Access.Component
| | interface Efl.Gfx.Entity
| | interface Efl.Gfx.Stack
| mixin Efl.Access.Widget.Action
| | mixin Efl.Access.Action
| interface Efl.Content
| interface Efl.Input.State
| interface Efl.Input.Interface
| interface Efl.Screen
| interface Efl.Text
| interface Efl.Config
| mixin Efl.Ui.Widget_Focus_Manager
| | interface Efl.Interface
| | abstract Efl.Ui.Widget
| | | class Efl.Canvas.Group
| | | | abstract Efl.Canvas.Object
| | | | | class Efl.Loop_Consumer
| | | | | | abstract Efl.Object
| | | | | interface Efl.Gfx.Entity
| | | | | mixin Efl.Gfx.Color
| | | | | interface Efl.Gfx.Stack
| | | | | interface Efl.Animator
| | | | | interface Efl.Input.Interface
| | | | | interface Efl.Gfx.Size_Hint
| | | | | mixin Efl.Gfx.Map
| | | | | | interface Efl.Interface
| | | | | | abstract Efl.Object
| | | | | interface Efl.Ui.Base
| | | | | interface Efl.Canvas.Pointer
| | | mixin Efl.Access.Object
| | | | interface Efl.Interface
| | | | abstract Efl.Object
| | | mixin Efl.Access.Component
| | | | interface Efl.Gfx.Entity
| | | | interface Efl.Gfx.Stack
| | | interface Efl.Part
| | | mixin Efl.Ui.Focus.Object
| | | interface Efl.Ui.Cursor
| | | interface Efl.Ui.Translatable
| | | mixin Efl.Selection
| | | mixin Efl.Ui.Dnd
| | interface Efl.Ui.Focus.Manager
| interface Efl.Ui.Focus.Manager_Window_Root

Note many classes are repeated, and many classes are actually acting as interfaces (due to the infamous mixin conundrum).

I've sorted and deduplicated this list and also removed all items in T7512:

		Efl.Access.Action                                                                                         
		Efl.Access.Widget.Action
		Efl.Access.Window
		Efl.Canvas.Scene
		Efl.Config
		Efl.Content
		Efl.Input.State
		Efl.Screen
		Efl.Text
		Efl.Ui.Focus.Manager
		Efl.Ui.Focus.Manager_Window_Root
		Efl.Ui.Widget_Focus_Manager
		Efl.Ui.Win
zmike added a comment.EditedJan 8 2019, 11:25 AM

P256 for full output, prepare for subtasks

zmike added a comment.EditedJan 8 2019, 11:56 AM

I've created subtasks for the entire hierarchy. The only things which should be discussed in this ticket are things directly related to win:

class Efl.Ui.Win (elm_win)
├ (P) indicator_mode
├ (P) keyboard_mode
├ (P) wm_available_rotations
├ (P) wm_available_profiles
├ (P) screen_constrain
├ (P) prop_focus_skip
├ (P) autohide
├ (P) exit_on_close
├ (P) icon_object
├ (P) iconified
├ (P) maximized
├ (P) fullscreen
├ (P) sticky
├ (P) urgent
├ (P) modal
├ (P) noblank
├ (P) borderless
├ (P) win_role
├ (P) win_name
├ (P) win_type
├ (P) accel_preference
├ (P) alpha
├ (P) stack_id @beta
├ (P) stack_master_id @beta
├ (P) stack_base @beta
├ (M) stack_pop_to @beta
├ (M) activate
├ (M) center
├ (M) keygrab_set
├ (M) keygrab_unset
├ (M) move_resize_start
├ (E) delete,request
├ (E) withdrawn
├ (E) iconified
├ (E) normal
├ (E) stick
├ (E) unstick
├ (E) fullscreen
├ (E) unfullscreen
├ (E) maximized
├ (E) unmaximized
├ (E) indicator,prop,changed
├ (E) rotation,changed
├ (E) profile,changed
├ (E) wm,rotation,changed
├ (E) theme,changed
├ (E) elm,action,block_menu
├ (E) pause
├ (E) resume