Example usage for com.google.gwt.user.client.ui HTMLPanel HTMLPanel

List of usage examples for com.google.gwt.user.client.ui HTMLPanel HTMLPanel

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui HTMLPanel HTMLPanel.

Prototype

private HTMLPanel(Element elem) 

Source Link

Document

Construct a new HTMLPanel with the specified element.

Usage

From source file:com.dianaui.universal.core.client.ui.TimePicker.java

License:Apache License

private void initContainer() {
    final String incrementHourId = HTMLPanel.createUniqueId();
    final String incrementMinuteId = HTMLPanel.createUniqueId();
    final String incrementSecondId = HTMLPanel.createUniqueId();
    final String hourContainerId = HTMLPanel.createUniqueId();
    final String minuteContainerId = HTMLPanel.createUniqueId();
    final String secondContainerId = HTMLPanel.createUniqueId();
    final String decrementHourId = HTMLPanel.createUniqueId();
    final String decrementMinuteId = HTMLPanel.createUniqueId();
    final String decrementSecondId = HTMLPanel.createUniqueId();
    final String periodId = HTMLPanel.createUniqueId();

    container = new HTMLPanel(new SafeHtml() {
        private String getSeparator(final String separator) {
            return "<td class=\"" + Styles.SEPARATOR + "\">" + separator + "</td>";
        }//from   w  w  w .ja v a  2 s .  co  m

        @Override
        public String asString() {
            return "<table>" + "<tr>" + "<td id=\"" + incrementHourId + "\"></td>" + getSeparator("&nbsp;")
                    + "<td id=\"" + incrementMinuteId + "\"></td>"
                    + (secondsEnabled ? getSeparator("&nbsp;") + "<td id=\"" + incrementSecondId + "\"></td>"
                            : "")
                    + "</tr>" + "<tr>" + "<td id=\"" + hourContainerId + "\"></td>" + getSeparator(":")
                    + "<td id=\"" + minuteContainerId + "\"></td>"
                    + (secondsEnabled ? getSeparator(":") + "<td id=\"" + secondContainerId + "\"></td>" : "")
                    + (hourFormat == HourFormat._12 ? "<td id=\"" + periodId + "\"></td>" : "") + "</tr>"
                    + "<tr>" + "<td id=\"" + decrementHourId + "\"></td>" + getSeparator("&nbsp;") + "<td id=\""
                    + decrementMinuteId + "\"></td>"
                    + (secondsEnabled ? getSeparator("&nbsp;") + "<td id=\"" + decrementSecondId + "\"></td>"
                            : "")
                    + "</tr>" + "</table>";
        }
    });
    container.setStyleName(Styles.TIMEPICKER_WIDGET);
    container.addStyleName(Styles.DROPDOWN_MENU);

    // attach widgets
    container.add(incrementHour, incrementHourId);
    container.add(incrementMinute, incrementMinuteId);
    if (secondsEnabled)
        container.add(incrementSecond, incrementSecondId);
    container.add(hourBox, hourContainerId);
    container.add(minuteBox, minuteContainerId);
    if (secondsEnabled)
        container.add(secondBox, secondContainerId);
    container.add(decrementHour, decrementHourId);
    container.add(decrementMinute, decrementMinuteId);
    if (secondsEnabled)
        container.add(decrementSecond, decrementSecondId);
    if (hourFormat == HourFormat._12)
        container.add(togglePeriodLabel, periodId);

    add(container);
}

From source file:com.dominichenko.pet.gwt.phys2d.client.utils.Shutter.java

License:Apache License

/**
 * Private constructor prevents creating additional instances of shutter.
 *///  w  w  w. j a v  a2  s . com
private Shutter() {
    panel = new PopupPanel();
    panel.setAnimationEnabled(true);
    panel.setGlassEnabled(true);
    panel.setModal(true);
    panel.setStylePrimaryName("shutter");
    SafeHtml loading = new ImageLoadingCell.DefaultRenderers().getLoadingRenderer().render(null);
    HTMLPanel hp = new HTMLPanel(
            "<div id='shutter_img'>" + loading.asString() + "</div>" + "<div id='shutter_label'></div>");
    hp.setSize("100%", "100%");
    label = new Label(DEF_LABEL);
    hp.add(label, "shutter_label");
    panel.add(hp);
}

From source file:com.edgenius.wiki.gwt.client.BaseEntryPoint.java

License:Open Source License

public void onModuleLoad() {
    Log.setUncaughtExceptionHandler();//  ww  w .  ja v a  2  s  .c om
    GWT.setUncaughtExceptionHandler(new BaseUncaughtExceptionHandler());
    I = this;
    Event.addNativePreviewHandler(this);

    navMainPanel = new HTMLPanel("<span id='" + navID0 + "'></span><span id='" + navID1 + "'></span>");
    navbarPanel.setStyleName(Css.NAVBAR);
    loginPanel.setStyleName(Css.LOGINBAR);

    RootPanel.get(GLOBAL_MESSAGE).add(globalMessage);
    //must before sidebar method as it will call gwt method.

    bindJsMethod();
    // don't disturb order of following methods:

    initLoginPanel();

    initContentPanel();
    reload();

    initNavbar();
    initSearch();
    initSideMenu();

    initialisedCallback();

    GwtClientUtils.hideLoading(true);

}

From source file:com.edgenius.wiki.gwt.client.BaseEntryPoint.java

License:Open Source License

private void initSearch() {
    if (isOffline()) {
        return;/*w  w w . j a va  2  s .c  o  m*/
    }

    String id1 = HTMLPanel.createUniqueId();
    HTMLPanel panel = new HTMLPanel("<span id='" + id1 + "'></span>");
    searchBox.addFocusHandler(KeyCaptureListener.instance());
    searchBox.addBlurHandler(KeyCaptureListener.instance());
    searchBox.setStyleName(Css.SEARCH_INPUT);
    searchBox.addKeyDownHandler(new KeyDownHandler() {
        public void onKeyDown(KeyDownEvent event) {
            if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
                doSearch(searchBox.getText());
            }
        }

    });

    panel.add(searchBox, id1);

    RootPanel.get("search").add(panel);

}

From source file:com.edgenius.wiki.gwt.client.home.porlet.MessagePortlet.java

License:Open Source License

/**
 * A common callback success, as this portlet can accept response from Portlet invoke 
 * or from a message send refresh callback.
 *//*from   ww w.  j  a v  a  2s  . c o m*/
private void callback(GeneralModel model, MessageListModel msgs) {
    busy(false);
    messagePanel.clear();
    if (!GwtClientUtils.preSuccessCheck(model, null)) {
        //show error message on item part rather than general error message on HTML page above
        messagePanel.add(ErrorCode.getMessage(model.errorCode, model.errorMsg));
        return;
    }

    if (msgs.list.size() == 0) {
        none.setStyleName(Css.PORTLET_WEAK_TEXT);
        messagePanel.add(none);
        return;
    }

    for (Iterator<MessageModel> iter = msgs.list.iterator(); iter.hasNext();) {
        final MessageModel msg = iter.next();
        String puid = HTMLPanel.createUniqueId();
        String puid1 = HTMLPanel.createUniqueId();
        String puid2 = HTMLPanel.createUniqueId();
        String puid3 = HTMLPanel.createUniqueId();
        HTMLPanel msgPanel = new HTMLPanel("<div style=\"display:inline;font-weight:bold;\" id=\"" + puid1
                + "\"></div>" + "<div style=\"display:inline\" id=\"" + puid2
                + "\"></div> <div class=\"weaktext\">" + Msg.consts.by() + "</div><div class=\"weaklink\" id=\""
                + puid + "\"></div><div class=\"weaktext\">" + Msg.consts.on() + " "
                + GwtClientUtils.toDisplayDate(msg.date) + "</div>" + "<div style=\"display:inline\" id=\""
                + puid3 + "\"></div>");

        if ((msg.targetType == SharedConstants.MSG_TARGET_USER
                //TODO: how to distinguish the contributor and admin?
                || msg.targetType == SharedConstants.MSG_TARGET_SPACE_CONTRIBUTE_USERS
                || msg.targetType == SharedConstants.MSG_TARGET_SPACE_ADMIN_ONLY)
                && !StringUtil.isBlank(msg.target)) {
            msgPanel.add(new Label(
                    (msg.targetType == SharedConstants.MSG_TARGET_USER ? "@" : "@@") + msg.target + " "),
                    puid1);
        }
        if (msg.targetType == SharedConstants.MSG_TARGET_INSTANCE_ADMIN_ONLY
                && StringUtil.isBlank(msg.target)) {
            //message to system admin
            Image msgAdmin = new Image(IconBundle.I.get().error());
            msgAdmin.setTitle(Msg.consts.msg_to_admin());
            msgPanel.add(msgAdmin, puid1);
        }

        //don't use UserProfileLink - click user link will invoke reply message, rather than jump to user profile
        //UserProfileLink authorPop = new UserProfileLink(msg.author, null,msg.author,msg.authorPortrait);
        ClickLink authorPop = new ClickLink(msg.authorUsername);
        //auto popup for user profile
        new UserPopup(authorPop, null, msg.authorUsername, msg.authorPortrait);
        authorPop.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent evt) {
                if (msg.authorUid != -1) {
                    postPanel.fillTarget(SharedConstants.MSG_TARGET_USER, msg.authorUsername);
                } else {
                    //reply anonymous means to all 
                    postPanel.fillTarget(null, null);
                }
                postPanel.focusToEnd(true);
            }
        });

        msgPanel.add(new Label(msg.text), puid2);
        msgPanel.add(authorPop, puid);
        if (msg.removable) {
            Image bin = new Image(IconBundle.I.get().bin_close());
            bin.setTitle(Msg.consts.delete());
            bin.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    if (Window.confirm(Msg.consts.confirm_delete_message())) {
                        NotificationControllerAsync notifyController = ControllerFactory
                                .getNotificationController();
                        notifyController.deleteMessage(currentPage, msg.uid, new NotificationCallback());
                    }
                }
            });
            msgPanel.add(bin, puid3);
        }

        DOM.setStyleAttribute(msgPanel.getElement(), "display", "inline");

        HorizontalPanel itemPanel = new HorizontalPanel();
        Widget portrait = GwtClientUtils.createUserSmallPortrait(msg.authorPortrait,
                SharedConstants.PORTRAIT_SIZE_SMALL);
        itemPanel.add(portrait);
        itemPanel.setCellWidth(portrait, "50px");
        itemPanel.add(msgPanel);
        messagePanel.add(itemPanel);
    }

    clearControl();

    controlBar.setPaginationInfo(msgs.hasPre, msgs.hasNxt, msgs.currentPage);
    addControl(controlBar);
}

From source file:com.edgenius.wiki.gwt.client.page.DiffPanel.java

License:Open Source License

private void diffMessage(final DiffListModel model) {

    diffMessage.cleanMessage();/*from   w w w .j  a v  a 2  s  . co  m*/

    String id1 = HTMLPanel.createUniqueId();
    //head
    StringBuffer buf = new StringBuffer("<div class='historyAction diff'><div class='msg' id='").append(id1)
            .append("'></div>");
    buf.append("<div class='action'>");

    buf.append(
            "<div class='indicator diff-text'><div class='diff-insertion'>Added</div> <div class='diff-deletion'>Deleted</div></div>");
    //diff 1
    String idp1 = null, idp2 = null, idp3 = null, idn1 = null, idn2 = null, idn3 = null;
    idn1 = HTMLPanel.createUniqueId();
    idn2 = HTMLPanel.createUniqueId();
    idn3 = HTMLPanel.createUniqueId();
    buf.append("<div class='round next'><div class='version' id='").append(idn1)
            .append("'></div><div class='author' id='").append(idn2).append("'></div><div class='date' id='")
            .append(idn3).append("'></div></div>");
    //diff 2
    idp1 = HTMLPanel.createUniqueId();
    idp2 = HTMLPanel.createUniqueId();
    idp3 = HTMLPanel.createUniqueId();

    buf.append("<div class='current'>vs</div>");

    buf.append("<div class='round prev'><div class='version' id='").append(idp1)
            .append("'></div><div class='author' id='").append(idp2).append("'></div><div class='date' id='")
            .append(idp3).append("'></div></div>");

    //end
    buf.append("</div></div>");

    //put this message into 
    HTMLPanel msgPanel = new HTMLPanel(buf.toString());
    msgPanel.add(new Label(Msg.consts.comparing_view()), id1);

    diffActionMsg(msgPanel, model.prevHistoryItem, idn1, idn2, idn3);
    diffActionMsg(msgPanel, model.nextHistoryItem, idp1, idp2, idp3);

    HorizontalPanel panel = new HorizontalPanel();
    panel.add(msgPanel);

    diffMessage.warning(panel, false);
}

From source file:com.edgenius.wiki.gwt.client.page.EditPanel.java

License:Open Source License

public EditPanel(final PageMain main) {
    super(main);/*from  w  ww  .j a  v  a2  s  .  c om*/

    main.addPanelSwitchListener(this);

    contentArea = new Editor(main, false);
    main.editorRegistry.register(contentArea);

    titleBox.setTabIndex(1);
    if (!AbstractEntryPoint.isOffline()) {
        tagBox.setTabIndex(2);
    }
    contentArea.setTabIndex(3);
    tagBox.setHint(Msg.consts.tags() + "...");

    titleBox.addBlurHandler(new BlurHandler() {
        public void onBlur(BlurEvent event) {
            //display the final saved title
            titleBox.setText(StringUtil.shrinkSpaces(titleBox.getText()));

            validSave();
        }
    });

    if (!AbstractEntryPoint.isOffline()) {
        templatePanel = new TemplatesPanel(main, this);
        templatePanel.setVisible(false);
        templateBtn.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent event) {
                //toggle template panel
                templatePanel.toggle();
            }
        });
    }

    //       Label titleLabel = new Label(Msg.consts.title());

    //attachment
    attPanel = new AttachmentPanel(main, false);
    attachmentBtn = new AttachmentButton(attPanel);
    contentArea.bindAttachmentPanel(attPanel);

    //must put below above 2 sentences: attPanel is created 
    main.registerAttachmentPanel(attPanel);

    //tag, att, location, notification 
    //       Label tagLabel = new Label(Msg.consts.tags());
    noticeCheckbox.setValue(true);

    //content
    ContentChangeListener changeListener = new ContentChangeListener();
    contentArea.addKeyPressHandler(changeListener);
    contentArea.addChangeHandler(changeListener);

    //hide first, show when fillPanel() according to PageAttribute.NO_ATTACHMENT
    attachmentBtn.setVisible(false);
    //hide attachment initial
    attPanel.setVisible(false);

    titleBox.setStyleName(Css.TITLE_BOX);

    draftStatusBar.setStyleName(Css.DRAFT_STATUS_MSG);

    //main content panel, contains contentPanel, diffContent and SideBar panel.
    FlexTable mainPanel = new FlexTable();
    mainPanel.setCellPadding(0);
    mainPanel.setCellSpacing(0);
    mainPanel.setWidget(0, 0, contentArea);
    mainPanel.setWidget(0, 1, diffContent);

    mainPanel.getCellFormatter().setAlignment(0, 0, HasHorizontalAlignment.ALIGN_LEFT,
            HasVerticalAlignment.ALIGN_TOP);
    mainPanel.getCellFormatter().setAlignment(0, 1, HasHorizontalAlignment.ALIGN_LEFT,
            HasVerticalAlignment.ALIGN_TOP);
    mainPanel.setWidth("100%");

    diffMessage.setVisible(false);
    //build panel
    HTMLPanel hpanel = new HTMLPanel(readEditLayout());
    hpanel.add(message, "_message");
    hpanel.add(diffMessage, "_diff_message");
    hpanel.add(titleBox, "_title");
    hpanel.add(draftStatusBar, "_draft_message");
    if (!AbstractEntryPoint.isOffline()) {
        hpanel.add(tagBox, "_tags");
        hpanel.add(noticeCheckbox, "_notification");
    }
    hpanel.add(functionBtnBar, "_actions");
    hpanel.add(attachmentBtn, "_attchments");
    hpanel.add(attPanel, "_attchments_panel");
    if (!AbstractEntryPoint.isOffline()) {
        templateBtn.setStyleName(Css.ATT_BTN);
        hpanel.add(templateBtn, "_templates");
        hpanel.add(templatePanel, "_templates_panel");
    }
    hpanel.add(mainPanel, "_body");

    this.setWidget(hpanel);
}

From source file:com.edgenius.wiki.gwt.client.page.ViewPanel.java

License:Open Source License

/**
 * @param main/*ww w .j a v  a 2 s  . co  m*/
 * @return
 */
private HTMLPanel buildViewPanel(final PageMain main) {

    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    // Attachment and PrettyURL
    attPanel = new AttachmentPanel(main, true);
    attachmentBtn = new AttachmentButton(attPanel);
    pUrlBtn = new PrettyUrlButton(pUrlPanel);
    pUrlPanel.setVisible(false);
    attPanel.setVisible(false);
    main.registerAttachmentPanel(attPanel);

    //turn on/off depends on the login status
    favorite.setVisible(false);
    watch.setVisible(false);

    title.setStyleName(Css.RENDER_TITLE);

    //main content panel, contains contentPanel, diffContent and SideBar panel.
    FlexTable mainPanel = new FlexTable();
    mainPanel.setWidget(0, 0, contentPanel);
    mainPanel.setWidget(0, 1, diffContent);

    mainPanel.getCellFormatter().setAlignment(0, 0, HasHorizontalAlignment.ALIGN_LEFT,
            HasVerticalAlignment.ALIGN_TOP);
    mainPanel.getCellFormatter().setAlignment(0, 1, HasHorizontalAlignment.ALIGN_LEFT,
            HasVerticalAlignment.ALIGN_TOP);
    mainPanel.setWidth("100%");

    diffMessage.setVisible(false);
    //build panel
    tabPanel = new PageTabPanel(main);

    HTMLPanel hpanel = new HTMLPanel(readViewLayout());
    hpanel.add(spaceMenu, "_spacemenu");
    hpanel.add(message, "_message");
    hpanel.add(diffMessage, "_diff_message");
    hpanel.add(title, "_title");
    hpanel.add(tags, "_tags");
    hpanel.add(functionBtnBar, "_actions");
    hpanel.add(attachmentBtn, "_attchments");
    hpanel.add(attPanel, "_attchments_panel");
    hpanel.add(pUrlBtn, "_urls");
    hpanel.add(pUrlPanel, "_urls_panel");
    hpanel.add(mainPanel, "_body");
    hpanel.add(favorite, "_favorite");
    hpanel.add(watch, "_watch");
    hpanel.add(rssFeedBtn, "_rss");
    hpanel.add(exportBtn, "_export");
    //history,comment, summary tab panel.
    hpanel.add(tabPanel, "_tabs");

    return hpanel;
}

From source file:com.edgenius.wiki.gwt.client.page.ViewPanel.java

License:Open Source License

private void historyDiffMessage(final PageModel model) {
    String spaceUname = model.spaceUname;
    String currentTitle = model.currentTitle;

    message.cleanMessage();/*from w ww . j  av a  2s  .c o m*/

    String id1 = HTMLPanel.createUniqueId();
    String id2 = HTMLPanel.createUniqueId();
    StringBuffer buf = new StringBuffer("<div class='historyAction'><div class='msg' id='").append(id1)
            .append("'></div><div class='return' id='").append(id2).append("'></div>");
    buf.append("<div class='action'>");

    String idp1 = null, idp2 = null, idp3 = null, idp4 = null, idn1 = null, idn2 = null, idn3 = null,
            idn4 = null;
    if (model.nextHistoryItem != null) {
        idn1 = HTMLPanel.createUniqueId();
        idn2 = HTMLPanel.createUniqueId();
        idn3 = HTMLPanel.createUniqueId();
        idn4 = HTMLPanel.createUniqueId();

        buf.append("<div class='round next'><div class='version' id='").append(idn1)
                .append("'></div><div class='author' id='").append(idn2)
                .append("'></div><div class='date' id='").append(idn3).append("'></div><div class='diff' id='")
                .append(idn4).append("'></div></div>");

    }
    buf.append("<div class='current'>").append(Msg.consts.revision()).append(" ").append(model.pageVersion)
            .append("</div>");
    if (model.prevHistoryItem != null) {
        idp1 = HTMLPanel.createUniqueId();
        idp2 = HTMLPanel.createUniqueId();
        idp3 = HTMLPanel.createUniqueId();
        idp4 = HTMLPanel.createUniqueId();

        buf.append("<div class='round prev'><div class='version' id='").append(idp1)
                .append("'></div><div class='author' id='").append(idp2)
                .append("'></div><div class='date' id='").append(idp3).append("'></div><div class='diff' id='")
                .append(idp4).append("'></div></div>");
    }
    buf.append("</div></div>");
    HTMLPanel msgPanel = new HTMLPanel(buf.toString());
    Hyperlink retCurrentVerBtn = new Hyperlink(Msg.consts.return_latest_version(),
            GwtUtils.getSpacePageToken(spaceUname, currentTitle));
    msgPanel.add(new Label(Msg.consts.view_history()), id1);
    msgPanel.add(retCurrentVerBtn, id2);

    if (model.prevHistoryItem != null) {
        historyNextPrevMsg(msgPanel, model.prevHistoryItem, model.uid, idp1, idp2, idp3, idp4);
    }
    if (model.nextHistoryItem != null) {
        historyNextPrevMsg(msgPanel, model.nextHistoryItem, model.uid, idn1, idn2, idn3, idn4);
    }

    HorizontalPanel panel = new HorizontalPanel();
    panel.add(msgPanel);
    message.warning(panel, false);
}

From source file:com.edgenius.wiki.gwt.client.render.RenderPanel.java

License:Open Source License

/**
 * I don't remember exactly as old bug database is hacked and removed. The reason why use this method to 
 * add render content is because HTML DOM Hierarchy model. If simply use FlowPanel.add(), it may break DOM hierarchy in 
 * some case./*from  ww w.j  a v a 2s  . c  o  m*/
 * Submit the latest content, must be call after any modify content method, such as remove(), add(), insert()
 * or iterator.remove() etc.
 */
public void submit() {
    StringBuffer render = new StringBuffer();
    Map<String, Widget> widgetMap = new HashMap<String, Widget>();

    int size = content.size();
    if (size == 0) {
        //IE issue, if content is blank, the right size author info panel will 100% width to occupy entire page
        render.append("&nbsp;");
    } else {
        for (int idx = 0; idx < size; idx++) {
            Object obj = content.get(idx);
            if (obj instanceof String) {
                render.append((String) obj);
            } else if (obj instanceof Widget) {
                String uid = HTMLPanel.createUniqueId();
                widgetMap.put(uid, (Widget) obj);
                //surround with <![CDATA[]]>: This is fix bug when render something like: {html}<!{html}{feedback}
                //Render content "!<<span id=123></span>" in FF and IE will break document.getElementById()
                //This means the HTMLPanel can't work as the span element can not be found out.
                //use <![CDATA[]]> rather than <!----> is because if "<![" is before text, then <!----> won't work.
                //but <![CDATA[]]> work both <! or <![ before the macro widget.
                render.append("<![CDATA[]]><span id='" + uid + "'></span><![CDATA[]]>");
            }
        }
    }

    HTMLPanel panel = new HTMLPanel(render.toString());

    for (Entry<String, Widget> entry : widgetMap.entrySet()) {
        panel.add(entry.getValue(), entry.getKey());

    }
    //reset panel to empty, then render new content
    clearPanel();

    super.add(panel);
    Scheduler.get().scheduleDeferred(new ScheduledCommand() {
        public void execute() {
            renderCallback(panelID);
        }
    });
}