Skip to content

Instantly share code, notes, and snippets.

@sergiomichels
Created June 7, 2013 14:34
Show Gist options
  • Select an option

  • Save sergiomichels/5729684 to your computer and use it in GitHub Desktop.

Select an option

Save sergiomichels/5729684 to your computer and use it in GitHub Desktop.
Trying TreeModel for GrailsZK plugin
class MenuModel extends AbstractTreeModel<Menu> implements TreeSelectableModel {
public MenuModel(Menu root) {
super(root)
}
@Override
public Menu getChild(Menu menu, int index) {
return menu.getAt(index);
}
@Override
public int getChildCount(Menu menu) {
return menu.getChildCount();
}
@Override
public boolean isLeaf(Menu menu) {
return menu.isLeaf();
}
}
class MenuComposer extends zk.grails.Composer {
private MenuModel menu
def afterCompose = { window ->
}
public MenuModel getMenuModel() {
println "menu requested..."
Menu menuRoot = new Menu()
menuRoot.descr = 'Cadastros'
Menu tabelasBasicas = new Menu()
tabelasBasicas.descr = 'Tabelas Básicas'
Menu empresasPessoas = new Menu()
empresasPessoas.descr = 'Empresas e Pessoas'
Menu as0013 = new Menu()
as0013.descr = 'Consulta Agenda e Cadastro'
as0013.codPrograma = 'AS0013'
empresasPessoas.addChild(as0013)
tabelasBasicas.addChild(empresasPessoas)
menuRoot.addChild(tabelasBasicas)
menu = new MenuModel(menuRoot)
return menu
}
}
<?xml version="1.0" encoding="UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<zk xmlns="http://www.zkoss.org/2005/zul"
xmlns:h="http://www.w3.org/1999/xhtml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
<window id="menuWindow" apply="br.com.insoft4.zk.MenuComposer">
<tree id="menuTree" width="100%" model="#{menuWindow$composer.menuModel}">
</tree>
</window>
</zk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment