Search in sources :

Example 86 with Form

use of com.servoy.j2db.persistence.Form in project servoy-client by Servoy.

the class TabSequenceHelper method fromAbstractToNamed.

public void fromAbstractToNamed() {
    T tableViewToInsert = null;
    int largestIndexBeforeBody = -1;
    T lastComponentBeforeBody = null;
    LinkedHashMap<T, String> componentGroupsByTabIndex = new LinkedHashMap<T, String>();
    FormController fc = runtimeContainer.getController();
    Form f = fc.getForm();
    Iterator<Part> parts = f.getParts();
    while (parts.hasNext()) {
        Part p = parts.next();
        IDataRenderer dataRenderer = fc.getDataRenderers()[p.getPartType()];
        if (dataRenderer != null) {
            // Later we will insert it in the tab sequence.
            if ((fc.getViewComponent() instanceof IProvideTabSequence) && (p.getPartType() == Part.BODY)) {
                tableViewToInsert = (T) dataRenderer;
            } else {
                SortedMap<ISupportTabSeq, T> dataRendererComponents = abstractTabSequence.get(dataRenderer);
                if (dataRendererComponents != null) {
                    for (ISupportTabSeq supportTabSeq : dataRendererComponents.keySet()) {
                        if (supportTabSeq.getTabSeq() >= 0) {
                            T next = dataRendererComponents.get(supportTabSeq);
                            String name = null;
                            if (supportTabSeq instanceof ISupportName)
                                name = ((ISupportName) supportTabSeq).getName();
                            componentGroupsByTabIndex.put(next, name);
                            if ((p.getPartType() == Part.HEADER) || (p.getPartType() == Part.TITLE_HEADER) || (p.getPartType() == Part.LEADING_GRAND_SUMMARY)) {
                                if (supportTabSeq.getTabSeq() >= largestIndexBeforeBody) {
                                    lastComponentBeforeBody = next;
                                    largestIndexBeforeBody = supportTabSeq.getTabSeq();
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    componentsToNames.clear();
    if ((lastComponentBeforeBody == null) && (tableViewToInsert != null))
        componentsToNames.put(tableViewToInsert, null);
    for (T o : componentGroupsByTabIndex.keySet()) {
        componentsToNames.put(o, componentGroupsByTabIndex.get(o));
        if ((tableViewToInsert != null) && (lastComponentBeforeBody != null) && (o.equals(lastComponentBeforeBody)))
            componentsToNames.put(tableViewToInsert, null);
    }
    revertComponentsToNames();
    fromNamedToRuntime();
}
Also used : FormController(com.servoy.j2db.FormController) Form(com.servoy.j2db.persistence.Form) ISupportName(com.servoy.j2db.persistence.ISupportName) ISupportTabSeq(com.servoy.j2db.persistence.ISupportTabSeq) LinkedHashMap(java.util.LinkedHashMap) IDataRenderer(com.servoy.j2db.ui.IDataRenderer) IProvideTabSequence(com.servoy.j2db.IProvideTabSequence) Part(com.servoy.j2db.persistence.Part)

Example 87 with Form

use of com.servoy.j2db.persistence.Form in project servoy-client by Servoy.

the class SwingFormManager method fillScriptMenu.

// fill the scripts menu
@Override
public void fillScriptMenu() {
    JMenu menu = getScriptMenu();
    // Remove old script methods.
    menu.removeAll();
    FlattenedSolution sol = getApplication().getFlattenedSolution();
    if (sol.getSolution() == null)
        return;
    List<ScriptMenuItem> globalMenus = new ArrayList<ScriptMenuItem>();
    int menuCount = 1;
    Iterator<ScriptMethod> globalMethods = sol.getScriptMethods(true);
    while (globalMethods.hasNext()) {
        ScriptMethod sm = globalMethods.next();
        ScriptMenuItem item = getScriptMenuItem(sm, new FunctionDefinition(ScriptVariable.SCOPES_DOT_PREFIX + sm.getScopeName(), sm.getName()), menuCount);
        if (item != null) {
            globalMenus.add(item);
            if (menuCount > 0 && menuCount < 9) {
                menuCount++;
            } else {
                menuCount = -1;
            }
            // just break after 50, doesn't make sense to have more in the menu..
            if (globalMenus.size() > 50)
                break;
        }
    }
    JMenu globalMenu = menu;
    if (// if big create sub menu for global methods
    globalMenus.size() > 20) {
        globalMenu = new JMenu(Messages.getString("servoy.formManager.menuGlobalMethods"));
        menu.add(globalMenu);
    }
    Iterator<ScriptMenuItem> it = globalMenus.iterator();
    while (it.hasNext()) {
        ScriptMenuItem item = it.next();
        globalMenu.add(item);
    }
    boolean insertSeparator = menu.getMenuComponentCount() > 0;
    FormController fp = getCurrentMainShowingFormController();
    if (fp != null) {
        int nformmethods = 0;
        Form form = fp.getForm();
        Iterator<ScriptMethod> formMethods = form.getScriptMethods(true);
        while (formMethods.hasNext()) {
            ScriptMethod sm = formMethods.next();
            ScriptMenuItem item = getScriptMenuItem(sm, new FunctionDefinition(form.getName(), sm.getName()), -1);
            if (item != null) {
                if (insertSeparator) {
                    menu.add(new JSeparator());
                    insertSeparator = false;
                }
                nformmethods++;
                menu.add(item);
            }
        }
        if (form.getDataSource() != null) {
            insertSeparator |= nformmethods > 0;
            Iterator<ScriptMethod> foundsetMethods = fp.getApplication().getFlattenedSolution().getFoundsetMethods(fp.getDataSource(), true);
            while (foundsetMethods.hasNext()) {
                ScriptMethod sm = foundsetMethods.next();
                ScriptMenuItem item = getScriptMenuItem(sm, new FunctionDefinition(form.getName(), sm.getName()), -1);
                if (item != null) {
                    if (insertSeparator) {
                        menu.add(new JSeparator());
                        insertSeparator = false;
                    }
                    menu.add(item);
                }
            }
        }
    }
    menu.setEnabled(menu.getMenuComponentCount() > 0);
}
Also used : FormController(com.servoy.j2db.FormController) BasicFormController(com.servoy.j2db.BasicFormController) ScriptMenuItem(com.servoy.j2db.smart.scripting.ScriptMenuItem) Form(com.servoy.j2db.persistence.Form) ArrayList(java.util.ArrayList) FlattenedSolution(com.servoy.j2db.FlattenedSolution) JSeparator(javax.swing.JSeparator) FunctionDefinition(com.servoy.j2db.scripting.FunctionDefinition) ScriptMethod(com.servoy.j2db.persistence.ScriptMethod) JMenu(javax.swing.JMenu)

Example 88 with Form

use of com.servoy.j2db.persistence.Form in project servoy-client by Servoy.

the class SwingFormManager method enableCmds.

/**
 * @param f
 */
@Override
public void enableCmds(boolean enable) {
    Form currentMainShowingForm = null;
    if (currentContainer != null) {
        // if (currentContainer != getMainContainer(null) ||
        if (currentContainer.getController() == null)
            return;
        currentMainShowingForm = currentContainer.getController().getForm();
    }
    if (enable && currentMainShowingForm == null)
        return;
    // see also CmdManager.ableFormRelatedDataEditActions - the actions that are not used in there
    boolean findMode = false;
    // but are in here should make use of findMode here - so as not to be enabled in find mode
    if (currentMainShowingForm != null)
        findMode = currentContainer.getController().isInFindMode();
    ICmdManager cm = getApplication().getCmdManager();
    Action a = null;
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmdnewrecord");
    if (a != null)
        a.setEnabled(enable && currentMainShowingForm.getOnNewRecordCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmdduplicaterecord");
    if (a != null)
        a.setEnabled(enable && currentMainShowingForm.getOnDuplicateRecordCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmddeleterecord");
    if (a != null)
        a.setEnabled(enable && currentMainShowingForm.getOnDeleteRecordCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmddeleteallrecord");
    if (a != null)
        a.setEnabled(enable && !findMode && currentMainShowingForm.getOnDeleteAllRecordsCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmdfindmode");
    if (a != null)
        a.setEnabled(enable && !findMode && currentMainShowingForm.getOnFindCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmdfindall");
    if (a != null)
        a.setEnabled(enable && currentMainShowingForm.getOnShowAllRecordsCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmdomitrecord");
    if (a != null)
        a.setEnabled(enable && !findMode && currentMainShowingForm.getOnOmitRecordCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmdshowomitrecords");
    if (a != null)
        a.setEnabled(enable && !findMode && currentMainShowingForm.getOnShowOmittedRecordsCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmdrevertrecords");
    if (a != null)
        a.setEnabled(enable && !findMode && currentMainShowingForm.getOnInvertRecordsCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmdpreviewmode");
    if (a != null)
        a.setEnabled(enable && !findMode && currentMainShowingForm.getOnPrintPreviewCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmdsort");
    if (a != null)
        a.setEnabled(enable && !findMode && currentMainShowingForm.getOnSortCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmdnextrecord");
    if (a != null)
        a.setEnabled(enable && currentMainShowingForm.getOnNextRecordCmdMethodID() >= 0);
    // $NON-NLS-1$
    a = cm.getRegisteredAction("cmdprevrecord");
    if (a != null)
        a.setEnabled(enable && currentMainShowingForm.getOnPreviousRecordCmdMethodID() >= 0);
}
Also used : Action(javax.swing.Action) MenuMethodsAction(com.servoy.j2db.smart.cmd.MenuMethodsAction) Form(com.servoy.j2db.persistence.Form) ICmdManager(com.servoy.j2db.cmd.ICmdManager)

Example 89 with Form

use of com.servoy.j2db.persistence.Form in project servoy-client by Servoy.

the class DataProviderEditor method setValue.

public void setValue(Object v) {
    value = (String) v;
    FormManager fm = (FormManager) application.getFormManager();
    FormController fc = fm.getCurrentMainShowingFormController();
    if (fc != null) {
        Form form = fc.getForm();
        if (form != null) {
            try {
                IDataProvider dp = application.getFlattenedSolution().getDataproviderLookup(null, form).getDataProvider(value);
                showDataEx(dp);
            } catch (Exception ex) {
                Debug.error(ex);
            }
        }
    }
}
Also used : FormController(com.servoy.j2db.FormController) FormManager(com.servoy.j2db.FormManager) Form(com.servoy.j2db.persistence.Form) IDataProvider(com.servoy.j2db.persistence.IDataProvider)

Example 90 with Form

use of com.servoy.j2db.persistence.Form in project servoy-client by Servoy.

the class DataRenderer method onDragOver.

public boolean onDragOver(JSDNDEvent event) {
    Form form = dragNdropController.getForm();
    int onDragOverID = form.getOnDragOverMethodID();
    if (onDragOverID > 0) {
        Object dragOverReturn = dragNdropController.executeFunction(Integer.toString(onDragOverID), new Object[] { event }, false, null, false, // $NON-NLS-1$
        "onDragOverMethodID");
        if (dragOverReturn instanceof Boolean)
            return ((Boolean) dragOverReturn).booleanValue();
    }
    return form.getOnDropMethodID() > 0;
}
Also used : Form(com.servoy.j2db.persistence.Form) Point(java.awt.Point)

Aggregations

Form (com.servoy.j2db.persistence.Form)146 FlattenedForm (com.servoy.j2db.persistence.FlattenedForm)35 ArrayList (java.util.ArrayList)32 Point (java.awt.Point)26 FlattenedSolution (com.servoy.j2db.FlattenedSolution)24 IPersist (com.servoy.j2db.persistence.IPersist)22 ISMForm (com.servoy.j2db.solutionmodel.ISMForm)20 JSONObject (org.json.JSONObject)20 Solution (com.servoy.j2db.persistence.Solution)16 Dimension (java.awt.Dimension)15 Part (com.servoy.j2db.persistence.Part)14 RepositoryException (com.servoy.j2db.persistence.RepositoryException)14 FormController (com.servoy.j2db.FormController)13 WebFormComponent (com.servoy.j2db.server.ngclient.WebFormComponent)12 IMobileSMForm (com.servoy.base.solutionmodel.mobile.IMobileSMForm)11 IForm (com.servoy.j2db.IForm)11 ScriptMethod (com.servoy.j2db.persistence.ScriptMethod)11 FormElement (com.servoy.j2db.server.ngclient.FormElement)11 HashMap (java.util.HashMap)11 JSFunction (org.mozilla.javascript.annotations.JSFunction)11