Context Menu"
m |
m |
||
Line 89: | Line 89: | ||
=====Hyperlink===== | =====Hyperlink===== | ||
Refer to [http://books.zkoss.org/wiki/ZK_Spreadsheet_Essentials/Working_with_ZK_Spreadsheet/Configure_and_Control_ZK_Spreadsheet/Toolbar#Hyperlink here] | Refer to [http://books.zkoss.org/wiki/ZK_Spreadsheet_Essentials/Working_with_ZK_Spreadsheet/Configure_and_Control_ZK_Spreadsheet/Toolbar#Hyperlink here] | ||
+ | |||
+ | ====I18n==== | ||
+ | Each button/menuitem map to a key, developer could browser all I18 keys by <javadoc directory="zss" method="getLabelKeys">org.zkoss.zss.ui.Action</javadoc> | ||
===ZUML=== | ===ZUML=== |
Revision as of 01:56, 5 April 2012
Purpose
ZK Spreadsheet supports various context menu for user to perform actions.
Show Context Menu
Use Spreadsheet.setShowContextMenu to show context menu.
Row
Row context menu use ActionHandler for each button/menuitem. Note the default ActionHandler does nothing when user click Paste Special, Format Cell and Row Height
Paste Special
Refer to here
Format Cell
The default ActionHandler does nothing when user click the button, developer could override ActionHandler.doFormatCell
@Override
public void doFormatCell(Rect selection) {
Spreadsheet spreadsheet = getSpreadsheet();
if (spreadsheet.getBook() != null && validSelection(selection)) {
FormatDialog dialog = new FormatDialog(selection);
//omit
}
}
Refer to sample code formatDialog.zul and CustomizedActionHandler.java
Row Height
The default ActionHandler does nothing when user click the button, developer could override ActionHandler.doRowHeight
@Override
public void doRowHeight(Rect selection) {
Spreadsheet spreadsheet = getSpreadsheet();
if (spreadsheet.getBook() != null && validSelection(selection)) {
HeaderSizeDialog dialog = new HeaderSizeDialog("row", selection);
//omit
}
}
Refer to sample code headerSizeDialog.zul and CustomizedActionHandler.java
Column
Column context menu use ActionHandler for each button/menuitem. Note the default ActionHandler does nothing when user click Paste Special, Format Cell and Column Width
Paste Special
Refer to here
Format Cell
Refer to here
Column Width
The default ActionHandler does nothing when user click the button, developer could override ActionHandler.doColumnWidth
@Override
public void doColumnWidth(Rect selection) {
Spreadsheet spreadsheet = getSpreadsheet();
if (spreadsheet.getBook() != null && validSelection(selection)) {
HeaderSizeDialog dialog = new HeaderSizeDialog("column", selection);
//omit
}
}
Refer to sample code headerSizeDialog.zul and CustomizedActionHandler.java
Cell
Cell context menu use ActionHandler for each button/menuitem. Note the default ActionHandler does nothing when user click Paste Special, Format Cell and Hyperlink
Paste Special
Refer to here
Format Cell
Refer to here
Hyperlink
Refer to here
I18n
Each button/menuitem map to a key, developer could browser all I18 keys by Action.getLabelKeys
ZUML
Here is a sample example ZUL file
<zk>
<window vflex="1" width="100%" apply="org.zkoss.zssessentials.config.ContextMenuComposer">
<button id="toggleContextMenu" label="Toggle Context Menu"/>
<spreadsheet showContextMenu="true"
id="ss" vflex="true" width="100%"
src="/WEB-INF/excel/config/ZSS-demo_sample.xlsx" maxcolumns="40" maxrows="200"
></spreadsheet>
</window>
</zk>
Composer
The composer use Spreadsheet.setShowContextMenu to show or hide context menu.
public void onClick$toggleContextMenu() {
boolean toggle = !spreadsheet.isShowContextMenu();
spreadsheet.setShowContextMenu(toggle);
}
See the full source code for Composer here
Version History
Version | Date | Content |
---|---|---|
2.3.0 | April, 2012 | Context Menu |
All source code listed in this book is at Github.