use of com.qcadoo.view.internal.ribbon.model.SingleRibbonGroupPack in project qcadoo by qcadoo.
the class RibbonParserService method parseRibbon.
public InternalRibbon parseRibbon(final Node ribbonNode, final ViewDefinitionParser parser, final ViewDefinition viewDefinition) throws ViewDefinitionParserNodeException {
InternalRibbon ribbon = new RibbonImpl();
NodeList childNodes = ribbonNode.getChildNodes();
for (int i = 0; i < childNodes.getLength(); i++) {
Node child = childNodes.item(i);
if (Node.ELEMENT_NODE != child.getNodeType()) {
continue;
}
if ("group".equals(child.getNodeName())) {
ribbon.addGroupsPack(new SingleRibbonGroupPack(parseRibbonGroup(child, parser, viewDefinition)));
} else if ("template".equals(child.getNodeName())) {
applyTemplate(child, ribbon, parser, viewDefinition);
} else {
throw new ViewDefinitionParserNodeException(child, "Wrong node type - 'group' or 'template' expected");
}
}
ribbon.setAlignment(parser.getStringAttribute(ribbonNode, ALIGNMENT));
return ribbon;
}
use of com.qcadoo.view.internal.ribbon.model.SingleRibbonGroupPack in project qcadoo by qcadoo.
the class ViewRibbonModule method enable.
@Override
public void enable() {
addedGroups = new HashMap<WindowComponentPattern, RibbonGroupsPack>();
InternalViewDefinition viewDefinition = viewDefinitionService.getWithoutSession(viewExtension.getPluginName(), viewExtension.getViewName());
if (viewDefinition == null) {
throw new ModuleException(pluginIdentifier, "view", "reference to view which not exists");
}
try {
for (Node groupNode : viewDefinitionParser.geElementChildren(viewExtension.getExtesionNode())) {
try {
InternalRibbonGroup group = viewDefinitionParser.parseRibbonGroup(groupNode, viewDefinition);
group.setExtensionPluginIdentifier(pluginIdentifier);
RibbonGroupsPack groupsPack = new SingleRibbonGroupPack(group);
WindowComponentPattern window = viewDefinition.getRootWindow();
window.getRibbon().addGroupsPack(groupsPack);
addedGroups.put(window, groupsPack);
} catch (ViewDefinitionParserNodeException e) {
throw ViewDefinitionParserException.forFileAndNode(fileName, e);
}
}
} catch (Exception e) {
throw new ModuleException(pluginIdentifier, "view-ribbon-group", e);
}
}
Aggregations