refs:3772: SAI - Create a github project importer
https://support.d4science.org/issues/3772 Added Wait Dialog git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/github-connector@129140 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
a5cd17254d
commit
4e2bb216a7
|
@ -22,7 +22,6 @@
|
||||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
|
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -13,7 +13,7 @@
|
||||||
<groupId>org.gcube.portlets.widgets</groupId>
|
<groupId>org.gcube.portlets.widgets</groupId>
|
||||||
<artifactId>github-connector</artifactId>
|
<artifactId>github-connector</artifactId>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
<packaging>war</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<description>github-connector</description>
|
<description>github-connector</description>
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ public class GitHubConnectorCredentialCard extends WizardCard {
|
||||||
// private DecoratorPanel decPanel;
|
// private DecoratorPanel decPanel;
|
||||||
|
|
||||||
public GitHubConnectorCredentialCard() {
|
public GitHubConnectorCredentialCard() {
|
||||||
super("Credential", "Select the credentials to use");
|
super("Credential", "Select the credentials to use[OAuth2 for big repository]");
|
||||||
tabPanel = new TabLayoutPanel(2.5, Unit.EM);
|
tabPanel = new TabLayoutPanel(2.5, Unit.EM);
|
||||||
tabPanel.setAnimationDuration(1000);
|
tabPanel.setAnimationDuration(1000);
|
||||||
tabPanel.setAnimationVertical(true);
|
tabPanel.setAnimationVertical(true);
|
||||||
|
|
|
@ -1,110 +0,0 @@
|
||||||
package org.gcube.portlets.widgets.githubconnector.client;
|
|
||||||
|
|
||||||
import com.google.gwt.core.shared.GWT;
|
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
|
||||||
import com.google.gwt.i18n.client.Constants;
|
|
||||||
import com.google.gwt.user.client.ui.Button;
|
|
||||||
import com.google.gwt.user.client.ui.DecoratorPanel;
|
|
||||||
import com.google.gwt.user.client.ui.DialogBox;
|
|
||||||
import com.google.gwt.user.client.ui.DockPanel;
|
|
||||||
import com.google.gwt.user.client.ui.FlexTable;
|
|
||||||
import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
|
|
||||||
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
|
|
||||||
import com.google.gwt.user.client.ui.Image;
|
|
||||||
import com.google.gwt.user.client.ui.PushButton;
|
|
||||||
import com.google.gwt.user.client.ui.TextBox;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author Giancarlo Panichi email: <a
|
|
||||||
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class GitHubConnectorDialog extends DialogBox implements ClickHandler {
|
|
||||||
|
|
||||||
public static interface GitHubConnectorDialogConstants extends Constants {
|
|
||||||
|
|
||||||
@DefaultStringValue("Owner:")
|
|
||||||
String gitCDecoratorPanelFormOwner();
|
|
||||||
|
|
||||||
@DefaultStringValue("Name:")
|
|
||||||
String gitCDecoratorPanelFormRepository();
|
|
||||||
|
|
||||||
@DefaultStringValue("Repository")
|
|
||||||
String gitCDecoratorPanelFormTitle();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An instance of the constants.
|
|
||||||
*/
|
|
||||||
private final GitHubConnectorDialogConstants gitHubConnectorDialogConstants = GWT
|
|
||||||
.create(GitHubConnectorDialogConstants.class);
|
|
||||||
|
|
||||||
public GitHubConnectorDialog() {
|
|
||||||
setText("GitHub Connector");
|
|
||||||
setGlassEnabled(true);
|
|
||||||
setAnimationEnabled(true);
|
|
||||||
|
|
||||||
ClickHandler searchRepositoryClickHandler=new ClickHandler() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(ClickEvent event) {
|
|
||||||
//TODO
|
|
||||||
|
|
||||||
}
|
|
||||||
};
|
|
||||||
PushButton searchRepository = new PushButton(new Image(), searchRepositoryClickHandler);
|
|
||||||
|
|
||||||
|
|
||||||
// Form
|
|
||||||
FlexTable layout = new FlexTable();
|
|
||||||
layout.setCellSpacing(10);
|
|
||||||
FlexCellFormatter cellFormatter = layout.getFlexCellFormatter();
|
|
||||||
|
|
||||||
// Add a title to the form
|
|
||||||
layout.setHTML(0, 0,
|
|
||||||
"<b>"+gitHubConnectorDialogConstants.gitCDecoratorPanelFormTitle()+"</b>");
|
|
||||||
cellFormatter.setColSpan(0, 0, 3);
|
|
||||||
cellFormatter.setHorizontalAlignment(0, 0,
|
|
||||||
HasHorizontalAlignment.ALIGN_CENTER);
|
|
||||||
|
|
||||||
// Add some standard form options
|
|
||||||
layout.setHTML(1, 0,
|
|
||||||
gitHubConnectorDialogConstants.gitCDecoratorPanelFormOwner());
|
|
||||||
layout.setWidget(1, 1, new TextBox());
|
|
||||||
layout.setWidget(1, 2, searchRepository);
|
|
||||||
|
|
||||||
layout.setHTML(2, 0, gitHubConnectorDialogConstants
|
|
||||||
.gitCDecoratorPanelFormRepository());
|
|
||||||
layout.setWidget(2, 1, new TextBox());
|
|
||||||
|
|
||||||
// Wrap the content in a DecoratorPanel
|
|
||||||
DecoratorPanel decPanel = new DecoratorPanel();
|
|
||||||
decPanel.setWidget(layout);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Button closeButton = new Button("Close", this);
|
|
||||||
|
|
||||||
/*HTML msg = new HTML(
|
|
||||||
"<center>A standard dialog box component.</center>", true);*/
|
|
||||||
|
|
||||||
DockPanel dock = new DockPanel();
|
|
||||||
dock.setSpacing(4);
|
|
||||||
|
|
||||||
dock.add(closeButton, DockPanel.SOUTH);
|
|
||||||
dock.add(decPanel, DockPanel.CENTER);
|
|
||||||
//dock.add(new HTML("images/yourImage.jpg"), DockPanel.CENTER);
|
|
||||||
|
|
||||||
dock.setCellHorizontalAlignment(closeButton, DockPanel.ALIGN_CENTER);
|
|
||||||
dock.setWidth("100%");
|
|
||||||
setWidget(dock);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(ClickEvent event) {
|
|
||||||
hide();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -9,8 +9,7 @@ import com.google.gwt.core.client.Scheduler.ScheduledCommand;
|
||||||
import com.google.gwt.core.shared.GWT;
|
import com.google.gwt.core.shared.GWT;
|
||||||
import com.google.gwt.user.client.Window.Location;
|
import com.google.gwt.user.client.Window.Location;
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
//import com.google.gwt.event.logical.shared.ResizeEvent;
|
|
||||||
//import com.google.gwt.event.logical.shared.ResizeHandler;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Entry point classes define <code>onModuleLoad()</code>.
|
* Entry point classes define <code>onModuleLoad()</code>.
|
||||||
|
@ -67,9 +66,6 @@ public class GitHubConnectorManager implements EntryPoint {
|
||||||
|
|
||||||
private void loadMainPanel() {
|
private void loadMainPanel() {
|
||||||
GWT.log("GitHubConnectorManager");
|
GWT.log("GitHubConnectorManager");
|
||||||
//TestController = new GitHubConnectorController();
|
|
||||||
//GitHubConnectorDialog dialog=new GitHubConnectorDialog();
|
|
||||||
//dialog.show();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
WizardWindow wizardWindow = new WizardWindow("TestWindow");
|
WizardWindow wizardWindow = new WizardWindow("TestWindow");
|
||||||
|
@ -83,10 +79,16 @@ public class GitHubConnectorManager implements EntryPoint {
|
||||||
wizardWindow.show();
|
wizardWindow.show();
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
GitHubConnectorWizard wizard=new GitHubConnectorWizard("0cfde9e2-a6f0-451f-a048-adbd42d7d57f");
|
GitHubConnectorWizard wizard=new GitHubConnectorWizard("0cfde9e2-a6f0-451f-a048-adbd42d7d57f");
|
||||||
wizard.show();
|
wizard.show();
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
WaitDialog progressDialog=new WaitDialog();
|
||||||
|
progressDialog.show();
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
private void bind() {
|
private void bind() {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import java.util.ArrayList;
|
||||||
import org.gcube.portlets.widgets.githubconnector.client.resource.GCResources;
|
import org.gcube.portlets.widgets.githubconnector.client.resource.GCResources;
|
||||||
import org.gcube.portlets.widgets.githubconnector.client.rpc.GitHubConnectorServiceAsync;
|
import org.gcube.portlets.widgets.githubconnector.client.rpc.GitHubConnectorServiceAsync;
|
||||||
import org.gcube.portlets.widgets.githubconnector.client.util.GWTMessages;
|
import org.gcube.portlets.widgets.githubconnector.client.util.GWTMessages;
|
||||||
|
import org.gcube.portlets.widgets.githubconnector.client.util.WaitDialog;
|
||||||
import org.gcube.portlets.widgets.githubconnector.client.wizard.WizardCard;
|
import org.gcube.portlets.widgets.githubconnector.client.wizard.WizardCard;
|
||||||
import org.gcube.portlets.widgets.githubconnector.shared.exception.ExpiredSessionServiceException;
|
import org.gcube.portlets.widgets.githubconnector.shared.exception.ExpiredSessionServiceException;
|
||||||
import org.gcube.portlets.widgets.githubconnector.shared.git.data.GitHubRepository;
|
import org.gcube.portlets.widgets.githubconnector.shared.git.data.GitHubRepository;
|
||||||
|
@ -87,6 +88,9 @@ public class GitHubConnectorRepositorySelectionCard extends WizardCard {
|
||||||
if (repOwner == null || repOwner.isEmpty()) {
|
if (repOwner == null || repOwner.isEmpty()) {
|
||||||
GWTMessages.alert("Attention", "Enter a owner!");
|
GWTMessages.alert("Attention", "Enter a owner!");
|
||||||
} else {
|
} else {
|
||||||
|
final WaitDialog waitDialog=new WaitDialog();
|
||||||
|
waitDialog.show();
|
||||||
|
|
||||||
final GitHubConnectorWizard wiz = (GitHubConnectorWizard) getWizardWindow();
|
final GitHubConnectorWizard wiz = (GitHubConnectorWizard) getWizardWindow();
|
||||||
GitHubConnectorServiceAsync.INSTANCE.getRepositories(repOwner, wiz
|
GitHubConnectorServiceAsync.INSTANCE.getRepositories(repOwner, wiz
|
||||||
.getGitHubCloneSession().getGitHubCredential(),
|
.getGitHubCloneSession().getGitHubCredential(),
|
||||||
|
@ -94,6 +98,7 @@ public class GitHubConnectorRepositorySelectionCard extends WizardCard {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
|
waitDialog.hide();
|
||||||
GWT.log("Error retrieving repositories: "
|
GWT.log("Error retrieving repositories: "
|
||||||
+ caught.getMessage());
|
+ caught.getMessage());
|
||||||
if (caught instanceof ExpiredSessionServiceException) {
|
if (caught instanceof ExpiredSessionServiceException) {
|
||||||
|
@ -112,6 +117,7 @@ public class GitHubConnectorRepositorySelectionCard extends WizardCard {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(
|
public void onSuccess(
|
||||||
ArrayList<GitHubRepository> repositories) {
|
ArrayList<GitHubRepository> repositories) {
|
||||||
|
waitDialog.hide();
|
||||||
repositoryName.clear();
|
repositoryName.clear();
|
||||||
for (GitHubRepository repository : repositories) {
|
for (GitHubRepository repository : repositories) {
|
||||||
repositoryName.addItem(repository.getName());
|
repositoryName.addItem(repository.getName());
|
||||||
|
@ -175,11 +181,15 @@ public class GitHubConnectorRepositorySelectionCard extends WizardCard {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void callCloneForRepository() {
|
private void callCloneForRepository() {
|
||||||
|
final WaitDialog waitDialog=new WaitDialog();
|
||||||
|
waitDialog.show();
|
||||||
|
|
||||||
final GitHubConnectorWizard wiz = (GitHubConnectorWizard) getWizardWindow();
|
final GitHubConnectorWizard wiz = (GitHubConnectorWizard) getWizardWindow();
|
||||||
GitHubConnectorServiceAsync.INSTANCE.cloneRepository(wiz.getGitHubCloneSession(), new AsyncCallback<Void>() {
|
GitHubConnectorServiceAsync.INSTANCE.cloneRepository(wiz.getGitHubCloneSession(), new AsyncCallback<Void>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(Throwable caught) {
|
public void onFailure(Throwable caught) {
|
||||||
|
waitDialog.hide();
|
||||||
GWT.log("Error in clone repository: "
|
GWT.log("Error in clone repository: "
|
||||||
+ caught.getMessage());
|
+ caught.getMessage());
|
||||||
if (caught instanceof ExpiredSessionServiceException) {
|
if (caught instanceof ExpiredSessionServiceException) {
|
||||||
|
@ -197,6 +207,7 @@ public class GitHubConnectorRepositorySelectionCard extends WizardCard {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(Void result) {
|
public void onSuccess(Void result) {
|
||||||
|
waitDialog.hide();
|
||||||
goNext();
|
goNext();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,3 +67,28 @@
|
||||||
.card-panel-content {
|
.card-panel-content {
|
||||||
margin: 6px;
|
margin: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Progress */
|
||||||
|
.progress-bar-container {
|
||||||
|
width: 100%;
|
||||||
|
height: 25px;
|
||||||
|
position: relative;
|
||||||
|
background-color: #f1f1f1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #a5a5a5;
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
line-height: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar-text {
|
||||||
|
text-align: center;
|
||||||
|
color: #2d2d2d;
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
|
@ -36,11 +36,20 @@ public interface WizardCSS extends CssResource {
|
||||||
|
|
||||||
@ClassName("wizard-tool-button-icon")
|
@ClassName("wizard-tool-button-icon")
|
||||||
public String getWizardToolButtonIcon();
|
public String getWizardToolButtonIcon();
|
||||||
|
|
||||||
@ClassName("card-panel")
|
@ClassName("card-panel")
|
||||||
public String getCardPanel();
|
public String getCardPanel();
|
||||||
|
|
||||||
@ClassName("card-panel-content")
|
@ClassName("card-panel-content")
|
||||||
public String getCardPanelContent();
|
public String getCardPanelContent();
|
||||||
|
|
||||||
|
@ClassName("progress-bar-container")
|
||||||
|
public String getProgressBarContainer();
|
||||||
|
|
||||||
|
@ClassName("progress-bar")
|
||||||
|
public String getProgressBar();
|
||||||
|
|
||||||
|
@ClassName("progress-bar-text")
|
||||||
|
public String getProgressBarText();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
package org.gcube.portlets.widgets.githubconnector.client.util;
|
|
||||||
|
|
||||||
import com.google.gwt.core.client.Callback;
|
|
||||||
import com.google.gwt.dom.client.Style.Unit;
|
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
|
||||||
import com.google.gwt.user.client.ui.Button;
|
|
||||||
import com.google.gwt.user.client.ui.DialogBox;
|
|
||||||
import com.google.gwt.user.client.ui.DockPanel;
|
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author Giancarlo Panichi email: <a
|
|
||||||
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class ProgressDialog extends DialogBox implements ClickHandler {
|
|
||||||
private Callback<Void, Void> callback;
|
|
||||||
protected HTML msg;
|
|
||||||
protected double msgMinWidth=200;
|
|
||||||
protected double msgMinHeight=30;
|
|
||||||
|
|
||||||
|
|
||||||
public ProgressDialog(String title, String text) {
|
|
||||||
init(title, text);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ProgressDialog(String title, String text, Callback<Void, Void> callback) {
|
|
||||||
init(title, text);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void init(String title, String text) {
|
|
||||||
setText(title);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Button closeButton = new Button("Close", this);
|
|
||||||
msg = new HTML(text, true);
|
|
||||||
msg.getElement().getStyle().setProperty("minWidth", msgMinWidth, Unit.PX);
|
|
||||||
msg.getElement().getStyle().setProperty("minHeight",msgMinHeight, Unit.PX);
|
|
||||||
|
|
||||||
DockPanel dock = new DockPanel();
|
|
||||||
dock.setSpacing(4);
|
|
||||||
|
|
||||||
|
|
||||||
dock.add(closeButton, DockPanel.SOUTH);
|
|
||||||
dock.add(msg, DockPanel.CENTER);
|
|
||||||
|
|
||||||
dock.setCellHorizontalAlignment(closeButton, DockPanel.ALIGN_CENTER);
|
|
||||||
dock.setWidth("100%");
|
|
||||||
setWidget(dock);
|
|
||||||
center();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(ClickEvent event) {
|
|
||||||
if(callback!=null){
|
|
||||||
callback.onSuccess(null);
|
|
||||||
}
|
|
||||||
hide();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,107 @@
|
||||||
|
package org.gcube.portlets.widgets.githubconnector.client.util;
|
||||||
|
|
||||||
|
import org.gcube.portlets.widgets.githubconnector.client.resource.GCResources;
|
||||||
|
|
||||||
|
import com.google.gwt.core.client.GWT;
|
||||||
|
import com.google.gwt.dom.client.Style.Unit;
|
||||||
|
import com.google.gwt.event.logical.shared.ResizeEvent;
|
||||||
|
import com.google.gwt.event.logical.shared.ResizeHandler;
|
||||||
|
import com.google.gwt.event.shared.HandlerRegistration;
|
||||||
|
import com.google.gwt.user.client.Timer;
|
||||||
|
import com.google.gwt.user.client.Window;
|
||||||
|
import com.google.gwt.user.client.ui.DialogBox;
|
||||||
|
import com.google.gwt.user.client.ui.HTML;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Giancarlo Panichi email: <a
|
||||||
|
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class WaitDialog extends DialogBox {
|
||||||
|
private HandlerRegistration resizeHandlerRegistration;
|
||||||
|
private HTML msg;
|
||||||
|
private String msgWidth = "200px";
|
||||||
|
private String msgHeight = "25px";
|
||||||
|
private Timer t;
|
||||||
|
|
||||||
|
public WaitDialog(){
|
||||||
|
init("Please Wait", "Working...");
|
||||||
|
}
|
||||||
|
|
||||||
|
public WaitDialog(String title, String text) {
|
||||||
|
init(title, text);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void init(String title, String text) {
|
||||||
|
GWT.log("WaitDialog:[title=" + title + ", text=" + text + "]");
|
||||||
|
GCResources.INSTANCE.wizardCSS().ensureInjected();
|
||||||
|
setModal(true);
|
||||||
|
setGlassEnabled(true);
|
||||||
|
initHandler();
|
||||||
|
setText(title);
|
||||||
|
|
||||||
|
msg = new HTML("<div class='"
|
||||||
|
+ GCResources.INSTANCE.wizardCSS().getProgressBarContainer()
|
||||||
|
+ "'>" + "<div class='"
|
||||||
|
+ GCResources.INSTANCE.wizardCSS().getProgressBar()
|
||||||
|
+ "' style='width:50%'></div>" + "<div class='"
|
||||||
|
+ GCResources.INSTANCE.wizardCSS().getProgressBarText() + "'>"
|
||||||
|
+ text + "</div>" + "</div><br>");
|
||||||
|
|
||||||
|
msg.setWidth(msgWidth);
|
||||||
|
msg.setHeight(msgHeight);
|
||||||
|
|
||||||
|
setWidget(msg);
|
||||||
|
center();
|
||||||
|
startTimer();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initHandler() {
|
||||||
|
resizeHandlerRegistration = Window
|
||||||
|
.addResizeHandler(new ResizeHandler() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResize(ResizeEvent event) {
|
||||||
|
center();
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void startTimer() {
|
||||||
|
t = new Timer() {
|
||||||
|
private int width = 0;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (width > 100) {
|
||||||
|
width = 0;
|
||||||
|
}
|
||||||
|
msg.getElement().getFirstChildElement().getFirstChildElement()
|
||||||
|
.getStyle().setWidth(width, Unit.PCT);
|
||||||
|
width += 10;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Schedule the timer to run once in 200 millseconds.
|
||||||
|
t.scheduleRepeating(400);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void stopTimer() {
|
||||||
|
t.cancel();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void hide() {
|
||||||
|
stopTimer();
|
||||||
|
if (resizeHandlerRegistration != null) {
|
||||||
|
resizeHandlerRegistration.removeHandler();
|
||||||
|
resizeHandlerRegistration = null;
|
||||||
|
}
|
||||||
|
super.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue