SlideShare a Scribd company logo
1 of 29
http://feathersui.com/download/
button1.styleProvider = buttonStyles; 
button2.styleProvider = buttonStyles;
Button.globalStyleProvider = 
new FunctionStyleProvider( skinButton );
Theme 
• Passes global style 
provider to 
component class. 
Component 
• Defaults to global 
style provider in 
constructor. 
Component 
• Initializes when 
added to stage. 
Component 
• Calls applyStyles() on 
style provider. 
Style Provider 
• Sets properties on 
component.
var button1:Button = new Button(); 
button1.label = "Cancel"; 
// no style name 
this.addChild( button1 ); 
var button2:Button = new Button(); 
button2.label = "Delete"; 
// the style provider will see the style name and call 
// a different function 
button2.styleNameList.add( "warning-button" ); 
button2.y = 100; 
this.addChild( button2 );
Call component 
constructor. 
Add "warning-button" 
string to 
styleNameList 
property. 
Component initializes 
and applyStyles() is 
called on style 
provider. 
StyleNameFunction 
style provider checks 
styleNameList for 
values. 
If styleNameList 
contains "warning-button", 
call 
skinWarningButton() 
If no style names 
match a function, fall 
back to calling 
skinNormalButton()
button.styleProvider = null; // no theme!
button.styleProvider = 
new AddOnFunctionStyleProvider( button.styleProvider, 
setExtraStyles );
http://feathersui.com 
http://twitter.com/feathersui 
http://facebook.com/feathersui 
http://plus.google.com/+Feathersui 
http://twitter.com/joshtynjala 
http://joshblog.net/

More Related Content

Viewers also liked

Origin of Life: by Chance or by Design?
Origin of Life: by Chance or by Design?Origin of Life: by Chance or by Design?
Origin of Life: by Chance or by Design?
Tauqeer Ahmad
 
Origins of life panspermia
Origins of life panspermiaOrigins of life panspermia
Origins of life panspermia
Tauqeer Ahmad
 
Clash magazine front cover analysis
Clash magazine front cover analysisClash magazine front cover analysis
Clash magazine front cover analysis
annabellehussey
 

Viewers also liked (17)

Origin of Life: by Chance or by Design?
Origin of Life: by Chance or by Design?Origin of Life: by Chance or by Design?
Origin of Life: by Chance or by Design?
 
Origins of life panspermia
Origins of life panspermiaOrigins of life panspermia
Origins of life panspermia
 
Clash magazine front cover analysis
Clash magazine front cover analysisClash magazine front cover analysis
Clash magazine front cover analysis
 
EasyBusiness - Deregulation Strategy of Ukrainian Economy
EasyBusiness - Deregulation Strategy of Ukrainian EconomyEasyBusiness - Deregulation Strategy of Ukrainian Economy
EasyBusiness - Deregulation Strategy of Ukrainian Economy
 
шинжилгээг хийх аргачлалыг сонгоход анхаарах шаардлагатай хүчин зүйлүүд
шинжилгээг хийх аргачлалыг сонгоход анхаарах шаардлагатай хүчин зүйлүүдшинжилгээг хийх аргачлалыг сонгоход анхаарах шаардлагатай хүчин зүйлүүд
шинжилгээг хийх аргачлалыг сонгоход анхаарах шаардлагатай хүчин зүйлүүд
 
Tarea#3 salas michelle
Tarea#3 salas michelleTarea#3 salas michelle
Tarea#3 salas michelle
 
Parent, Peer & Family Certification Webinar: Providing Support to Other Families
Parent, Peer & Family Certification Webinar: Providing Support to Other FamiliesParent, Peer & Family Certification Webinar: Providing Support to Other Families
Parent, Peer & Family Certification Webinar: Providing Support to Other Families
 
Edu 639 week 4 dq 2 the culture of poverty 1
Edu 639 week 4 dq 2 the culture of poverty 1Edu 639 week 4 dq 2 the culture of poverty 1
Edu 639 week 4 dq 2 the culture of poverty 1
 
Clima dell'altro mondo
Clima dell'altro mondoClima dell'altro mondo
Clima dell'altro mondo
 
Royal Indian Raj International Corporation Gateway to India
Royal Indian Raj International Corporation  Gateway to India Royal Indian Raj International Corporation  Gateway to India
Royal Indian Raj International Corporation Gateway to India
 
No 4D Experience Without 3D, Tom De Meester speaks at Eurobest 2015
No 4D Experience Without 3D, Tom De Meester speaks at Eurobest 2015No 4D Experience Without 3D, Tom De Meester speaks at Eurobest 2015
No 4D Experience Without 3D, Tom De Meester speaks at Eurobest 2015
 
Laton high school pbl kickoff keynote
Laton high school pbl kickoff keynoteLaton high school pbl kickoff keynote
Laton high school pbl kickoff keynote
 
0 3 mm coarse powder mill, coare hammer powder grinding mill
0 3 mm coarse powder mill, coare hammer powder grinding mill0 3 mm coarse powder mill, coare hammer powder grinding mill
0 3 mm coarse powder mill, coare hammer powder grinding mill
 
Informe de feria. Interbride 2014
Informe de feria. Interbride 2014Informe de feria. Interbride 2014
Informe de feria. Interbride 2014
 
Tecnologia Assistiva aula01
Tecnologia Assistiva aula01Tecnologia Assistiva aula01
Tecnologia Assistiva aula01
 
Домашняя лабораторная 1
Домашняя  лабораторная 1Домашняя  лабораторная 1
Домашняя лабораторная 1
 
Dante alighieri
Dante alighieriDante alighieri
Dante alighieri
 

Similar to What’s New in Feathers 2.0? (12)

Web Server Controls CS Set
Web Server Controls CS Set Web Server Controls CS Set
Web Server Controls CS Set
 
Labels and buttons
Labels and buttonsLabels and buttons
Labels and buttons
 
Csphtp1 13
Csphtp1 13Csphtp1 13
Csphtp1 13
 
Csphtp1 12
Csphtp1 12Csphtp1 12
Csphtp1 12
 
Day 4: Android: UI Widgets
Day 4: Android: UI WidgetsDay 4: Android: UI Widgets
Day 4: Android: UI Widgets
 
Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]
 
Android User Interface: Basic Form Widgets
Android User Interface: Basic Form WidgetsAndroid User Interface: Basic Form Widgets
Android User Interface: Basic Form Widgets
 
Nokia Asha App Development - Part 2
Nokia Asha App Development - Part 2Nokia Asha App Development - Part 2
Nokia Asha App Development - Part 2
 
The Ring programming language version 1.7 book - Part 76 of 196
The Ring programming language version 1.7 book - Part 76 of 196The Ring programming language version 1.7 book - Part 76 of 196
The Ring programming language version 1.7 book - Part 76 of 196
 
Action script
Action scriptAction script
Action script
 
Keynote + Next Gen UIs.pptx
Keynote + Next Gen UIs.pptxKeynote + Next Gen UIs.pptx
Keynote + Next Gen UIs.pptx
 
The Ring programming language version 1.8 book - Part 78 of 202
The Ring programming language version 1.8 book - Part 78 of 202The Ring programming language version 1.8 book - Part 78 of 202
The Ring programming language version 1.8 book - Part 78 of 202
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

What’s New in Feathers 2.0?

  • 1.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. button1.styleProvider = buttonStyles; button2.styleProvider = buttonStyles;
  • 13.
  • 14. Button.globalStyleProvider = new FunctionStyleProvider( skinButton );
  • 15.
  • 16.
  • 17. Theme • Passes global style provider to component class. Component • Defaults to global style provider in constructor. Component • Initializes when added to stage. Component • Calls applyStyles() on style provider. Style Provider • Sets properties on component.
  • 18.
  • 19.
  • 20.
  • 21. var button1:Button = new Button(); button1.label = "Cancel"; // no style name this.addChild( button1 ); var button2:Button = new Button(); button2.label = "Delete"; // the style provider will see the style name and call // a different function button2.styleNameList.add( "warning-button" ); button2.y = 100; this.addChild( button2 );
  • 22. Call component constructor. Add "warning-button" string to styleNameList property. Component initializes and applyStyles() is called on style provider. StyleNameFunction style provider checks styleNameList for values. If styleNameList contains "warning-button", call skinWarningButton() If no style names match a function, fall back to calling skinNormalButton()
  • 24. button.styleProvider = new AddOnFunctionStyleProvider( button.styleProvider, setExtraStyles );
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. http://feathersui.com http://twitter.com/feathersui http://facebook.com/feathersui http://plus.google.com/+Feathersui http://twitter.com/joshtynjala http://joshblog.net/

Editor's Notes

  1. Feathers: the user interface component library for Starling Framework http://feathersui.com/
  2. 32 primary components don’t include things like text renderers and other minor components.
  3. See over 100 changes in the 2.0.0 release notes! https://github.com/joshtynjala/feathers/blob/v2.0.0/RELEASENOTES.md A blog post about the beta version with some more details: http://joshblog.net/2014/feathers-2-preview-listening-to-feedback-improved-architecture/
  4. The biggest change in Feathers 2.0.
  5. Initialization happens automatically when a component is added to the stage. You can manually initialize a component that isn't on stage by asking it to validate.
  6. IStyleProvider interface in the Feathers API Reference: http://feathersui.com/documentation/feathers/skins/IStyleProvider.html
  7. FunctionStyleProvider class in the Feathers API Reference: http://feathersui.com/documentation/feathers/skins/FunctionStyleProvider.html
  8. FeathersControl.styleProvider property in the Feathers API Reference: http://feathersui.com/documentation/feathers/core/FeathersControl.html#styleProvider
  9. You can opt out of using the globalStyleProvider of a superclass by overriding the non-static defaultStyleProvider property.
  10. Button.globalStyleProvider static property in the Feathers API Reference: http://feathersui.com/documentation/feathers/controls/Button.html#globalStyleProvider
  11. StyleNameFunctionStyleProvider in the Feathers API Reference: http://feathersui.com/documentation/feathers/skins/StyleNameFunctionStyleProvider.html FeathersControl.styleNameList property in the Feathers API Reference: http://feathersui.com/documentation/feathers/core/FeathersControl.html#styleNameList
  12. StyleNameFunctionStyleProvider in the Feathers API Reference: http://feathersui.com/documentation/feathers/skins/StyleNameFunctionStyleProvider.html
  13. FeathersControl.styleNameList property in the Feathers API Reference: http://feathersui.com/documentation/feathers/core/FeathersControl.html#styleNameList For a detailed review of style providers, see skinning Feathers components: http://wiki.starling-framework.org/feathers/skinning
  14. FeathersControl.styleProvider property in the Feathers API Reference: http://feathersui.com/documentation/feathers/core/FeathersControl.html#styleProvider
  15. AddOnFunctionStyleProvider class in the Feathers API Reference: http://feathersui.com/documentation/feathers/skins/AddOnFunctionStyleProvider.html
  16. See a video showing a 3D flip transition with ScreenNavigator using Sprite3D: https://www.youtube.com/watch?v=mL8Ckr83Y-k
  17. Skinning with Flash Professional inspired by this Twitter conversation: https://twitter.com/robbienz/status/518964917525688321