List of usage examples for org.apache.wicket.markup.html.list ListView ListView
public ListView(final String id, final List<T> list)
From source file:com.senacor.wbs.web.user.ListRolesPanel.java
License:Apache License
public ListRolesPanel(String id) { super(id);/* ww w . j av a 2 s . co m*/ setOutputMarkupId(true); setRenderBodyOnly(false); roleListView = new ListView("roleList", roleManager.findAll()) { protected void populateItem(ListItem item) { Role role = (Role) item.getModelObject(); item.add(new RoleFragment("role", "roleFragment", role)); } }; add(roleListView); editRoleModalWindow = new EditRoleModalWindow("editRoleWindow"); editRoleModalWindow.setOutputMarkupId(true); editRoleModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { public void onClose(AjaxRequestTarget target) { roleListView.setList(roleManager.findAll()); target.addComponent(ListRolesPanel.this); } }); add(editRoleModalWindow); }
From source file:com.servoy.j2db.server.headlessclient.MainPage.java
License:Open Source License
@SuppressWarnings("nls") private void init(WebClient sc) { setStatelessHint(false);//www . j a va 2 s. c om client = sc; webForms = new ArrayList<IFormUIInternal<?>>(); title = new Label("title", new Model<String>("Servoy Web Client")); //$NON-NLS-1$ //$NON-NLS-2$ title.setOutputMarkupId(true); add(title); useAJAX = Utils.getAsBoolean(client.getRuntimeProperties().get("useAJAX")); //$NON-NLS-1$ int dataNotifyFrequency = Utils .getAsInteger(sc.getSettings().getProperty("servoy.webclient.datanotify.frequency", "5")); //$NON-NLS-1$ //$NON-NLS-2$ if (dataNotifyFrequency > 0 && useAJAX) { add(new AbstractAjaxTimerBehavior(Duration.seconds(dataNotifyFrequency)) { private static final long serialVersionUID = 1L; @Override protected void onTimer(AjaxRequestTarget target) { if (isServoyEnabled() && !client.getFlattenedSolution().isInDesign(null) && String.valueOf(MainPage.this.getCurrentVersionNumber()) .equals(RequestCycle.get().getRequest().getParameter("pvs"))) { WebEventExecutor.generateResponse(target, MainPage.this); } } @Override public void renderHead(IHeaderResponse response) { if (isServoyEnabled()) { super.renderHead(response); String jsTimerScript = getJsTimeoutCall(getUpdateInterval()); response.renderJavascript("function restartTimer() {" + jsTimerScript + "}", //$NON-NLS-1$//$NON-NLS-2$ "restartTimer"); //$NON-NLS-1$ } } @Override protected CharSequence getPreconditionScript() { return "onAjaxCall(); if(Servoy.DD.isDragging) Servoy.DD.isRestartTimerNeeded=true; return !Servoy.DD.isDragging && !Servoy.redirectingOnSolutionClose;"; //$NON-NLS-1$ } @Override protected CharSequence getFailureScript() { return "onAjaxError();restartTimer();"; //$NON-NLS-1$ } @Override protected CharSequence getCallbackScript() { // if it is not enabled then just return an empty function. so that the timer stops. if (isServoyEnabled()) { return generateCallbackScript("wicketAjaxGet('" + //$NON-NLS-1$ getCallbackUrl(onlyTargetActivePage()) + "&ignoremp=true&pvs=" //$NON-NLS-1$ + MainPage.this.getCurrentVersionNumber() + "'"); } return "Servoy.Utils.nop()"; } @Override public CharSequence getCallbackUrl(boolean onlyTargetActivePage) { if (getComponent() == null) { throw new IllegalArgumentException( "Behavior must be bound to a component to create the URL"); //$NON-NLS-1$ } return getComponent().urlFor(this, AlwaysLastPageVersionRequestListenerInterface.INTERFACE); } @Override protected String findIndicatorId() { return null; // main page defines it and the timer shouldnt show it } /* * this can't be isEnabled(component) of the behavior itself because IE8 will constant call this on closed (modal)windows. So then this is * marked as disabled and an AbortException is thrown what our code sees as a server error and will constantly restart the timer. */ private boolean isServoyEnabled() { return ((getController() != null && getController().isFormVisible()) || closingAsWindow); } }); } add(new TriggerOrientationChangeAjaxBehavior()); add(new TriggerResizeAjaxBehavior()); add(new AbstractServoyLastVersionAjaxBehavior() { @Override protected void execute(AjaxRequestTarget target) { for (ServoyDivDialog divDialog : divDialogs.getOrderedByOpenSequence()) { if (!divDialog.isShown()) { // this means a refresh was probably triggered and we must re-show these... because we do not keep closed dialogs in divDialogs int x = divDialog.getX(); int y = divDialog.getY(); int w = divDialog.getWidth(); int h = divDialog.getHeight(); divDialog.show(target, null); divDialog.setBounds(target, x, y, w, h, null); } } WebEventExecutor.generateResponse(target, MainPage.this); } @Override public void renderHead(IHeaderResponse response) { super.renderHead(response); response.renderOnDomReadyJavascript(getCallbackScript(true).toString()); } @Override public boolean isEnabled(Component component) { return divDialogs.size() > 0 && super.isEnabled(component); } }); body = new WebMarkupContainer("servoy_page") //$NON-NLS-1$ { private static final long serialVersionUID = 1L; /** * @see org.apache.wicket.Component#onComponentTag(org.apache.wicket.markup.ComponentTag) */ @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); tag.putAll(bodyAttributes); } }; body.add(new AttributeModifier("dir", true, new AbstractReadOnlyModel<String>() //$NON-NLS-1$ { @Override public String getObject() { String value = AttributeModifier.VALUELESS_ATTRIBUTE_REMOVE; Locale l = client.getLocale(); Solution solution = client.getSolution(); if (solution != null && l != null) { value = OrientationApplier.getHTMLContainerOrientation(l, solution.getTextOrientation()); } return value; } })); add(body); pageContributor = new PageContributor(client, "contribution"); body.add(pageContributor); Label loadingIndicator = new Label("loading_indicator", sc.getI18NMessage("servoy.general.loading")); loadingIndicator.add(new SimpleAttributeModifier("style", "display:none;")); body.add(loadingIndicator); divDialogsParent = new WebMarkupContainer(DIV_DIALOGS_REPEATER_PARENT_ID); divDialogsParent.setOutputMarkupPlaceholderTag(true); divDialogsParent.setVisible(false); body.add(divDialogsParent); if (useAJAX) { add(new TriggerUpdateAjaxBehavior()); // for when another page needs to trigger an ajax update on this page using js (see media upload) divDialogRepeater = new RepeatingView(DIV_DIALOG_REPEATER_ID); divDialogsParent.add(divDialogRepeater); fileUploadWindow = new ServoyDivDialog(FILE_UPLOAD_DIALOG_ID); body.add(fileUploadWindow); fileUploadWindow.setModal(true); fileUploadWindow.setPageMapName(null); fileUploadWindow.setCookieName("dialog_fileupload"); fileUploadWindow.setResizable(true); fileUploadWindow.setInitialHeight(150); fileUploadWindow.setInitialWidth(400); fileUploadWindow.setMinimalHeight(130); fileUploadWindow.setMinimalWidth(400); fileUploadWindow.setUseInitialHeight(true); // no effect, can be removed fileUploadWindow.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = 1L; public Page createPage() { return new MediaUploadPage(PageMap.forName(FILE_UPLOAD_PAGEMAP), mediaUploadCallback, mediaUploadMultiSelect, getController().getApplication()); } }); fileUploadWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { private static final long serialVersionUID = 1L; public void onClose(AjaxRequestTarget target) { divDialogs.remove(FILE_UPLOAD_PAGEMAP); fileUploadWindow.setPageMapName(null); fileUploadWindow.remove(fileUploadWindow.getContentId()); restoreFocusedComponentInParentIfNeeded(); WebEventExecutor.generateResponse(target, findPage()); } }); } else { divDialogsParent.add(new Label("divdialogs")); body.add(new Label("fileuploaddialog")); //$NON-NLS-1$ } IModel<String> styleHrefModel = new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { if (main != null) { return getRequest().getRelativePathPrefixToContextRoot() + "servoy-webclient/templates/" + //$NON-NLS-1$ client.getClientProperty(WEBCONSTANTS.WEBCLIENT_TEMPLATES_DIR) + "/servoy_web_client_default.css"; //$NON-NLS-1$ } return null; } }; Label main_form_style = new Label("main_form_style"); //$NON-NLS-1$ main_form_style.add(new AttributeModifier("href", true, styleHrefModel)); //$NON-NLS-1$ add(main_form_style); IModel<List<IFormUIInternal<?>>> loopModel = new AbstractReadOnlyModel<List<IFormUIInternal<?>>>() { private static final long serialVersionUID = 1L; @Override public List<IFormUIInternal<?>> getObject() { return webForms; } }; listview = new ListView<IFormUIInternal<?>>("forms", loopModel) //$NON-NLS-1$ { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<IFormUIInternal<?>> item) { final WebForm form = (WebForm) item.getModelObject(); tempRemoveMainForm = true; try { if (form.getParent() != null) { form.remove(); // TODO isn't this already done by item.add(form) below in wicket's impl? } item.add(form); } finally { tempRemoveMainForm = false; } IFormLayoutProvider layoutProvider = FormLayoutProviderFactory.getFormLayoutProvider(client, client.getSolution(), form.getController().getForm(), form.getController().getName()); TextualStyle styleToReturn = null; if ((navigator != null) && (form == navigator.getFormUI())) { styleToReturn = layoutProvider.getLayoutForForm(navigator.getForm().getSize().width, true, false); } else if (form == main) { int customNavWidth = 0; if (navigator != null) customNavWidth = navigator.getForm().getSize().width; styleToReturn = layoutProvider.getLayoutForForm(customNavWidth, false, false); } if (styleToReturn != null) { form.add(new StyleAppendingModifier(styleToReturn) { @Override public boolean isEnabled(Component component) { // Laurian: looks like bogus condition, shouldn't this be || as in WebForm ? return (component.findParent(WebTabPanel.class) == null) && (component.findParent(WebSplitPane.class) == null); } }); } TabIndexHelper.setUpTabIndexAttributeModifier(item, ISupportWebTabSeq.SKIP); } @Override protected ListItem<IFormUIInternal<?>> newItem(final int index) { return new ListItem<IFormUIInternal<?>>(index, getListItemModel(getModel(), index)) { @Override public void remove(Component component) { super.remove(component); // for example when a form is shown in a popup form (window plugin) it must know that it's main page changed if (!tempRemoveMainForm && component instanceof WebForm) { WebForm formUI = ((WebForm) component); if (MainPage.this == formUI.getMainPage()) { // if the form is visible and it will be now removed from the mainpage // then call notifyVisble false on it to let the form know it will hide // we can't do much if that is blocked by an onhide here. // (could be triggered by a browser back button) if (formUI.getController().isFormVisible()) { List<Runnable> invokeLaterRunnables = new ArrayList<Runnable>(); formUI.getController().notifyVisible(false, invokeLaterRunnables); Utils.invokeLater(client, invokeLaterRunnables); } formUI.setMainPage(null); } } } }; } /** * @see org.apache.wicket.markup.html.list.ListView#onBeforeRender() */ @Override protected void onBeforeRender() { super.onBeforeRender(); // now first initialize all the tabs so that data from // tab x doesn't change anymore (so that it could alter data in tab y) // don't know if this still does anything because we need to do it // in the onBeforeRender of WebTabPanel itself, else tableviews don't have there models yet.. visitChildren(WebTabPanel.class, new IVisitor<WebTabPanel>() { public Object component(WebTabPanel wtp) { wtp.initalizeFirstTab(); return IVisitor.CONTINUE_TRAVERSAL; } }); addWebAnchoringInfoIfNeeded(); } }; listview.setReuseItems(true); // if versioning is disabled then table views can go wrong (don't rollback on a submit) //listview.setVersioned(false); Form form = new ServoyForm("servoy_dataform"); //$NON-NLS-1$ form.add(new SimpleAttributeModifier("autocomplete", "off")); //$NON-NLS-1$ //$NON-NLS-2$ if (useAJAX) form.add(new SimpleAttributeModifier("onsubmit", "return false;")); //$NON-NLS-1$ //$NON-NLS-2$ form.add(listview); WebMarkupContainer defaultButton = new WebMarkupContainer("defaultsubmitbutton", new Model()); //$NON-NLS-1$ defaultButton.setVisible(!useAJAX); form.add(defaultButton); StylePropertyChangeMarkupContainer container = new StylePropertyChangeMarkupContainer("externaldivsparent"); form.add(container); PageContributorRepeatingView repeatingView = new PageContributorRepeatingView("externaldivs", container); container.add(repeatingView); pageContributor.addRepeatingView(repeatingView); body.add(form); }
From source file:com.servoy.j2db.server.headlessclient.SelectSolution.java
License:Open Source License
/** * Constructor that is invoked when page is invoked without a session. * /*from www . j av a 2 s. c o m*/ * @param parameters Page parameters */ public SelectSolution() throws RepositoryException { List<Solution> data = new ArrayList<Solution>(); try { IApplicationServerSingleton as = ApplicationServerRegistry.get(); if (as.isDeveloperStartup()) { data.add(as.getDebugClientHandler().getDebugSmartClient().getCurrent()); } else { if (Utils .getAsBoolean(Settings.getInstance().getProperty("servoy.allowSolutionBrowsing", "true"))) { RootObjectMetaData[] smds = as.getLocalRepository() .getRootObjectMetaDatasForType(IRepository.SOLUTIONS); int solutionType; for (RootObjectMetaData element : smds) { solutionType = ((SolutionMetaData) element).getSolutionType(); if ((solutionType & (SolutionMetaData.SOLUTION + SolutionMetaData.WEB_CLIENT_ONLY)) > 0) { Solution solution = (Solution) as.getLocalRepository() .getActiveRootObject(element.getRootObjectId()); if (solution != null) { data.add(solution); } } } } } } catch (RemoteException e) { Debug.error(e); } add(new ListView<Solution>("solutions", data) { private static final long serialVersionUID = 1L; /** * Populate the table with Wicket elements */ @Override protected void populateItem(final ListItem<Solution> listItem) { Solution sol = listItem.getModelObject(); PageParameters parameters = new PageParameters(); parameters.put("solution", sol.getName()); Link l = new BookmarkablePageLink("solution_link", SolutionLoader.class, parameters); listItem.add(l); l.add(new Label("solution_name", sol.getName())); listItem.add(new Image("login_req", new ResourceReference(IApplication.class, sol.requireAuthentication() ? "images/lock.gif" : "images/empty.gif"))); // listItem.add(new Label("release", ""+sd.getActiveRelease())); } }); }
From source file:com.swordlord.gozer.components.wicket.action.button.detail.GWDetailPanelActionToolbar.java
License:Open Source License
public GWDetailPanelActionToolbar(String name, IModel<GWContext> model, GDetail detail, final Form<?> form) { super(name, model); _detail = detail;/* ww w. j a v a 2 s . c om*/ final GWContext context = getGWContext(); final GozerController gc = context.getFrameExtension().getGozerController(); List<GActionBase> actions = getKnownActions(); ListView<GActionBase> listView = new ListView<GActionBase>("eachAction", actions) { @Override protected void populateItem(ListItem<GActionBase> item) { GActionBase ob = item.getModelObject(); if (ob.getClass().equals(GNewAction.class)) { item.add(new GWNewButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GDeleteAction.class)) { item.add(new GWDeleteButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GAddAction.class)) { item.add(new GWAddButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GRemoveAction.class)) { item.add(new GWRemoveButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GToggleAction.class)) { item.add(new GWSwitchToListButton(ACTION_WICKET_ID, gc, ob)); } else if (ob.getClass().equals(GFirstAction.class)) { item.add(new GWFirstButton(ACTION_WICKET_ID, gc, ob)); } else if (ob.getClass().equals(GPrevAction.class)) { item.add(new GWPrevButton(ACTION_WICKET_ID, gc, ob)); } else if (ob.getClass().equals(GNextAction.class)) { item.add(new GWNextButton(ACTION_WICKET_ID, gc, ob)); } else if (ob.getClass().equals(GLastAction.class)) { item.add(new GWLastButton(ACTION_WICKET_ID, gc, ob)); } else if (ob.getClass().equals(GOtherAction.class)) { item.add(new GWOtherButton(ACTION_WICKET_ID, gc, ob, form)); } } }; listView.setReuseItems(true); add(listView); if (actions.size() == 0) { listView.setVisible(false); this.setVisible(false); } }
From source file:com.swordlord.gozer.components.wicket.action.GWActionBox.java
License:Open Source License
/** * @param id//from w ww . ja va 2s . com * @param model * @param actionBox * @param form */ public GWActionBox(String id, IModel<?> model, GActionBox actionBox, final Form<?> form) { super(id, model); _actionBox = actionBox; final GWContext context = getGWContext(); final GozerController gc = context.getFrameExtension().getGozerController(); final boolean isModal = context.isModal(); List<GActionBase> actions = null; if (!isModal) { actions = filterKnownActions(actionBox, actionBox.getChildren()); } else { actions = getModalActions(actionBox, actionBox.getObjectTree()); } WebMarkupContainer toolbar = new WebMarkupContainer("action_toolbar"); add(toolbar); // validate if this is within an hbox or not if (hasVBoxAsParent(actionBox)) { toolbar.add(new AttributeModifier("class", new Model<String>("actionbox_halve"))); } ListView<GActionBase> listView = new ListView<GActionBase>("eachAction", actions) { @Override protected void populateItem(ListItem<GActionBase> item) { GActionBase ob = item.getModelObject(); if (context.isModal()) { DataBinding dataBinding = new DataBinding(ob); ImageButton panel = new ImageButton(ACTION_WICKET_ID, ""); panel.setEnabled(false); panel.setVisible(false); item.add(panel); if (ob.getClass().equals(GCancelAction.class)) { item.add(new GWModalCancelButton(ACTION_PANEL_WICKET_ID, gc, context, dataBinding)); } else if (ob.getClass().equals(GOKAction.class)) { item.add(new GWModalOKButton(ACTION_PANEL_WICKET_ID, gc, context, dataBinding)); } } else { Panel panel = new EmptyPanel(ACTION_PANEL_WICKET_ID); panel.setEnabled(false); panel.setVisible(false); item.add(panel); if (ob.getClass().equals(GNewAction.class)) { item.add(new GWNewButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GCancelAction.class)) { item.add(new GWCancelButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GDeleteAction.class)) { item.add(new GWDeleteButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GDetailAction.class)) { item.add(new GWDetailButton(ACTION_WICKET_ID, gc, ob)); } else if (ob.getClass().equals(GPersistAction.class)) { item.add(new GWPersistButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GGoBackAction.class)) { item.add(new GWGoBackButton(ACTION_WICKET_ID, gc, ob)); } else if (ob.getClass().equals(GEditAction.class)) { item.add(new GWEditButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GFopAction.class)) { item.add(new GWFopButton(ACTION_WICKET_ID, gc, ob)); } else if (ob.getClass().equals(GReportAction.class)) { item.add(new GWReportButton(ACTION_WICKET_ID, gc, (GReportAction) ob)); } else if (ob.getClass().equals(GCsvAction.class)) { item.add(new GWCsvButton(ACTION_WICKET_ID, gc, ob)); } else if (ob.getClass().equals(GAddAction.class)) { item.add(new GWAddButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GAddReferenceAction.class)) { item.add(new GWAddReferenceButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GRemoveAction.class)) { item.add(new GWRemoveButton(ACTION_WICKET_ID, gc, ob, form)); } else if (ob.getClass().equals(GOtherAction.class)) { item.add(new GWOtherButton(ACTION_WICKET_ID, gc, ob, form)); } else { LOG.error("Something went completely wrong. There is no check for the current class: " + ob.getClass()); item.add(new WebMarkupContainer(ACTION_WICKET_ID).setVisible(false)); } } } }; listView.setReuseItems(true); toolbar.add(listView); if (actions.size() == 0) { toolbar.setVisible(false); this.setVisible(false); } }
From source file:com.swordlord.gozer.components.wicket.box.GWFrame.java
License:Open Source License
/** * @param id//from ww w . j a v a 2 s.c om * @param model * @param gozerForm */ public GWFrame(String id, final IModel<?> model, ObjectBase gozerForm) { super(id, model); GWContext context = getGWContext(); context.setFormPanel(this); final SecureForm<Object> form = new SecureForm<Object>("gozerForm"); add(form); final FeedbackPanel feedback = new FeedbackPanel("feedback"); form.add(feedback); // filteredErrorLevels will not be shown in the FeedbackPanel // int[] filteredErrorLevels = new int[]{FeedbackMessage.ERROR}; // feedback.setFilter(new ErrorLevelFeedbackMessageFilter(filteredErrorLevels)); ObjectBase formRoot = gozerForm; ListView<ObjectBase> listView = new ListView<ObjectBase>("eachGuiElem", formRoot.getChildren()) { @Override protected void populateItem(ListItem<ObjectBase> item) { ObjectBase ob = item.getModelObject(); item.add(getPanelFromObjectBase("cell", ob, model, form)); } }; listView.setReuseItems(true); if (formRoot.getChildren().size() == 0) { listView.setVisible(false); } form.add(listView); }
From source file:com.swordlord.gozer.components.wicket.box.GWHBoxPanel.java
License:Open Source License
public GWHBoxPanel(String id, final IModel<?> model, GHBox detail, final Form<?> form) { super(id, model); LinkedList<ObjectBase> childs = detail.getChildrenCloned(); ListView<ObjectBase> listView = new ListView<ObjectBase>("cell", childs) { @Override/* w w w . j a va 2s .c o m*/ protected void populateItem(ListItem<ObjectBase> item) { ObjectBase ob = item.getModelObject(); item.add(getPanelFromObjectBase("content", ob, model, form)); } }; listView.setReuseItems(true); add(listView); }
From source file:com.swordlord.gozer.components.wicket.box.GWVBoxPanel.java
License:Open Source License
public GWVBoxPanel(String id, final IModel<?> model, GVBox detail, final Form<?> form) { super(id, model); LinkedList<ObjectBase> childs = detail.getChildrenCloned(); ListView<ObjectBase> listView = new ListView<ObjectBase>("eachGuiElem", childs) { @Override//w w w. j a va 2s .c om protected void populateItem(ListItem<ObjectBase> item) { ObjectBase ob = item.getModelObject(); item.add(getPanelFromObjectBase("cell", ob, model, form)); } }; listView.setReuseItems(true); add(listView); }
From source file:com.swordlord.gozer.components.wicket.detail.GWDetailPanel.java
License:Open Source License
@SuppressWarnings("unchecked") public GWDetailPanel(String id, IModel model, GDetail detail, final Form<?> form) { super(id, model); final IModel<?> detailModel = getModel(); GWDetailPanelActionToolbar tb = new GWDetailPanelActionToolbar("actionToolbox", model, detail, form); add(tb);/*from ww w . ja v a2 s . c o m*/ LinkedList childs = (LinkedList) detail.getChildren().clone(); for (int i = 0; i < childs.size(); i++) { if (childs.get(i) instanceof GActionToolbar) { childs.remove(i); } } ListView listView = new ListView("eachGuiElem", childs) { @Override protected void populateItem(ListItem item) { ObjectBase formObject = (ObjectBase) item.getModelObject(); String tblName = formObject.getDataBinding().getDataBindingMember().getDataBindingTableName(); String fieldName = formObject.getDataBinding().getDataBindingField().getFieldName(); DataTableBase dtb = formObject.getDataBinding().getDataBindingManager().getDataContainer() .getTableByAbsoluteName("com.swordlord.repository.datatable." + tblName + ".base." + tblName + "DataTableBase"); String[] listOfFields = dtb.getPropertyList(); // TODO re-add EAD Manager //if (!formObject.getClass().equals(GLibraryField.class) && !formObject.getClass().equals(GOneToNField.class) // && !EADManager.instance().isAttributeDefined(listOfFields, tblName, fieldName)) if (!formObject.getClass().equals(GLibraryField.class) && !formObject.getClass().equals(GOneToNField.class)) { String msg = _tr.getString("com.swordlord.sobf.wicket.message", "virutal_attribute_not_defined_db"); msg = MessageFormat.format(msg + " ({0}, {1})", fieldName, tblName); LOG.warn(msg); Label label = new Label("cell", "<td colspan=3><b><font color=red>" + msg + "<br></font></b></td>"); label.setEscapeModelStrings(false); item.add(label); } else { if (formObject.getClass().equals(GField.class)) { final DataBinding dataBinding = formObject.getDataBinding(); final DataBindingField field = dataBinding.getDataBindingField(); if (field.isForeignKey()) { GWDetailFKeyFieldPanel detailFKeyFieldPanel = new GWDetailFKeyFieldPanel("cell", detailModel, (GField) formObject, GWDetailPanel.this); detailFKeyFieldPanel.setRenderBodyOnly(true); // omit the <span> tags, we want to have the <td> // tags of DetailFieldPanel // right after <tr> item.add(detailFKeyFieldPanel); } else if (field.getDataFormat() instanceof DateTypeFormat) { GWDetailDateFieldPanel detailFieldPanel = new GWDetailDateFieldPanel("cell", detailModel, (GField) formObject); detailFieldPanel.setRenderBodyOnly(true); // omit the <span> tags, we want to have the <td> // tags of DetailFieldPanel // right after <tr> item.add(detailFieldPanel); } else if (field.getDataFormat() instanceof BooleanTypeFormat) { GWDetailBooleanFieldPanel detailBooleanFieldPanel = new GWDetailBooleanFieldPanel( "cell", detailModel, (GField) formObject); detailBooleanFieldPanel.setRenderBodyOnly(true); // omit the <span> tags, we want to have the <td> // tags of DetailFieldPanel // right after <tr> item.add(detailBooleanFieldPanel); } else { GWDetailFieldPanel detailFieldPanel = new GWDetailFieldPanel("cell", detailModel, (GField) formObject); detailFieldPanel.setRenderBodyOnly(true); // omit the <span> tags, we want to have the <td> // tags of DetailFieldPanel // right after <tr> item.add(detailFieldPanel); } } else if (formObject.getClass().equals(GLinkField.class)) { GWDetailLinkFieldPanel detailLinkFieldPanel = new GWDetailLinkFieldPanel("cell", detailModel, (GLinkField) formObject); detailLinkFieldPanel.setRenderBodyOnly(true); // omit the <span> tags, we want to have the <td> tags // of DetailFieldPanel // right after <tr> item.add(detailLinkFieldPanel); } else if (formObject.getClass().equals(GCodeField.class)) { GWDetailCodeFieldPanel detailCodeFieldPanel = new GWDetailCodeFieldPanel("cell", detailModel, (GCodeField) formObject); detailCodeFieldPanel.setRenderBodyOnly(true); // omit the <span> tags, we want to have the <td> tags // of DetailFieldPanel // right after <tr> item.add(detailCodeFieldPanel); } else if (formObject.getClass().equals(GPredefinedListField.class)) { GWDetailPredefinedListFieldPanel detailPredefinedListFieldPanel = new GWDetailPredefinedListFieldPanel( "cell", detailModel, (GPredefinedListField) formObject); detailPredefinedListFieldPanel.setRenderBodyOnly(true); // omit the <span> tags, we want to have the <td> tags // of DetailFieldPanel // right after <tr> item.add(detailPredefinedListFieldPanel); } else if (formObject.getClass().equals(GOneToNField.class)) { GWDetailOneToNPanel detailOneToNPanel = new GWDetailOneToNPanel("cell", detailModel, (GOneToNField) formObject, GWDetailPanel.this); detailOneToNPanel.setRenderBodyOnly(true); item.add(detailOneToNPanel); } } } }; listView.setReuseItems(true); add(listView); }
From source file:com.ttdev.wicketpagetest.sample.guice.PageExtractedByWicketIds.java
License:Open Source License
public PageExtractedByWicketIds() { values = new ArrayList<Integer>(); values.add(3);//from ww w. j a v a 2 s . co m values.add(2); values.add(8); ListView<Integer> eachRow = new ListView<Integer>("eachRow", values) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<Integer> item) { Form<Void> f = new Form<Void>("f"); f.add(new TextField<Integer>("v", item.getModel(), Integer.class)); f.add(new AjaxButton("ok") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { target.add(totalLabel); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { } }); item.add(f); } }; add(eachRow); WebMarkupContainer container = new WebMarkupContainer("container"); add(container); totalLabel = new Label("total", new PropertyModel<String>(this, "total")); totalLabel.setOutputMarkupId(true); container.add(totalLabel); }