Search in sources :

Example 1 with Button

use of com.haulmont.cuba.gui.components.Button in project cuba by cuba-platform.

the class SideMenuLoader method loadSidePanelToggleButton.

protected void loadSidePanelToggleButton(SideMenu component, Element element) {
    String toggleButtonId = element.attributeValue("sidePanelToggleButton");
    if (StringUtils.isNotEmpty(toggleButtonId)) {
        Component toggleButton = resultComponent.getFrame().getComponent(toggleButtonId);
        if (!(toggleButton instanceof Button)) {
            throw new GuiDevelopmentException("Unable to find sidePanelToggleButton for SideMenu", context.getFullFrameId(), "sidePanelToggleButton", toggleButtonId);
        }
        component.setSidePanelToggleButton((Button) toggleButton);
    }
}
Also used : Button(com.haulmont.cuba.gui.components.Button) GuiDevelopmentException(com.haulmont.cuba.gui.GuiDevelopmentException) Component(com.haulmont.cuba.gui.components.Component)

Example 2 with Button

use of com.haulmont.cuba.gui.components.Button in project cuba by cuba-platform.

the class LinkColumnHelper method initColumn.

public static void initColumn(Table table, final String propertyName, final Handler handler) {
    final ComponentsFactory componentsFactory = AppBeans.get(ComponentsFactory.NAME);
    table.addGeneratedColumn(propertyName, new Table.ColumnGenerator() {

        @Override
        public Component generateCell(final Entity entity) {
            // //process properties like building.house.room
            String[] props = propertyName.split("\\.");
            Instance nestedEntity = entity;
            for (int i = 0; i < props.length - 1; i++) {
                nestedEntity = nestedEntity.getValue(props[i]);
                if (nestedEntity == null) {
                    break;
                }
            }
            final Object value = (nestedEntity == null) ? null : nestedEntity.getValue(props[props.length - 1]);
            if (value != null) {
                Button button = componentsFactory.createComponent(Button.class);
                button.setStyleName("link");
                button.setAction(new AbstractAction("open") {

                    @Override
                    public void actionPerform(Component component) {
                        handler.onClick(entity);
                    }

                    @Override
                    public String getCaption() {
                        String str;
                        Datatype datatype = Datatypes.get(value.getClass());
                        if (datatype != null) {
                            UserSessionSource sessionSource = AppBeans.get(UserSessionSource.NAME);
                            str = datatype.format(value, sessionSource.getLocale());
                        } else {
                            str = value.toString();
                        }
                        return str;
                    }
                });
                button.setStyleName("link");
                return button;
            }
            return null;
        }
    });
}
Also used : Entity(com.haulmont.cuba.core.entity.Entity) UserSessionSource(com.haulmont.cuba.core.global.UserSessionSource) Table(com.haulmont.cuba.gui.components.Table) Instance(com.haulmont.chile.core.model.Instance) Datatype(com.haulmont.chile.core.datatypes.Datatype) ComponentsFactory(com.haulmont.cuba.gui.xml.layout.ComponentsFactory) Button(com.haulmont.cuba.gui.components.Button) Component(com.haulmont.cuba.gui.components.Component) AbstractAction(com.haulmont.cuba.gui.components.AbstractAction)

Aggregations

Button (com.haulmont.cuba.gui.components.Button)2 Component (com.haulmont.cuba.gui.components.Component)2 Datatype (com.haulmont.chile.core.datatypes.Datatype)1 Instance (com.haulmont.chile.core.model.Instance)1 Entity (com.haulmont.cuba.core.entity.Entity)1 UserSessionSource (com.haulmont.cuba.core.global.UserSessionSource)1 GuiDevelopmentException (com.haulmont.cuba.gui.GuiDevelopmentException)1 AbstractAction (com.haulmont.cuba.gui.components.AbstractAction)1 Table (com.haulmont.cuba.gui.components.Table)1 ComponentsFactory (com.haulmont.cuba.gui.xml.layout.ComponentsFactory)1