use of com.codename1.rad.nodes.Node in project CodeRAD by shannah.
the class NodeUtilFunctions method buildActionsBar.
static void buildActionsBar(Node node, Container target, Entity entity, Actions right, Actions left, Actions overflow, Actions middle) {
Container actionsBar = new Container(new BorderLayout());
Container actionsBarRight = new Container(new BorderLayout());
if (middle != null && middle.size() > 0) {
GridLayout layout = new GridLayout(middle.size());
Container cnt = new Container(layout);
middle.addToContainer(cnt, entity);
actionsBar.add(BorderLayout.CENTER, cnt);
}
if (left != null) {
Container cnt = new Container(BoxLayout.x());
for (ActionNode action : left) {
cnt.add(action.getViewFactory().createActionView(entity, action));
}
if (actionsBar.getComponentCount() > 0) {
actionsBar.add(BorderLayout.WEST, cnt);
} else {
actionsBar.add(BorderLayout.CENTER, cnt);
}
}
if (right != null) {
Container cnt = new Container(BoxLayout.x());
$(cnt).setAlignment(RIGHT);
for (ActionNode action : right) {
// System.out.println("right node "+action);
cnt.add(action.getViewFactory().createActionView(entity, action));
}
// System.out.println("Adding to right "+cnt);
actionsBarRight.add(BorderLayout.CENTER, cnt);
}
if (overflow != null && !overflow.isEmpty()) {
PopupMenu popup = new PopupMenu();
for (ActionNode action : overflow) {
Property.Label label = action.getLabel();
String labelStr = label != null ? label.getValue() : "";
Command cmd = new Command(labelStr) {
@Override
public void actionPerformed(ActionEvent evt) {
action.fireEvent(entity, target);
}
};
if (action.getImageIcon() != null) {
cmd.setIcon(action.getImageIcon().getValue());
} else if (action.getMaterialIcon() != null) {
cmd.setMaterialIcon(action.getMaterialIcon().getValue());
}
popup.addCommand(cmd);
}
actionsBarRight.add(BorderLayout.EAST, new Button(popup.getCommand()));
}
if (actionsBarRight.getComponentCount() > 0) {
actionsBar.add(BorderLayout.EAST, actionsBarRight);
}
if (actionsBar.getComponentCount() > 0) {
target.add(actionsBar);
}
}
use of com.codename1.rad.nodes.Node in project CodeRAD by shannah.
the class ComponentDecorators method decorate.
public void decorate(Component cmp) {
for (Node n : this) {
if (!(n instanceof ComponentDecoratorNode)) {
continue;
}
ComponentDecoratorNode cdn = (ComponentDecoratorNode) n;
cdn.getValue().decorate(cmp);
}
}
use of com.codename1.rad.nodes.Node in project CodeRAD by shannah.
the class DefaultEntityListCellRenderer method getListCellRendererComponent.
@Override
public EntityView getListCellRendererComponent(EntityListView list, Entity value, int index, boolean isSelected, boolean isFocused) {
ListNode listNode = (ListNode) list.getViewNode();
MultiButtonEntityView out = new MultiButtonEntityView(value, listNode.getRowTemplate());
ActionNode node = listNode.getAction(ActionCategories.LIST_SELECT_ACTION);
if (node != null) {
out.setAction(node);
}
return makeSwipeable(value, listNode.getRowTemplate(), out);
}
use of com.codename1.rad.nodes.Node in project CodeRAD by shannah.
the class DefaultPropertyViewFactory method createPropertyView.
@Override
public PropertyView createPropertyView(Entity entity, FieldNode field) {
PropertyViewFactory typeFactory = registry.get(field.getWidgetType(entity.getEntity().getEntityType()));
if (typeFactory == null) {
throw new IllegalArgumentException("Type " + field.getWidgetType() + " not supported");
}
PropertyView out = typeFactory.createPropertyView(entity, field);
PropertyViewDecoratorAttribute decoratorAtt = (PropertyViewDecoratorAttribute) field.findAttribute(PropertyViewDecoratorAttribute.class);
if (decoratorAtt != null) {
out = decoratorAtt.getValue().decorate(out);
}
NodeList decorators = field.getChildNodes(PropertyViewDecoratorNode.class);
if (decorators != null) {
for (Node n : decorators) {
out = ((PropertyViewDecoratorNode) n).getValue().decorate(out);
}
}
return out;
}
use of com.codename1.rad.nodes.Node in project CodeRAD by shannah.
the class ProfileAvatarsTitleComponentBuilder method build.
@Override
public ProfileAvatarsTitleComponent build() {
ViewNode node = new ViewNode();
node.setParent(getContext().getNode());
EntityList l = (entity instanceof EntityList) ? (EntityList) entity : new EntityList();
if (entity != l) {
l.add(entity);
}
if (avatarSize <= 0) {
avatarSize = CN.convertToPixels(1f, Style.UNIT_TYPE_REM);
}
return new ProfileAvatarsTitleComponent(l, node, avatarSize / (float) CN.convertToPixels(1f));
}
Aggregations