List of usage examples for org.apache.wicket.markup.html.form ImageButton ImageButton
public ImageButton(final String id, final ResourceReference resourceReference, PageParameters resourceParameters)
ResourceReference
. From source file:net.kornr.swit.button.ButtonResource.java
License:Apache License
/** * Creates a Wicket image button in the normal cache. Like getImage(), but returns an ImageButton. * @param id/* ww w.j av a2 s.co m*/ * @param template * @param text * @return */ static ImageButton getImageButton(String id, ButtonTemplate template, String text) { return new ImageButton(id, ButtonResource.getReference(), ButtonResource.getValueMap(template, text)); }
From source file:net.kornr.swit.site.buttoneditor.ButtonEditor.java
License:Apache License
private void init() { this.innerAdd(new Image("logo", ButtonResource.getReference(), ButtonResource.getValueMap(s_logoTemplate, "The Swit Buttons Generator"))); m_codeEncoder = new ButtonCodeMaker(m_selectedDescriptor, m_currentProperties, new PropertyModel<String>(this, "text")); final Form form = new Form("form") { @Override/*from ww w . ja v a 2 s . c o m*/ protected void onSubmit() { if (((WebRequest) (WebRequestCycle.get().getRequest())).isAjax() == false) createButton(null); } }; this.innerAdd(form); Border sampleborder = new TableImageBorder("sampleborder", s_border3, Color.white); form.add(sampleborder); WebMarkupContainer samplecont = new WebMarkupContainer("samplecontainer"); sampleborder.add(samplecont); samplecont.add((m_sample = new Image("sample")).setOutputMarkupId(true)); sampleborder .add(new ColorPickerField("samplebgcolor", new PropertyModel<String>(this, "bgcolor"), samplecont)); ImageButton submit = new ImageButton("submit", ButtonResource.getReference(), ButtonResource.getValueMap(s_buttonTemplate, "Update that button, now!")); sampleborder.add(submit); submit.add(new AjaxFormSubmitBehavior(form, "onclick") { @Override protected void onError(AjaxRequestTarget arg0) { } @Override protected void onSubmit(AjaxRequestTarget target) { createButton(target); } @Override protected CharSequence getEventHandler() { return new AppendingStringBuffer(super.getEventHandler()).append("; return false;"); } }); sampleborder.add(m_downloadLink = new MutableResourceReferenceLink("downloadbutton", ButtonResource.getReference(), null)); m_downloadLink.setOutputMarkupId(true); // this.innerAdd(m_codeLabel = new Label("code", new PropertyModel(m_codeEncoder, "code"))); // m_codeLabel.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true).setEscapeModelStrings(false); // m_codeLabel.setVisible(true); final ModalWindow codewindow = new ModalWindow("code"); this.innerAdd(codewindow); Fragment codefrag = new Fragment(codewindow.getContentId(), "codepanel", this); Label lcode = new Label("code", new PropertyModel(m_codeEncoder, "code")); codefrag.add(lcode); codewindow.setContent(codefrag); codewindow.setTitle("Java Code"); codewindow.setCookieName("switjavacodewindow"); sampleborder.add(new AjaxLink("showwindowcode") { @Override public void onClick(AjaxRequestTarget target) { codewindow.show(target); } }); form.add((m_feedback = new FeedbackPanel("feedback")).setOutputMarkupId(true) .setOutputMarkupPlaceholderTag(true)); ThreeColumnsLayoutManager layout = new ThreeColumnsLayoutManager("2col-layout", s_layout); form.add(layout); ColumnPanel rightcol = layout.getRightColumn(); ColumnPanel leftcol = layout.getLeftColumn(); Border textborder = new TableImageBorder("textborder", s_shadow, s_blocColor); layout.add(textborder); textborder.add(new TextField<String>("button-text", new PropertyModel<String>(this, "text"))); Border buttonsborder = new TableImageBorder("buttonsborder", s_shadow, s_blocColor); layout.add(buttonsborder); buttonsborder.add(new ListView<ButtonDescriptor>("types", s_buttons) { @Override protected void populateItem(ListItem<ButtonDescriptor> item) { final IModel<ButtonDescriptor> model = item.getModel(); ButtonDescriptor bd = item.getModelObject(); ButtonTemplate tmpl = s_buttonsTemplates.get(bd.getName()); if (tmpl == null) { tmpl = bd.createTemplate(); try { List<ButtonProperty> props = bd.getProperties(); bd.applyProperties(tmpl, props); tmpl.setWidth(200); tmpl.setFont(s_defaultButtonFont); tmpl.setFontColor(Color.white); tmpl.setShadowDisplayed(true); tmpl.addEffect(new ShadowBorder(4, 0, 0, Color.black)); tmpl.setAutoExtend(true); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } s_buttonsTemplates.put(bd.getName(), tmpl); } ImageButton button = new ImageButton("sample", ButtonResource.getReference(), ButtonResource.getValueMap(tmpl, bd.getName())); item.add(button); button.add(new AjaxFormSubmitBehavior(form, "onclick") { @Override protected void onError(AjaxRequestTarget arg0) { } @Override protected void onSubmit(AjaxRequestTarget target) { m_selectedDescriptor = model.getObject(); m_currentProperties = m_selectedDescriptor.getProperties(); if (target != null) { // target.addComponent(m_properties); } createButton(target); } @Override protected CharSequence getEventHandler() { String hider = getJQueryCodeForPropertiesHiding(model.getObject()); return new AppendingStringBuffer(hider + ";" + super.getEventHandler()) .append("; return false;"); } }); } }); m_properties = new TableImageBorder("propertiesborder", s_shadow, s_blocColor); layout.add(m_properties); m_properties.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true); m_currentProperties = m_selectedDescriptor.getProperties(); m_propEditors = new ListView<ButtonDescriptor>("property", s_buttons) { @Override protected void populateItem(ListItem<ButtonDescriptor> item) { ButtonDescriptor desc = item.getModelObject(); WebMarkupContainer container = new WebMarkupContainer("container"); item.add(container); PropertyListEditor lst = new PropertyListEditor("lst", desc.getProperties()); container.add(lst); container.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true); m_propertiesContainer.add(new Pair(desc.getName(), container)); } }; m_properties.add(m_propEditors); // Border fontborder = new TableImageBorder("fontborder", s_shadow, s_blocColor); // form.add(fontborder); // fontborder.add(new ButtonPropertyEditorPanel("fontselector", PROPERTY_FONT, false)); // fontborder.add(new ButtonPropertyEditorPanel("fontcolor", PROPERTY_FONT_COLOR, false)); // fontborder.add(new ButtonPropertyEditorPanel("fontshadow", PROPERTY_FONT_SHADOW, true)); rightcol.addContent(createFragment(ColumnPanel.CONTENT_ID, Arrays.asList(new Component[] { new ButtonPropertyEditorPanel("element", PROPERTY_WIDTH, true), new ButtonPropertyEditorPanel("element", PROPERTY_HEIGHT, true), new ButtonPropertyEditorPanel("element", PROPERTY_AUTO_EXTEND, true) }), "Button Size")); rightcol.addContent(createFragment(rightcol.CONTENT_ID, Arrays.asList(new Component[] { new ButtonPropertyEditorPanel("element", PROPERTY_FONT, false), new ButtonPropertyEditorPanel("element", PROPERTY_FONT_COLOR, true), new ButtonPropertyEditorPanel("element", PROPERTY_FONT_SHADOW, true) }), "Font Selection")); rightcol.addContent(createFragment( rightcol.CONTENT_ID, new EffectChoicePanel("element", new PropertyModel<Integer>(this, "shadowEffect"), EffectUtils.getShadowEffects()), "Shadow Effect")); rightcol.addContent(createFragment( rightcol.CONTENT_ID, new EffectChoicePanel("element", new PropertyModel<Integer>(this, "mirrorEffect"), EffectUtils.getMirrorEffects()), "Mirror Effect")); createButton(null); }