Example usage for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel

List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel

Introduction

In this page you can find the example usage for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel.

Prototype

AbstractReadOnlyModel

Source Link

Usage

From source file:com.wiquery.plugin.antilia.grid.DraggableTitle.java

License:Apache License

/**
 * @param id/*ww w.ja  va  2 s  . c om*/
 */
public DraggableTitle(String id, int column) {
    super(id);
    this.column = column;

    //WebClientInfo clinetInfo = (WebClientInfo)WebSession.get().getClientInfo();
    //  if browser is not IE allow dragging columns headers.
    DraggableBehavior draggableBehavior = new DraggableBehavior();
    draggableBehavior.setRevert(new DraggableRevert(RevertEnum.INVALID));
    draggableBehavior.setContainment(new DraggableContainment("'#" + getTable().getMarkupId() + "_tTH'"));
    draggableBehavior.setZIndex(100);
    draggableBehavior.setSnap(new DraggableSnap(true));
    add(draggableBehavior);
    DroppableAjaxBehavior<DraggableTitle<E>> droppableAjaxBehavior = new DroppableAjaxBehavior<DraggableTitle<E>>() {

        private static final long serialVersionUID = 1L;

        @Override
        public void onDrop(DraggableTitle<E> droppedComponent, AjaxRequestTarget ajaxRequestTarget) {
            DraggableTitle<?> droppedTitle = (DraggableTitle<?>) droppedComponent;
            int dropped = droppedTitle.getColumn() - 1;
            int before = DraggableTitle.this.getColumn() - 1;
            DraggableTitle.this.getTable().getTableModel().moveColumnBefore(dropped, before);
            ajaxRequestTarget.addComponent(DraggableTitle.this.getTable().getUpdatableComponent());
        }
    };

    droppableAjaxBehavior.getDroppableBehavior().setAccept(new DroppableAccept("." + getTable().getMarkupId()));
    droppableAjaxBehavior.getDroppableBehavior().setHoverClass("ui-state-highlight dropHover");
    droppableAjaxBehavior.getDroppableBehavior().setActiveClass("dropActive");
    add(droppableAjaxBehavior);

    add(new AttributeModifier("style", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (RequestUtils.isBrowserIeExplorer6())
                return "border: none; overflow: hidden;";
            return "border: 1px solid transparent; overflow: hidden;";
        }
    }));

    add(new AttributeModifier("id", new Model<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return DraggableTitle.this.getMarkupId();
        }
    }));

    add(new AttributeModifier("class", new Model<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return getTable().getMarkupId() + " ui-state-default";
        }
    }));

    add(new AttributeModifier("onmouseover", new Model<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return "if(this.className.indexOf('dragging')<0){this.className='" + getTable().getMarkupId()
                    + " ui-state-default ui-state-hover';};";
        }
    }));

    add(new AttributeModifier("onmouseout", new Model<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return "if(this.className.indexOf('dragging')<0){this.className='" + getTable().getMarkupId()
                    + " defaultHeaderOver ui-state-default';};";
        }
    }));
}

From source file:com.wiquery.plugin.antilia.grid.FirstHeaderCell.java

License:Apache License

/**
 * @param id/*from   ww  w.ja  v a 2s.co m*/
 * @param model
 */
public FirstHeaderCell(String id, int column, Table<E> table) {
    super(id);
    this.table = table;
    this.column = column;
    setRenderBodyOnly(true);

    WebMarkupContainer drop = new WebMarkupContainer("drop");
    add(drop);
    add(new HiddenField<Integer>("colWidth", new Model<Integer>() {

        private static final long serialVersionUID = 1L;

        @Override
        public Integer getObject() {
            return FirstHeaderCell.this.getTable().getFirstColumnModel().getWidth();
        }

        @Override
        public void setObject(Integer object) {
            FirstHeaderCell.this.getTable().getFirstColumnModel().setWidth(object);
        }

    }, Integer.class));
    //MenuItemsFactory factory = getTable().getFirstHeaderMenuItemsFactory();      
    Menu menu = new Menu("headerMenu", false);
    menu.setHorizontalStyleClass("trans-menu firstHeaderMenu");
    add(menu);
    WebMarkupContainer dragTd = new WebMarkupContainer("dragTd");
    dragTd.add(new AttributeModifier("id", new Model<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (FirstHeaderCell.this.getTable().isFirstColumnResizable())
                return FirstHeaderCell.this.getTable().getMarkupId() + "_c_" + FirstHeaderCell.this.getColumn();
            return FirstHeaderCell.this.getTable().getMarkupId() + "_cND_" + FirstHeaderCell.this.getColumn();
        }
    }));
    //dragTd.add(new Image("dragImage",  DefaultStyle.IMG_RESIZE));
    dragTd.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (FirstHeaderCell.this.getTable().isFirstColumnResizable())
                return "fresCol";
            return "fnoResCol";
        }
    }));
    add(dragTd);
}

From source file:com.wiquery.plugin.antilia.grid.Table.java

License:Apache License

@Override
protected void onBeforeRender() {
    rendringCount++;//from  w  ww  . jav a2s .  c o m
    if (pageSize <= 0) {
        pageSize = 10;
    }
    if (size == -1) {
        size = dataProvider.size();
        numberOfPages = (size / pageSize) + ((size % pageSize == 0) ? 0 : 1);
    }

    WebMarkupContainer tRoot = new WebMarkupContainer("tRoot");
    addOrReplace(tRoot);
    tRoot.add(new AttributeModifier("style", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            String height = "auto";
            if (Table.this.height > 0)
                height = Table.this.height + "px;";
            String width = "auto;";
            if (Table.this.width > 0)
                width = Table.this.width + "px;";

            return new StringBuilder().append("position: relative; width: ").append(width).append(";height:")
                    .append(height).toString();
        }
    }));

    WebMarkupContainer tHead = new WebMarkupContainer("tHead");
    tRoot.addOrReplace(tHead);
    tHead.add(new AttributeModifier("style", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            String width = "auto;";
            if (Table.this.width > 0)
                width = Table.this.width + 2 + "px;";

            return new StringBuilder().append("width:").append(width).toString();
        }
    }));

    tHead.addOrReplace(newTableHeader("header"));

    WebMarkupContainer tBody = new WebMarkupContainer("tBody") {

        private static final long serialVersionUID = 1L;

        @Override
        public String getMarkupId() {
            return Table.this.getMarkupId() + "_tBody";
        }

        @Override
        public boolean isVisible() {
            return size > 0;
        }
    };
    tBody.setOutputMarkupId(true);
    tBody.add(new AttributeModifier("style", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            String height = "auto;";
            if (Table.this.height > 0)
                height = (Table.this.height - 28) + "px;";
            String width = "auto;";
            if (Table.this.width > 0)
                width = (Table.this.width) + "px;";

            return new StringBuilder().append("position: relative; width: ").append(width)
                    .append("; overflow: hidden; height: ").append(height).append(" vertical-align: top")
                    .toString();
        }
    }));

    tRoot.addOrReplace(tBody);

    WebMarkupContainer tTHeader = new WebMarkupContainer("tTHeader") {
        private static final long serialVersionUID = 1L;

        @Override
        public String getMarkupId() {
            return Table.this.getMarkupId() + "_tTH";
        }
    };
    tTHeader.setOutputMarkupId(true);
    tBody.add(tTHeader);

    WebMarkupContainer tNoRecords = new WebMarkupContainer("tNoRecords") {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return size <= 0;
        }

    };
    tNoRecords.add(new AttributeModifier("style", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            String width = "auto;";
            if (Table.this.width > 0)
                width = Table.this.width + "px;";

            return new StringBuilder().append("width: ").append(width).append(";").toString();
        }
    }));

    tRoot.add(tNoRecords);

    WebMarkupContainer tTBody = new WebMarkupContainer("tTBody") {
        private static final long serialVersionUID = 1L;

        @Override
        public String getMarkupId() {
            return Table.this.getMarkupId() + "_tTB";
        }
    };
    tTBody.add(new AttributeModifier("onscroll", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return new StringBuilder().append("var  t = document.getElementById('")
                    .append(Table.this.getMarkupId() + "_tTH")
                    .append("'); t.style.left=(-this.scrollLeft)+'px'").toString();
        }
    }));
    tTBody.setOutputMarkupId(true);
    tBody.add(tTBody);

    // add table header
    tTHeader.addOrReplace(getHeaderRows("hcols"));

    // add table body
    tTBody.addOrReplace(getBodyRows("rows"));

    WebMarkupContainer tFoot = new WebMarkupContainer("tFoot");
    tFoot.add(new AttributeModifier("style", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            String width = "auto;";
            if (Table.this.width > 0)
                width = "100%;";

            return new StringBuilder().append("width:").append(width).toString();
        }
    }));
    tRoot.addOrReplace(tFoot);
    super.onBeforeRender();
}

From source file:com.wiquery.plugin.antilia.link.JqAjaxLink.java

License:Apache License

/**
 * Constructor.//from   www  .  j a va2s  .c om
 * 
 * @param id The id of the link.
 * @param icon The icon to be shown by the link.
 * @param title The model to be used as a title for the link (to be shown as the user hovers over the link).
 */
public JqAjaxLink(String id, JQIcon icon, IModel<String> title) {
    super(id);

    this.icon = icon;

    WebMarkupContainer parent = new WebMarkupContainer("parent");
    parent.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (JqAjaxLink.this.isEnabled())
                return "ui-state-default ui-corner-all";
            else
                return "ui-state-default ui-state-disabled ui-corner-all";
        }
    }));

    add(parent);

    // we create the AJAX link.      
    AjaxLink<Void> link = newAjaxLink("link");
    parent.add(link);

    link.add(new AttributeModifier("title", title));

    link.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return "ui-icon " + getIcon().getCssName();
        }
    }));

    link.add(new AttributeModifier("onmouseover", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (JqAjaxLink.this.isEnabled())
                return "this.parentNode.className = 'ui-state-default ui-corner-all ui-state-hover';";
            else
                return "this.parentNode.className = 'ui-state-default ui-state-disabled ui-corner-all';";
        }
    }));

    link.add(new AttributeModifier("onmouseout", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (JqAjaxLink.this.isEnabled())
                return "this.parentNode.className = 'ui-state-default ui-corner-all';";
            else
                return "this.parentNode.className = 'ui-state-default ui-state-disabled ui-corner-all';";
        }
    }));
}

From source file:com.wiquery.plugin.antilia.link.JqAjaxSubmitLink.java

License:Apache License

/**
 * @param id/*from w w w .j  a  v  a 2s.  c  o m*/
 */
public JqAjaxSubmitLink(String id, final JQIcon icon, IModel<String> title) {
    super(id);
    AjaxSubmitLink link = new AjaxSubmitLink("link") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            JqAjaxSubmitLink.this.onSubmit(target, form);
        }

        @Override
        public boolean isEnabled() {
            return JqAjaxSubmitLink.this.isEnabled();
        }
    };

    link.add(new AttributeModifier("title", title));

    link.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return "ui-icon " + icon.getCssName();
        }
    }));

    link.add(new AttributeModifier("onmouseover", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return "this.parentNode.className = 'ui-state-default ui-corner-all ui-state-hover';";
        }
    }));

    link.add(new AttributeModifier("onmouseout", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return "this.parentNode.className = 'ui-state-default ui-corner-all';";
        }
    }));

    add(link);
}

From source file:com.wiquery.plugin.antilia.link.JqScriptLink.java

License:Apache License

/**
 * @param id/*from  www .  j a  v  a 2s . c  o  m*/
 */
public JqScriptLink(String id, final JQIcon icon, IModel<String> title) {
    super(id);

    WebMarkupContainer parent = new WebMarkupContainer("parent");
    parent.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (JqScriptLink.this.isEnabled())
                return "ui-state-default ui-corner-all";
            else
                return "ui-state-default ui-state-disabled ui-corner-all";
        }
    }));

    add(parent);

    link = new WebMarkupContainer("link");
    link.setOutputMarkupId(true);
    add(link);

    link.add(new AttributeModifier("onclick", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return JqScriptLink.this.getClickAction();
        }
    }));

    parent.add(link);

    link.add(new AttributeModifier("title", title));

    link.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return "ui-icon " + icon.getCssName();
        }
    }));

    link.add(new AttributeModifier("onmouseover", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (JqScriptLink.this.isEnabled())
                return "this.parentNode.className = 'ui-state-default ui-corner-all ui-state-hover';";
            else
                return "this.parentNode.className = 'ui-state-default ui-state-disabled ui-corner-all';";
        }
    }));

    link.add(new AttributeModifier("onmouseout", new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            if (JqScriptLink.this.isEnabled())
                return "this.parentNode.className = 'ui-state-default ui-corner-all';";
            else
                return "this.parentNode.className = 'ui-state-default ui-state-disabled ui-corner-all';";
        }
    }));
}

From source file:cz.dynawest.wicket.chat.RepeatingPage.java

License:Apache License

/**
 * Constructor// ww  w  .  j a v  a  2 s.  c  o m
 */
public RepeatingPage() {
    List<Contact> conts = new ArrayList();
    conts.add(new Contact("Franta", "Vom?ka"));
    conts.add(new Contact("Ondra", "ika"));
    conts.add(new Contact("Libor", "van Gansenwinkel"));

    Iterator<Contact> contacts = conts.iterator();

    RepeatingView repeating = new RepeatingView("repeating");
    add(repeating);

    int index = 0;
    while (contacts.hasNext()) {
        WebMarkupContainer item = new WebMarkupContainer(repeating.newChildId());
        repeating.add(item);
        Contact contact = contacts.next();

        item.add(new ActionPanel("actions", new DetachableContactModel(contact)));
        item.add(new Label("contactid", String.valueOf(contact.getId())));
        item.add(new Label("firstname", contact.getFirstName()));
        item.add(new Label("lastname", contact.getLastName()));
        item.add(new Label("homephone", contact.getHomePhone()));
        item.add(new Label("cellphone", contact.getCellPhone()));

        final int idx = index;
        item.add(new AttributeModifier("class", true, new AbstractReadOnlyModel<String>() {
            @Override
            public String getObject() {
                return (idx % 2 == 1) ? "even" : "odd";
            }
        }));

        index++;
    }
}

From source file:cz.zcu.kiv.eegdatabase.wui.components.table.TimestampPropertyColumn.java

License:Apache License

@Override
public IModel getDataModel(IModel rowModel) {

    final IModel superModel = super.getDataModel(rowModel);
    if (superModel != null && superModel.getObject() != null
            && Timestamp.class.isAssignableFrom(superModel.getObject().getClass())) {
        final Timestamp object = (Timestamp) superModel.getObject();
        return new AbstractReadOnlyModel() {

            public Object getObject() {
                return new SimpleDateFormat(getFormatPattern(), EEGDataBaseSession.get().getLocale())
                        .format((Date) object);
            }//from   w w w . jav a  2 s .c  o  m
        };
    } else {
        return superModel;
    }
}

From source file:de.alpharogroup.wicket.components.ajax.editable.tabs.AjaxAddableTabbedPanel.java

License:Apache License

/**
 * Instantiates a new {@link AjaxAddableTabbedPanel}.
 *
 * @param id//  ww w . j av  a  2s  .  c o m
 *            component id
 * @param tabs
 *            list of ITab objects used to represent tabs
 * @param model
 *            model holding the index of the selected tab
 */
public AjaxAddableTabbedPanel(final String id, final List<T> tabs, final IModel<Integer> model) {
    super(id, model);
    setOutputMarkupId(true);
    setVersioned(false);
    this.tabs = Args.notNull(tabs, "tabs");

    final IModel<Integer> tabCount = new AbstractReadOnlyModel<Integer>() {
        /** The Constant serialVersionUID. */
        private static final long serialVersionUID = 1L;

        /**
         * {@inheritDoc}
         */
        @Override
        public Integer getObject() {
            return AjaxAddableTabbedPanel.this.tabs.size();
        }
    };

    tabsContainer = newTabsContainer("tabs-container");
    add(tabsContainer);

    tabsUlContainer = newTabsContainer("tabs-ul-container");
    tabsContainer.add(tabsUlContainer);
    // add the loop used to generate tab names
    tabsUlContainer.add(tabsLoop = newTabsLoop("tabs", tabCount));

    tabsUlContainer.add(newAddTab("add-tab-container", newAddTabLabelModel()));

    add(newPanel());
}

From source file:de.alpharogroup.wicket.components.ajax.editable.tabs.AjaxCloseableTabbedPanel.java

License:Apache License

/**
 * Instantiates a new {@link AjaxCloseableTabbedPanel}.
 *
 * @param id/* w  w w  .  j  a v a2s. c o m*/
 *            component id
 * @param tabs
 *            list of ITab objects used to represent tabs
 * @param model
 *            model holding the index of the selected tab
 */
public AjaxCloseableTabbedPanel(final String id, final List<T> tabs, final IModel<Integer> model) {
    super(id, model);
    setOutputMarkupId(true);
    setVersioned(false);
    this.tabs = Args.notNull(tabs, "tabs");

    final IModel<Integer> tabCount = new AbstractReadOnlyModel<Integer>() {
        /** The Constant serialVersionUID. */
        private static final long serialVersionUID = 1L;

        /**
         * {@inheritDoc}
         */
        @Override
        public Integer getObject() {
            return AjaxCloseableTabbedPanel.this.tabs.size();
        }
    };

    tabsContainer = newTabsContainer("tabs-container");
    add(tabsContainer);

    tabsUlContainer = newTabsContainer("tabs-ul-container");
    tabsContainer.add(tabsUlContainer);
    // add the loop used to generate tab names
    tabsUlContainer.add(tabsLoop = newTabsLoop("tabs", tabCount));

    add(newPanel());
}