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();
}
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);
}
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);
}
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);
}
}
}
}
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;
}
Aggregations