Search in sources :

Example 11 with MTree

use of org.compiere.model.MTree in project adempiere by adempiere.

the class SimpleTreeModel method initADTree.

/**
	 * @param tree
	 * @param AD_Tree_ID
	 * @param windowNo
	 * @param editable
	 * @param whereClause
	 * @param trxName
	 * @return SimpleTreeModel
	 */
public static SimpleTreeModel initADTree(Tree tree, int AD_Tree_ID, int windowNo, boolean editable, String whereClause, String trxName) {
    //	Change to where clause
    MTree vTree = new MTree(Env.getCtx(), AD_Tree_ID, editable, true, false, whereClause, trxName);
    MTreeNode root = vTree.getRoot();
    SimpleTreeModel treeModel = SimpleTreeModel.createFrom(root);
    treeModel.setItemDraggable(true);
    treeModel.addOnDropEventListener(new ADTreeOnDropListener(tree, treeModel, vTree, windowNo));
    Treecols treeCols = new Treecols();
    tree.appendChild(treeCols);
    Treecol treeCol = new Treecol();
    treeCols.appendChild(treeCol);
    tree.setPageSize(-1);
    try {
        tree.setItemRenderer(treeModel);
        tree.setModel(treeModel);
    } catch (Exception e) {
        logger.log(Level.SEVERE, "Failed to setup tree");
    }
    return treeModel;
}
Also used : Treecol(org.zkoss.zul.Treecol) MTreeNode(org.compiere.model.MTreeNode) Treecols(org.zkoss.zul.Treecols) MTree(org.compiere.model.MTree)

Example 12 with MTree

use of org.compiere.model.MTree in project adempiere by adempiere.

the class WMenu method createPage.

//  doPost
/**
	 * 	Create Menu Page
	 *	@param request request 
	 *	@param wsc context
	 *	@param AD_Role_ID role
	 *	@return document
	 */
private MobileDoc createPage(HttpServletRequest request, MobileSessionCtx wsc, int AD_Role_ID, int AD_User_ID, int AD_Client_ID, int AD_Org_ID) {
    String windowTitle = Msg.getMsg(wsc.ctx, "Menu");
    MobileDoc doc = MobileDoc.createWindow(windowTitle);
    head head = doc.getHead();
    //  Specific Menu Script/Stylesheet
    head.addElement(new link(MobileEnv.getBaseDirectory("/css/menu.css"), link.REL_STYLESHEET, link.TYPE_CSS));
    //	Body
    body body = doc.getBody();
    div div = new div();
    div.setClass("toolbar");
    h1 header = new h1();
    header.setID("pageTitle");
    div.addElement(header);
    a anchor = new a();
    anchor.setID("backButton");
    anchor.setClass("button");
    div.addElement(anchor);
    anchor = new a();
    anchor.setClass("button");
    anchor.setHref(request.getRequestURI() + "?Exit=true");
    anchor.setTarget("_self");
    anchor.addElement("Logout");
    div.addElement(anchor);
    //  Load Menu Structure     ----------------------
    int AD_Tree_ID = DB.getSQLValue(null, "SELECT COALESCE(r.AD_Tree_Menu_ID, ci.AD_Tree_Menu_ID)" + "FROM AD_ClientInfo ci" + " INNER JOIN AD_Role r ON (ci.AD_Client_ID=r.AD_Client_ID) " + "WHERE AD_Role_ID=?", AD_Role_ID);
    if (AD_Tree_ID <= 0)
        //	Menu
        AD_Tree_ID = 10;
    log.fine("doPost - AD_Tree_ID=" + AD_Tree_ID + " - " + Env.getAD_Language(wsc.ctx));
    // Language set in WLogin
    MTree tree = new MTree(wsc.ctx, AD_Tree_ID, false, false, null);
    //	Trim tree
    MTreeNode root = tree.getRoot();
    Enumeration en = root.preorderEnumeration();
    tree.trimTree();
    //	Print tree
    StringBuffer buf = new StringBuffer();
    StringBuffer buffav = new StringBuffer();
    en = root.breadthFirstEnumeration();
    int lastNodeId = 0;
    //  start first level
    buf.append("<ul id=\"main\" selected=\"true\" title=\"Menu\">\n");
    while (en.hasMoreElements()) {
        MTreeNode nd = (MTreeNode) en.nextElement();
        //  Level
        //	0 == root
        int level = nd.getLevel();
        if (level == 0)
            continue;
        //
        MTreeNode parent = (MTreeNode) nd.getParent();
        if (parent != null && parent.getNode_ID() != lastNodeId) {
            buf.append("</ul>\n<ul id=\"" + parent.getNode_ID() + "\" title=\"" + parent.getName() + "\">\n");
            lastNodeId = parent.getNode_ID();
        }
        //	Print Node
        buf.append(printNode(nd, wsc.ctx));
        //Modified by Rob Klein 4/29/07
        if (nd.isOnBar())
            buffav.append(printNode(nd, wsc.ctx));
    }
    //  finish
    buf.append("</ul>\n");
    //Modified by Rob Klein 4/29/07
    //  Set Favorites		
    buf.append("<ul><li class=\"menuSummary\" id=\"218\" onClick=\"changeMenu(event);\">Favorites<ul style=\"display:none\">\n");
    buf.append(buffav);
    buf.append("</ul></li></ul>\n");
    body.addElement(buf.toString());
    body.addElement(div);
    return doc;
}
Also used : org.apache.ecs.xhtml.a(org.apache.ecs.xhtml.a) MTreeNode(org.compiere.model.MTreeNode) Enumeration(java.util.Enumeration) org.apache.ecs.xhtml.link(org.apache.ecs.xhtml.link) org.apache.ecs.xhtml.h1(org.apache.ecs.xhtml.h1) org.apache.ecs.xhtml.body(org.apache.ecs.xhtml.body) MTree(org.compiere.model.MTree) org.apache.ecs.xhtml.head(org.apache.ecs.xhtml.head) org.apache.ecs.xhtml.div(org.apache.ecs.xhtml.div)

Example 13 with MTree

use of org.compiere.model.MTree in project adempiere by adempiere.

the class WTreeMaintenance method action_loadTree.

//	actionPerformed
/**
	 * 	Action: Fill Tree with all nodes
	 */
private void action_loadTree() {
    KeyNamePair tree = treeField.getSelectedItem().toKeyNamePair();
    log.info("Tree=" + tree);
    if (tree.getKey() <= 0) {
        SimpleListModel tmp = new SimpleListModel();
        centerList.setItemRenderer(tmp);
        centerList.setModel(tmp);
        return;
    }
    //	Tree
    m_tree = new MTree(Env.getCtx(), tree.getKey(), null);
    cbAllNodes.setSelected(m_tree.isAllNodes());
    bAddAll.setEnabled(!m_tree.isAllNodes());
    bAdd.setEnabled(!m_tree.isAllNodes());
    bDelete.setEnabled(!m_tree.isAllNodes());
    bDeleteAll.setEnabled(!m_tree.isAllNodes());
    //
    //	fully qualified
    String fromClause = m_tree.getSourceTableName(false);
    String columnNameX = m_tree.getSourceTableName(true);
    String actionColor = m_tree.getActionColorName();
    //	List
    SimpleListModel model = new SimpleListModel();
    ArrayList<ListItem> items = getTreeItemData();
    for (ListItem item : items) model.addElement(item);
    log.config("#" + model.getSize());
    centerList.setItemRenderer(model);
    centerList.setModel(model);
    //	Tree
    try {
        centerTree.setModel(null);
    } catch (Exception e) {
    }
    if (centerTree.getTreecols() != null)
        centerTree.getTreecols().detach();
    if (centerTree.getTreefoot() != null)
        centerTree.getTreefoot().detach();
    if (centerTree.getTreechildren() != null)
        centerTree.getTreechildren().detach();
    SimpleTreeModel.initADTree(centerTree, m_tree.getAD_Tree_ID(), m_WindowNo);
}
Also used : SimpleListModel(org.adempiere.webui.component.SimpleListModel) KeyNamePair(org.compiere.util.KeyNamePair) MTree(org.compiere.model.MTree)

Aggregations

MTree (org.compiere.model.MTree)13 MTreeNode (org.compiere.model.MTreeNode)9 Enumeration (java.util.Enumeration)3 org.apache.ecs.xhtml.a (org.apache.ecs.xhtml.a)2 org.apache.ecs.xhtml.body (org.apache.ecs.xhtml.body)2 org.apache.ecs.xhtml.head (org.apache.ecs.xhtml.head)2 org.apache.ecs.xhtml.link (org.apache.ecs.xhtml.link)2 KeyNamePair (org.compiere.util.KeyNamePair)2 BorderLayout (java.awt.BorderLayout)1 PreparedStatement (java.sql.PreparedStatement)1 ResultSet (java.sql.ResultSet)1 ResultSetMetaData (java.sql.ResultSetMetaData)1 HashMap (java.util.HashMap)1 Stack (java.util.Stack)1 DefaultListModel (javax.swing.DefaultListModel)1 JToolBar (javax.swing.JToolBar)1 AdempiereTaskPaneUI (org.adempiere.plaf.AdempiereTaskPaneUI)1 Button (org.adempiere.webui.component.Button)1 SimpleListModel (org.adempiere.webui.component.SimpleListModel)1 Element (org.apache.ecs.Element)1