Search in sources :

Example 6 with ITabPanel

use of com.servoy.j2db.ui.ITabPanel in project servoy-client by Servoy.

the class ComponentFactory method createComponent.

/**
 * Create a component
 *
 * @param meta the definition
 * @param el the event listener such as action,mouse event listeners, can be null (Example:makes possible for button to call script)
 */
public static IComponent createComponent(IApplication application, Form form, IPersist meta, IDataProviderLookup dataProviderLookup, IScriptExecuter el, boolean printing) {
    IComponent c = createComponentEx(application, form, meta, dataProviderLookup, el, printing);
    // set groupID property
    if (meta instanceof IFormElement && ((IFormElement) meta).getGroupID() != null) {
        String groupId = ((IFormElement) meta).getGroupID();
        if (groupId != null) {
            setComponentProperty(application, c, GROUPID_COMPONENT_PROPERTY, groupId);
        }
    }
    // Extra call so that focusable is user set...
    if (c instanceof Component) {
        Component comp = (Component) c;
        if (comp.isFocusable())
            comp.setFocusable(true);
        OrientationApplier.setOrientationToAWTComponent(comp, application.getLocale(), application.getSolution().getTextOrientation());
    }
    int access = application.getFlattenedSolution().getSecurityAccess(meta.getUUID(), form.getImplicitSecurityNoRights() ? IRepository.IMPLICIT_FORM_NO_ACCESS : IRepository.IMPLICIT_FORM_ACCESS);
    if (access != -1) {
        boolean b_visible = ((access & IRepository.VIEWABLE) != 0);
        if (!b_visible) {
            if (c instanceof ISupportSecuritySettings) {
                ((ISupportSecuritySettings) c).setViewable(false);
            } else {
                c.setComponentVisible(false);
            }
        }
        if (c instanceof ISupportSecuritySettings) {
            boolean b_accessible = ((access & IRepository.ACCESSIBLE) != 0);
            if (!b_accessible)
                ((ISupportSecuritySettings) c).setAccessible(false);
        }
    }
    // special case requested by ayton (have own security interface)
    if (c instanceof ITabPanel && meta instanceof TabPanel) {
        try {
            int i = 0;
            Iterator<IPersist> it = ((TabPanel) meta).getTabs();
            while (it.hasNext()) {
                Tab t = (Tab) it.next();
                int access1 = application.getFlattenedSolution().getSecurityAccess(t.getUUID(), form.getImplicitSecurityNoRights() ? IRepository.IMPLICIT_FORM_NO_ACCESS : IRepository.IMPLICIT_FORM_ACCESS);
                if (access1 != -1) {
                    boolean b_accessible = ((access1 & IRepository.ACCESSIBLE) != 0);
                    boolean b_visible = ((access & IRepository.VIEWABLE) != 0);
                    if (!b_accessible || !b_visible)
                        ((ITabPanel) c).setTabEnabledAt(i, false);
                }
                i++;
            }
        } catch (Exception e) {
            Debug.error(e);
        }
    }
    return c;
}
Also used : ITabPanel(com.servoy.j2db.ui.ITabPanel) TabPanel(com.servoy.j2db.persistence.TabPanel) RuntimeTabPanel(com.servoy.j2db.ui.scripting.RuntimeTabPanel) IComponent(com.servoy.j2db.ui.IComponent) ITabPanel(com.servoy.j2db.ui.ITabPanel) JSONException(org.json.JSONException) IOException(java.io.IOException) RepositoryException(com.servoy.j2db.persistence.RepositoryException) IFormElement(com.servoy.j2db.persistence.IFormElement) Tab(com.servoy.j2db.persistence.Tab) IPersist(com.servoy.j2db.persistence.IPersist) IComponent(com.servoy.j2db.ui.IComponent) Component(java.awt.Component) AbstractRuntimeValuelistComponent(com.servoy.j2db.ui.scripting.AbstractRuntimeValuelistComponent) BaseComponent(com.servoy.j2db.persistence.BaseComponent) IFormatScriptComponent(com.servoy.j2db.ui.scripting.IFormatScriptComponent) IAnchoredComponent(com.servoy.j2db.ui.IAnchoredComponent) GraphicalComponent(com.servoy.j2db.persistence.GraphicalComponent) IFieldComponent(com.servoy.j2db.ui.IFieldComponent) WebComponent(com.servoy.j2db.persistence.WebComponent) IPortalComponent(com.servoy.j2db.ui.IPortalComponent) JComponent(javax.swing.JComponent) IRuntimeComponent(com.servoy.j2db.ui.runtime.IRuntimeComponent) ISupportSecuritySettings(com.servoy.j2db.ui.ISupportSecuritySettings)

Aggregations

ITabPanel (com.servoy.j2db.ui.ITabPanel)6 IComponent (com.servoy.j2db.ui.IComponent)3 IPersist (com.servoy.j2db.persistence.IPersist)2 RepositoryException (com.servoy.j2db.persistence.RepositoryException)2 Tab (com.servoy.j2db.persistence.Tab)2 IRuntimeComponent (com.servoy.j2db.ui.runtime.IRuntimeComponent)2 RuntimeTabPanel (com.servoy.j2db.ui.scripting.RuntimeTabPanel)2 Point (java.awt.Point)2 IOException (java.io.IOException)2 MarkupContainer (org.apache.wicket.MarkupContainer)2 JSONException (org.json.JSONException)2 IForm (com.servoy.j2db.IForm)1 BufferedDataSet (com.servoy.j2db.dataprocessing.BufferedDataSet)1 IDataSet (com.servoy.j2db.dataprocessing.IDataSet)1 JSDataSet (com.servoy.j2db.dataprocessing.JSDataSet)1 IServoyAwareBean (com.servoy.j2db.dataui.IServoyAwareBean)1 BaseComponent (com.servoy.j2db.persistence.BaseComponent)1 Form (com.servoy.j2db.persistence.Form)1 GraphicalComponent (com.servoy.j2db.persistence.GraphicalComponent)1 IFormElement (com.servoy.j2db.persistence.IFormElement)1