Search in sources :

Example 6 with ResourceBundle

use of org.pentaho.gwt.widgets.client.utils.i18n.ResourceBundle in project pentaho-platform by pentaho.

the class MantleController method init.

/**
 * Called when the Xul Dom is ready, grab all Xul references here.
 */
@Bindable
public void init() {
    // $NON-NLS-1$
    openBtn = (XulToolbarbutton) document.getElementById("openButton");
    // $NON-NLS-1$
    newBtn = (XulToolbarbutton) document.getElementById("newButton");
    // $NON-NLS-1$
    saveBtn = (XulToolbarbutton) document.getElementById("saveButton");
    // $NON-NLS-1$
    saveAsBtn = (XulToolbarbutton) document.getElementById("saveAsButton");
    printBtn = (XulToolbarbutton) document.getElementById("printButton");
    // $NON-NLS-1$
    contentEditBtn = (XulToolbarbutton) document.getElementById("editContentButton");
    bf = new GwtBindingFactory(document);
    // $NON-NLS-1$ //$NON-NLS-2$
    bf.createBinding(model, "saveEnabled", saveBtn, "visible");
    // $NON-NLS-1$ //$NON-NLS-2$
    bf.createBinding(model, "saveAsEnabled", saveAsBtn, "visible");
    // $NON-NLS-1$ //$NON-NLS-2$
    bf.createBinding(model, "contentEditEnabled", contentEditBtn, "visible");
    // $NON-NLS-1$ //$NON-NLS-2$
    bf.createBinding(model, "contentEditSelected", this, "editContentSelected");
    bf.createBinding(model, "printVisible", printBtn, "visible");
    // $NON-NLS-1$
    saveMenuItem = (XulMenuitem) document.getElementById("saveMenuItem");
    // $NON-NLS-1$
    saveAsMenuItem = (XulMenuitem) document.getElementById("saveAsMenuItem");
    // $NON-NLS-1$
    useDescriptionsMenuItem = (XulMenuitem) document.getElementById("useDescriptionsMenuItem");
    // $NON-NLS-1$
    showHiddenFilesMenuItem = (XulMenuitem) document.getElementById("showHiddenFilesMenuItem");
    // $NON-NLS-1$
    languageMenu = (XulMenubar) document.getElementById("languagemenu");
    // $NON-NLS-1$
    themesMenu = (XulMenubar) document.getElementById("themesmenu");
    // $NON-NLS-1$
    toolsMenu = (XulMenubar) document.getElementById("toolsmenu");
    // $NON-NLS-1$
    recentMenu = (XulMenubar) document.getElementById("recentmenu");
    // $NON-NLS-1$
    favoriteMenu = (XulMenubar) document.getElementById("favoritesmenu");
    if (PerspectiveManager.getInstance().isLoaded()) {
        PerspectiveManager.getInstance().enablePerspective(PerspectiveManager.OPENED_PERSPECTIVE, false);
    } else {
        EventBusUtil.EVENT_BUS.addHandler(PerspectivesLoadedEvent.TYPE, new PerspectivesLoadedEventHandler() {

            public void onPerspectivesLoaded(PerspectivesLoadedEvent event) {
                PerspectiveManager.getInstance().enablePerspective(PerspectiveManager.OPENED_PERSPECTIVE, false);
            }
        });
    }
    // install language sub-menus
    ResourceBundle resourceBundle = Messages.getResourceBundle();
    Map<String, String> supportedLanguages = resourceBundle.getSupportedLanguages();
    if (supportedLanguages != null && !supportedLanguages.isEmpty()) {
        String currentLanguage = resourceBundle.getLanguage();
        MenuBar langMenu = (MenuBar) languageMenu.getManagedObject();
        langMenu.insertSeparator(0);
        for (String lang : supportedLanguages.keySet()) {
            CheckBoxMenuItem langMenuItem = new CheckBoxMenuItem(supportedLanguages.get(lang), new SwitchLocaleCommand(lang));
            langMenuItem.getElement().setId(supportedLanguages.get(lang) + "_menu_item");
            langMenuItem.setChecked(lang.equalsIgnoreCase(currentLanguage));
            langMenu.insertItem(langMenuItem, 0);
        }
    }
    buildFavoritesAndRecent(false);
    UserSettingsManager.getInstance().getUserSettings(new AsyncCallback<JsArray<JsSetting>>() {

        public void onSuccess(JsArray<JsSetting> settings) {
            processSettings(settings);
        }

        public void onFailure(Throwable caught) {
        }
    }, false);
    EventBusUtil.EVENT_BUS.addHandler(UserSettingsLoadedEvent.TYPE, new UserSettingsLoadedEventHandler() {

        public void onUserSettingsLoaded(UserSettingsLoadedEvent event) {
            processSettings(event.getSettings());
        }
    });
    // install themes
    RequestBuilder getActiveThemeRequestBuilder = // $NON-NLS-1$
    new RequestBuilder(RequestBuilder.GET, GWT.getHostPageBaseURL() + "api/theme/active");
    try {
        getActiveThemeRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
        getActiveThemeRequestBuilder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable exception) {
            // showError(exception);
            }

            public void onResponseReceived(Request request, Response response) {
                final String activeTheme = response.getText();
                RequestBuilder getThemesRequestBuilder = // $NON-NLS-1$
                new RequestBuilder(RequestBuilder.GET, GWT.getHostPageBaseURL() + "api/theme/list");
                getThemesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                // $NON-NLS-1$ //$NON-NLS-2$
                getThemesRequestBuilder.setHeader(HTTP_REQUEST_ACCEPT_HEADER, JSON_REQUEST_HEADER);
                try {
                    getThemesRequestBuilder.sendRequest(null, new RequestCallback() {

                        public void onError(Request arg0, Throwable arg1) {
                        }

                        public void onResponseReceived(Request request, Response response) {
                            try {
                                // $NON-NLS-1$
                                final String url = GWT.getHostPageBaseURL() + "api/repo/files/canAdminister";
                                RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);
                                requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
                                // $NON-NLS-1$ //$NON-NLS-2$
                                requestBuilder.setHeader(HTTP_REQUEST_ACCEPT_HEADER, "text/plain");
                                requestBuilder.sendRequest(null, new RequestCallback() {

                                    public void onError(Request request, Throwable caught) {
                                    }

                                    public void onResponseReceived(Request request, Response response) {
                                        // $NON-NLS-1$
                                        toolsMenu.setVisible("true".equalsIgnoreCase(response.getText()));
                                        // $NON-NLS-1$
                                        showHiddenFilesMenuItem.setVisible("true".equalsIgnoreCase(response.getText()));
                                    }
                                });
                            } catch (RequestException e) {
                                Window.alert(e.getMessage());
                            }
                            JsArray<JsTheme> themes = JsTheme.getThemes(JsonUtils.escapeJsonForEval(response.getText()));
                            for (int i = 0; i < themes.length(); i++) {
                                JsTheme theme = themes.get(i);
                                PentahoMenuItem themeMenuItem = new PentahoMenuItem(theme.getName(), new SwitchThemeCommand(theme.getId()));
                                // $NON-NLS-1$
                                themeMenuItem.getElement().setId(theme.getId() + "_menu_item");
                                themeMenuItem.setChecked(theme.getId().equals(activeTheme));
                                ((MenuBar) themesMenu.getManagedObject()).addItem(themeMenuItem);
                            }
                            // $NON-NLS-1$ //$NON-NLS-2$
                            bf.createBinding(model, "saveEnabled", saveMenuItem, "!disabled");
                            // $NON-NLS-1$ //$NON-NLS-2$
                            bf.createBinding(model, "saveAsEnabled", saveAsMenuItem, "!disabled");
                            if (PerspectiveManager.getInstance().isLoaded()) {
                                executeAdminContent();
                            } else {
                                EventBusUtil.EVENT_BUS.addHandler(PerspectivesLoadedEvent.TYPE, new PerspectivesLoadedEventHandler() {

                                    public void onPerspectivesLoaded(PerspectivesLoadedEvent event) {
                                        executeAdminContent();
                                    }
                                });
                            }
                            setupNativeHooks(MantleController.this);
                        }
                    });
                } catch (RequestException e) {
                // showError(e);
                }
            }
        });
    } catch (RequestException e) {
        Window.alert(e.getMessage());
    // showError(e);
    }
}
Also used : PentahoMenuItem(org.pentaho.gwt.widgets.client.menuitem.PentahoMenuItem) CheckBoxMenuItem(org.pentaho.gwt.widgets.client.menuitem.CheckBoxMenuItem) RequestBuilder(com.google.gwt.http.client.RequestBuilder) UserSettingsLoadedEvent(org.pentaho.mantle.client.events.UserSettingsLoadedEvent) MenuBar(com.google.gwt.user.client.ui.MenuBar) RequestException(com.google.gwt.http.client.RequestException) SwitchLocaleCommand(org.pentaho.mantle.client.commands.SwitchLocaleCommand) UserSettingsLoadedEventHandler(org.pentaho.mantle.client.events.UserSettingsLoadedEventHandler) JsSetting(org.pentaho.mantle.client.usersettings.JsSetting) JsArray(com.google.gwt.core.client.JsArray) PerspectivesLoadedEventHandler(org.pentaho.mantle.client.events.PerspectivesLoadedEventHandler) Request(com.google.gwt.http.client.Request) Response(com.google.gwt.http.client.Response) SwitchThemeCommand(org.pentaho.mantle.client.commands.SwitchThemeCommand) PerspectivesLoadedEvent(org.pentaho.mantle.client.events.PerspectivesLoadedEvent) RequestCallback(com.google.gwt.http.client.RequestCallback) GwtBindingFactory(org.pentaho.ui.xul.gwt.binding.GwtBindingFactory) ResourceBundle(org.pentaho.gwt.widgets.client.utils.i18n.ResourceBundle) Bindable(org.pentaho.ui.xul.stereotype.Bindable)

Example 7 with ResourceBundle

use of org.pentaho.gwt.widgets.client.utils.i18n.ResourceBundle in project pentaho-platform by pentaho.

the class MantleEntryPoint method onModuleLoad.

/**
 * This is the entry point method.
 */
public void onModuleLoad() {
    ResourceBundle messages = new ResourceBundle();
    Messages.setResourceBundle(messages);
    messages.loadBundle(GWT.getModuleBaseURL() + "messages/", "mantleMessages", true, MantleEntryPoint.this);
}
Also used : ResourceBundle(org.pentaho.gwt.widgets.client.utils.i18n.ResourceBundle)

Example 8 with ResourceBundle

use of org.pentaho.gwt.widgets.client.utils.i18n.ResourceBundle in project data-access by pentaho.

the class EmbeddedWizard method xulLoaded.

/*
   * (non-Javadoc)
   * 
   * @see org.pentaho.ui.xul.gwt.util.IXulLoaderCallback#xulLoaded(org.pentaho.ui.xul.gwt.GwtXulRunner)
   */
public void xulLoaded(GwtXulRunner runner) {
    mainWizardContainer = runner.getXulDomContainers().get(0);
    Document rootDocument = mainWizardContainer.getDocumentRoot();
    BindingFactory bf = new GwtBindingFactory(rootDocument);
    ResourceBundle resBundle = (ResourceBundle) mainWizardContainer.getResourceBundles().get(0);
    datasourceMessages = new GwtDatasourceMessages();
    datasourceMessages.setMessageBundle(resBundle);
    MessageHandler.getInstance().setMessages(datasourceMessages);
    connectionController = new ConnectionController(rootDocument);
    connectionController.setDatasourceModel(datasourceModel);
    // connectionController.setService(connectionService);
    mainWizardContainer.addEventHandler(connectionController);
    summaryDialogController.setBindingFactory(bf);
    mainWizardContainer.addEventHandler(summaryDialogController);
    wizardController = new MainWizardController(bf, wizardModel, datasourceService);
    mainWizardContainer.addEventHandler(wizardController);
    dialog = (XulDialog) rootDocument.getElementById(WIZARD_DIALOG_ID);
    MessageHandler.getInstance().setWizardDialog(dialog);
    datasourceController = new WizardDatasourceController();
    datasourceController.setBindingFactory(bf);
    datasourceController.setDatasourceMessages(datasourceMessages);
    mainWizardContainer.addEventHandler(datasourceController);
    mainWizardContainer.addEventHandler(MessageHandler.getInstance());
    // add the steps ..
    // physicalStep = new RelationalPhysicalStep(datasourceService, connectionService, datasourceMessages, this);
    wizardController.addWizardListener(this);
    // Controller for the File Import functionality
    FileImportController fileImportController = new FileImportController(datasourceModel, datasourceMessages);
    mainWizardContainer.addEventHandler(fileImportController);
    // init other controllers
    fileImportController.init();
    MessageHandler.getInstance().init();
    summaryDialogController.init();
    // Create the gui
    try {
        // new WizardContentPanel(wizardController).addContent(mainWizardContainer);
        wizardController.init();
        initialized = true;
    } catch (Exception throwable) {
        throwable.printStackTrace();
    }
    // Remap the upload action in development mode
    if (GWT.isScript() == false) {
        // $NON-NLS-1$
        XulFileUpload upload = (XulFileUpload) rootDocument.getElementById("fileUpload");
        // $NON-NLS-1$
        upload.setAction(GWT.getModuleBaseURL() + "UploadService");
    }
    initialized = true;
    if (asyncConstructorListener != null) {
        asyncConstructorListener.asyncConstructorDone(this);
    }
}
Also used : FileImportController(org.pentaho.platform.dataaccess.datasource.wizard.controllers.FileImportController) XulFileUpload(org.pentaho.ui.xul.components.XulFileUpload) GwtBindingFactory(org.pentaho.ui.xul.gwt.binding.GwtBindingFactory) MainWizardController(org.pentaho.platform.dataaccess.datasource.wizard.controllers.MainWizardController) ResourceBundle(org.pentaho.gwt.widgets.client.utils.i18n.ResourceBundle) Document(org.pentaho.ui.xul.dom.Document) ConnectionController(org.pentaho.platform.dataaccess.datasource.wizard.controllers.ConnectionController) WizardDatasourceController(org.pentaho.platform.dataaccess.datasource.wizard.controllers.WizardDatasourceController) DatasourceServiceException(org.pentaho.platform.dataaccess.datasource.wizard.service.DatasourceServiceException) BindingFactory(org.pentaho.ui.xul.binding.BindingFactory) GwtBindingFactory(org.pentaho.ui.xul.gwt.binding.GwtBindingFactory)

Example 9 with ResourceBundle

use of org.pentaho.gwt.widgets.client.utils.i18n.ResourceBundle in project pentaho-platform by pentaho.

the class PerspectiveManager method loadResourceBundle.

private void loadResourceBundle(final HasText textWidget, final IPluginPerspective perspective) {
    try {
        String bundle = perspective.getResourceBundleUri();
        if (bundle == null) {
            return;
        }
        // $NON-NLS-1$
        String folder = "";
        String baseName = bundle;
        // we have to separate the folder from the base name
        if (bundle.indexOf(SEPARATOR) > -1) {
            folder = bundle.substring(0, bundle.lastIndexOf(SEPARATOR) + 1);
            baseName = bundle.substring(bundle.lastIndexOf(SEPARATOR) + 1);
        }
        // some may put the .properties on incorrectly
        if (baseName.contains(PROPERTIES_EXTENSION)) {
            baseName = baseName.substring(0, baseName.indexOf(PROPERTIES_EXTENSION));
        }
        // some may put the .properties on incorrectly
        if (baseName.contains(".properties")) {
            baseName = baseName.substring(0, baseName.indexOf(".properties"));
        }
        final ResourceBundle messageBundle = new ResourceBundle();
        messageBundle.loadBundle(folder, baseName, true, new IResourceBundleLoadCallback() {

            public void bundleLoaded(String arg0) {
                String title = ResourceBundleTranslator.translate(perspective.getTitle(), messageBundle);
                perspective.setTitle(title);
                textWidget.setText(title);
            }
        });
    } catch (Throwable t) {
        // $NON-NLS-1$
        Window.alert("Error loading message bundle: " + t.getMessage());
        t.printStackTrace();
    }
}
Also used : ResourceBundle(org.pentaho.gwt.widgets.client.utils.i18n.ResourceBundle) JsArrayString(com.google.gwt.core.client.JsArrayString) IResourceBundleLoadCallback(org.pentaho.gwt.widgets.client.utils.i18n.IResourceBundleLoadCallback)

Aggregations

ResourceBundle (org.pentaho.gwt.widgets.client.utils.i18n.ResourceBundle)9 GwtBindingFactory (org.pentaho.ui.xul.gwt.binding.GwtBindingFactory)6 BindingFactory (org.pentaho.ui.xul.binding.BindingFactory)5 GwtDatasourceMessages (org.pentaho.platform.dataaccess.datasource.wizard.GwtDatasourceMessages)3 GwtXulDomContainer (org.pentaho.ui.xul.gwt.GwtXulDomContainer)2 JsArray (com.google.gwt.core.client.JsArray)1 JsArrayString (com.google.gwt.core.client.JsArrayString)1 Request (com.google.gwt.http.client.Request)1 RequestBuilder (com.google.gwt.http.client.RequestBuilder)1 RequestCallback (com.google.gwt.http.client.RequestCallback)1 RequestException (com.google.gwt.http.client.RequestException)1 Response (com.google.gwt.http.client.Response)1 MenuBar (com.google.gwt.user.client.ui.MenuBar)1 ColResolverController (org.pentaho.agilebi.modeler.ColResolverController)1 IModelerWorkspaceHelper (org.pentaho.agilebi.modeler.IModelerWorkspaceHelper)1 ModelerController (org.pentaho.agilebi.modeler.ModelerController)1 ModelerException (org.pentaho.agilebi.modeler.ModelerException)1 GeoContext (org.pentaho.agilebi.modeler.geo.GeoContext)1 BogoPojo (org.pentaho.agilebi.modeler.gwt.BogoPojo)1 GwtModelerMessages (org.pentaho.agilebi.modeler.gwt.GwtModelerMessages)1