Search in sources :

Example 16 with Component

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

the class DesktopTabSheet method removeAllTabs.

@Override
public void removeAllTabs() {
    impl.removeAll();
    List<Component> innerComponents = new ArrayList<>(components.keySet());
    components.clear();
    for (Component component : innerComponents) {
        DesktopContainerHelper.assignContainer(component, null);
        if (component instanceof DesktopAbstractComponent && !isEnabledWithParent()) {
            ((DesktopAbstractComponent) component).setParentEnabled(true);
        }
        component.setParent(null);
    }
}
Also used : ButtonTabComponent(com.haulmont.cuba.desktop.sys.ButtonTabComponent) Component(com.haulmont.cuba.gui.components.Component)

Example 17 with Component

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

the class DesktopTabSheet method updateEnabled.

@Override
public void updateEnabled() {
    super.updateEnabled();
    for (Component component : components.keySet()) {
        if (component instanceof DesktopAbstractComponent) {
            JComponent composition = DesktopComponentsHelper.getComposition(component);
            TabImpl tab = tabContents.get(composition);
            ((DesktopAbstractComponent) component).setParentEnabled(tab.isEnabled() && isEnabledWithParent());
        }
    }
}
Also used : ButtonTabComponent(com.haulmont.cuba.desktop.sys.ButtonTabComponent) Component(com.haulmont.cuba.gui.components.Component)

Example 18 with Component

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

the class DesktopTabSheet method removeTab.

@Override
public void removeTab(String name) {
    TabImpl tab = getTabImpl(name);
    Component component = tab.getComponent();
    components.remove(component);
    impl.remove(DesktopComponentsHelper.getComposition(component));
    DesktopContainerHelper.assignContainer(component, null);
    if (component instanceof DesktopAbstractComponent && !isEnabledWithParent()) {
        ((DesktopAbstractComponent) component).setParentEnabled(true);
    }
    component.setParent(null);
}
Also used : ButtonTabComponent(com.haulmont.cuba.desktop.sys.ButtonTabComponent) Component(com.haulmont.cuba.gui.components.Component)

Example 19 with Component

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

the class DesktopTabSheet method initLazyTab.

protected void initLazyTab(JComponent tab) {
    LazyTabInfo lti = null;
    for (LazyTabInfo lazyTabInfo : lazyTabs) {
        if (lazyTabInfo.getTabComponent() == tab) {
            lti = lazyTabInfo;
            break;
        }
    }
    if (lti == null) {
        // already initialized
        return;
    }
    if (!lti.getTab().isEnabled()) {
        return;
    }
    lazyTabs.remove(lti);
    lti.loader.createComponent();
    Component lazyContent = lti.loader.getResultComponent();
    lazyContent.setWidth("100%");
    lti.tabContent.add(lazyContent);
    lti.tabContent.expand(lazyContent, "", "");
    lazyContent.setParent(this);
    lti.loader.loadComponent();
    if (lazyContent instanceof DesktopAbstractComponent && !isEnabledWithParent()) {
        ((DesktopAbstractComponent) lazyContent).setParentEnabled(false);
    }
    final Window window = ComponentsHelper.getWindow(DesktopTabSheet.this);
    if (window != null) {
        ComponentsHelper.walkComponents(lti.tabContent, (component, name) -> {
            if (component instanceof HasSettings) {
                Settings settings = window.getSettings();
                if (settings != null) {
                    Element e = settings.get(name);
                    ((HasSettings) component).applySettings(e);
                }
            }
        });
        lti.getTab().setLazyInitialized(true);
    }
}
Also used : Window(com.haulmont.cuba.gui.components.Window) Element(org.dom4j.Element) ButtonTabComponent(com.haulmont.cuba.desktop.sys.ButtonTabComponent) Component(com.haulmont.cuba.gui.components.Component) Settings(com.haulmont.cuba.gui.settings.Settings)

Example 20 with Component

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

the class DesktopTabSheet method setSelectedTab.

@Override
public void setSelectedTab(Tab tab) {
    Component component = ((TabImpl) tab).getComponent();
    impl.setSelectedComponent(DesktopComponentsHelper.getComposition(component));
}
Also used : ButtonTabComponent(com.haulmont.cuba.desktop.sys.ButtonTabComponent) Component(com.haulmont.cuba.gui.components.Component)

Aggregations

Component (com.haulmont.cuba.gui.components.Component)78 CollectionDatasource (com.haulmont.cuba.gui.data.CollectionDatasource)10 Datasource (com.haulmont.cuba.gui.data.Datasource)10 User (com.haulmont.cuba.security.entity.User)9 List (java.util.List)9 GuiDevelopmentException (com.haulmont.cuba.gui.GuiDevelopmentException)8 ArrayList (java.util.ArrayList)8 UUID (java.util.UUID)8 LookupPickerField (com.haulmont.cuba.gui.components.LookupPickerField)7 Group (com.haulmont.cuba.security.entity.Group)7 Assert.assertEquals (org.junit.Assert.assertEquals)7 Assert.assertNotNull (org.junit.Assert.assertNotNull)7 Assert.assertTrue (org.junit.Assert.assertTrue)7 Ignore (org.junit.Ignore)7 Test (org.junit.Test)7 Element (org.dom4j.Element)6 ButtonTabComponent (com.haulmont.cuba.desktop.sys.ButtonTabComponent)5 AbstractAction (com.haulmont.cuba.gui.components.AbstractAction)5 Frame (com.haulmont.cuba.gui.components.Frame)4 AbstractComponent (com.vaadin.ui.AbstractComponent)4