Difference between revisions of "User:Hawk"
Line 9: | Line 9: | ||
Every shortcut key has a corresponding <javadoc directory='zss'>org.zkoss.zss.ui.UserActionHandler</javadoc> to perform its function like <javadoc directory='zss'> org.zkoss.zss.ui.impl.ua.CopyHandler</javadoc>. Implementing your key event listener cannot override existing shortcut keys' function because the listener is executed after UserActionHandler. Therefore, to override it you need to hook up your own UserActionHandler like: | Every shortcut key has a corresponding <javadoc directory='zss'>org.zkoss.zss.ui.UserActionHandler</javadoc> to perform its function like <javadoc directory='zss'> org.zkoss.zss.ui.impl.ua.CopyHandler</javadoc>. Implementing your key event listener cannot override existing shortcut keys' function because the listener is executed after UserActionHandler. Therefore, to override it you need to hook up your own UserActionHandler like: | ||
− | <source lang='java'> | + | <source lang='java' high='4'> |
− | + | Spreadsheet ss; | |
− | + | //... | |
+ | UserActionManager manager = ss.getUserActionManager(); | ||
+ | manager.registerHandler(Category.KEYSTROKE.getName(), "^V", new MyCustomPasteHandler()); | ||
</source> | </source> | ||
Another way is: | Another way is: | ||
− | <source lang='java'> | + | <source lang='java' high='4'> |
+ | Spreadsheet ss; | ||
+ | //... | ||
UserActionManager actionManager = ss.getUserActionManager(); | UserActionManager actionManager = ss.getUserActionManager(); | ||
actionManager.setHandler(Category.KEYSTROKE.getName(), "^V", new MyCustomPasteHandler()); | actionManager.setHandler(Category.KEYSTROKE.getName(), "^V", new MyCustomPasteHandler()); | ||
</source> | </source> | ||
+ | |||
+ | Please refer to [[ZK_Spreadsheet_Essentials/Working_with_Spreadsheet/Advanced/Toolbar Customization| Toolbar_Customization]] for how to implement a UserActionHandler and the difference between <tt>registerHandler()</tt> and <tt>setHandler()</tt> | ||
== Under Review == | == Under Review == |
Revision as of 08:41, 24 April 2015
Documentation
Under Editing
Add More Shortcut Keys
If you want to add more shortcut keys to a ZSS component, remember to append the default control keys, ^Z^Y^X^C^V^B^I^U#del. For example, if you want to add a shortcut key like ctrl+a, you should set ctrlKeys to ^A^Z^Y^X^C^V^B^I^U#del. Thus, you can still benefit from built-in key handling function. For syntax used at the property ctrlKeys, please refer to ZK Developer's Reference/UI Patterns/Keystroke Handling. When the corresponding event listener is invoked, a KeyEvent object is passed as an argument.
Overrideing Existing Shortcut Keys
Every shortcut key has a corresponding UserActionHandler to perform its function like CopyHandler. Implementing your key event listener cannot override existing shortcut keys' function because the listener is executed after UserActionHandler. Therefore, to override it you need to hook up your own UserActionHandler like:
Spreadsheet ss;
//...
UserActionManager manager = ss.getUserActionManager();
manager.registerHandler(Category.KEYSTROKE.getName(), "^V", new MyCustomPasteHandler());
Another way is:
Spreadsheet ss;
//...
UserActionManager actionManager = ss.getUserActionManager();
actionManager.setHandler(Category.KEYSTROKE.getName(), "^V", new MyCustomPasteHandler());
Please refer to Toolbar_Customization for how to implement a UserActionHandler and the difference between registerHandler() and setHandler()
Under Review
Ready for Publish
Suspend
User:Hawk/Widget Event User:Hawk/Create Data Binding Programmatically User:Hawk/Tutorial Extension-UnitTest
Already published
- Small_Talks/2011/December/MVVM_in_ZK6:in_Contrast_to_MVC
- Small Talks/2012/January/Ajax GSP with ZK
- Small Talks/2012/January/Enrich Grails Server Pages (GSPs) with ZK
- Small_Talks/2012/January/MVVM_Extension:_Access_UI_Components_Inside_ViewModel
- Small_Talks/2012/February/MVVM_in_ZK6:_Form_Binding
- Small_Talks/2012/February/MVVM_in_ZK6:_Work_with_Spring
- ZK Developer's Reference/MVVM (whole chapter)
- Small Talks/2012/April/The Dawn of ZK Application Test Suite:Mimic Library
- Small Talks/2012/April/Shining ZATS Mimic
- ZATS Essentials
- ZK Getting Started/Learn ZK in 10 Minutes
- ZK Getting Started/Get ZK Up and Running with MVC
- ZK Getting Started/Get ZK Up and Running with MVVM
- Small Talks/2012/October/Binding with Collection and Selection
- Small_Talks/2012/November/How_to_Apply_Responsive_Design
- ZK Developer's Reference/Integration/Middleware Layer/Spring
- ZK Developer's Reference/Integration/Middleware Layer/CDI
- ZK Developer's Reference/Integration/Persistence Layer/Hibernate
- ZK Developer's Reference/Integration/Persistence Layer/JPA
- Small_Talks/2013/January/Building_User_Interface_Programmatically_with_Richlet
- ZK Developer's Reference/Integration/Security/Spring Security
- ZK Essentials
- Small_Talks/2013/April/New_Features_of_ZK_Studio_2.0.0
- ZK_Studio_Essentials
- Small_Talks/2013/April/New_Features_of_ZATS_Mimic_1.1.0
- Small_Talks/2013/June/ZK Binding Tracker - A Chrome Extension
- ZK_Spreadsheet_Essentials (starts from 3.0.0)
- http://books.zkoss.org/wiki/ZK_Getting_Started/Create_a_Project_with_Eclipse
Technical Writing
My Practice of Writing Documents
Preparation :
- list assumptions for readers. To know which knowledge base which you build on and to decide which content the document should have.
- write outline first.
- to be reviewed and discuss in bird's eye view
- check order of topic should have logical dependency
- Pre-write quickly first.
- need a technical proofreader to check technical concept
- need an editor to check grammar and style.
- Arrange topics with logic dependent orders, but leave some clues for those readers who skim a document
- Title
- Bold text
- Pictures
- Code highlight
Writing:
- Topic sentence first, then supporting sentences
- Describe the purpose or context at the beginning.
- To start from a basic, simple concept or fewer concepts.
- 1 paragraph presents 1 idea.
- overall concept first, an example, then technical detail
- keep consistent style in code or describing way in multiple related articles
- keep consistent wording or terminology.
- Summary at the end. (for small talk)
- Choose Active, Precise Verbs
- Check header, footer, TOC, subsections, references
- Picture is better than words.
- Picture should be elegant.
- Picture should present just exactly enough information.
- Set align to center.
- Shrink size if a picture's width is wider than page width.
- Code example:
- Re-using same application as an example. It can reduce user's burden to realize your article.
- Focus on a general case not a specific one.
- Keep as short as possible. Just extract the key part
- Demonstrate only key concepts and remove irrelevant codes.
- Demonstrate the correct API usage instead of work-around
- Keep number of codes as fewer as possible to reduce readers' burden.
- Highlight key points in descriptions of code example. (Because most engineers read code first instead of text)
- give short description for a code snippet for its purpose
- leave related variables declaration
- Line number first, then description because it's easier to look up descriptions upon lines, e.g. Line 13: this line's description
- In Wiki page style, words before TOC is like preface. The "overview" should belong to one part of content and should be made as a header.
- When using third party library, specify its version
- Store example codes in a version control repository. They can be changed or verified in the future.
- use an editor with a spell checker
- Write directly on wiki page instead of writing in a word processor.
- create a separate book for new version instead of modifying original books
- e.g. for version 3.0.0 - http://books.zkoss.org/wiki/Documentation:Books/ZK_Spreadsheet_Essentials_3
Learning Resource
English Writing:
- The Elements of Style, William Strunk, Jr ., 1918
- Purdue University Online Writing Lab
- search "grammar girl" for grammar tips
Technical Writing:
Problem
- no offline editor
- no version control
- verbose syntax
- pdf edition cuts code
potential tool: http://gitbookio.github.io/javascript/basics/comments.html
ZK Documentation Format
- No version history table for a page having subsections links. (e.g. ZK_Developer's_Reference/Event_Handling)
Message Template
Standard:
Deprecated:
[i] Note: note message
Warning: warning message
Not Work sample:
/_w/images/e/e2/Icon_info.png
Font design
http://3.7designs.co/blog/2008/06/10-examples-of-beautiful-css-typography-and-how-they-did-it/
Deprecated
User:Hawk/Simple ZK deprecated
User:Hawk/ZK Brief Intro and Simple Architecture
Supplement
- http://books.zkoss.org/wiki/User:Jimmyshiau
- Listbox, ZK container's default size, ID generator, Debug Client Error
- http://books.zkoss.org/wiki/Getting_Involved
- guide customers how to give us required data for debugging.
- User:Hawk/Selector Syntax
- User:Hawk/Session Timeout Configuration
- User:Hawk/Detach a Component under MVVM
- User:Hawk/org.zkoss.zul.listbox.DataLoader.class
- User:Hawk/org.zkoss.zul.grid.DataLoader.class