From 12c8acb7016eb3bd4e129dc756df5099895da2ef Mon Sep 17 00:00:00 2001 From: Marc Englund Date: Thu, 30 Oct 2008 15:29:45 +0000 Subject: [PATCH] Sampler various updates, some samples added. svn changeset:5774/svn branch:trunk --- .../itmill/toolkit/demo/sampler/Feature.java | 2 +- .../toolkit/demo/sampler/FeatureSet.png | Bin 5758 -> 0 bytes .../demo/sampler/SamplerApplication.java | 66 ++++++++++++++++-- .../blueprints/ProminentPrimaryAction.java | 46 ++++++++++++ .../blueprints/ProminentPrimaryAction.png | Bin 0 -> 4276 bytes .../ProminentPrimaryActionExample.java | 49 +++++++++++++ .../sampler/features/buttons/ButtonLink.java | 35 ++++++++++ .../sampler/features/buttons/ButtonLink.png | Bin 0 -> 2842 bytes .../features/buttons/ButtonLinkExample.java | 51 ++++++++++++++ .../sampler/features/buttons/ButtonPush.java | 30 ++++++++ .../sampler/features/buttons/ButtonPush.png | Bin 0 -> 3043 bytes .../features/buttons/ButtonPushExample.java | 48 +++++++++++++ .../features/buttons/ButtonSwitch.java | 30 ++++++++ .../sampler/features/buttons/ButtonSwitch.png | Bin 0 -> 3557 bytes .../features/buttons/ButtonSwitchExample.java | 52 ++++++++++++++ .../features/link/LinkCurrentWindow.java | 32 +++++++++ .../features/link/LinkCurrentWindow.png | Bin 0 -> 3249 bytes .../link/LinkCurrentWindowExample.java | 38 ++++++++++ .../features/link/LinkNoDecorations.java | 32 +++++++++ .../features/link/LinkNoDecorations.png | Bin 0 -> 3803 bytes .../link/LinkNoDecorationsExample.java | 44 ++++++++++++ .../features/link/LinkSizedWindow.java | 32 +++++++++ .../sampler/features/link/LinkSizedWindow.png | Bin 0 -> 3886 bytes .../features/link/LinkSizedWindowExample.java | 52 ++++++++++++++ .../itmill/toolkit/demo/sampler/folder.gif | Bin 0 -> 249 bytes 25 files changed, 631 insertions(+), 8 deletions(-) delete mode 100644 src/com/itmill/toolkit/demo/sampler/FeatureSet.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryActionExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonLink.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonLink.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonLinkExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonPush.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonPush.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonPushExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonSwitch.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonSwitch.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonSwitchExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/link/LinkCurrentWindow.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/link/LinkCurrentWindow.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/link/LinkCurrentWindowExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/link/LinkNoDecorations.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/link/LinkNoDecorations.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/link/LinkNoDecorationsExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/link/LinkSizedWindow.java create mode 100644 src/com/itmill/toolkit/demo/sampler/features/link/LinkSizedWindow.png create mode 100644 src/com/itmill/toolkit/demo/sampler/features/link/LinkSizedWindowExample.java create mode 100644 src/com/itmill/toolkit/demo/sampler/folder.gif diff --git a/src/com/itmill/toolkit/demo/sampler/Feature.java b/src/com/itmill/toolkit/demo/sampler/Feature.java index 7690f8cde5..4639a6fd7f 100644 --- a/src/com/itmill/toolkit/demo/sampler/Feature.java +++ b/src/com/itmill/toolkit/demo/sampler/Feature.java @@ -96,7 +96,7 @@ abstract public class Feature { * @return */ public String getIconName() { - String icon = getClass().getSimpleName() + ".gif"; + String icon = getClass().getSimpleName() + ".png"; return icon; } diff --git a/src/com/itmill/toolkit/demo/sampler/FeatureSet.png b/src/com/itmill/toolkit/demo/sampler/FeatureSet.png deleted file mode 100644 index 69e13fa395c40cbf5c5abf62af57beaf93daca19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5758 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 0) { space(); } + setRows(getRows() + 1); } public void setFeatureContainer(HierarchicalContainer c) { @@ -517,15 +555,29 @@ public class SamplerApplication extends Application { final Feature f = (Feature) it.next(); if (f instanceof FeatureSet) { newRow(); - addComponent(new Label(f.getName())); + Label title = new Label(f.getName()); + title.setWidth("100%"); + title + .setStyleName((c.isRoot(f) ? "section" + : "subsection")); + if (c.isRoot(f)) { - newRow(); + // newRow(); + addComponent(title, 0, getCursorY(), getColumns() - 1, + getCursorY()); + } else { + addComponent(title); } + setComponentAlignment(title, ALIGNMENT_LEFT, + ALIGNMENT_VERTICAL_CENTER); } else { Button b = new Button(); b.setStyleName(Button.STYLE_LINK); + b.addStyleName("screenshot"); b.setIcon(new ClassResource(f.getClass(), f.getIconName(), SamplerApplication.this)); + b.setWidth("120px"); + b.setHeight("120px"); b.setDescription("

" + f.getName() + "

" + f.getDescription()); b.addListener(new Button.ClickListener() { @@ -550,7 +602,7 @@ public class SamplerApplication extends Application { private String desc; - private String icon = "FeatureSet.png"; + private String icon = "folder.gif"; private Feature[] content; diff --git a/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.java b/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.java new file mode 100644 index 0000000000..6602429981 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.java @@ -0,0 +1,46 @@ +package com.itmill.toolkit.demo.sampler.features.blueprints; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.demo.sampler.features.buttons.ButtonLink; +import com.itmill.toolkit.demo.sampler.features.buttons.ButtonPush; +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.Link; + +public class ProminentPrimaryAction extends Feature { + + public String getDescription() { + return "A primary action is an action that is clearly the" + + " default and it should be visually more prominent" + + " than the secondary actions.
Good candidates" + + " include Save, Submit, Continue, Next," + + " Finish and so on.
Note that 'dangerous' actions" + + " that can not be undone should not be primary, and that it's" + + " not always possible to identify a primary action" + + " - don't force it if it's not obvious."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Button.class), + new APIResource(Link.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { ButtonPush.class, ButtonLink.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + return new NamedExternalResource[] { + new NamedExternalResource( + "LukeW: Primary & Secondary Actions in Web Forms", + "http://www.lukew.com/resources/articles/psactions.asp"), + new NamedExternalResource( + "UI Pattern Factory: Primary & Secondary Actions", + "http://uipatternfactory.com/p=primary-and-secondary-actions/") }; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.png b/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryAction.png new file mode 100644 index 0000000000000000000000000000000000000000..aacf950aa061050f17ad7acf392925db8003c457 GIT binary patch literal 4276 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 literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryActionExample.java b/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryActionExample.java new file mode 100644 index 0000000000..5266ca1e9b --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/blueprints/ProminentPrimaryActionExample.java @@ -0,0 +1,49 @@ +package com.itmill.toolkit.demo.sampler.features.blueprints; + +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.OrderedLayout; +import com.itmill.toolkit.ui.Button.ClickEvent; + +public class ProminentPrimaryActionExample extends OrderedLayout implements + Button.ClickListener { + + public ProminentPrimaryActionExample() { + setSpacing(true); + + OrderedLayout horiz = new OrderedLayout(ORIENTATION_HORIZONTAL); + horiz.setSpacing(true); + addComponent(horiz); + Button primary = new Button("Save", this); + horiz.addComponent(primary); + Button secondary = new Button("Cancel", this); + secondary.setStyleName(Button.STYLE_LINK); + horiz.addComponent(secondary); + + horiz = new OrderedLayout(ORIENTATION_HORIZONTAL); + horiz.setSpacing(true); + addComponent(horiz); + primary = new Button("Sign up", this); + horiz.addComponent(primary); + secondary = new Button("or Sign in", this); + secondary.setStyleName(Button.STYLE_LINK); + horiz.addComponent(secondary); + + horiz = new OrderedLayout(ORIENTATION_HORIZONTAL); + horiz.setSpacing(true); + addComponent(horiz); + primary = new Button("Login", this); + horiz.addComponent(primary); + secondary = new Button("Forgot your password?", this); + secondary.setStyleName(Button.STYLE_LINK); + horiz.addComponent(secondary); + + } + + /* + * Shows a notification when a button is clicked. + */ + public void buttonClick(ClickEvent event) { + getWindow().showNotification( + event.getButton().getCaption() + " clicked"); + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonLink.java b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonLink.java new file mode 100644 index 0000000000..1f1a0053ae --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonLink.java @@ -0,0 +1,35 @@ +package com.itmill.toolkit.demo.sampler.features.buttons; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.demo.sampler.features.link.LinkCurrentWindow; +import com.itmill.toolkit.demo.sampler.features.link.LinkNoDecorations; +import com.itmill.toolkit.demo.sampler.features.link.LinkSizedWindow; +import com.itmill.toolkit.ui.Button; + +public class ButtonLink extends Feature { + + public String getDescription() { + return "A link-styled button."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Button.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { ButtonPush.class, ButtonSwitch.class, + LinkCurrentWindow.class, LinkNoDecorations.class, + LinkSizedWindow.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonLink.png b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonLink.png new file mode 100644 index 0000000000000000000000000000000000000000..dc3350a0e00e7d7f8b017a721736f069e7b80802 GIT binary patch literal 2842 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 RcKjK*0*v&akZN5x>OY(WUUC2c literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonLinkExample.java b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonLinkExample.java new file mode 100644 index 0000000000..c9445fb426 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonLinkExample.java @@ -0,0 +1,51 @@ +package com.itmill.toolkit.demo.sampler.features.buttons; + +import com.itmill.toolkit.terminal.ThemeResource; +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.OrderedLayout; +import com.itmill.toolkit.ui.Button.ClickEvent; + +public class ButtonLinkExample extends OrderedLayout implements + Button.ClickListener { + + private static final String CAPTION = "Help"; + private static final String TOOLTIP = "Show help"; + private static final ThemeResource ICON = new ThemeResource( + "icons/icon_info.gif"); + private static final String NOTIFICATION = "Help clicked"; + + public ButtonLinkExample() { + setSpacing(true); + + // Button w/ text and tooltip + Button b = new Button(CAPTION); + b.setStyleName(Button.STYLE_LINK); + b.setDescription(TOOLTIP); + b.addListener(this); // react to clicks + addComponent(b); + + // Button w/ text, icon and tooltip + b = new Button(CAPTION); + b.setStyleName(Button.STYLE_LINK); + b.setDescription(TOOLTIP); + b.setIcon(ICON); + b.addListener(this); // react to clicks + addComponent(b); + + // Button w/ icon and tooltip + b = new Button(); + b.setStyleName(Button.STYLE_LINK); + b.setDescription(TOOLTIP); + b.setIcon(ICON); + b.addListener(this); // react to clicks + addComponent(b); + + } + + /* + * Shows a notification when a button is clicked. + */ + public void buttonClick(ClickEvent event) { + getWindow().showNotification(NOTIFICATION); + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonPush.java b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonPush.java new file mode 100644 index 0000000000..518d85d48b --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonPush.java @@ -0,0 +1,30 @@ +package com.itmill.toolkit.demo.sampler.features.buttons; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.ui.Button; + +public class ButtonPush extends Feature { + + public String getDescription() { + return "A basic push-button."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Button.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { ButtonLink.class, ButtonSwitch.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonPush.png b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonPush.png new file mode 100644 index 0000000000000000000000000000000000000000..87d96efbd32ffe456bc9b0a33d9d0951b739acc3 GIT binary patch literal 3043 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 TbJG3f2M#cUS(}s?xySwoWvRLY literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonPushExample.java b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonPushExample.java new file mode 100644 index 0000000000..5457b36c9e --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonPushExample.java @@ -0,0 +1,48 @@ +package com.itmill.toolkit.demo.sampler.features.buttons; + +import com.itmill.toolkit.terminal.ThemeResource; +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.OrderedLayout; +import com.itmill.toolkit.ui.Button.ClickEvent; + +public class ButtonPushExample extends OrderedLayout implements + Button.ClickListener { + + private static final String CAPTION = "Save"; + private static final String TOOLTIP = "Save changes"; + private static final ThemeResource ICON = new ThemeResource( + "icons/action_save.gif"); + private static final String NOTIFICATION = "Changes have been saved"; + + public ButtonPushExample() { + setSpacing(true); + + // Button w/ text and tooltip + Button b = new Button(CAPTION); + b.setDescription(TOOLTIP); + b.addListener(this); // react to clicks + addComponent(b); + + // Button w/ text, icon and tooltip + b = new Button(CAPTION); + b.setDescription(TOOLTIP); + b.setIcon(ICON); + b.addListener(this); // react to clicks + addComponent(b); + + // Button w/ icon and tooltip + b = new Button(); + b.setDescription(TOOLTIP); + b.setIcon(ICON); + b.addListener(this); // react to clicks + addComponent(b); + + } + + /* + * Shows a notification when a button is clicked. + */ + public void buttonClick(ClickEvent event) { + getWindow().showNotification(NOTIFICATION); + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonSwitch.java b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonSwitch.java new file mode 100644 index 0000000000..6eeab810b3 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonSwitch.java @@ -0,0 +1,30 @@ +package com.itmill.toolkit.demo.sampler.features.buttons; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.ui.Button; + +public class ButtonSwitch extends Feature { + + public String getDescription() { + return "A switch button."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Button.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { ButtonPush.class, ButtonLink.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonSwitch.png b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonSwitch.png new file mode 100644 index 0000000000000000000000000000000000000000..948e16757988ba609557f245305245cb7c88d265 GIT binary patch literal 3557 zcmZ8kcQhMr+fE0HDuPmK@1h#o)K()#QGQmbB4|}a?Gank5~66SRY4=wpc++s)E=c~ zj7IF%-Xm75PrvWH?|0t!Jm-4u`?>D(Joi7(xz2sXm^{#BV&G-~002z-dfKLE5%Cw7 zXwP=VCt%`PIOk)ks|g_VTwgpp&^j9EY6DLHt`FbwNoNebr=GPB0Kmxh7v}))Fn0CH940q-Tr*( z8)afocYw4CZMi3YEk&` zl2Ly~FzS`57;)if;`x*ipjnB669~$8J<=E+3(e>rUYMm$XY{U_GkPUlX?T~YomJ&U z=TfB7HhD^+o0Hj>FY2||UlQd>>n(ZGCT%&dB>zG*K(+qb>9=-j=`|@u_^xK`NRj8s z%2NrWIsEncD}_6s}e9u1)9+8q{$Ku;TRfI{T$nIhrNXCJ|$((M)wlDhjYTn$& zmMDfxB{pCZ^K+~}Qrb46P~Hd15!&KHBPL$1$% zTW1>+Bh?JENLOk49QK`jZQk6^Qp7}O%exg}3x`qubv@cR3jIANX?)uiDqr)WU2QtW z?T#{IGuJ6mA`J12b8*Dgp92NLqSpPWBQA6Hqea6z6>*Je0Z8B}A7xb?-E=4X>0zUQ z+|Qi--pYx0&uhBY3Z)dP>9G3&XsC|{P@Rw5LVjiBp6x$FK*nglvR57Dz2aH+y7^ol zrF5^%#Npe^dSLK#MIBpZ%6*glJ;x^tK(IT>P=7;#HfpaKSo=QQjntIelR#{r?LF{jM4fXnz-%T})`NJqDRmIZEx++M8(0esE9rhREvbChupT^7Ku3K|(;HZ|~j zFoO)XpBLn=VidE(*YqfMN=#kh)_h5@JrmYRB_J0zN%QAKWJ@fH4ZE!0)IvB4n?|)r zXa3nek)c)JW46MgIV=Jyv=26) zaFH<+)MdKgl(jHb>%Sm}EZ$2Y;)?hg*!KgLA<#w8w*qnCCshM|;jMiNNhpS>}IQ6QHunRa~&Fi1SZDKZEz9IOU$jxOR zJ*DZ!#Qe^lAWOs-@ll~t`;2_Neb*ex_DRj+5e|4tQCN7<-Kg(%I8ongO`ETBFJ)%m^G zuY-n*gGV#hrp0RYinQ~<5Jj41W`b>O=KO{dH#glcW*k8ubuNfM;V&6*jcnbYbsF*qnUc3gbJ7)hwv1I4WS(quy2-; zoyjQ%_htL>;VP#0)}A(Y@2Iz*{Kjj|xk(BHEYEwCM~uOD8VTKYhc^(ViN6?sd>0~3 zdk)I_*L***(4Gt$oJfRMjH7axjyRV%ls)R`P!jnPf`@#S3hH*ApDJG; zFD4QL954P#$X<;k5-aF)D}+cKtxddQ`;YpYcqK@oX(D4-*0D5=Fi2;+O6skoNXcY( z`D=1k8%Kv9Q-{BU2L^fIjh1uW)WmJE3g(PzSy|rC?d5PnN&Tx-M4MA!Hih^{I%r$i z(!Do_>{UZEDw|X+oc-0o;qjQ)Ywwx><4*-$Z03>UT6$UoqLgEV&jGw;!A9R|>2Pz7 z+H3vYQ7rT*Xln_5mY&>kq=0X1`zRb92Rt!Xa4&+|EVBAv^`GyLVFtoTKe5DRo^tjz zrvsjnK(T4jPxZx7?}VhRwn!V~kh;2skasYplBiU+uy&$Z4@;TdQHtU~s#hWT99M^t z6xPY@;b2tg(eoa+tU&LZ2Ef>2gm!Ekab~uwAQsJOcaT<;VAmM`a%sTkz-3qZS*c-Y zhH(Wabhon@%xZLN6Qo0wgL_U@+9IE`<3+sl_bvs|>27|Wm|b}w`Kb}#Q!WSOJmu%4 zHJl%?U`!uU&$tt7Dq%s(#*d%ccmXU->o8W06z%KmmR^=Fn18Xz(Zw=DZV~q>80YJ((4NSudVmCvRtY0 z@!CawYgS}Ar6t8H&Or>%rWlg>X)vsyr*b0QU$B8wClA}D>lf-mQ zYkaP)hwic+*otkaXN#~*|4NS8#`lW{DF5UPYsfyWjzf0dH{6|5w`5)#@EHI0_XBXV zwSdNK(;HhmYi-m&0~;_IhB?!6v*8%X{bT&|k&HurL;5POaCB3kUBOE_P+uMTxE?(#tOPW_*yL;FKNd29-S`81`XIo^{pXkC6f%UiChma52X zMcPX3Rg`z-{=;969pu<sYASa+|{xw-b?TCKJvESTT%|O;b_d$H$&`V1$x5D zV!8^vzjcPhM6VcD+;o+zAMHFKNA)Cp;)DBObN)2w-3$p`7-sZ0&vu$0A*g_rT4X}= z=tHM8sxc!5b7h>|1-oN+oq*%StDB?wr>)}G#t}htx7JJ*>-F&a8W+>aEO#q~T?a2R z$KYPdy*ottd%I5#o$4ImOv;^pP{d=DHt$aCud`7?PGCXR_KNW8jUTaERa>*lwF}nN3cCZDtIfiHSL=XJx1qnZXmR~| zetvh7XRRr#qmVU)qr>q97I&KN6V8TJf92kuG+~+1M;DvBjcRR<8be@1%Bm14b~F{@ zLc@AwAS#vIvyHF1A^hs907=v`-#o`OKd<(2m$CZw)Rej;AuFuO2h;pMm)ox(S6bb` zB@2fyMJ_M4rhAKKn4$q(%6Yi$VO`sZb+wg3|LB^U3&Kq+wcr53?CrBnc4Jae1*LjZxc%b#wqo$ifyX_~OLj*d>b)|Y-D7nejz zt<1jjyk(UTX~*u1rIQ@l1m;TE5V@&>tm)zn-ENdH=42DVZ8J2Fy0?o zlG{*e!I)+4INn^-$Om{f0~!6V2H$Gj06rE>u5q++Ig7@8@tiPZFq{aXp# z4w0R&hg|cGw~?GQr-=^nHBSJMrZL$MVoh^37d?%{y*?Dyu-U8I} zAbD~mX{L~=G?NqOJ+b;)mIsH80pP7llmBoiXT!(8%*(%qkN@&CjDS<-N!yR>7SCE| Q&pa4FAM!w(pb16(50ne^1^@s6 literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonSwitchExample.java b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonSwitchExample.java new file mode 100644 index 0000000000..722b89b085 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/buttons/ButtonSwitchExample.java @@ -0,0 +1,52 @@ +package com.itmill.toolkit.demo.sampler.features.buttons; + +import com.itmill.toolkit.terminal.ThemeResource; +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.OrderedLayout; +import com.itmill.toolkit.ui.Button.ClickEvent; + +public class ButtonSwitchExample extends OrderedLayout implements + Button.ClickListener { + + private static final String CAPTION = "Allow HTML"; + private static final String TOOLTIP = "Allow/disallow HTML in comments"; + private static final ThemeResource ICON = new ThemeResource( + "icons/page_code.gif"); + + public ButtonSwitchExample() { + setSpacing(true); + + // Button w/ text and tooltip + Button b = new Button(CAPTION); + b.setSwitchMode(true); + b.setDescription(TOOLTIP); + b.addListener(this); // react to clicks + addComponent(b); + + // Button w/ text, icon and tooltip + b = new Button(CAPTION); + b.setSwitchMode(true); + b.setDescription(TOOLTIP); + b.setIcon(ICON); + b.addListener(this); // react to clicks + addComponent(b); + + // Button w/ icon and tooltip + b = new Button(); + b.setSwitchMode(true); + b.setDescription(TOOLTIP); + b.setIcon(ICON); + b.addListener(this); // react to clicks + addComponent(b); + + } + + /* + * Shows a notification when a button is clicked. + */ + public void buttonClick(ClickEvent event) { + boolean enabled = event.getButton().booleanValue(); + getWindow().showNotification( + "HTML " + (enabled ? "enabled" : "disabled")); + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/link/LinkCurrentWindow.java b/src/com/itmill/toolkit/demo/sampler/features/link/LinkCurrentWindow.java new file mode 100644 index 0000000000..3bd09c9307 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/link/LinkCurrentWindow.java @@ -0,0 +1,32 @@ +package com.itmill.toolkit.demo.sampler.features.link; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.demo.sampler.features.buttons.ButtonLink; +import com.itmill.toolkit.ui.Link; + +public class LinkCurrentWindow extends Feature { + + public String getDescription() { + return "An external link."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Link.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { LinkNoDecorations.class, LinkSizedWindow.class, + ButtonLink.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/link/LinkCurrentWindow.png b/src/com/itmill/toolkit/demo/sampler/features/link/LinkCurrentWindow.png new file mode 100644 index 0000000000000000000000000000000000000000..5b13d5e288df15df29df46206042790be32f92b4 GIT binary patch literal 3249 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 F_#Zz0Vs-!k literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/link/LinkCurrentWindowExample.java b/src/com/itmill/toolkit/demo/sampler/features/link/LinkCurrentWindowExample.java new file mode 100644 index 0000000000..20b7909e58 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/link/LinkCurrentWindowExample.java @@ -0,0 +1,38 @@ +package com.itmill.toolkit.demo.sampler.features.link; + +import com.itmill.toolkit.terminal.ExternalResource; +import com.itmill.toolkit.terminal.ThemeResource; +import com.itmill.toolkit.ui.Link; +import com.itmill.toolkit.ui.OrderedLayout; + +public class LinkCurrentWindowExample extends OrderedLayout { + + private static final String CAPTION = "Open Google"; + private static final String TOOLTIP = "http://www.google.com"; + private static final ThemeResource ICON = new ThemeResource( + "icons/icon_world.gif"); + + public LinkCurrentWindowExample() { + setSpacing(true); + + // Link w/ text and tooltip + Link l = new Link(CAPTION, + new ExternalResource("http://www.google.com")); + l.setDescription(TOOLTIP); + addComponent(l); + + // Link w/ text, icon and tooltip + l = new Link(CAPTION, new ExternalResource("http://www.google.com")); + l.setDescription(TOOLTIP); + l.setIcon(ICON); + addComponent(l); + + // Link w/ icon and tooltip + l = new Link(); + l.setResource(new ExternalResource("http://www.google.com")); + l.setDescription(TOOLTIP); + l.setIcon(ICON); + addComponent(l); + + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/link/LinkNoDecorations.java b/src/com/itmill/toolkit/demo/sampler/features/link/LinkNoDecorations.java new file mode 100644 index 0000000000..7d979d8b6e --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/link/LinkNoDecorations.java @@ -0,0 +1,32 @@ +package com.itmill.toolkit.demo.sampler.features.link; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.demo.sampler.features.buttons.ButtonLink; +import com.itmill.toolkit.ui.Link; + +public class LinkNoDecorations extends Feature { + + public String getDescription() { + return "A link that opens a new window w/o decorations"; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Link.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { LinkCurrentWindow.class, LinkSizedWindow.class, + ButtonLink.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/link/LinkNoDecorations.png b/src/com/itmill/toolkit/demo/sampler/features/link/LinkNoDecorations.png new file mode 100644 index 0000000000000000000000000000000000000000..e8fa3010c9d32c647b0c41f97c432a5b0a81c93c GIT binary patch literal 3803 zcmai%XHXN&*2jbJ073xif>Jabf&?Q(33A1#PTQQrQWxhIjq$Q&Y! z?#a8}8#Ncjn$eaf{aK(Y8EvCd)yZ1`5wt{ei;J;P{uTX8yi6}Hyn0ubcY1P)9Z~BJ3dh(tyRZ)6`!R8)aic(wn=>CC6KM25%Y9p% zOL46+0lTHD``Z8UnhHB&X=@7f_TCVbdB+mkd({CCV20))^`{E#p7{G(4r+c6 z*&5Xi48=x_r~}YBwcfdG#{;)S28C6**`MdkM+aoHIa)P)M%#TYd{p3A8-{7w1nmSv^K4A+tGjb_3^*jk+1z(NCz+hr^B*)40s? zzn|CLAufmU9n0e~+c^nX#KRyPL_d29cgIjBW}!$QVWyLD^yF(9S#Lr<K5=yk&f; z9B_uu6by|@fj3vwTM-+(4n@+!zJCnh8^<~1G$L1EKD_ujFX#_n>`IM`n;#8Op-EP5 zFOSE)c8dc%uEI6)b@KH!87E5Uy$I#(JL}|cBhQ$bgBn~$-8c@+Zi$`%qo0)~_5`L0 z?#%s!obIp^&jxT)RqEM3qMM=gu-3`YE9*^&kH~?*n{#I%(n0P|P;N`Rx$a*|mY!x1 z_K?8uoK72@1O2}jzIVLL*G5F6W6O~-uYnN~Gu^pG+dBbYyo!aI1RPmEC1b9HWMgVJ zCUZ-%*wgyh85O)j9T$8<+%G(&@^ezLAZ1%l@Hb<5U1N`496$8)JIdPDWR(t3^{+jP zpT4#eNG-#+&?m-es3f5INc$1LN;Q_>nr1aH^mPk(xY-f}ed>Kw=97=oE@*VA0O)p( z{1wzF8$bA?u(niUO(Ji#PEsH#kH$;#;hjHBH(yd0Jvr9y-NI zcxSGR;WN8

@zx-U_#RdXvS_8d+(dZS##)WW!A^;wTS)> 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 literal 0 HcmV?d00001 diff --git a/src/com/itmill/toolkit/demo/sampler/features/link/LinkNoDecorationsExample.java b/src/com/itmill/toolkit/demo/sampler/features/link/LinkNoDecorationsExample.java new file mode 100644 index 0000000000..446f6080db --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/link/LinkNoDecorationsExample.java @@ -0,0 +1,44 @@ +package com.itmill.toolkit.demo.sampler.features.link; + +import com.itmill.toolkit.terminal.ExternalResource; +import com.itmill.toolkit.terminal.ThemeResource; +import com.itmill.toolkit.ui.Link; +import com.itmill.toolkit.ui.OrderedLayout; + +public class LinkNoDecorationsExample extends OrderedLayout { + + private static final String CAPTION = "Open Google in new window"; + private static final String TOOLTIP = "http://www.google.com (opens in new window)"; + private static final ThemeResource ICON = new ThemeResource( + "icons/icon_world.gif"); + + public LinkNoDecorationsExample() { + setSpacing(true); + + // Link w/ text and tooltip + Link l = new Link(CAPTION, + new ExternalResource("http://www.google.com")); + l.setTargetName("_blank"); + l.setTargetBorder(Link.TARGET_BORDER_NONE); + l.setDescription(TOOLTIP); + addComponent(l); + + // Link w/ text, icon and tooltip + l = new Link(CAPTION, new ExternalResource("http://www.google.com")); + l.setTargetName("_blank"); + l.setTargetBorder(Link.TARGET_BORDER_NONE); + l.setDescription(TOOLTIP); + l.setIcon(ICON); + addComponent(l); + + // Link w/ icon and tooltip + l = new Link(); + l.setResource(new ExternalResource("http://www.google.com")); + l.setTargetName("_blank"); + l.setTargetBorder(Link.TARGET_BORDER_NONE); + l.setDescription(TOOLTIP); + l.setIcon(ICON); + addComponent(l); + + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/link/LinkSizedWindow.java b/src/com/itmill/toolkit/demo/sampler/features/link/LinkSizedWindow.java new file mode 100644 index 0000000000..8591ca355b --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/link/LinkSizedWindow.java @@ -0,0 +1,32 @@ +package com.itmill.toolkit.demo.sampler.features.link; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.demo.sampler.features.buttons.ButtonLink; +import com.itmill.toolkit.ui.Link; + +public class LinkSizedWindow extends Feature { + + public String getDescription() { + return "A link that opens a small new window w/o decorations"; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(Link.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { LinkCurrentWindow.class, LinkNoDecorations.class, + ButtonLink.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/link/LinkSizedWindow.png b/src/com/itmill/toolkit/demo/sampler/features/link/LinkSizedWindow.png new file mode 100644 index 0000000000000000000000000000000000000000..290b313a9b645976be63e1c7d75b6e4ee30fb9f8 GIT binary patch literal 3886 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 literal 0 HcmV?d00001 -- 2.39.5