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;
}
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;
}
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);
}
Aggregations