📄 mainframe.java
字号:
} private void removeEntityTimer(Timer t) { entityTimers.remove(t); } private void processFAEvents(Event event) { if(event == QFormElementView.Events.ENTITY_REFERANCE_RESOLVE_EVENT) { resolvingEntity = ((Boolean)event.getData()).booleanValue(); if(!resolvingEntity) { doFireEntityTimers(); } } else if(event == QFormElementView.Events.DATE_PARSE_EVENT) { parsingDate = ((Boolean)event.getData()).booleanValue(); if(!parsingDate) { doFireDateTimers(); } } else if(event == MainFrameFA.Events.TAB_INITIALIZED) { if(isReportDesignState) { mainFrameFA.setFormsState(FormState.REPORT_DESIGN_STATE); if(initialAdhocFormIndex != null) { enableAdhocForJoinable(initialAdhocFormIndex, mainFrameFA.getActiveFormIndex()); } } Events.TAB_INITIALIZED.setData(mainFrameFA.getActiveFormIndex()); getEventSource().fireEvent(Events.TAB_INITIALIZED); } else if (event == MainFrameFA.Events.FORM_NEW_BUTTON_EVENT) { QForm form = mainFrameFA.getActiveForm(); FamgMeta.Index formIndex = form.getModel().getIndex(); BusinessOperationStrategy strategy = factory.createStrategy(appMetaData.getFormID(formIndex)); strategy.createRecordProtorype(form.getModel().elementsValues()); } else if (event == MainFrameFA.Events.FORM_CHANGE_BUTTON_EVENT) { QForm form = mainFrameFA.getActiveForm(); FamgMeta.Index formIndex = form.getModel().getIndex(); Long rowID = form.getModel().getActiveRowID(); BusinessOperationStrategy strategy = factory.createStrategy(appMetaData.getFormID(formIndex)); strategy.lockAndEditRecord(rowID); } else if (event == MainFrameFA.Events.FORM_UPDATE_BUTTON_EVENT) { QForm form = mainFrameFA.getActiveForm(); FamgMeta.Index formIndex = form.getModel().getIndex(); if(resolvingEntity) { entityTimers.add(getSaveTimer(form, formIndex)); return; } if(parsingDate) { Timer t = getSaveTimer(form, formIndex); t.schedule(5000); //timeout dateTimers.add(t); } else { performSaveEvent(form, formIndex); } } else if (event == MainFrameFA.Events.FORM_CLEAR_BUTTON_EVENT) { QForm form = mainFrameFA.getActiveForm(); FamgMeta.Index formIndex = form.getModel().getIndex(); Long rowID = form.getModel().getActiveRowID(); if (rowID != null) { performUnlockAfterEditRequest(formIndex, rowID, appMetaData.getFormID(formIndex), true); } else { performClearExternalFields(formIndex); } dataInjector.onClearAction(appMetaData.getFamgMeta(formIndex)); } else if (event == MainFrameFA.Events.FORM_SEARCH_BUTTON_EVENT) { FamgMeta.Index formIndex = mainFrameFA.getActiveFormIndex(); if(resolvingEntity) { entityTimers.add(getSearchTimer(formIndex)); return; } if(parsingDate) { dateTimers.add(getSearchTimer(formIndex)); } else { performSearchEvent(formIndex); } } else if (event == MainFrameFA.Events.LINKED_FORM_SELECTION_EVENT) { String fieldId = (String) event.getData(); FamgMeta.Index srcIndex = mainFrameFA.getActiveFormIndex(); BusinessOperationStrategy strategy = factory.createStrategy(appMetaData.getFormID(srcIndex)); strategy.handleLinkEvent(fieldId); } else if (event == MainFrameFA.Events.FORM_CUSTOM_BUTTON) { String id = ((QButton.CustomButtonEventData)event.getData()).getButtonId(); FamgMeta.Index formIndex = mainFrameFA.getActiveFormIndex(); boolean isMyQueWebForm = appMetaData.getFamgMeta(formIndex).isMyQueWeb(); if (isMyQueWebForm) { FocusMeta.Index index = appMetaData.getIndexByID(id); if (index != null) { if (index instanceof FamgMeta.Index) { selectForm((FamgMeta.Index) index, true, event.isUserGenerated()); } else if (index instanceof TabMeta.Index) { selectTab((TabMeta.Index) index, event.isUserGenerated()); } else if (index instanceof SubFocusMeta.Index) { selectSubFocus((SubFocusMeta.Index) index, event.isUserGenerated()); } else { selectFocus(index, event.isUserGenerated()); } } } else if(id != null) { BusinessOperationStrategy strategy = factory.createStrategy(appMetaData.getFormID(formIndex)); strategy.handleCustomButtonEvent(id); } } else if (event == MainFrameFA.Events.FORM_CONTROL_NEED_MORE_DATA_EVENT) { FamgMeta.Index formIndex = mainFrameFA.getActiveFormIndex(); FieldDataRequest data = (FieldDataRequest) event.getData(); BusinessOperationStrategy strategy = factory.createStrategy(appMetaData.getFormID(formIndex)); strategy.handleControlDataRequest(data); } else if(event == QFormController.Events.FORM_ELEMENT_REPORT_DESIGN_EVENT) { Index formIndex = mainFrameFA.getActiveForm().getModel().getIndex(); QForm form = mainFrameFA.getForm(formIndex); FieldMeta fieldMeta = (FieldMeta) event.getData(); int adhocData = form.getView().getAdhocControlState(fieldMeta.getFieldID()); if(adhocEvent == null) { adhocEvent = new AdhocData(); } adhocEvent.setElementDesignReportData(adhocData); adhocEvent.setFormIndex(formIndex); adhocEvent.setFieldSent(fieldMeta); Events.MAINFRAME_REPORT_DESIGN.setData(adhocEvent); eventSource.fireEvent(Events.MAINFRAME_REPORT_DESIGN); } else if (event == MainFrameFA.Events.FORM_SELECTION_REQUESTED_EVENT) { FamgMeta.Index index = (FamgMeta.Index) event.getData(); selectForm(index, false); } else if (event == MainFrameFA.Events.FORM_ACTIVATED) { //add here events that should be performed when form is activated. selectForm(mainFrameFA.getActiveFormIndex(), false); } else if (event == MainFrameFA.Events.TAB_SELECTED_EVENT) { TabMeta.Index index = (TabMeta.Index) event.getData(); selectTab(index, event.isUserGenerated()); } else if (event == MainFrameFA.Events.SUBFOCUS_SELECTED_EVENT) { selectSubFocus(mainFrameFA.getActiveFormIndex(), event.isUserGenerated()); } else if (event == MainFrameFA.Events.FOCUS_SELECTED_EVENT) { selectFocus(mainFrameFA.getActiveFormIndex(), event.isUserGenerated()); } else if (event == QChartController.Events.CHART_REQUEST_DATA_EVENT) { requestChartData((QChartModel) event.getData()); } else if (event == QChartController.Events.CHART_DRILLDOWN_CLICK_EVENT) { processChartDrilldownClick((QChartController.ChartDrilldownClickEventData) event.getData()); } } private void requestChartData(QChartModel chartModel){ ChartRequestObject request = new ChartRequestObject(chartModel.getMeta()); RPC.getRPC().buildChart(request, new BuildChartAsyncCallback(chartModel)); } private void processChartDrilldownClick(QChartController.ChartDrilldownClickEventData data){ MetaData metaData = getMetaData(); FamgMeta.Index formIdx = (FamgMeta.Index) metaData.getIndexByID(data.getFormId()); activateForm(formIdx); clearForm(formIdx, false); FamgMeta famgMeta = metaData.getFamgMeta(formIdx); List externalForms = famgMeta.getForm().getExternalForms(); for(int i = 0; i < externalForms.size(); i++){ clearForm((FamgMeta.Index) externalForms.get(i), false); } String[] formIds = data.getFilterFormIds(); for (int i = 0; i < formIds.length; i++) { String formId = formIds[i]; setFormData(data.getFilters(formId), null, (FamgMeta.Index) metaData.getIndexByID(formId), false); } performOperation(OperationTypes.SEARCH_RECORDS, formIdx); } private void performSaveEvent(QForm form, FamgMeta.Index formIndex) { Long rowID = form.getModel().getActiveRowID(); Collection data = form.getModel().elementsValues(); BusinessOperationStrategy strategy = factory.createStrategy(appMetaData.getFormID(formIndex)); if(form.getModel().getFormState() == FormState.NEW_STATE) { strategy.insertRecord(rowID, data); } else { strategy.updateRecord(rowID, data); } } private Timer getSaveTimer(final QForm form, final FamgMeta.Index formIndex) { return new Timer() { public void run() { if(!parsingDate) { performSaveEvent(form, formIndex); } removeDateTimer(this); } }; } private Timer getSearchTimer(final FamgMeta.Index formIndex) { Timer t = new Timer() { public void run() { if(!resolvingEntity) { performSearchEvent(formIndex); } removeEntityTimer(this); } }; t.schedule(5000); //timeout for entity resolving return t; } private void performSearchEvent(FamgMeta.Index formIndex) { saveLastSearchData(formIndex); performSearchRecordsRequest(formIndex, false); } private void performClearExternalFields(FamgMeta.Index formIndex) { ClearEntityRequestObject request = new ClearEntityRequestObject(appMetaData.getFormID(formIndex)); ClearEntityAsyncCallback callback = new ClearEntityAsyncCallback(formIndex); RPC.getRPC().clearEntity(request, callback); } private void saveLastSearchData(FamgMeta.Index formIndex) { lastSearchFormIndex = formIndex; QForm baseForm = mainFrameFA.getForm(formIndex); Collection fieldsData = baseForm.getModel().getNonEmptyFilters(); //todo refactor last searched should be accumulated lastSearchFieldData = new FieldData[fieldsData.size()]; int i = 0; for (Iterator iterator = fieldsData.iterator(); iterator.hasNext(); i++) { lastSearchFieldData[i] = ((FieldData) iterator.next()).cloneData(); } } private void processDeleteEvent(FamgMeta.Index formIndex) { boolean hasDeleteAction = mainFrameFA.getActiveForm().getModel().getContextMenuMeta().contains(ContextMenuMeta.DELETE_ITEM_ID); if (!hasDeleteAction) { DialogHelper.showModalMessageDialog(I18N.getMessages().noPermissionsToDeleteRecord()); return; } QGrid grid = mainFrameGA.getGrid(formIndex); List rowsToDelete = grid.getController().getMarkedRecordsIds(); if (rowsToDelete.size() > 0) { int answer = DialogHelper.showModalQuestionDialog(I18N.getMessages().deleteRecordWarning()); if (answer == DialogHelper.YES) { BusinessOperationStrategy strategy = factory.createStrategy(appMetaData.getFormID(formIndex)); strategy.deleteRecord(rowsToDelete); } } } private void processLocalSearch(FamgMeta.Index formIndex) { saveLastSearchData(formIndex); performSearchRecordsRequest(formIndex, true); } private boolean processCommonEvents(Event event) { if ((event == MainFrameFA.Events.FORM_MENU_ITEM) || (event == MainFrameSA.Events.SHORTCUT_MENU_ITEM)) { String data = /*]/*[*/(String)/*]*[*//*]/[*/ event.getData(); FamgMeta.Index formIndex = mainFrameFA.getActiveFormIndex(); if (ContextMenuMeta.LOCALSEARCH_ITEM_ID.equalsIgnoreCase(data)) { processLocalSearch(formIndex); } else if (ContextMenuMeta.DELETE_ITEM_ID.equalsIgnoreCase(data)) { processDeleteEvent(formIndex); } else { BusinessOperationStrategy strategy = factory.createStrategy(appMetaData.getFormID(formIndex)); strategy.handleCustomMenuEvent(data); } } else { return false; } return true; } private EmailComposeDialog emailDialog; private void processSAEvents(Event event) { if(event == MainFrameSA.Events.E_MAIL) { if(emailDialog == null) { emailDialog = new EmailComposeDialog(appMetaData.getUserProfile().getEmail()); } emailDialog.show(); } else if(event == MainFrameSA.Events.ABOUT) { AboutFrame aboutFrame = getAboutFrame(); int left = (getOffsetWidth() - aboutFrame.getOffsetWidth()) / 2; int top = (getOffsetHeight() - aboutFrame.getOffsetHeight()) / 2; aboutFrame.show(left, top); } else if (event == MainFrameSA.Events.HELP) { WindowHelper.openWindow(performHelpCallEvent()); } else if(event == MainFrameSA.Events.REPORT_DESIGNER) { eventSource.fireEvent(Events.SELECT_ADHOCFRAME); } else if (event == MainFrameSA.Events.BACK) { History.back(); } else if (event == MainFrameSA.Events.FORWARD) { History.forward(); } else if (event == MainFrameSA.Events.FOCUS_SELECTED) { FocusMeta.Index index = (FocusMeta.Index) event.getData(); selectFocus(index, event.isUserGenerated()); } else if (event == MainFrameSA.Events.SUBFOCUS_SELECTED) { SubFocusMeta.Index index = (SubFocusMeta.Index) event.getData(); selectSubFocus(index, event.isUserGenerated()); } else if (event == MainFrameSA.Events.TAB_SELECTED) { TabMeta.Index index = (TabMeta.Index) event.getData(); selectTab(index, event.isUserGenerated()); } else if (event == MainFrameSA.Events.FORM_SELECTED) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -