org.rstudio.studio.client.workbench.views.connections.ui.NewConnectionShinyPage.java Source code

Java tutorial

Introduction

Here is the source code for org.rstudio.studio.client.workbench.views.connections.ui.NewConnectionShinyPage.java

Source

/*
 * NewConnectionShinyPage.java
 *
 * Copyright (C) 2009-16 by RStudio, Inc.
 *
 * Unless you have received this program directly from RStudio pursuant
 * to the terms of a commercial license agreement with RStudio, then
 * this program is licensed to you under the terms of version 3 of the
 * GNU Affero General Public License. This program is distributed WITHOUT
 * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT,
 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the
 * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details.
 *
 */
package org.rstudio.studio.client.workbench.views.connections.ui;

import org.rstudio.core.client.StringUtil;
import org.rstudio.core.client.resources.ImageResourceUrl;
import org.rstudio.core.client.widget.ModalDialogBase;
import org.rstudio.core.client.widget.Operation;
import org.rstudio.core.client.widget.ProgressIndicator;
import org.rstudio.core.client.widget.WizardPage;
import org.rstudio.studio.client.common.HelpLink;
import org.rstudio.studio.client.workbench.views.connections.model.ConnectionOptions;
import org.rstudio.studio.client.workbench.views.connections.model.NewConnectionContext;
import org.rstudio.studio.client.workbench.views.connections.model.NewConnectionContext.NewConnectionInfo;

import com.google.gwt.safehtml.shared.SafeUri;
import com.google.gwt.user.client.ui.Widget;

public class NewConnectionShinyPage extends WizardPage<NewConnectionContext, ConnectionOptions> {
    public NewConnectionShinyPage(final NewConnectionInfo info) {
        super(info.getName(), "", info.getName() + " Connection",
                StringUtil.isNullOrEmpty(info.iconData()) ? null : new ImageResourceUrl(new SafeUri() {
                    @Override
                    public String asString() {
                        return info.iconData();
                    }
                }, 16, 16), null);
        info_ = info;
    }

    @Override
    public void focus() {
    }

    @Override
    public void onBeforeActivate(Operation operation, ModalDialogBase wizard) {
        contents_.onBeforeActivate(operation, info_);
    }

    @Override
    public void onActivate(ProgressIndicator indicator) {
    }

    @Override
    public void onDeactivate(Operation operation) {
        contents_.onDeactivate(operation);
    }

    @Override
    protected Widget createWidget() {
        contents_ = new NewConnectionShinyHost();

        return contents_;
    }

    @Override
    protected void initialize(NewConnectionContext initData) {
    }

    @Override
    public HelpLink getHelpLink() {
        if (StringUtil.isNullOrEmpty(info_.getHelp()))
            return null;

        return new HelpLink("Using " + info_.getName(), info_.getHelp(), false, false);
    }

    @Override
    protected ConnectionOptions collectInput() {
        return contents_.collectInput();
    }

    @Override
    protected String getWizardPageBackgroundStyle() {
        return NewConnectionWizard.RES.styles().newConnectionWizardBackground();
    }

    private NewConnectionShinyHost contents_;
    private NewConnectionInfo info_;
}