Example #1
0
 def __init__(self, ):
     self.__init__._super()
     outer = VerticalPanel()
     notesHolder = VerticalPanel()
     friendSelector = FriendSelector()
     outer.add(friendSelector)
     outer.add(notesHolder)
     class _anonymous(FriendSelectionHandler):
         
         @java.typed(Long)
         def onSelected(self, uid):
             notesHolder.clear()
             self.addLoader(notesHolder)
             class _anonymous(AsyncCallback):
                 
                 @java.typed(Throwable)
                 def onFailure(self, caught):
                     self.handleFailure(caught)
                 
                 @java.typed(List)
                 def onSuccess(self, result):
                     self.removeLoader(notesHolder)
                     if result.size() == 0:
                         notesHolder.add(HTML(u"User has not created any notes "))
                     for n in result:
                         notesHolder.add(HTML(u"Note Title : " + java.str(n.getTitle())))
             self.apiClient.notesGet(uid, _anonymous())
     friendSelector.addFriendSelectionHandler(_anonymous()) #  Let user select a friend and show notes
     self.initWidget(outer)
Example #2
0
    def __init__(self):
        Composite.__init__(self)
        self.signOutLink = HTML("<a href='javascript:;'>Sign Out</a>")
        self.aboutLink = HTML("<a href='javascript:;'>About</a>")

        outer = HorizontalPanel()
        inner = VerticalPanel()

        outer.setHorizontalAlignment(HasAlignment.ALIGN_RIGHT)
        inner.setHorizontalAlignment(HasAlignment.ALIGN_RIGHT)

        links = HorizontalPanel()
        links.setSpacing(4)
        links.add(self.signOutLink)
        links.add(self.aboutLink)

        outer.add(inner)
        inner.add(HTML("<b>Welcome back, [email protected]</b>"))
        inner.add(links)

        self.signOutLink.addClickListener(self)
        self.aboutLink.addClickListener(self)

        self.initWidget(outer)
        inner.setStyleName("mail-TopPanel")
        links.setStyleName("mail-TopPanelLinks")
 def __init__(self, ):
     self.__init__._super()
     outer = VerticalPanel()
     outer.add(self.getLoader())
     result = VerticalPanel()
     result.getElement().setId(u"friendsAreFriendsResult")
     uids1 = ArrayList((Long),)
     uids1.add(self.apiClient.getLoggedInUser())
     uids1.add(Long(751836969))
     uids1.add(Long(708775201))
     uids2 = ArrayList((Long),)
     uids2.add(Long(709281400))
     uids2.add(Long(560635378))
     uids2.add(Long(709281400))
     class _anonymous(AsyncCallback):
         
         @java.typed(Throwable)
         def onFailure(self, caught):
             self.handleFailure(caught)
         
         @java.typed(List)
         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())
     self.apiClient.friendsAreFriends(uids1, uids2, _anonymous())
     self.initWidget(outer)
 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)
class Comments_xfbml(Showcase):

    """
    Display facebook comments on the site.
    @author ola
    """
    
    @java.init
    def __init__(self, *a, **kw):
        self.outer = VerticalPanel()
        self.fbComments = FbComments(Comments_get.XID)
        self.header = HTML(u"<h3>A comment would be great! Thanks :-)</h3>")
    
    @__init__.register
    @java.typed()
    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)
Example #6
0
class SinkList(Composite):
    def __init__(self):
        Composite.__init__(self)
        self.vp_list=VerticalPanel()
        self.sinks=[]
        self.selectedSink=-1
        
        self.initWidget(self.vp_list)
        self.setStyleName("ks-List")

    def addSink(self, info):
        name = info.getName()
        link = Hyperlink(name, False, name)
        link.setStyleName("ks-SinkItem")
        self.vp_list.add(link)
        self.sinks.append(info)

    def find(self, sinkName):
        for info in self.sinks:
            if info.getName()==sinkName:
                return info
        return None

    def setSinkSelection(self, name):
        if self.selectedSink <> -1:
            self.vp_list.getWidget(self.selectedSink).removeStyleName("ks-SinkItem-selected")

        for i in range(len(self.sinks)):
            info = self.sinks[i]
            if (info.getName()==name):
                self.selectedSink = i
                widget=self.vp_list.getWidget(self.selectedSink)
                widget.addStyleName("ks-SinkItem-selected")
                return
    def onModuleLoad(self):
        self.curInfo=''
        self.curSink=None
        self.description=HTML()
        self.sink_list=SinkList()
        self.panel=DockPanel()
        
        self.loadSinks()
        self.sinkContainer = DockPanel()
        self.sinkContainer.setStyleName("ks-Sink")

        vp=VerticalPanel()
        vp.setWidth("100%")
        vp.add(self.description)
        vp.add(self.sinkContainer)

        self.description.setStyleName("ks-Info")

        self.panel.add(self.sink_list, DockPanel.WEST)
        self.panel.add(vp, DockPanel.CENTER)

        self.panel.setCellVerticalAlignment(self.sink_list, HasAlignment.ALIGN_TOP)
        self.panel.setCellWidth(vp, "100%")

        History().addHistoryListener(self)
        RootPanel().add(self.panel)
        #RootPanel().add(Logger())

        #Show the initial screen.
        initToken = History().getToken()
        if len(initToken):
            self.onHistoryChanged(initToken)
        else:
			self.showInfo()
Example #8
0
class Contacts(Composite):
    def __init__(self):
        Composite.__init__(self)
        self.contacts = []
        self.contacts.append(Contact("Benoit Mandelbrot", "*****@*****.**"))
        self.contacts.append(Contact("Albert Einstein", "*****@*****.**"))
        self.contacts.append(Contact("Rene Descartes", "*****@*****.**"))
        self.contacts.append(Contact("Bob Saget", "*****@*****.**"))
        self.contacts.append(Contact("Ludwig von Beethoven", "*****@*****.**"))
        self.contacts.append(Contact("Richard Feynman", "*****@*****.**"))
        self.contacts.append(Contact("Alan Turing", "*****@*****.**"))
        self.contacts.append(Contact("John von Neumann", "*****@*****.**"))

        self.panel = VerticalPanel()

        # Add all the contacts to the list.
        i = 0
        while (i < len(self.contacts)):
            self.addContact(self.contacts[i])
            i =  i + 1

        self.initWidget(self.panel)
        self.setStyleName("mail-Contacts")

    def addContact(self, contact):
        link = HTML("<a href='javascript:;'>" + contact.name + "</a>")
        self.panel.add(link)
        
        # Add a click listener that displays a ContactPopup when it is clicked.
        listener = ContactListener(contact, link)
        link.addClickListener(listener)
class Events_create(Showcase):

    """
    Showcase for method <code>events.create</code>
    """
    
    @java.init
    def __init__(self, *a, **kw):
        self.outer = VerticalPanel()
    
    @__init__.register
    @java.typed()
    def __init__(self, ):
        self.__init__._super()
        """
        Create showcase
        """
        self.initWidget(self.outer)
    
    def permissionGranted(self):
        eventEditor = EventEditor()
        self.outer.add(eventEditor)
    
    def getNeedPermission(self):
        return Permission.create_event
 def __init__(self, ):
     self.__init__._super()
     outer = VerticalPanel()
     mutualFriends = VerticalPanel()
     mutualFriends.getElement().setId(u"Friends_getMutualFriends-mutualFriends")
     fs = FriendSelector() #  Let the user pick a friends
     class _anonymous(FriendSelectionHandler):
         #  Check if current logged in user has common friends with selected.
         
         @java.typed(Long)
         def onSelected(self, targetUid):
             mutualFriends.clear()
             self.addLoader(mutualFriends)
             class _anonymous(AsyncCallback):
                 
                 @java.typed(Throwable)
                 def onFailure(self, caught):
                     self.handleFailure(caught)
                 
                 @java.typed(List)
                 def onSuccess(self, result):
                     self.removeLoader(mutualFriends)
                     mutualFriends.add(HTML(java.str(u"Number of mutual friends " + java.str(result.size())) + u" with " + FbName(targetUid)))
                     p = ProfilePicsPanel(result)
                     mutualFriends.add(p)
             self.apiClient.friendsGetMutualFriends(targetUid, _anonymous()) #  Call facebook
     fs.addFriendSelectionHandler(_anonymous())
     outer.add(fs)
     outer.add(mutualFriends)
     self.initWidget(outer)
Example #11
0
 def createCommentsUI(self, comments):
     """
     Create comments ui
     """
     p = VerticalPanel()
     p.addStyleName(u"comments fbColorLight rounded addSpace")
     p.add(HTML(java.str(u"<h3>Comments on this post: " + java.str(comments.getCount())) + u"</h4>"))
     return p
 def createFavoriteWidget(self):
     wrapper = VerticalPanel()
     wrapper.addStyleName(u"favPanel")
     self.favPanel.setSpacing(10)
     self.favPanel.add(self.top1)
     wrapper.add(self.favPanel)
     wrapper.add(self.publishButton)
     return wrapper
class ProfilePicsPanel(Composite):

    """
    Display Profile Pics in a panel.
    
    CSS Configuration.
    
    <ul>
    <li>.gwittit-ProfilePicsPanel
    <li>.gwittit-ProfilePicsPanel-pics
    </ul>
    """
    
    @java.init
    def __init__(self, *a, **kw):
        self.outer = VerticalPanel()
        self.pics = FlowPanel()
        self.seeAllLink = Anchor(u"See All")
        self.PAGE_SIZE = 10
        self.uids = None
    
    @__init__.register
    @java.typed(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)
    
    @java.private
    def renderProfilePics(self):
        i = 0
        while i < PAGE_SIZE and i < self.uids.size():
            i+= 1
            uid = self.uids.get(i)
            profilePic = FbProfilePic(uid, Size.square)
            profilePic.setWidth(u"35px")
            profilePic.setHeight(u"35px")
            self.pics.add(profilePic)
Example #14
0
 def createImage(self, imageUrl):
     image = Image(imageUrl)
     image.setStyleName("ks-images-Image")
     
     p = VerticalPanel()
     p.setHorizontalAlignment(HasAlignment.ALIGN_CENTER)
     p.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE)
     p.add(image)
     return p
class Connect_getUnconnectedFriendsCount(Showcase):

    """
    Showcase for method <code>connect.getUnconnectedFriendsCount</code>
    """
    
    @java.init
    def __init__(self, *a, **kw):
        self.outer = VerticalPanel()
    #  Handle response
    
    @java.private
    @java.innerclass
    @java.implements(AsyncCallbackInteger)
    class CountCallback(Object):
    
        
        @java.init
        def __init__(self, *a, **kw):
            pass
        
        @java.typed(Throwable)
        def onFailure(self, caught):
            self.handleFailure(caught)
        
        @java.typed(Integer)
        def onSuccess(self, count):
            self.removeLoader(self.outer)
            self.renderResponse(count)
    
    @__init__.register
    @java.typed()
    def __init__(self, ):
        self.__init__._super()
        """
        Create showcase
        """
        self.addLoader(self.outer)
        self.doGetUnconnctedFriendsCount()
        self.initWidget(self.outer)
    
    @java.private
    def doGetUnconnctedFriendsCount(self):
        """
        Get data from facebook
        """
        self.apiClient.connectGetUnconnectedFriendsCount(self.CountCallback())
    
    @java.private
    @java.typed(Integer)
    def renderResponse(self, count):
        """
        Render response
        @param count how many unconnected friends
        """
        self.outer.add(HTML(u"<h4>Unconnected Friends Count</h4>"))
        self.outer.add(HTML(u"Result : " + java.str(count)))
 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)
Example #17
0
class Photos_get(Showcase):

    """
    Showcase for method call <code>photos.get</code>
    
    @author olamar72
    """
    
    @java.init
    def __init__(self, *a, **kw):
        self.paramsWrapper = None
        self.resultWrapper = None
        self.paramsResultWrapper = None
    method = u"photos.get"
    
    @__init__.register
    @java.typed()
    def __init__(self, ):
        self.__init__._super()
        self.paramsWrapper = HorizontalPanel()
        self.resultWrapper = VerticalPanel()
        self.paramsResultWrapper = VerticalPanel()
        self.paramsWrapper.addStyleName(u"params")
        self.paramsResultWrapper.add(self.paramsWrapper)
        self.paramsResultWrapper.add(self.resultWrapper)
        fs = FriendSelector()
        class _anonymous(FriendSelectionHandler):
            
            @java.typed(Long)
            def onSelected(self, uid):
                self.displayPhotos(uid)
        fs.addFriendSelectionHandler(_anonymous())
        self.paramsWrapper.add(fs)
        self.initWidget(self.paramsResultWrapper)
    #  * Display photos of selected user
    
    @java.private
    @java.typed(Long)
    def displayPhotos(self, subjId):
        self.resultWrapper.add(self.getLoader())
        class _anonymous(AsyncCallback):
            
            @java.typed(Throwable)
            def onFailure(self, caught):
                self.handleFailure(caught)
            
            @java.typed(List)
            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())
        self.apiClient.photosGet(subjId, _anonymous()) #  Get photos from facebook
Example #18
0
class LoginBox(Composite):

    """
    Displays a rounded box ( firefox/safari ) with at facebook connect button.
    And a link as backup in case the button is not rendered.
    """
    
    @java.init
    def __init__(self, *a, **kw):
        self.outer = VerticalPanel()
        self.inner = HorizontalPanel()
        self.loginButton = FbLoginButton(u"facebookConnectLogin()")
        self.loginLink = Anchor(u"don't see a button? Click here to login")
        self.loginCallback = None
    
    @java.typed(LoginCallback)
    def addLoginCallback(self, loginCallback):
        self.loginCallback = loginCallback
    
    @__init__.register
    @java.typed()
    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)
Example #19
0
 def __init__(self):
     Composite.__init__(self)
     panel = VerticalPanel()
     panel.add(CheckBox("Get groceries"))
     panel.add(CheckBox("Walk the dog"))
     panel.add(CheckBox("Start Web 2.0 company"))
     panel.add(CheckBox("Write cool app in GWT"))
     panel.add(CheckBox("Get funding"))
     panel.add(CheckBox("Take a vacation"))
     self.initWidget(panel)
     self.setStyleName("mail-Tasks")
 def createDefaultFrontpage(self):
     pp = FbProfilePic(self.apiClient.getLoggedInUser(), Size.square)
     pp.setSize(u"30px", u"30px")
     name = FbName(self.apiClient.getLoggedInUser())
     name.setUseyou(False)
     name.setLinked(False)
     welcomePnl = VerticalPanel()
     welcomePnl.setSpacing(10)
     welcomePnl.add(HTML(java.str(java.str(java.str(u"<h4>Welcome, " + java.str(name)) + u" ") + java.str(pp)) + u"</h4> "))
     welcomePnl.add(HTML(self.wText))
     return welcomePnl
Example #21
0
 def createEventInfoUi(self, eventInfo):
     p = VerticalPanel()
     p.addStyleName(u"eventInfo")
     html = java.str(u"<h4>" + java.str(eventInfo.getName())) + u"</h4>"
     html += java.str(java.str(u"When: " + java.str(eventInfo.getStartTime())) + u", Where: " + eventInfo.getLocation()) + u"<br/>"
     self.responsePanel.add(HTML(html))
     mPanel = SimplePanel()
     mLink = Anchor(u"See who's attending")
     mLink.addClickHandler(self.GetMembersClickHandler(eventInfo.getEid(), mPanel))
     p.add(mLink)
     p.add(mPanel)
     return p
 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 createInputUi(self):
     """
     * Create input text area and submit button.
     """
     vp = VerticalPanel()
     p = HorizontalPanel()
     p.setSpacing(10)
     p.add(FbProfilePic(self.apiClient.getLoggedInUser(), FbProfilePic.Size.square))
     self.text.setHeight(u"100px")
     self.text.setWidth(u"400px")
     vp.add(self.text)
     vp.add(self.submitButton)
     p.add(vp)
     return p
Example #24
0
 def renderPosts(self, addContentToPnl, posts):
     """
     Render posts i a stream
     """
     addContentToPnl.clear()
     addContentToPnl.add(HTML(u"Number of posts: " + java.str(posts.__len__())))
     for post in Util.iterate(posts):
         try:
             GWT.log(u"Render: " + java.str(JSONObject(post).toString()), None)
             postContentPnl = VerticalPanel()
             postContentPnl.addStyleName(u"postContent")
             postContentPnl.add(HTML(java.str(FbName(post.getActorId())) + u" " + post.getMessage()))
             if post.getAttachment().getName() is not None:
                 postContentPnl.add(self.createAttachmentUI(post.getAttachment()))
             if post.getLikes().getCount() > 0:
                 postContentPnl.add(self.createLikesUI(post.getLikes()))
             if post.getComments().getCount() > 0:
                 postContentPnl.add(self.createCommentsUI(post.getComments()))
             p = HorizontalPanel() #  Add profilepic on the left, postcontent on the right
             p.addStyleName(u"post")
             p.add(FbProfilePic(post.getActorId()))
             p.add(postContentPnl)
             addContentToPnl.add(p) #  postPnl.add ( asJson ( "LikesAsJson: ", post.getLikes () ));
         except Exception,e:
             GWT.log(u"Unkown exception ", e)
Example #25
0
    def __init__(self):
        Composite.__init__(self)
        panel = VerticalPanel()
        headerPanel = VerticalPanel()
        self.subject = HTML()
        self.sender = HTML()
        self.recipient = HTML()
        self.body = HTML()
        self.scroller = ScrollPanel(self.body)

        self.body.setWordWrap(True)

        headerPanel.add(self.subject)
        headerPanel.add(self.sender)
        headerPanel.add(self.recipient)
        headerPanel.setWidth("100%")

        innerPanel = DockPanel()
        innerPanel.add(headerPanel, DockPanel.NORTH)
        innerPanel.add(self.scroller, DockPanel.CENTER)

        innerPanel.setCellHeight(self.scroller, "100%")
        panel.add(innerPanel)
        innerPanel.setSize("100%", "100%")
        self.scroller.setSize("100%", "100%")
        self.initWidget(panel)

        self.setStyleName("mail-Detail")
        headerPanel.setStyleName("mail-DetailHeader")
        innerPanel.setStyleName("mail-DetailInner")
        self.subject.setStyleName("mail-DetailSubject")
        self.sender.setStyleName("mail-DetailSender")
        self.recipient.setStyleName("mail-DetailRecipient")
        self.body.setStyleName("mail-DetailBody")
    def onModuleLoad(self):
        self.TEXT_WAITING = "Waiting for response..."
        self.TEXT_ERROR = "Server Error"
        self.METHOD_ECHO = "Echo"
        self.METHOD_REVERSE = "Reverse"
        self.METHOD_UPPERCASE = "UPPERCASE"
        self.METHOD_LOWERCASE = "lowercase"
        self.methods = [self.METHOD_ECHO, self.METHOD_REVERSE, self.METHOD_UPPERCASE, self.METHOD_LOWERCASE]

        self.remote_php = EchoServicePHP()
        self.remote_py = EchoServicePython()

        self.status=Label()
        self.text_area = TextArea()
        self.text_area.setText(r"{'Test'} [\"String\"]")
        self.text_area.setCharacterWidth(80)
        self.text_area.setVisibleLines(8)
        
        self.method_list = ListBox()
        #self.method_list.setMultipleSelect(True)
        self.method_list.setVisibleItemCount(1)
        for method in self.methods:
            self.method_list.addItem(method)
        self.method_list.setSelectedIndex(0)

        method_panel = HorizontalPanel()
        method_panel.add(HTML("Remote string method to call: "))
        method_panel.add(self.method_list)
        method_panel.setSpacing(8)

        self.button_php = Button("Send to PHP Service", self)
        self.button_py = Button("Send to Python Service", self)

        buttons = HorizontalPanel()
        buttons.add(self.button_php)
        buttons.add(self.button_py)
        buttons.setSpacing(8)
        
        info = r"<h2>JSON-RPC Example</h2><p>This example demonstrates the calling of server services with <a href=\"http://json-rpc.org/\">JSON-RPC</a>."
        info += "<p>Enter some text below, and press a button to send the text to an Echo service on your server. An echo service simply sends the exact same text back that it receives."
        
        panel = VerticalPanel()
        panel.add(HTML(info))
        panel.add(self.text_area)
        panel.add(method_panel)
        panel.add(buttons)
        panel.add(self.status)
        
        RootPanel().add(panel)
 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)
Example #28
0
 def __init__(self, ):
     self.__init__._super()
     outer = VerticalPanel()
     outer.add(self.getLoader())
     flow = FlowPanel()
     flow.setWidth(u"500px")
     flow.getElement().setId(u"friendsget")
     class _anonymous(AsyncCallback):
         
         @java.typed(Throwable)
         def onFailure(self, caught):
             self.handleFailure(caught)
         
         @java.typed(List)
         def onSuccess(self, result):
             outer.remove(self.getLoader())
             p = ProfilePicsPanel(result)
             outer.add(p)
     self.apiClient.friendsGet(_anonymous()) #  Call facebook
     self.initWidget(outer)
 def onSuccess(self, result):
     self.removeLoader(outer)
     outer.add(HTML(u"Result Size " + java.str(result.size())))
     for no in result:
         tmp = VerticalPanel()
         tmp.addStyleName(u"notification")
         tmp.add(HTML(java.str(u"<h3>" + java.str(no.getTitleText())) + u"</h3>"))
         tmp.add(HTML(no.getBodyHtml()))
         tmp.add(HTML(no.getHref()))
         if not no.getIsUnread():
             tmp.add(HTML(u"Status : Old"))
         markRead = Anchor(u"Mark as Read")
         class _anonymous(ClickHandler):
             
             @java.typed(ClickEvent)
             def onClick(self, event):
                 markRead.setHTML(u"Marked as Read")
                 markRead(no.getNotificationId())
         markRead.addClickHandler(_anonymous())
         tmp.add(markRead)
         outer.add(tmp)
Example #30
0
    def __init__(self, contact):
        # The popup's constructor's argument is a boolean specifying that it
        # auto-close itself when the user clicks outside of it.

        PopupPanel.__init__(self, True)

        inner = VerticalPanel()
        nameLabel = Label(contact.name)
        emailLabel = Label(contact.email)
        inner.add(nameLabel)
        inner.add(emailLabel)
        
        panel = HorizontalPanel()
        panel.setSpacing(4)
        panel.add(Image(contact.photo))
        panel.add(inner)
        
        self.add(panel)
        self.setStyleName("mail-ContactPopup")
        nameLabel.setStyleName("mail-ContactPopupName")
        emailLabel.setStyleName("mail-ContactPopupEmail")