⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainframe.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    }    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 + -