tizen ui theming with component designer · brief plan tizen native ui application development...

92
Copyright © 2017 Samsung. All Rights Reserved. Vitalii Vorobiov Samsung R&D Institute Ukraine [email protected] Tizen UI Theming with Component Designer

Upload: phamthu

Post on 25-May-2018

229 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Copyright © 2017 Samsung. All Rights Reserved.

Vitalii Vorobiov

Samsung R&D Institute Ukraine [email protected]

Tizen UI Theming with

Component Designer

Page 2: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Brief plan

Tizen native UI application development (Elementary, Edje)

What is EDC (Edje Data Collection) for Edje and Elementary

Complexity EDC language coding

Highlight all problems of coding themes for widgets

Component Designer

Main features of Component Designer

Example of making style with Component Designer

Future plans

Q&A

Page 3: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

EFL (Enlightenment foundation library)

Tizen framework

Page 4: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Enlightenment Foundation Library

Page 5: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Enlightenment Foundation Library – important for native development

Page 6: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Edje Data Collection

Page 7: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Elementary widgets

Is a plain text file, consisting of instructions for the Edje Compiler

Edje Compiler

EDC

instructions

EDC language defines how things will looks like

EDC (Edje Data Collection)

Page 8: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

EDC primitives

resources

programs (for animation)

STATE_SET

SIGNAL_EMIT

PLAY_TONE

Page 9: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Main EDC keywords

Group (a set of parts and programs)

Page 10: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Main EDC keywords

Group (a set of parts and programs)

Part (single primitive with different properties)

Page 11: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

State 1

Main EDC keywords

Group (a set of parts and programs)

Part (single primitive with different properties)

State (single primitive can has different looks)

State 2

Page 12: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Program change

state of part Signal from world

(ex. user clicked)

Main EDC keywords

Group (a set of parts and programs)

Part (single primitive with different properties)

State (single primitive can has different looks)

Programs (change states of part with/without animation)

Page 13: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Resources

Images (for IMAGE parts)

Page 14: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

font=Sans:style=Bold font_size=15 font_weight=Bold font_width=Expanded color=#192ec9ff underline_color=#ffffffff underline2_color=#ffffffff underline_dash_color=#ffffffff shadow_color=#1aead9ff glow_color=#1aead9ff glow2_color=#192ec9ff backing_color=#ffffffff strikethrough_color=#ffffffff align=middle valign=baseline wrap=char left_margin=2 right_margin=2 underline=off strikethrough=off backing=off style=far_soft_shadow,top_left tabstops=0 linesize=0 linerelsize=0 underline_dash_width=0 underline_dash_gap=0 password=off

Resources

Images (for IMAGE parts)

Text Styles (RTF stuff, for TEXTBLOCK parts)

Page 15: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Resources

Images (for IMAGE parts)

Text Styles (RTF stuff, for TEXTBLOCK parts)

Color classes (for TEXT especially)

Fonts (for TEXT and TEXTBLOCK of course)

Sound (for Programs of course)

…and so on!

Page 16: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Rel1 (0.0; 0.0)

Rel2 (1.0; 1.0)

This part is going to be

placed in area between rel1

and rel2 point

Part positioning problem

Page 17: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Rel1 (0.0; 0.0) Offset: 16px 16px

Rel2 (1.0; 1.0)

Part positioning problem (offset)

Page 18: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Rel2 (0.75; 0.75)

Rel1 (0.25; 0.25)

Part positioning problem (relative)

Page 19: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Rel1 (0.25; 0.25) To: “red part”

Rel2 (0.75; 0.75) To: “blue part”

Edje will calculate it

Part positioning problem (relative to parts)

Page 20: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Part positioning problem (relative to parts)

Rel1 (1.0; 1.0) To: “red rectangle”

Rel2 (0.0; 0.0) To: “blue rectangle”

Page 21: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Part positioning problem (align&relative to parts)

Rel1 (1.0; 1.0) To: “red rectangle”

Rel2 (0.0; 0.0) To: “blue rectangle”

Align: (1.0 1.0)

Page 22: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Let's make an EDC example

Page 23: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Group “main” with parts

Page 24: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

IMAGE parts and resources

border.png

header.png

Page 25: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

TEXT part added for topic

Page 26: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Don't forget about background

Page 27: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

news_1.png

news_2.png

More resources!!!

Page 28: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

More resources!!!

Page 29: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Applied text style

to TEXTBLOCK part

font=BreezeSans font_size=16 color=#FFFFFF wrap=word

Text Style and TEXTBLOCK part

Page 30: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

And the last topic (just copy&paste)

Page 31: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Themes

l EDC layout

“Check”

widget l EDC layout

l EDC layout

Page 32: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity
Page 33: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

EDC coding highlights (main uncomfortables)

Page 34: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

EDC coding highlights (main uncomfortables)

Making one simple style produce huge EDC code

Making entire theme for dozens of widgets produce insane amount of EDC code

Page 35: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

EDC coding highlights (main uncomfortables)

Making one simple style produce huge EDC code

Making entire theme for dozens of widgets produce insane amount of EDC code

Page 36: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

EDC coding highlights (main uncomfortables)

Making one simple style produce huge EDC code

Making entire theme for dozens of widgets produce insane amount of EDC code

Using relatives and offsets sometimes is hard

Page 37: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

font=Sans:style=Bold font_size=15 font_weight=Bold font_width=Expanded color=#192ec9ff underline_color=#ffffffff underline2_color=#ffffffff underline_dash_color=#ffffffff shadow_color=#1aead9ff glow_color=#1aead9ff glow2_color=#192ec9ff backing_color=#ffffffff strikethrough_color=#ffffffff align=middle valign=baseline wrap=char left_margin=2 right_margin=2 underline=off strikethrough=off backing=off style=far_soft_shadow,top_left tabstops=0 linesize=0 linerelsize=0 underline_dash_width=0 underline_dash_gap=0 password=off

EDC coding highlights (main uncomfortables)

Making one simple style produce huge EDC code

Making entire theme for dozens of widgets produce insane amount of EDC code

Using relatives and offsets sometimes is hard

TEXTBLOCK and Text Styles (obviously hard – a lot of RTF properties)

Page 38: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

EDC coding highlights (main uncomfortables)

Making one simple style produce huge EDC code

Making entire theme for dozens of widgets produce insane amount of EDC code

Using relatives and offsets sometimes is hard

TEXTBLOCK and Text Styles (obviously hard – a lot of RTF properties)

A lot of different properties for every kind of part/resource/program (need to take a look at the reference

documents if you need something)

Page 39: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer

Page 40: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – visual tool

Page 41: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – is a part of Tizen Studio

Page 42: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – is a part of Tizen Studio and crossplatform

Page 43: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

1. List of groups

2. List of part/state/items/programs/data

3. Tabs of opened groups

4. Properties of selected items

5. Workspace

Component Designer – high-level overview

1

2

3

4 5

Page 44: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (groups)

Page 45: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (groups)

General EDC groups are folders and simple files

All styles for widgets goes this way:

elm/widget/class/style

but some widgets are more complex (for example GenList item):

elm/genlist/item/class/style

elm/bg/base/default (style for widget background)

Page 46: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (groups)

General EDC groups are folders and simple files

It is possible to create new styles

Page 47: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (groups)

General EDC groups are folders and simple files

It is possible to create new styles

Or create a copy of already existed style to modify

Page 48: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (groups)

General EDC groups are folders and simple files

It is possible to create new styles

Or create a copy of already existed style to modify

Make alias of currently existed groups with another name

elm/bg/base/alias is alias group of

elm/bg/base/default

Alias groups are not editable (!) it

is just a link with different name

Page 49: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (groups)

General EDC groups are folders and simple files

It is possible to create new styles

Or create a copy of already existed style to modify

Make alias of currently existed groups with another name

Delete group ( ), alias ( ) or entire folder ( ) of groups and folders

Page 50: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (tabs)

Page 51: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (tabs)

It is possible to open to edit as many groups as possible. There are tabs for every opened group. It is

very comfortable to use when editing complex widgets (entry, fileselector, genlist, slider etc).

Page 52: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (groups, tabs)

(!) Keep in mind, if any of groups is already opened, it won't be able to delete, firstly it is important to close

tab. Highlighted group elm/bg/base/default opened in tabs, so it is impossible to delete it till it is opened.

Page 53: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (parts, states)

Page 54: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (parts, states)

Shows parts, their states and part items (if they exists), programs and data items

Page 55: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (parts, states)

Shows parts, their states and part items (if they exists), programs and data items

Show ( )/hide ( ) part by clicking on eye (make it visible/invisible on workspace)

Page 56: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (parts, states)

Shows parts, their states and part items (if they exists), programs and data items

Show ( )/hide ( ) part by clicking on eye (make it visible/invisible on workspace)

Indicate which group those parts are related to (currently opened tab of that group)

Page 57: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (parts, states)

Shows parts, their states and part items (if they exists), programs and data items

Show ( )/hide ( ) part by clicking on eye (make it visible/invisible on workspace)

Indicate which group those parts are related to (currently opened tab of that group)

Restack parts above and below (top parts are actually on the very bottom of canvas)

Page 58: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (parts, states)

Shows parts, their states and part items (if they exists), programs and data items

Show ( )/hide ( ) part by clicking on eye (make it visible/invisible on workspace)

Indicate which group those parts are related to (currently opened tab of that group)

Restack parts above and below (top parts are actually on the very bottom of canvas)

Delete selected item (part/state/part item/program/data) [important: default state cannot be deleted]

Page 59: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (parts, states)

Shows parts, their states and part items (if they exists), programs and data items

Show ( )/hide ( ) part by clicking on eye (make it visible/invisible on workspace)

Indicate which group those parts are related to (currently opened tab of that group)

Restack parts above and below (top parts are actually on the very bottom of canvas)

Delete selected item (part/state/part item/program/data) [important: default state cannot be deleted]

Add programs (there will be popup for programs)

Page 60: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (data)

Data is very important with some widgets. For example genlist require lists of certain data items as properties.

Below is typical data items for style “elm/genlist/item/default/default” and example property of it. This means that

part elm.text will be used to set up text into genlist item, otherwise it won't work at all. It's a common mistake:

forgetting to put data items for genlist item style.

Page 61: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (properties)

Page 62: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (properties)

Every selected part/item/state/program etc will show it's properties on the right

Page 63: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (properties)

Every selected part/item/state/program etc will show it's properties on the right

Property tab shows all the possible supported properties of parts/states/programs etc

VS Possible to

experiment more

often with

unknown

properties Experiments require knowledge of existed properties

Page 64: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (properties)

Every selected part/item/state/program etc will show it's properties on the right

Property tab shows all the possible supported properties of parts/states/programs etc

Every part and their state has common properties and their own

Page 65: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (properties)

Every selected part/item/state/program etc will show it's properties on the right

Property tab shows all the possible supported properties of parts/states/programs etc

Every part and their state has common properties and their own

Map transformation!

Page 66: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (properties)

Every selected part/item/state/program etc will show it's properties on the right

Property tab shows all the possible supported properties of parts/states/programs etc

Every part and their state has common properties and their own

Map transformation!

Property tooltips

(!) No more documentation!

Just hover mouse over the

property and it will show up

tooltip with description of

the attribute

Page 67: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (properties)

Every selected part/item/state/program etc will show it's properties on the right

Property tab shows all the possible supported properties of parts/states/programs etc

Every part and their state has common properties and their own

Map transformation!

Property tooltips

Using resources and resource managers (specific properties)

Page 68: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Resource managers

Page 69: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

1. Possible to import images from file system and

delete them from project

2. Shows full image when selected

3. Show some information about selected image in

Property tab (on the right)

4. Possible to search through images

5. Shows entire list of images already in project

1

3 2

4

5

Resource managers (image manager)

Page 70: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

1. Creating new color classes and deleting old one

2. Apply and show selected color class on a certain

text to see

3. Modify colors and description of selected color

class in property tab on the right

4. Possible to search through color class names

5. Shows entire list of color classes which are

already in project

Resource managers (color class manager)

3 2

5

1 4

Page 71: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

1. Creating new tags/styles and deleting old one

2. Apply and show selected text styles on a certain

text to see

3. Modify RTF properties of style

4. Possible to search through styles

5. Shows entire list of tags and styles of project

Resource managers (style manager)

1 2

4

5 3

Page 72: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (workspace)

Page 73: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (workspace)

Parts are shown on workspace with their size and applied properties

There are parts which are easy to show (like

rectangle, text or image)

And there are parts which are hard to show because

they are invisible (like swallow, spacer, box or proxy)

Page 74: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – parts on workspace

Swallow is just container for other widgets and layouts

Spacer is just invisible part for calculation

Group is hard to show because if we show it that would be a

mess on workspace

Same for box and table

Proxy also require to be shown when it's source is empty.

So Component Designer shows those parts on workspace with specific pattern which is simple to get used to.

Page 75: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (workspace)

Parts are shown on workspace with their size and applied properties

It is possible to select part on workspace

Page 76: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (workspace)

Parts are shown on workspace with their size and applied properties

It is possible to select part on workspace and change size of it

Page 77: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (workspace)

Parts are shown on workspace with their size and applied properties

It is possible to select part on workspace and change size of it

Object area mode of selected parts

shows area between

rel1 and rel2, and

now able to change

align

Page 78: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Workspace (object area)

Fast example of object area usage. We need

set up that yellow rectangle (with mixed

maximum side but no minimum side so it is

possible to make it smaller) exactly between

image and text

Page 79: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Workspace (object area)

Set up rel1 related to image part and set up

100% as X. So here is Component Designer

shows that rectangle will be placed inside of an

area that starts from end of image part (by X)

till the end of canvas.

Page 80: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Workspace (object area)

Set up rel2 related to text part by 0% of it's size

by X. Component Designer shows that

rectangle will be placed inside of an area that

starts from end of image part (100% of it by X)

till the beginning of text part (0% of it by X).

Page 81: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Workspace (object area)

Here we are, rectangle will be there between

those parts despite any of canvas size.

On this example we make layout smaller or

bigger and see the result of rectangle.

Page 82: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (workspace)

Parts are shown on workspace with their size and applied properties

It is possible to select part on workspace and change size of it

Object area mode of selected parts

Rulers!

Rulers shows actual sizes of object

area (blue hatch area) and sizes of

selected part (blue rectangle) and of

parts being used to relative points

(green and navy blue rectangles)

Page 83: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer – high-level overview (workspace)

Parts are shown on workspace with their size and applied properties

It is possible to select part on workspace and change size of it

Object area mode of selected parts

Rulers!

Workspace menu

Page 84: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Workspace menu

1. Lock to make it unable to resize canvas/layout

2. Actual and current size of canvas area

3. Undo/Redo controls

4. Shortcuts to library (image managers, style managers, etc)

5. Live view mode (to test currently opened group)

6. Fit canvas area to workspace

7. Zoom

1 2 3 4 5 6 7

Page 85: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Live View (here is GenList Item)

Page 86: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Live View (we can check how it looks like)

Page 87: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Live View (we can check how it looks like)

Page 88: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Component Designer EXAMPLE

Page 89: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Supporting 3D

Vector Graphic

Text effects based on Evas_Filters Keep up to date with all new EDC features

Plans

Page 90: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

We need your feedbacks

Component Designer (more about it): goo.gl/OPbZig

Or if you have any questions : [email protected]

Page 91: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Special Thanks

• Samsung Electronics / Software R&D Center / Tizen Platform Lab

• Samsung R&D Institute Ukraine team

Page 92: Tizen UI Theming with Component Designer · Brief plan Tizen native UI application development (Elementary, Edje) What is EDC (Edje Data Collection) for Edje and Elementary Complexity

Q&A