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

📄 application.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
     * Adds text to current status message in the application's status line     */    public static native String getStatus() /*-{        return $wnd.status;    }-*/;        /**     * Clears application's status line.     * Equivalent to showStatus(null) and showStatus("");     */    public static void clearStatus() {        setStatus("");    }        public static native String getUserAgent()/*-{        return $wnd.navigator.userAgent;    }-*/;        public static boolean isInternetExplorer() {        return getUserAgent().indexOf(BROWSER_MSIE) != -1;    }        public static boolean isFireFox() {        return getUserAgent().indexOf(BROWSER_FIREFOX) != -1;    }        private QFrame previousFrame;    public void selectFrame(int frameToSelect) {        //removing current frame        if(previousFrame != null) {            RootPanel.get().remove(previousFrame.getView());            previousFrame.disabled();        }        //selecting new frame        switch(frameToSelect) {            case Application.AD_HOC_REPORT_FRAME:                previousFrame = getAdhocReport();                break;            case Application.MAIN_FRAME:                previousFrame = mainFrameBuilder.getMainFrame();                break;            case Application.LOGIN_FRAME:                previousFrame = loginFrame;                break;        }        RootPanel.get().add(previousFrame.getView());        previousFrame.activated();    }        public String getFocusId(FamgMeta.Index index) {        return appMetaData.getFocuses()[index.focus].getFocusName();    }        public void onEvent(Event event, Widget sender) {        if(event == AdhocReportFrame.Events.REPORT_RUN) {            List filters = getAdhocContext().getAdhocFilters();            getAdhocReport().runReport(filters);        } else if(event == AdhocReportFrame.Events.EXPORT_GRID_EXCEL) {            List filters = getAdhocContext().getAdhocFilters();            getAdhocReport().exportGridToExcel(filters);        } else if(event == AdhocReportFrame.Events.EXPORT_GRID_WORD) {            List filters = getAdhocContext().getAdhocFilters();            getAdhocReport().exportGridToWord(filters);        } else if(event == AdhocReportFrame.Events.EXPORT_GRID_HTML) {            List filters = getAdhocContext().getAdhocFilters();            getAdhocReport().exportGridToHtml(filters);        } else if(event == AdhocReportFrame.Events.SAVE_REPORT) {            List filters = getAdhocContext().getAdhocFilters();            getAdhocReport().saveAdhocReport(filters);        } else if(event == AdhocReportFrame.Events.MAIN_FRAME) {            selectFrame(Application.MAIN_FRAME);        } else if(event == AdhocReportFrame.Events.ELEMENT_REMOVED_EVENT) {            AdhocData adhocData = ((AdhocData) event.getData());            if(getAdhocReport().reportElementsSize() == 0) {                getAdhocContext().enableAdhocForAllForms();            }            getAdhocContext().setAdhocElementOut(adhocData.getFieldSent().getFieldID(), adhocData.getFormIndex());        } else if(event == AdhocReportFrame.Events.REPORT_LOADED) {            loadReport((LoadReportResponseObject) event.getData());        } else  if (event == LoginFrame.Events.LOGIN) {            LoginFrame.LoginEventData eventData = /*]/*[*/(LoginFrame.LoginEventData)/*]*[*//*]/[*/ LoginFrame.Events.LOGIN.getData();            remoteLogin(eventData.login, eventData.password);        } else if (event == IMainFrame.Events.LOGOUT) {            remoteLogout();        } else if (event == IMainFrame.Events.SELECT_ADHOCFRAME) {            selectFrame(Application.AD_HOC_REPORT_FRAME);        } else if (event == IMainFrame.Events.MAINFRAME_REPORT_DESIGN) {            AdhocData eventData = ((AdhocData) event.getData());            invertControlState(eventData);        } else if (event == IMainFrame.Events.TAB_INITIALIZED) {            TabMeta.Index index = ((TabMeta.Index) event.getData());            List elements = getAdhocReport().getReportElements();            Set inReport = new HashSet();            for(int i = 0; i < elements.size(); i++) {                AdhocData data = (AdhocData) elements.get(i);                if(data.getFormIndex().equalsToIndex(index)) {                    inReport.add(data);                }            }            getAdhocContext().setAdhocData(inReport, index);        }    }    private AdhocOperations getAdhocContext() {        return mainFrameBuilder.getOperationContext().getAdhocOperations();    }    /**     * Invert control state to opposite one, and turn other forms controls to apropriate state if needed.     * @param eventData adhoc event data.     */    private void invertControlState(AdhocData eventData) {        if(eventData.getElementDesignReportData() == QFormElementModel.NOT_IN_REPORT) {            getAdhocReport().addReportElement(eventData);            if(getAdhocReport().reportElementsSize() == 1) {                getAdhocContext().enableAdhocForJoinable(eventData.getFormIndex());            }            getAdhocContext().setAdhocElementIn(eventData.getFieldSent().getFieldID(), eventData.getFormIndex());        } else {            getAdhocReport().removeReportElement(eventData);            if(getAdhocReport().reportElementsSize() == 0) {                getAdhocContext().enableAdhocForAllForms();            }            getAdhocContext().setAdhocElementOut(eventData.getFieldSent().getFieldID(), eventData.getFormIndex());        }    }    private void loadReport(LoadReportResponseObject resp) {        //set filters to mainframe        getAdhocContext().setFormsFilters(resp.getFilters(), true);        //create adhoc data elements for adhoc frame        List reportFields = resp.getReportFields();        List adhocElements = new ArrayList();        FamgMeta.Index indexToEnable = null;        for(int i = 0; i < reportFields.size(); i++) {            EntityElement element = (EntityElement) reportFields.get(i);            AdhocData data = getData(element);            if(data != null) {                adhocElements.add(data);                indexToEnable = data.getFormIndex();            }        }        //process those elements in adhoc frame. (removes selection from old adhoc elements from mainframe)        getAdhocReport().loadReport(resp.getReportName(), adhocElements);        //enable all joinable forms, disable all other. In order if we have bound graph it is enaught to use single element form to enable whole graph        getAdhocContext().enableAdhocForJoinable(indexToEnable);        //set loaded elements in mainframe        for(int i = 0; i < adhocElements.size(); i++) {            AdhocData data = (AdhocData) adhocElements.get(i);            FamgMeta.Index index = data.getFormIndex();            getAdhocContext().setAdhocElementIn(data.getFieldSent().getFieldID(), index);        }    }    private AdhocData getData(EntityElement element) {        FamgMeta.Index formIndex = (FamgMeta.Index) appMetaData.getIndexByID(element.getFormId());        if(formIndex == null) {            return null;        }        FamgMeta meta = appMetaData.getFamgMeta(formIndex);        FieldMeta fieldMeta = meta.getForm().getEntityMeta().getField(element.getElementId());        if(fieldMeta == null) {            return null;        }        fieldMeta.setCaption(element.getElementCaption());        return new AdhocData(formIndex, fieldMeta, 0);    }    private void remoteLogout() {        if (cancelLogout()) {            return;        }        UserSessionManager.logout();        setStatus("Request sent. Waiting for reply...");    }        private void initMainFrameBuilder(MetaData meta) {        initMainFrameBuilder();        mainFrameBuilder.initBuilder(meta);        getAdhocContext().getEventSource().addEventListener(this);    }    /**     * Initialize mainFrame builder only at once, because we don't need     * to re-create structure of the mainframe during re-login or any other     * user actions.     */    private void initMainFrameBuilder() {        if(mainFrameBuilder == null) {            mainFrameBuilder = createMainFrameBuilder();        }    }    /*public IMainFrame createMainFrame() { // can be overriden        return new MainFrame();    }*/        protected LoginFrame createLoginFrame() { // can be overriden        return new LoginFrame(isFireFox());    }        private boolean cancelLogout() {        if (! getAdhocContext().isInEditMode()) {            return false;        }        String confirmation = I18N.getMessages().applicationCloseConfirmationLong();        boolean ok = Window.confirm(confirmation);        return (! ok);    }    public void onLengthyTaskStart() {        WindowHelper.setApplicationBusyMouse(true);    }    public void onLengthyTaskEnd() {        WindowHelper.setApplicationBusyMouse(false);    }    public MainFrameBuilder createMainFrameBuilder() {        return new DefaultMainFrameBuilder();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -