From 233c381937c0d756a6c4661e3b1ca5c016d36c45 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Tue, 14 Jun 2016 16:43:39 +0000 Subject: [PATCH] refs:3772: SAI - Create a github project importer https://support.d4science.org/issues/3772 Added GitHubConnectorWizard git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/github-connector@129124 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/GitHubConnectorCredentialCard.java | 187 +++++++++++++ .../client/GitHubConnectorManager.java | 13 +- .../client/GitHubConnectorWizard.java | 30 +++ .../client/resource/GCResources.java | 53 ++-- .../client/resource/Wizard.css | 52 ++-- .../client/resource/WizardCSS.java | 42 +-- .../client/resource/accept.png | Bin 781 -> 0 bytes .../client/resource/arrow-refresh.png | Bin 984 -> 0 bytes .../client/resource/arrow-refresh_16.png | Bin 572 -> 0 bytes .../client/resource/arrow-refresh_32.png | Bin 1182 -> 0 bytes .../githubconnector/client/resource/error.png | Bin 701 -> 0 bytes .../client/resource/information.png | Bin 778 -> 0 bytes .../client/resource/loading.gif | Bin 771 -> 0 bytes .../client/resource/tool-button-close_20.png | Bin 0 -> 809 bytes .../client/resource/wizard-go.png | Bin 502 -> 0 bytes .../client/resource/wizard-go_24.png | Bin 0 -> 957 bytes .../client/resource/wizard-go_32.png | Bin 656 -> 0 bytes .../client/resource/wizard-next.png | Bin 474 -> 0 bytes .../client/resource/wizard-next_24.png | Bin 0 -> 1058 bytes .../client/resource/wizard-next_32.png | Bin 559 -> 0 bytes .../client/resource/wizard-previous.png | Bin 431 -> 0 bytes .../client/resource/wizard-previous_24.png | Bin 0 -> 1035 bytes .../client/resource/wizard-previous_32.png | Bin 573 -> 0 bytes .../client/wizard/WizardCard.java | 19 +- .../client/wizard/WizardWindow.java | 252 ++++++++++++------ 25 files changed, 481 insertions(+), 167 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorCredentialCard.java create mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorWizard.java delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/accept.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/arrow-refresh.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/arrow-refresh_16.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/arrow-refresh_32.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/error.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/information.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/loading.gif create mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/tool-button-close_20.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-go.png create mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-go_24.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-go_32.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-next.png create mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-next_24.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-next_32.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-previous.png create mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-previous_24.png delete mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-previous_32.png diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorCredentialCard.java b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorCredentialCard.java new file mode 100644 index 0000000..2e5b100 --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorCredentialCard.java @@ -0,0 +1,187 @@ +package org.gcube.portlets.widgets.githubconnector.client; + +import org.gcube.portlets.widgets.githubconnector.client.wizard.WizardCard; +import org.gcube.portlets.widgets.githubconnector.shared.git.credential.GitHubCredential; +import org.gcube.portlets.widgets.githubconnector.shared.git.credential.GitHubCredentialType; + +import com.google.gwt.core.shared.GWT; +import com.google.gwt.event.logical.shared.ValueChangeEvent; +import com.google.gwt.event.logical.shared.ValueChangeHandler; +import com.google.gwt.user.client.Command; +import com.google.gwt.user.client.ui.DecoratorPanel; +import com.google.gwt.user.client.ui.FlexTable; +import com.google.gwt.user.client.ui.HorizontalPanel; +import com.google.gwt.user.client.ui.RadioButton; +import com.google.gwt.user.client.ui.SimplePanel; +import com.google.gwt.user.client.ui.TextBox; + +public class GitHubConnectorCredentialCard extends WizardCard { + + private GitHubCredential gitHubCredential; + private GitHubCredentialType selected; + private SimplePanel simplePanel; + private FlexTable layout; + private TextBox userName; + private TextBox password; + private TextBox token; + //private DecoratorPanel decPanel; + + public GitHubConnectorCredentialCard() { + super("Credential", "Select the credentials to use"); + selected = GitHubCredentialType.Anonymous; + + simplePanel = new SimplePanel(); + // Form + layout = new FlexTable(); + layout.setCellSpacing(16); + + userName = new TextBox(); + password = new TextBox(); + token = new TextBox(); + + // Add some standard form options + HorizontalPanel hPanel = new HorizontalPanel(); + hPanel.setSpacing(10); + + for (GitHubCredentialType type : GitHubCredentialType.values()) { + + RadioButton radioButton = new RadioButton("credentialType", + type.getLabel()); + radioButton.getElement().setAttribute("itemId", type.name()); + radioButton.ensureDebugId("radioButton-credentialType-" + + type.name()); + radioButton + .addValueChangeHandler(new ValueChangeHandler() { + + @Override + public void onValueChange( + ValueChangeEvent event) { + if (event.getValue()) { + RadioButton radioButton = (RadioButton) event + .getSource(); + String selectedCredential = radioButton + .getElement().getAttribute("itemId"); + GWT.log("Selected Credential: " + + selectedCredential); + if (selectedCredential != null) { + selected = GitHubCredentialType + .valueOf(selectedCredential); + + if (selected != null) { + switch (selected) { + case Anonymous: + GWT.log("Anonymous"); + setAnonymous(); + break; + case Login: + GWT.log("Login"); + setLogin(); + break; + case OAuth2: + GWT.log("OAuth2"); + setOAuth2(); + break; + default: + GWT.log("OAuth2"); + setAnonymous(); + break; + } + } else { + selected = GitHubCredentialType.Anonymous; + setAnonymous(); + } + } + } + + } + }); + if (type.compareTo(GitHubCredentialType.Anonymous) == 0) { + radioButton.setValue(true); + } + + hPanel.add(radioButton); + } + + layout.setHTML(1, 0, "Type:"); + layout.setWidget(1, 1, hPanel); + + // Wrap the content in a DecoratorPanel + //decPanel = new DecoratorPanel(); + //decPanel.setWidget(layout); + + simplePanel.add(layout); + setContent(simplePanel); + + } + + private void setAnonymous() { + if (selected.compareTo(GitHubCredentialType.Anonymous) != 0) { + for (int i = 1; i <= layout.getRowCount(); i++) { + layout.removeRow(i); + } + } + + } + + private void setOAuth2() { + if (selected.compareTo(GitHubCredentialType.OAuth2) != 0) { + for (int i = 1; i <= layout.getRowCount(); i++) { + layout.removeRow(i); + } + layout.setHTML(2, 0, "Token:"); + layout.add(token); + + } + + } + + private void setLogin() { + if (selected.compareTo(GitHubCredentialType.Login) != 0) { + for (int i = 1; i <= layout.getRowCount(); i++) { + layout.removeRow(i); + } + layout.setHTML(2, 0, "User:"); + layout.add(userName); + + layout.setHTML(3, 0, "Password:"); + layout.add(password); + } + + } + + @Override + public void setup() { + Command sayNextCard = new Command() { + + public void execute() { + try { + GWT.log("NextCard"); + getWizardWindow().nextCard(); + } catch (Exception e) { + GWT.log("sayNextCard :" + e.getLocalizedMessage()); + } + } + + }; + + Command sayPreviousCard = new Command() { + public void execute() { + try { + GWT.log("PreviousCard"); + getWizardWindow().previousCard(); + } catch (Exception e) { + GWT.log("sayPreviousCard :" + e.getLocalizedMessage()); + } + } + }; + + getWizardWindow().setPreviousButtonCommand(sayPreviousCard); + getWizardWindow().setNextButtonCommand(sayNextCard); + + setEnableBackButton(false); + setBackButtonVisible(false); + setEnableNextButton(true); + setNextButtonVisible(true); + } + +} diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorManager.java b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorManager.java index f29d145..cd46e96 100644 --- a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorManager.java +++ b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorManager.java @@ -2,8 +2,6 @@ package org.gcube.portlets.widgets.githubconnector.client; import org.gcube.portlets.user.gcubewidgets.client.ClientScopeHelper; import org.gcube.portlets.widgets.githubconnector.client.util.GWTMessages; -import org.gcube.portlets.widgets.githubconnector.client.wizard.SimpleWizardCard; -import org.gcube.portlets.widgets.githubconnector.client.wizard.WizardWindow; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.Scheduler; @@ -73,15 +71,20 @@ public class GitHubConnectorManager implements EntryPoint { //GitHubConnectorDialog dialog=new GitHubConnectorDialog(); //dialog.show(); + /* WizardWindow wizardWindow = new WizardWindow("TestWindow"); - SimpleWizardCard simple1=new SimpleWizardCard("Test Title","Test Footer", "This is 1 card"); + SimpleWizardCard simple1=new SimpleWizardCard("Test Title 1","Test Footer 1", "This is 1 card"); wizardWindow.addCard(simple1); - SimpleWizardCard simple2=new SimpleWizardCard("Test Title","Test Footer", "This is 2 card"); + SimpleWizardCard simple2=new SimpleWizardCard("Test Title 2","Test Footer 2", "This is 2 card"); wizardWindow.addCard(simple2); - SimpleWizardCard simple3=new SimpleWizardCard("Test Title","Test Footer", "This is 3 card"); + SimpleWizardCard simple3=new SimpleWizardCard("Test Title 3","Test Footer 3", "This is 3 card"); wizardWindow.addCard(simple3); wizardWindow.show(); + */ + + GitHubConnectorWizard wizard=new GitHubConnectorWizard(); + wizard.show(); } diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorWizard.java b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorWizard.java new file mode 100644 index 0000000..e01fb13 --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/GitHubConnectorWizard.java @@ -0,0 +1,30 @@ +package org.gcube.portlets.widgets.githubconnector.client; + + +import org.gcube.portlets.widgets.githubconnector.client.wizard.WizardWindow; +import com.google.gwt.core.client.GWT; + +/** + * + * @author Giancarlo Panichi email: g.panichi@isti.cnr.it + * + */ +public class GitHubConnectorWizard extends WizardWindow { + + public GitHubConnectorWizard() { + super("GitHub Connector"); + GWT.log("GitHubConnectorWizard"); + create(); + } + + private void create() { + /*ApplyTableRuleSession applyTableRuleSession = new ApplyTableRuleSession(); + applyTableRuleSession.setTrId(trId);*/ + + GitHubConnectorCredentialCard CredentialCard = new GitHubConnectorCredentialCard(); + addCard(CredentialCard); + CredentialCard.setup(); + + } +} diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/GCResources.java b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/GCResources.java index 1bfdb49..af734dc 100644 --- a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/GCResources.java +++ b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/GCResources.java @@ -1,51 +1,32 @@ package org.gcube.portlets.widgets.githubconnector.client.resource; - import com.google.gwt.core.client.GWT; import com.google.gwt.resources.client.ClientBundle; import com.google.gwt.resources.client.ImageResource; /** * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it + * @author "Giancarlo Panichi" g.panichi@isti.cnr.it * */ public interface GCResources extends ClientBundle { - - public static final GCResources INSTANCE=GWT.create(GCResources.class); - + + public static final GCResources INSTANCE = GWT.create(GCResources.class); + @Source("Wizard.css") WizardCSS wizardCSS(); + + @Source("wizard-next_24.png") + ImageResource wizardNext24(); + + @Source("wizard-previous_24.png") + ImageResource wizardPrevious24(); + + @Source("wizard-go_24.png") + ImageResource wizardGo24(); - @Source("arrow-refresh.png") - ImageResource refresh(); - - @Source("arrow-refresh_16.png") - ImageResource refresh16(); - - - @Source("arrow-refresh_32.png") - ImageResource refresh32(); - - @Source("wizard-next.png") - ImageResource wizardNext(); - - @Source("wizard-next_32.png") - ImageResource wizardNext32(); - - @Source("wizard-previous.png") - ImageResource wizardPrevious(); - - @Source("wizard-previous_32.png") - ImageResource wizardPrevious32(); - - @Source("wizard-go.png") - ImageResource wizardGo(); - - @Source("wizard-go_32.png") - ImageResource wizardGo32(); - - + @Source("tool-button-close_20.png") + ImageResource toolButtonClose20(); + } - \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/Wizard.css b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/Wizard.css index 26f5957..5a7c35a 100644 --- a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/Wizard.css +++ b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/Wizard.css @@ -1,43 +1,57 @@ @CHARSET "UTF-8"; - -.wizard-title { +.wizard-card-title { padding: 5px; font-weight: bold; font-size: small; - background-color: #C3D9FF; + background-color: #f1f1f1; } -.wizard-footer { +.wizard-card-footer { padding: 5px; font-weight: bold; font-size: x-small; text-align: left; - background-color: #CDEB8B + background-color: #f1f1f1; } -.source-selection-hover:hover { - cursor: pointer; +.wizard-previous-button-text { + line-height: 24px; + vertical-align: middle; } - - -.column-excluded { - background-color: #e6e0da !important; - color: #bfa698; +.wizard-previous-button-icon { + vertical-align: middle; + float: left; } -.importSelection-sources { - padding: 30px; - display: block; - margin-top: 5px; +.wizard-next-button-text { + line-height: 24px; + vertical-align: middle; +} + +.wizard-next-button-icon { + vertical-align: middle; + float: right; +} + +.wizard-tool-button-text { + margin-left: -20px; + margin-top: 2px; } - -.importSelection-source { - padding-bottom: 20px; +.wizard-tool-button-text:hover { + margin-left: -20px; + margin-top: 0px; } +.wizard-tool-button-icon { + height: 20px; +} +.wizard-tool-button-icon:hover { + height: 20px; + border: 1px solid #222; +} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/WizardCSS.java b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/WizardCSS.java index be4a7bf..c7ad1d2 100644 --- a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/WizardCSS.java +++ b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/WizardCSS.java @@ -7,30 +7,34 @@ import com.google.gwt.resources.client.CssResource; /** * - * @author "Giancarlo Panichi" - * g.panichi@isti.cnr.it + * @author "Giancarlo Panichi" g.panichi@isti.cnr.it * */ public interface WizardCSS extends CssResource { - - @ClassName("wizard-title") - public String getWizardTitle(); - @ClassName("wizard-footer") - public String getWizardFooter(); - - @ClassName("source-selection-hover") - public String getSourceSelectionHover(); - - @ClassName("column-excluded") - public String getColumnExcluded(); + @ClassName("wizard-card-title") + public String getWizardCardTitle(); - @ClassName("importSelection-sources") - public String getImportSelectionSources(); + @ClassName("wizard-card-footer") + public String getWizardCardFooter(); - @ClassName("importSelection-source") - public String getImportSelectionSource(); + @ClassName("wizard-previous-button-text") + public String getWizardPreviousButtonText(); + + @ClassName("wizard-previous-button-icon") + public String getWizardPreviousButtonIcon(); + + @ClassName("wizard-next-button-text") + public String getWizardNextButtonText(); + + @ClassName("wizard-next-button-icon") + public String getWizardNextButtonIcon(); + + @ClassName("wizard-tool-button-text") + public String getWizardToolButtonText(); + + @ClassName("wizard-tool-button-icon") + public String getWizardToolButtonIcon(); - - } diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/accept.png b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/accept.png deleted file mode 100644 index 89c8129a490b329f3165f32fa0781701aab417ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 781 zcmV+o1M>WdP)4-QibtN)VXQDpczE`xXAkUjh%RI>;okxb7K@0kpyQ1k_Y(|Oe7$m(^ zNYX>mI||sUbmn+c3<&FnE=4u#()KBS^SH8e)Qs5i!#lY=$-1gbH6VluzU=m=EP78&5vQ z-?+fFP-G2l&l_QzYealK$;1Rl?FkzXR&Jv@fBPNjCr#AYRyJ7UJQ0v#?)7Ott=>3`#-pV!7>9}>Q1jL)H6h&gkP@3nI=+F3nA~M>u#(n* z8T!#8oEw&-mED4!h4s!N@Jo3S7N&Q6%6l3}nlcd~X@>;uelvPsSkXIgg~e+^T1zSf z3SNj(5%jK~i8@b;CUK~zYIrIlZ3n^hRbpD)RhwCR#1VXW(%d`-I>>z|=Ff~+(+wRqKm zxKd=`D$4N6I|qXEs*0$HhzR2FLM(VwHWy0Y$L`dkBp9fHDb0i*R>r1Ax%+CjGn%?$hHJ%1Cc=3 zRH70ir-xgL7>zoQpFR3CwDFuxJqRuLkqnRmAwex5iAQ6PA-8%9spX^vjri1wY3rT> zubdq_U{gLLIp}qJ5%h+z!@UC(fe1kjh!7%zy^$XHy*{Ltl1MJ4EM=(p^of}*BI^R< z-;E8z=9JIv51Ww~qMcC)1R?@~1Eok^-`zI3m_%|RX;Cvi{n|zm4*-mR^Flvt`%KWc zEA+sg0k{lTd+@q%k_~I%aT@#c4tGarpnCuY9JnTtD`Ziu6r8gcfI^4>LSj$28$PcW z$;BjY+`M5yux0fC;5k0^{9#fK^>rVB0RsY}P$^(;VGhM|5hNjWR=8eh3U+n|v5>jh z5)J?!p>Z_e?LyEOgg~IQ!e#3+Dz!?Dns2!2`f_so%yNCwvmYOR{g0*8L?)kU2?qd= z1`k1iKl2tyV72rQDzyrz<;|~O{Px|3StQzlJ2lYKb6c$-U&uqWvwf1#HT6ZaB$92x zfhG@abBug4Y}Tlr`To@(K5aDq)H_e~RBQH9eU1LB-5pOmaHUlOS|*##sVe&zDcBv^ zjX#LMuK6?UcI!zi|Vg#praE9A3BJxKo?p6*zpFa->pKQ2;dU$MK48>{*W{(N# zwO8%501(<4LL?G}VHh9;%2v2CHwTc3-`<=5af`raI3e(R{pi2HzoAvIu1_h2i@#jL zoz>O6LA(sCTgBa|paK_N8ef!+0izi#n zZxk*6$ulQsEhvenvl&aIvETnM0RWgeHEU^c#i_;Gj=;Z(m8-)-a!ZQ<0000k}@P)!zsI^oFu^eLtRk2V!i)n@$RxIgIMoHpcTS{|^*cF_{n60zQX00O7z z>L;lelMMptr&pq7df8B*_fWJaiY*;oP)dP9PzVtLg>Z^4+(k#vPQ3ar;+vQ~)45(Q z%?)hdGZ^XK0fLYUv6f5`2nl*rwHNr-y^z|L3d^WEayap3bO(k@ES3CnK z%sca_HH^l7q~U{75O?!B@3jg5!?%v<)3=AEC7_);p%3eJaDM@v$~&2NCw$ld0000< KMNUMnLSTYm0R)}^ diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/arrow-refresh_32.png b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/arrow-refresh_32.png deleted file mode 100644 index f3521ea5e0d148384d82c3cba4376972090af7f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1182 zcmV;P1Y!G$P)wK~z|UwU%8>TXh)5pK}h{F>r;#a2qh7O*95Kj84sVVF)0>j3^p4 z+l*P3Eir0LTz2J!<8Y-HvXPiwPGd;)!W+UC21FUogb~TIiJNG@z%fz>w6Ox~fS&j9 zq93%-(+`60&1wHVeSgpYJ@0v+Kd?n{?7O!1&HPW@DgiX8zuo<6&LXxPhL`+uFTI{=s0ET(5DM0+0|3RW)->y1X^LMNzi6%mh zaL+wATz6f7fsXz&!@8M(JOGF`TtT(1IvGylVK{`T*(vxJ{dn;3!CC`~#6L%NN;DmK zIVU&(CT!i#wJy1XDI_V6P48>^{5k7tSZfwB&QVyQ zC<>l*Jdrdd@Bi(KG`L7#Ry~jix0l;7Ffw3j$%#WsRW;N-y&q*e%i;qrY#10C`VpZ} zC>&PRnv4}#50B4^H1K>&K1xeUVXv~ovdxk-UA-PRLZJ{K{CfP0@q1}2U%2{A+r%9-)=6PIEb&5ZB7;vIH0S1EyDpq>PZt;Go^ zAoH_9IBZ~fIfVIuAKu9++`M%Q{&_zr{8ym7HGcm0?nF+;x1hQ6C7r_dno0*8d+h*- zD_8r?EqUVsHY^6e(kS|kXxS6Pv;wj44E{B2Z`!N)|MAz8fX!-y)9XwJUlI|okYkES zS6I_N__g!)x4zN&#Z>vT_JW4b4(TFncU0No^t$l#*FO))9Z>% wu`P<6%;?&uqdEm0*?7VK8i&pv(6=hre}=nUJq4NLMgRZ+07*qoM6N<$f|YC_5&!@I diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/error.png b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/error.png deleted file mode 100644 index c37bd062e60c3b38fc82e4d1f236a8ac2fae9d8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 701 zcmV;u0z&N#0$9Ug7g~-`rQ^qx~m@y2OU8A z#zh~=7n#Z$Z*fx-GOtDf07cgx0suCz_W(2~Y(0tf@FX@P6EPuM_dgn$vj9LucO)%W zw%HgMW>=#oL>nZ>M&NEf08>)#)k<{$fCT_r>rPi=BV=hFh6WS^qqze>C6Ek}o{M5% za|@JGowu0t{&hgNzySHZxy@LTNh);YzZ2zSp_ zl$^T&Dnc|NLb&RD_!4>pt@VHdP)ZGER%5ZmWEe$lryR&y;2u^3cOkO4#6c%-(EY6a{600000NkvXXu0mjfxS2AI diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/information.png b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/information.png deleted file mode 100644 index 12cd1aef900803abba99b26920337ec01ad5c267..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 778 zcmV+l1NHogP)BVme|mWaqy4$_pJm?y9KM{-*hp?1+Ey3e-CEDooTa!B;e(Q>TSF?bj>5At13y1p zriN3w3x~5SfZj{@J4M{kp{?=M_Lh2bV+5LH)Q)5W!-ePA$RgE1@5f1cyHki0Y}JyVEYZF(LD$xXlt$7A5CgE@ zpV-&l%vf;=5kZ2-2gi@Y6J&=cuwt>!vJ^#(&n|LcZyUzi6Duj$$hJ1s*HD-#;k-w@ zpdrwAuoDG_N2bvb07G$Zk*?Hc)JLtW4yqOnic_$zO7NZ#l>Fm){;fE?b$IbOaX2fe z0la4g0Dfw2xk7Wi7NapVD8YMPCZu?A1QCK*67dgsvRKBLFtrM>?$%&_lD1882mzdO zWPdw5KWw6IT`m1b_8=lS5jt8D3=RDa=&jWzR-)S@56WMslZ~mKu1)-wpXB>rNBQ>N zU#K`#1B&v|_AQK;7I~B}OdGiUT9LX>f0xm6<;LeP!=vFjPsUQF*wCJ*dO)4YBypgdiuF!=i@6Zyi7F|q#K zz?tlSZULa@t1D?$e;f@b36&N!V2mjOHw|* ~NwO_yO%;SvZ5MdNYf|QNy-I*%yJaj+uTdt+qbZ z4E`Fzb8m}I&!N8OKmWEcCmrLs^Hs&3i)mt@hQVdcqghkaBs*D}tG_lKew4?rTjzIZ z9tSone1TS+TR7tu^CunG)Y7Jg#sw#)sG9C!c0I%LEzP)9;hqRf&)s$D8d5Db{TBs% zgl0~5QQ91luq4Q9tJgt4QLbaxZvAaKeCM9!oy85dg4k>TdBSVqjHub_PG=PO&J-rx z7oYTuF+kH|tG-UK+EkUhDjYx?zW?T|lx>+aOQm zzL$v$zBLo4Cj=G&tw{H}dW?tlTkS)SY4<#NS92z*EY-MMB6Ftp`R=*=*Ev7cS+X%W zMCur^FdlokL}1Y+&aasU2J4#EOuNlnb9CmqgLCGTSY!1BD42pkHY^XidQ5=>YQx%` z*%Pm9D!CkBu&tMWm(%-ejACVWGS2RX5=QOJ$1*tr7F}F+*-OA+Ly&Isg|AEuUYicA z#%IG6kPXkHt{zk2M6zK@Vu^4Q(1zE$?yY6M!^&jQ+2^E?!p7{g*|X6}vuRC3p@jk0 W117c83?+LXEZI4G$p&LV25SKE>nb+@ diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/tool-button-close_20.png b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/tool-button-close_20.png new file mode 100644 index 0000000000000000000000000000000000000000..343a69d540dc569975811079747e144bf63ce7a7 GIT binary patch literal 809 zcmV+^1J?YBP)|I&{3@2B(u- zvWcS5*~yjQk_JA_JcG{quFd? z+cw2wQO{itLzNUaTz-NFk4Do%R&CN}G-^VZvhKGmAWHN{dK@f0zdrLZ z)zwwPFeIDJl5lM4z+2!o(5WbjBFg15rBaFG<6{N}2Cys(&+{miN}QdYbt-S?Bph#b zz za(H+sr>CbPBH}oX)M~ZIW-*!qsz3?&qLd<^&*L}_nM?+NMx#L-$6bRG5$g3iGcz-f zgPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^x6 z5G*Wg9=FE;00DMML_t(I%f*s0P8(4WhX0whcd@bLD6#~K5Ro{94}gTCM7!nyISDvW zAQ|d3IYDv(c7cuqq)U}L5sDBp5lLVn_IvZEVAo!dizJPwnOD5|=AZcon0H9|NctJl zL5yDiC^B@(%F*35ZZ6MA^BdVg?=$R})ywzC|DWpw{1*A#1(30lUX9|&%QvMVG*=;^q2FVAbiO3|A#(LC5Pz%F&JAIuF z;weBi=&II=kDR@65m5~wK^*{Ip{n3ttt(qh0A~K9nL|1AtRP7<5A$OPaQpxu;9h=p zUKX=bG|3_=F8;!F4PEL;u7_u2LEycOsMyH-`!@smvRK^XLrPoD s+5a9=igb{m_vR?_-gWVpr#%1o1G^y2kRD*#oB#j-07*qoM6N<$f=rOqfB*mh diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-go_24.png b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-go_24.png new file mode 100644 index 0000000000000000000000000000000000000000..36a80c0b93681a08fe71c7d93ac7e3eef2b77c2a GIT binary patch literal 957 zcmV;u148_XP)Cm zK~zY`y_U;MBUu#2e`R9KL#tC2jIUk@Ed;V_+K@#ShQUBUa6laQGYkKXrlA-59~c5X z3*8NbD9kD_uCfp$;$Fl@3noRdsw7pSiDwpVoR|krGxVHQ)jjuoU)}HC`<;T05RuO3 zu!wvRk)K7RBE3<0%6$-#a6gQJAtFlyKnF!dM3!CyMMQie@ z*tU&r+uYpTu)e;|^71mn!^7PqN5D^B;9WO3!0zrYxm=ETJkG+x0+W-I1cSkEpXa(% zt5x>*_u1OoLPS_yUG0W=54`gNZ@V+)a+!QSPdpxHZEcO&*;&HjFdmNwfL5!8X_`z- zOi(Bk$mjD+O-+$XrMjWsdV!CfBh6-$VzG#(X)G-*5sSr$L?S4P@}e>r3^Fn@!s6m0 z7Z(>4i$#*jBwnw#bK1wDZg~vDz%UFVkqEI^3{BH|zyTCRLDMv1u^76pKi753G}L|B zEX%@i98^_B*Y#&v`h~~iLDzM3UB_`8EX(S#iXMW;$H#App&@)e->bIb^?Feh)x-UA>dOdK`0a=olaxhHrw0V*tR_o{Py;iot+&l%OaglGdeojP4H<5_}V$* z^Z7_55@fSkj*pMo*x2Cw{Jh6`Pft(T+}xy6sgTWPNhA{e_Uvn4t8g5Llamulr4pr5 z2~E?Oo}Nb2G(?1Yz0URZHKu8j$z;f6GR)1*J>T?BtLSTXB0{6l;Ogp%!^1<$yR7TFn5IdsR-;y{(P%UP2!%pK zqfw&KDB*CJK;YSg+qJ(dit^jPYB;S{OI+6#%d(_iuS>mN7t6B5bzNz-THn=heoV{! f-Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^x6 z5GyabR&cri00Iz6L_t(o!|j&8ZqrZ{hrifP966;*L?w49EUa00h6=IRf)O^DIv}3F zl@Jns0>sb>HW)$nf>57bZBQg~wtMCCJD-lvx#z&v z{&y>_^Ra2U72qlG0Jsm_1vDT4&VcX0H{hdV8{@(NOv_b(*T75Q)(S2I;4SdVu?>+6 zz_i?lz&qexdRNhQQPdhrxr!v0N#Y0*jS!*FIOu2He*iBW+xU7T0Ml}x0q@gub$5?y ztwBkW=lV>Nn33OQ)bC`kpF6hkVJ!gDavuSo0Ti`{R@af0%F6W;i!njZLxg^M_1LkE zFDn6>cl0rZk2qt*9wwV77mPk)&{ z)m@wc({c}h_LZ}aT5II)_0aDU^t|+V$FYs`MHzSkP?D5Ff&-|v1|>D_;Gfx_06c&=3JVRC(esu8v;d+oC=?*0 z*IEW}3S1v5xhPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^x6 z5DhVdhtB-~00CM_L_t(I%bk%ak0#j4hxjYzVzVG{)c@Ll`glYXbr;22{ z6!TNh`V)xwEX>jx0DzIP{R;px0KjV_V`r_r7>hH^0W2)7&Y;3`$#ij_DO?*Rfc*(0 zdr9+)aX_X}v;KzdkCz*+hc>--%K^^8&WkY!J>s*G7=)wo4bPRgq~Nlh7Xxz{B>>dz zQXm+nx#&uQsoK3Ttvzc}2Z%p(NCdzbDXJC#B7OW8es3ot06*G^Kv0|?71B|)o;M1&07*qoM6N<$f|C@(0{{R3 diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-next_24.png b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-next_24.png new file mode 100644 index 0000000000000000000000000000000000000000..176c17a7774058a32f8902bed44bc6310d8c405b GIT binary patch literal 1058 zcmV+-1l{|IP)3f%}U1m8xa=<4md>cWM>gMxkS z!=<=!^FUn)3UBi^1wj!-p}R^&5EKQa<_SV9Q)x9$a=J+*TBG*SZ*ynn-t*^v=ey?) z z)_rXkxtHw3+k=AxnVOoC!^1;y9Or+;k+&k^{(&wLnaX4`vc0{X>Fw>6zP>&gA0L-Q zBJnfMGud$}=U2;d4m<})r_-vqxERNASYBRcWMqW#@p01WG!KBvj?Z&7(XtA719-2k zR0_Y}k8Rs5E-upF-_P3G8ehJAc}O5H@J2*RH6RK+xw*pSa?#!0OhkqA9KJq!*G^6c3&lu{%T2__~c7#bR4d3pK1 zAYs?&=;#~}%6&OGIbn5m6@c#UZtCjlC@U+YqN0NO`g#(H1Q!<+9w8Z=O?`dyuXJBA} zs;a7MH0ckin5JoXyq779xUD3LV(ES%*R$acgUfnVA_54h~4AQaFx7OG^vQ&CNukQ9_{* zfj|JS_v%P(=)h~>-@7tCK0an)VS%~1IXoT@x~^kc79AZOG&MD0Sr+Bx<#;?Elv4So zuXW&4p*q;M&Ghs%3kwU_woP$yF{Wwq^yyP#u^83W)dYh<48yohq5z+CVDC1X9LHgD zauVCNaU2KBvgqvWBpQwK`0-;*)5I_gTrO9kjc)*Zx>D-1h`a*+$?r#*Oa|Mw@%enz z)YQ<`)kQEEBpeRo_xsT_?Is=h_y)XEN`2O|bi5OhdEj>u5yx>n+a literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-next_32.png b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-next_32.png deleted file mode 100644 index 8e2d5628743a708e062aa0e865281ccee1efe311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 559 zcmV+~0?_@5P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^x6 z5DNr@Zmn1V00FN_L_t(o!|j(nF9bmx#(%rnb9dfug~-u}Na#c&)EbTKBqCAy0xCYh z=wy3|i0>c~#ZH1suhNi6h)6guQQXBl=SIPZ4r^~t;a|=CGnwZ%GtW~D{MTPEA=P*_ z_jkXsW=%-7ETnR41pqJ&YzwIxY6So=2%HG1dTIiY&E)}n;6O+kQ2sn-@0hrrpZto)9*b2}A zoC>K%tN|E^Y;zlpZCz%cEg{vcHGmIa)MfBHK76qtq*@VDc~$@ngyX*X0@nkW1a^f~ zEmi)T9 z`GIN8L}9QP%d~OC%TEv7TpgR%SQG~9u~YL?@yFW|_oZ{*?|mo=gPmW+w%RdE3?OdI x5=%kcm?as*STRfL31Y`AiJ#Hb|NpR>^$P6jIjCKG3002ovPDHLkV1k^-Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^x6 z5DYDjoul&r00A#aL_t(I%e|A&N&;aN#n1g_#u*YdT9~UKm$M1l^#oB`LJ-tbw4SUW zTtv^&rd8CGB(!MP6G)p1H;F`)HI=5{%y(P3(@7kI?(%TY@BV=U{AcBgZl+%oqnh)M zJ4Z~7u>dQ@iyaW%fCk(3VaCi>ZIBo=yX!(XZY0B}poO~Xped(X9# z_Qxxc&^QvH2U+qoBev0MK3;vk)G0Cm0M7OorD4W%-L~hj3jP+R{Py|r*kJ+y^8L+z Z?FT33X!HIve?b5M002ovPDHLkV1j8DwgmtH diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-previous_24.png b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/resource/wizard-previous_24.png new file mode 100644 index 0000000000000000000000000000000000000000..78c913355069afbb2cec79c133c505fecde3177e GIT binary patch literal 1035 zcmV+m1oZofP)VwY1DHuf zK~zY`otDi@qgNEhe^+ll-k?cLG{*XZkOW*r5E;;=f51o!;$l`x>!xeB<1kFeZe42K zl!`6}N}+-Q7cLa3D1uQViXXv6LJ<{>Ur}R{(?yfP@gt7&tnT|>&U5a4&U4Sba0eoC zckC9CS0eI*h%C!PEEncpiHQ3#jwc}^ub&`&3dF83X$wW0a&mIQ<>e*0T#n+|$mjFa)YQ<}*ofQheh{pb z;?6mGIst&&?WVW4m#wWW78e)U*w|oweVuqb&fMG_Jv}{yLLr`Nj-?Vrl~OI0m6d3% zsjRG|zP_HOrY2&s7^|zRtgWrl-``I#7^J_y|0Oa-HShuW8~E%Nm&-+Ubv1!NfcpA+ zmX?-CrBbY~uhZGtNnc+dt*xy%ozCYr@IeE~`?@+D4ouU;?RMky`3Q%@#9}cP7Z*vT zQVb3bVwxshU0q+)>=7h25C@|7?OIk=hSTZ9;c(z`xu~tJB@_y=xw*;o^fdeX`;3f? zV6)jMFE4*o9w4rjQYjI62mJY1Khj!LRaHerMFk#@2fyD>I2b@?P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^x6 z5DWy&FFT(A00F&8L_t(o!|m6-Y7|iv!13R#laDnqSuuo-h*1KmBffx*jm&@uR=$9R z9}h5A!aRZa3ckP$Xd_}}3K1(oiA9rm#5>H@!f{ix^MWAg`<$>O{2E@O zHa2-qeQKr@ywoL(ll&oGp*A@)KM=gH48%zu;u&s3V{VZk7zkciAWrhLSjM7SsL@;) z7+hE&PVyzZ!T8AOX%mfRW$>bRU>u_mj?^pf8;1&HX|#+B*xYGv*lvB%>-C130a+TY z;}SmXZMS^;x>}h;;WEt9XbVetvESL%TKimyL|^YfmPS8u<9Dy`XsvzJ>vo4Ha3Imk z(&!!@Kx_Sz?tZ6qHcGeSERCKVWJ7ynMQ3lfl*B;uK$b?&aRr_4o2!0owfmMBcp%Br z=shl$Ez?RSqJNd?&_}XA%XH`hf0ya;e@gDhN!~kdi909%!^7ei6r-JfGo}}L00000 LNkvXXu0mjf6Xy54 diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/wizard/WizardCard.java b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/wizard/WizardCard.java index 049ee66..f9ae4f8 100644 --- a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/wizard/WizardCard.java +++ b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/wizard/WizardCard.java @@ -10,6 +10,8 @@ import org.gcube.portlets.widgets.githubconnector.client.resource.GCResources; import com.google.gwt.core.shared.GWT; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.shared.EventBus; +import com.google.gwt.user.client.ui.DockPanel; +import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.Widget; @@ -22,7 +24,7 @@ import com.google.gwt.user.client.ui.Widget; public class WizardCard extends SimplePanel { private WizardWindow wizardWindow; - + private DockPanel dockPanel; protected GCResources res=GCResources.INSTANCE; @@ -45,6 +47,18 @@ public class WizardCard extends SimplePanel { public WizardCard(String title, String footer) { GWT.log(title); res.wizardCSS().ensureInjected(); + + HTML t=new HTML(title); + t.setStyleName(res.wizardCSS().getWizardCardTitle()); + + HTML f=new HTML(footer); + f.setStyleName(res.wizardCSS().getWizardCardFooter()); + + dockPanel=new DockPanel(); + dockPanel.setWidth("100%"); + dockPanel.add(t, DockPanel.NORTH); + dockPanel.add(f, DockPanel.SOUTH); + setWidget(dockPanel); } @@ -55,7 +69,8 @@ public class WizardCard extends SimplePanel { */ public void setContent(Widget content) { - setWidget(content); + GWT.log("Card SetContent()"); + dockPanel.add(content, DockPanel.CENTER); } diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/wizard/WizardWindow.java b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/wizard/WizardWindow.java index 3791651..5698f2c 100644 --- a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/wizard/WizardWindow.java +++ b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/wizard/WizardWindow.java @@ -5,25 +5,33 @@ package org.gcube.portlets.widgets.githubconnector.client.wizard; import java.util.ArrayList; +import org.gcube.portlets.widgets.githubconnector.client.resource.GCResources; import org.gcube.portlets.widgets.githubconnector.client.util.GWTMessages; import com.google.gwt.core.client.Callback; import com.google.gwt.core.client.GWT; -import com.google.gwt.core.client.Scheduler.ScheduledCommand; +import com.google.gwt.dom.client.Element; +import com.google.gwt.dom.client.NativeEvent; +import com.google.gwt.dom.client.Node; +import com.google.gwt.dom.client.Style.Float; +import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.event.logical.shared.ResizeEvent; +import com.google.gwt.event.logical.shared.ResizeHandler; import com.google.gwt.event.shared.EventBus; +import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.event.shared.SimpleEventBus; -import com.google.gwt.safehtml.shared.SafeHtml; -import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.user.client.Command; +import com.google.gwt.user.client.Event; +import com.google.gwt.user.client.Event.NativePreviewEvent; +import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.DeckPanel; import com.google.gwt.user.client.ui.DialogBox; import com.google.gwt.user.client.ui.DockPanel; -import com.google.gwt.user.client.ui.MenuBar; +import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Widget; - /** * * @author "Giancarlo Panichi" listeners; + protected EventBus eventBus; protected String title; protected ArrayList cardStack = new ArrayList(); @@ -54,11 +66,7 @@ public class WizardWindow extends DialogBox { protected DockPanel dockPanel; - protected ArrayList listeners; - - protected EventBus eventBus; - - protected MenuBar cardMoveToolBar; + protected FlowPanel moveToolBar; // protected FillToolItem fillSpacingCardMoveToolBar; protected WizardMessages msgs; @@ -81,71 +89,89 @@ public class WizardWindow extends DialogBox { this.title = title; this.eventBus = eventBus; this.msgs = GWT.create(WizardMessages.class); - initWindow(); + initHandler(); + addToolIcon(); listeners = new ArrayList(); - deckPanel=new DeckPanel(); - - - - cardMoveToolBar = new MenuBar(); - - // Create a command that will execute on menu item selection - ScheduledCommand menuCommandBack = new ScheduledCommand() { - - public void execute() { - if (previousButtonAction != null) + deckPanel = new DeckPanel(); + + backButton = new Button("
" + + "" + + msgs.buttonBackLabel() + "" + "
"); + + backButton.setEnabled(false); + backButton.setTabIndex(1001); + backButton.getElement().getStyle().setFloat(Float.LEFT); + backButton.addClickHandler(new ClickHandler() { + + @Override + public void onClick(ClickEvent event) { + if (previousButtonAction != null) previousButtonAction.execute(); else previousCard(); - } - }; - - ScheduledCommand menuCommandNext = new ScheduledCommand() { - - public void execute() { - if (nextButtonAction != null) - nextButtonAction.execute(); - else - nextCard(); - } - }; - - - - // cardMoveToolBar.setSpacing(2); - // cardMoveToolBar.addStyleName(ThemeStyles.get().style().borderTop()); - backButton = new Button(msgs.buttonBackLabel()); - // backButton.setIcon(GCResources.INSTANCE.wizardPrevious()); - backButton.setEnabled(false); - backButton.setTabIndex(1001); + } + }); - SafeHtml backItem=new SafeHtmlBuilder().appendEscaped( - msgs.buttonBackLabel()).toSafeHtml(); + nextButton = new Button("
" + msgs.buttonNextLabel() + "" + "
"); - cardMoveToolBar.addItem(backItem,menuCommandBack); - - nextButton = new Button(msgs.buttonNextLabel()); - // backButton.setIcon(GCResources.INSTANCE.wizardPrevious()); nextButton.setEnabled(false); nextButton.setTabIndex(1002); + nextButton.getElement().getStyle().setFloat(Float.RIGHT); + nextButton.addClickHandler(new ClickHandler() { - SafeHtml nextItem=new SafeHtmlBuilder().appendEscaped( - msgs.buttonNextLabel()).toSafeHtml(); + @Override + public void onClick(ClickEvent event) { + if (nextButtonAction != null) + nextButtonAction.execute(); + else + nextCard(); - cardMoveToolBar.addItem(nextItem,menuCommandNext); + } + }); + + moveToolBar = new FlowPanel(); + moveToolBar.setWidth("100%"); + moveToolBar.add(backButton); + moveToolBar.add(nextButton); dockPanel = new DockPanel(); dockPanel.setSpacing(4); - - dockPanel.add(deckPanel , DockPanel.CENTER); - dockPanel.add(cardMoveToolBar, DockPanel.SOUTH); - - + + dockPanel.add(deckPanel, DockPanel.CENTER); + dockPanel.add(moveToolBar, DockPanel.SOUTH); + dockPanel.setWidth("100%"); setWidget(dockPanel); + center(); + } + + private void initHandler() { + resizeHandlerRegistration = Window + .addResizeHandler(new ResizeHandler() { + + @Override + public void onResize(ResizeEvent event) { + center(); + + } + }); } @@ -158,7 +184,6 @@ public class WizardWindow extends DialogBox { this.originalTitle = title; } - public void addListener(WizardListener listener) { listeners.add(listener); } @@ -172,8 +197,8 @@ public class WizardWindow extends DialogBox { */ public void nextCard() { - int index=deckPanel.getVisibleWidget(); - Widget activeItem =deckPanel.getWidget(index); + int index = deckPanel.getVisibleWidget(); + Widget activeItem = deckPanel.getWidget(index); if (activeItem instanceof WizardCard) ((WizardCard) activeItem).dispose(); @@ -197,9 +222,9 @@ public class WizardWindow extends DialogBox { GWT.log("cardStack size:" + cardStack.size()); WizardCard card = cardStack.get(newPos); deckPanel.add(card); - int showIndex=deckPanel.getWidgetIndex(card); + int showIndex = deckPanel.getWidgetIndex(card); deckPanel.showWidget(showIndex); - + if (card instanceof WizardCard) ((WizardCard) card).setup(); } @@ -208,9 +233,9 @@ public class WizardWindow extends DialogBox { * Shows the previous available card. */ public void previousCard() { - int index=deckPanel.getVisibleWidget(); - Widget activeItem =deckPanel.getWidget(index); - + int index = deckPanel.getVisibleWidget(); + Widget activeItem = deckPanel.getWidget(index); + if (activeItem instanceof WizardCard) ((WizardCard) activeItem).dispose(); @@ -232,9 +257,9 @@ public class WizardWindow extends DialogBox { WizardCard card = cardStack.get(newPos); deckPanel.add(card); - int showIndex=deckPanel.getWidgetIndex(card); + int showIndex = deckPanel.getWidgetIndex(card); deckPanel.showWidget(showIndex); - + if (card instanceof WizardCard) ((WizardCard) card).setup(); } @@ -254,8 +279,8 @@ public class WizardWindow extends DialogBox { * @return */ public int getCurrentCard() { - int index=deckPanel.getVisibleWidget(); - Widget activeItem =deckPanel.getWidget(index); + int index = deckPanel.getVisibleWidget(); + Widget activeItem = deckPanel.getWidget(index); return cardStack.indexOf(activeItem); } @@ -273,16 +298,22 @@ public class WizardWindow extends DialogBox { * to it. */ public void setNextButtonToFinish() { - nextButton.setText(msgs.buttonFinishLabel()); - //nextButton.setIcon(GCResources.INSTANCE.wizardGo()); - //nextButton.setIconAlign(IconAlign.RIGHT); + nextButton = new Button("
" + msgs.buttonFinishLabel() + "" + "
"); + // nextButton.setIcon(GCResources.INSTANCE.wizardGo()); + // nextButton.setIconAlign(IconAlign.RIGHT); nextButtonAction = new Command() { public void execute() { close(false); } }; - + } /** @@ -311,32 +342,40 @@ public class WizardWindow extends DialogBox { @Override public void show() { super.show(); - - int index=deckPanel.getVisibleWidget(); - GWT.log("Visible widget: "+index); + + int index = deckPanel.getVisibleWidget(); + GWT.log("Visible widget: " + index); Widget activeItem; - if(index==-1){ - if(deckPanel.getWidgetCount()>0){ + if (index == -1) { + if (deckPanel.getWidgetCount() > 0) { deckPanel.showWidget(0); - activeItem=deckPanel.getWidget(0); + activeItem = deckPanel.getWidget(0); if (activeItem instanceof WizardCard) ((WizardCard) activeItem).setup(); backButton.setEnabled(false); - + center(); } else { backButton.setEnabled(false); nextButton.setEnabled(false); } } else { deckPanel.showWidget(index); - activeItem=deckPanel.getWidget(index); + activeItem = deckPanel.getWidget(index); if (activeItem instanceof WizardCard) ((WizardCard) activeItem).setup(); } - - + + } + + @Override + public void hide() { + if (resizeHandlerRegistration != null) { + resizeHandlerRegistration.removeHandler(); + resizeHandlerRegistration = null; + } + super.hide(); } /** @@ -359,8 +398,8 @@ public class WizardWindow extends DialogBox { public void addCard(WizardCard card) { card.setWizardWindow(this); - if(deckPanel.getVisibleWidget()>-1){ - int index=deckPanel.getVisibleWidget(); + if (deckPanel.getVisibleWidget() > -1) { + int index = deckPanel.getVisibleWidget(); deckPanel.remove(index); } deckPanel.add(card); @@ -486,4 +525,45 @@ public class WizardWindow extends DialogBox { } + private Node closeEventTarget = null; + + private void addToolIcon() { + + // get the "dialogTopRight" class td + Element dialogTopRight = getCellElement(0, 2); + + // close button image html + dialogTopRight.setInnerHTML("
" + + "
"); + + // set the event target + closeEventTarget = dialogTopRight.getChild(0).getChild(0); + } + + @Override + protected void onPreviewNativeEvent(NativePreviewEvent event) { + NativeEvent nativeEvent = event.getNativeEvent(); + + if (!event.isCanceled() && (event.getTypeInt() == Event.ONCLICK) + && isCloseEvent(nativeEvent)) { + this.hide(); + } + super.onPreviewNativeEvent(event); + } + + // see if the click target is the close button + private boolean isCloseEvent(NativeEvent event) { + return event.getEventTarget().equals(closeEventTarget); // compares + // equality of + // the + // underlying + // DOM elements + } + }