List of usage examples for com.google.gwt.user.client.ui HTMLPanel HTMLPanel
private HTMLPanel(Element elem)
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(" ") + "<td id=\"" + incrementMinuteId + "\"></td>" + (secondsEnabled ? getSeparator(" ") + "<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(" ") + "<td id=\"" + decrementMinuteId + "\"></td>" + (secondsEnabled ? getSeparator(" ") + "<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(" "); } 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); } }); }