def __init__(self, ): self.__init__._super() """ Create showcase client. """ History.addValueChangeHandler(self) self.outer.getElement().setId(u"ShowcaseClient") self.showcaseWrapper.getElement().setId(u"ShowcaseWrapper") self.horizontalSplit.setSpacing(10) self.showcaseWrapper.setWidth(u"700px") self.showcaseWrapper.addStyleName(u"showcaseWrapper") self.treeMenu.addStyleName(u"treeMenu") token = Window.Location.getHash() if token == None or u"".equals(token): self.doDisplayShowcase(self.__class__.DEFAULT_SHOW) self.showcaseWrapper.insert(self.createDefaultFrontpage(), 0) else: self.doDisplayShowcase(token) treeMenuWrapper = VerticalPanel() treeMenuWrapper.addStyleName(u"treeMenuWrapper") treeMenuWrapper.add(HTML(u"<h4>Methods: </h4>")) treeMenuWrapper.add(self.treeMenu) self.horizontalSplit.add(treeMenuWrapper) # Add left + right column self.horizontalSplit.add(self.decorate(self.showcaseWrapper)) self.outer.add(self.horizontalSplit) Xfbml.parse(self.outer) self.initWidget(self.outer)
def handleResponse(self, events): self.removeLoader(self.responsePanel) header = HTML(java.str(u"<h3><img src=/cal_icon.gif> You have " + java.str(events.size())) + u" event invitations </h3><p/>") self.responsePanel.add(header) for eventInfo in events: self.responsePanel.add(self.createEventInfoUi(eventInfo)) Xfbml.parse(self.responsePanel)
def onSuccess(self, friendInfoList): outer.clear() result.add(HTML(u"Size " + java.str(friendInfoList.size()))) for fi in friendInfoList: result.add(HTML(java.str(java.str(FbName(fi.getUid1())) + u" friend with " + FbName(fi.getUid2())) + u" ? " + fi.getAreFriends())) outer.add(result) Xfbml.parse(result.getElement())
def __init__(self, ): self.__init__._super() self.outer.getElement().setId(u"OuterRouter") class _anonymous(ClickHandler): @java.typed(ClickEvent) def onClick(self, event): class _anonymous(AsyncCallback): @java.typed(Throwable) def onFailure(self, caught): GWT.log(u"Require session failed: " + java.str(caught)) @java.typed(Boolean) def onSuccess(self, isLoggedIn): if self.loginCallback is not None and isLoggedIn: self.loginCallback.onLogin() FacebookConnect.requireSession(_anonymous()) self.loginLink.addClickHandler(_anonymous()) # Login with the javascript api. GWT client doesnt render the fb:login-button self.outer.getElement().setId(u"LoginBox") self.inner.addStyleName(u"inner") self.outer.add(HTML(u"<h1>Login with your facebook id: </h1>")) self.outer.add(HTML(u"This demo uses facebook data heavily to demonstrate API calls etc so you might as well login right away")) self.inner.setSpacing(10) self.inner.add(HTML(u"Click the button to allow this application to access your facebook account")) self.inner.add(self.loginButton) self.outer.add(self.inner) self.outer.add(self.loginLink) sourceCode = HTML(u"<br/><br/>This project on Gogle code : <a target=_blank href=\"http://code.google.com/p/gwt-facebook/\"> http://code.google.com/p/gwt-facebook/ </a>") sourceCode.addStyleName(u"sourceCode") self.outer.setWidth(u"400px") self.outer.add(sourceCode) Xfbml.parse(self.outer) self.initWidget(self.outer)
def __init__(self, ): self.__init__._super() self.outer.setWidth(u"800px") self.outer.getElement().setId(u"XFBML_serverFbml") self.outer.add(FbServerFbml(self.__class__.fbml)) Xfbml.parse(self.outer) self.initWidget(self.outer)
def __init__(self, ): self.__init__._super() outer = VerticalPanel() outer.getElement().setId(u"WidgetShowcase") outer.add(HTML(u"<h3>FbPromptPermission</h3>")) promptPerm = FbPromptPermission(u"Click to see create_event, create_note and publish_stream permission dialog", Permission.create_event, Permission.create_note, Permission.publish_stream) outer.add(promptPerm) Xfbml.parse(outer) self.initWidget(outer)
def onSuccess(self, result): outer.remove(self.getLoader()) outer.add(HTML(u"Result Size: " + java.str(result.size()))) for a in result: html = java.str(java.str(u"<h2>Name: " + java.str(a.getName())) + u", Description: " + a.getDescription()) + u"</h2>" outer.add(HTML(html)) if a.hasCover(): outer.add(FbPhoto(a.getCoverPid(), Size.small)) Xfbml.parse(outer)
def onSuccess(self, result): photosPanel = FlowPanel() photosPanel.getElement().setId(u"photosPanel") self.resultWrapper.clear() self.resultWrapper.add(HTML(java.str(u"<h4>Photos size: " + java.str(result.size())) + u"</h4>")) for p in result: photosPanel.add(FbPhoto(p.getPid(), Size.thumb)) self.resultWrapper.add(photosPanel) Xfbml.parse(photosPanel.getElement())
def __init__(self, ): self.__init__._super() """ Create example """ self.outer.getElement().setId(u"xfbml_comments") self.outer.add(self.header) self.outer.add(self.fbComments) Xfbml.parse(self.outer) self.initWidget(self.outer)
def handleCommentsResponse(self, comments): for comment in comments: box = VerticalPanel() box.addStyleName(u"commentBox") p = HorizontalPanel() p.setSpacing(5) p.add(FbProfilePic(comment.getFromId(), Size.square)) p.add(HTML(java.str(comment.getText()) + u" from " + FbName(comment.getFromId()))) box.add(p) removeLink = Anchor(u"Remove") removeLink.addClickHandler(self.CommentsRemoveClickHandler(comment.getId())) box.add(removeLink) self.outer.add(box) Xfbml.parse(self.outer)
def onSuccess(self, result): self.removeLoader(outer) for nc in result: outer.add(HTML(java.str(u"<h3>" + java.str(nc.getType())) + u"</h3>")) if nc.getUnread() is not None: outer.add(HTML(u"Unread: " + java.str(nc.getUnread()))) # Friend requests. if nc.getTypeEnum() == NotificationType.friend_requests and nc.getRequestIds().size() > 0: outer.add(friendRequestWrapper) for uid in nc.getRequestIds(): friendRequestWrapper.add(FbProfilePic(uid)) Xfbml.parse(friendRequestWrapper) elif nc.getTypeEnum() == NotificationType.friend_requests and nc.getRequestIds().size() > 0: outer.add(friendRequestWrapper) for uid in nc.getRequestIds(): friendRequestWrapper.add(FbProfilePic(uid)) Xfbml.parse(friendRequestWrapper) elif nc.getTypeEnum() == NotificationType.group_invites: outer.add(groupInvitesWrapper) for gid in nc.getRequestIds(): groupInvitesWrapper.add(HTML(u"GroupInvite: " + java.str(gid))) groupInvitesWrapper.add(FbGroupLink(gid)) Xfbml.parse(groupInvitesWrapper) else: if nc.getTypeEnum() == NotificationType.event_invites: outer.add(eventInvitesWrapper) if nc.getRequestIds().size() > 0: for eid in nc.getRequestIds(): eventInvitesWrapper.add(FbEventLink(eid)) Xfbml.parse(eventInvitesWrapper)
def renderAlbums(self, addContentToPnl, albums): """ Render list of albums in stream """ addContentToPnl.clear() p = VerticalPanel() p.getElement().setId(u"ProfilAlbums") p.add(HTML(u"<h3>Albums in Stream</h3>")) for a in Util.iterate(albums): p.add(HTML(java.str(u"<h4>" + java.str(a.getName())) + u"</h4>")) if a.hasCover(): p.add(HTML(u" CoverPid: " + java.str(a.getCoverPid()))) p.add(FbPhoto(a.getCoverPid(), FbPhoto.Size.small)) addContentToPnl.add(p) Xfbml.parse(p)
def renderUI(self): fbName = FbName(self.apiClient.getLoggedInUser()) fbName.setUseyou(False) text = HTML(java.str(u"This will send an email notification to " + java.str(fbName)) + u"(you).") text.getElement().setId(u"text") self.notificationText.setWidth(u"500px") self.notificationText.setHeight(u"100px") self.notificationText.setFocus(True) self.outer.setSpacing(10) submit = Button(u"Send") submit.addClickHandler(self.NotificationSendHandler()) self.outer.add(text) self.outer.add(self.notificationText) self.outer.add(submit) Xfbml.parse(text)
def displayUsers(self, picsList, page): startIdx = page * PAGE_SIZE stopIdx = startIdx + (PAGE_SIZE - 1) holder = VerticalPanel() holder.getElement().setId(u"ProfilePics-Page_" + java.str(page)) i = startIdx while i < self.uids.size() and i < stopIdx: i+= 1 uid = self.uids.get(i) wrapper = HorizontalPanel() wrapper.setSpacing(10) profilePic = FbProfilePic(uid, Size.square) name = FbName(uid) wrapper.add(profilePic) wrapper.add(name) holder.add(wrapper) picsList.add(holder) Xfbml.parse(holder)
def __init__(self, ): self.__init__._super() """ New demo """ self.inputWrapper.setSpacing(10) self.outer.setSpacing(10) self.inputWrapper.getElement().setId(u"CommentsAdd-Input") # ID's self.submitButton.getElement().getStyle().setProperty(u"float", u"right") # Styles self.submitButton.getElement().getStyle().setProperty(u"marginTop", u"10px") self.inputWrapper.add(HTML(u"A comment would be great! Thanks.")) self.inputWrapper.add(self.createInputUi()) self.outer.add(self.inputWrapper) self.outer.add(self.responseWrapper) # Thank you self.outer.add(self.commentsListPanel) # Show list of comments self.displayComments() self.submitButton.addClickHandler(self.AddCommentClickHandler()) Xfbml.parse(self.inputWrapper) self.initWidget(self.outer)
def __init__(self, uids): self.__init__._super() self.uids = uids super(self.__class__,self).setAutoHideEnabled(True) self.outer.addStyleName(u"gwittit-ProfilePicsPopup") self.moreButton.addStyleName(u"gwittit-ProfilePicsPopup-moreButton") self.scrollPanel.addStyleDependentName(u"gwittit-ProfilePicsPopup-scrollPanel") # ScrollPanel self.scrollPanel.setWidth(u"400px") self.scrollPanel.setHeight(u"500px") self.outer.getElement().setId(u"gwittit-ProfilePicsPopup-content") # Main Content self.outer.addStyleName(u"gwittit-ProfilePicsPopup-content") self.displayUsers(self.picsHolder, self.page) self.outer.add(self.picsHolder) # Compile Panels self.outer.add(self.moreButton) self.scrollPanel.add(self.outer) super(self.__class__,self).setWidget(self.scrollPanel) Xfbml.parse(self.outer) class _anonymous(ClickHandler): @java.typed(ClickEvent) def onClick(self, event): self.displayUsers(self.picsHolder, self.page+= 1) self.moreButton.addClickHandler(_anonymous()) # Add Clickhandler that enables user to browse list
def __init__(self, uids): self.__init__._super() """ Create a new Panel """ self.uids = uids self.outer.getElement().setId(u"ProfilePicsPanel") self.pics.getElement().setId(u"ProfilePicsPanel-pics-" + java.str(System.currentTimeMillis())) self.outer.addStyleName(u"gwittit-ProfilePicsPanel") self.pics.addStyleName(u"gwittit-ProfilePicsPanel-pics") self.outer.add(self.pics) self.renderProfilePics() # Add list of fbprofilepics to the pics panel if uids.size() > PAGE_SIZE: self.outer.add(self.seeAllLink) class _anonymous(ClickHandler): @java.typed(ClickEvent) def onClick(self, event): popup = ProfilePicsPopup(uids) popup.center() popup.show() self.seeAllLink.addClickHandler(_anonymous()) Xfbml.parse(self.pics) self.initWidget(self.outer)
def onSuccess(self, result): self.notificationText.setValue(None) self.outer.add(HTML(u"<h3>Email Sent!</h3> <br/> Recepients: ")) for uid in result: self.outer.add(FbName(uid)) Xfbml.parse(self.outer)
def onClick(self, event): self.renderPosts(streamBody, self.stream.getPosts()) Xfbml.parse(streamBody)
def onSuccess(self, result): self.stream = result addContentToPnl.insert(menu, 0) self.removeLoader(streamBody) self.renderPosts(streamBody, result.getPosts()) Xfbml.parse(streamBody)