本文整理汇总了Python中pyjamas.ui.VerticalPanel.VerticalPanel.addStyleName方法的典型用法代码示例。如果您正苦于以下问题:Python VerticalPanel.addStyleName方法的具体用法?Python VerticalPanel.addStyleName怎么用?Python VerticalPanel.addStyleName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyjamas.ui.VerticalPanel.VerticalPanel
的用法示例。
在下文中一共展示了VerticalPanel.addStyleName方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Calendar
# 需要导入模块: from pyjamas.ui.VerticalPanel import VerticalPanel [as 别名]
# 或者: from pyjamas.ui.VerticalPanel.VerticalPanel import addStyleName [as 别名]
#.........这里部分代码省略.........
self.drawFull(month, year)
else:
# ok means we are re-drawing, but first check if it is the same
# as the defaultGrid, if yes, just use it
if not hasChangeMonth and month == self.todayMonth and \
year == self.todayYear:
self.middlePanel.setWidget(self.defaultGrid)
self.currentMonth = self.todayMonth
self.currentYear = self.todayYear
else:
# we have to redraw the grid -- bah
g = self.drawGrid(month, year)
if hasChangeMonth:
# reset the default grid as we have changed months
self.defaultGrid = grid
#
# what about the title panel?
#
txt = "<b>"
txt += self.getMonthsOfYear()[month-1] + " " + str(year)
txt += "</b>"
self.titlePanel.setWidget(HTML(txt))
self.setVisible(True)
return
def drawFull(self, month, year):
# should be called only once when we draw the calendar for
# the first time
self.vp = VerticalPanel()
self.vp.setSpacing(2)
self.vp.addStyleName("calendarbox calendar-module calendar")
self.setWidget(self.vp)
self.setVisible(False)
#
mth = int(month)
yr = int(year)
tp = HorizontalPanel()
tp.addStyleName("calendar-top-panel")
tp.setSpacing(5)
h1 = Hyperlink('<<')
h1.addClickListener(getattr(self, 'onPreviousYear'))
h2 = Hyperlink('<')
h2.addClickListener(getattr(self, 'onPreviousMonth'))
h4 = Hyperlink('>')
h4.addClickListener(getattr(self, 'onNextMonth'))
h5 = Hyperlink('>>')
h5.addClickListener(getattr(self, 'onNextYear'))
tp.add(h1)
tp.add(h2)
# titlePanel can be changed, whenever we draw, so keep the reference
txt = "<b>"
txt += self.getMonthsOfYear()[mth-1] + " " + str(yr)
txt += "</b>"
self.titlePanel = SimplePanel()
self.titlePanel.setWidget(HTML(txt))
self.titlePanel.setStyleName("calendar-center")
tp.add(self.titlePanel)
tp.add(h4)
示例2: onModuleLoad
# 需要导入模块: from pyjamas.ui.VerticalPanel import VerticalPanel [as 别名]
# 或者: from pyjamas.ui.VerticalPanel.VerticalPanel import addStyleName [as 别名]
class MovieRatings:
def onModuleLoad(self):
# Setup JSON RPC
self.remote = DataService()
### Initialize member variables
self.mainPanel = HorizontalPanel()
self.rightPanel = VerticalPanel()
self.moviesPanel = VerticalPanel()
self.topRatedPanel = VerticalPanel()
self.categoriesPanel = VerticalPanel()
self.moviesFlexTable = FlexTable()
self.topRatedMoviesFlexTable = FlexTable()
self.topCategoryMoviesFlexTable = FlexTable()
self.lessThanFiveLabel = Label('There are less than 5 movies. Add more movies!')
self.moviesListLabel = Label('Movies List')
self.addPanel = VerticalPanel()
self.newMovieCategoryTextBox = TextBox()
self.newMovieNameTextBox = TextBox()
self.newMovieRatingListBox = ListBox(False)
self.addMovieButton = Button('Add', self.addMovieButton_Click)
self.movies = []
self.topRatedMovies = []
self.categories = {}
self.MAX_RATING = 10
### Add Movie Panel
# Add ratings to list box
for i in range(self.MAX_RATING + 1):
self.newMovieRatingListBox.addItem(str(i))
# Add label and textbox to horizontal panel
self.labelPanel = HorizontalPanel()
self.labelPanel.add(Label("Add a movie:"))
self.categoryPanel = HorizontalPanel()
self.categoryPanel.add(Label("Category: "))
self.categoryPanel.add(self.newMovieCategoryTextBox)
self.namePanel = HorizontalPanel()
self.namePanel.add(Label("Movie Name: "))
self.namePanel.add(self.newMovieNameTextBox)
self.ratingPanel = HorizontalPanel()
self.ratingPanel.add(Label("Movie Rating: "))
self.ratingPanel.add(self.newMovieRatingListBox)
self.labelPanel.addStyleName("addLabel")
self.labelPanel.setSpacing(5)
self.categoryPanel.addStyleName("addPanel")
self.categoryPanel.setSpacing(5)
self.namePanel.addStyleName("addPanel")
self.namePanel.setSpacing(5)
self.ratingPanel.addStyleName("addPanel")
self.ratingPanel.setSpacing(5)
self.newMovieCategoryTextBox.addStyleName("addPanel-input")
self.newMovieNameTextBox.addStyleName("addPanel-input")
self.newMovieRatingListBox.addStyleName("addPanel-input")
self.addPanel.add(self.labelPanel)
self.addPanel.add(self.categoryPanel)
self.addPanel.add(self.namePanel)
self.addPanel.add(self.ratingPanel)
self.addPanel.add(self.addMovieButton)
self.addPanel.addStyleName("addPanel")
self.addMovieButton.addStyleName('addButton')
self.addPanel.add(self.addMovieButton)
self.addPanel.addStyleName('addPanel')
### Movies table
self.moviesFlexTable.setText(0, 1, "Category")
self.moviesFlexTable.setText(0, 2, "Title")
self.moviesFlexTable.setText(0, 3, "Rating")
self.moviesFlexTable.addStyleName("movieList")
self.moviesFlexTable.getRowFormatter().addStyleName(0, "listHeader")
self.moviesFlexTable.setCellPadding(6)
self.moviesFlexTable.getCellFormatter().setStyleName(0, 1, "listHeaderColumn")
self.moviesFlexTable.getCellFormatter().setStyleName(0, 2, "listHeaderColumn")
self.moviesListLabel.addStyleName("listLabel")
self.moviesPanel.add(self.moviesListLabel)
self.moviesPanel.add(self.moviesFlexTable)
self.moviesPanel.setStyleName("moviesPanel")
### Top rated movies table
self.topRatedMoviesFlexTable.setText(0, 0, "Category")
self.topRatedMoviesFlexTable.setText(0, 1, "Title")
self.topRatedMoviesFlexTable.setText(0, 2, "Rating")
self.topRatedMoviesFlexTable.addStyleName("topMoviesList")
self.topRatedMoviesFlexTable.getRowFormatter().addStyleName(0, "listHeader")
self.topRatedMoviesFlexTable.setCellPadding(6)
self.topRatedMoviesFlexTable.getCellFormatter().setStyleName(0, 0, "listHeaderColumn")
self.topRatedMoviesFlexTable.getCellFormatter().setStyleName(0, 1, "listHeaderColumn")
self.topRatedLabel = Label("Top 5 Rated Movies")
#.........这里部分代码省略.........
示例3: onModuleLoad
# 需要导入模块: from pyjamas.ui.VerticalPanel import VerticalPanel [as 别名]
# 或者: from pyjamas.ui.VerticalPanel.VerticalPanel import addStyleName [as 别名]
class PageVerify:
# setup JSON RPC
facebook_user = {}
users = []
new_user = {}
get_data = {}
app_info = {}
verification_key = None
verification_status = False
def onModuleLoad(self):
self.remote = DataService()
# do JSON RPC calls
self.remote.get_facebook_user(self)
self.remote.get_app_info(self, "verify")
# labels and banners
self.html_verify_banner = HTML("<h1>Verify your NetID</h1>")
self.html_confirm_banner = HTML("<h1>Confirming your NetID...</h1>")
self.lbl_verify_text = Label("Please verify your account.")
self.lbl_confirm_text = Label("Confirming Acount...")
self.lbl_confirm_result = Label()
# textboxes
self.tb_verify_netid = TextBox()
# hook up keyboard events
send_confirmation_email = self.send_confirmation_email
class Add_KeyboardHandler():
def onKeyPress(self, sender, keycode, modifiers):
if keycode == KEY_ENTER:
send_confirmation_email()
def onKeyDown(self, sender, keycode, modifiers): return
def onKeyUp(self, sender, keycode, modifiers): return
self.kbh = Add_KeyboardHandler()
self.tb_verify_netid.addKeyboardListener(self.kbh)
# buttons
self.btn_verify = Button("Verify!", self.send_confirmation_email)
# NetID information form
self.table_verify_netid = FlexTable()
self.table_verify_netid.setText(0, 0, "NetID:")
self.table_verify_netid.setWidget(0, 1, self.tb_verify_netid)
self.table_verify_netid.setWidget(1, 1, self.btn_verify)
# panels
self.main_panel = VerticalPanel()
# check get information, if present, verify, if not request form
self.location = Window.getLocation().getHref()
self.tmp = self.location.split('?')
self.tmp = self.tmp[len(self.tmp) - 1].split("&")
for e in self.tmp:
get_var = e.split("=")
if len(get_var) == 2:
PageVerify.get_data[get_var[0]] = get_var[1]
if "vk" in PageVerify.get_data:
# we have request from verification email
self.main_panel.add(self.html_confirm_banner)
self.main_panel.add(self.lbl_confirm_text)
self.main_panel.add(self.lbl_confirm_result)
self.verify_user()
else:
self.main_panel.add(self.html_verify_banner)
self.main_panel.add(self.lbl_verify_text)
self.main_panel.add(self.table_verify_netid)
self.main_panel.addStyleName("verify_panel")
# add everything to root panel
RootPanel("page_verify").add(self.main_panel)
def send_confirmation_email(self, sender, netid = None):
""" given a valid NetID, send a confirmation email
with a link (using encrypted key) to validate
the user's NetID
"""
if netid == None:
netid = self.tb_verify_netid.getText()
# create a new user with netid and facebook id
self.remote.create_user(self, PageVerify.facebook_user['facebook_id'], netid, PageVerify.facebook_user['full_name'])
# create cryptogram based on email name
self.remote.encrypt(self, netid)
# subject line
subject = "Hello from Textbook Connect!"
class EmailTimer(Timer):
def __init__(self, context):
Timer.__init__(self)
self.max_tries = 10
self.tries = 0
self.context = context
#.........这里部分代码省略.........
示例4: Calendar
# 需要导入模块: from pyjamas.ui.VerticalPanel import VerticalPanel [as 别名]
# 或者: from pyjamas.ui.VerticalPanel.VerticalPanel import addStyleName [as 别名]
#.........这里部分代码省略.........
if self.defaultGrid is None:
self.drawFull(month, year)
else:
# ok means we are re-drawing, but first check if it is the same
# as the defaultGrid, if yes, just use it
if not hasChangeMonth and month == self.todayMonth and \
year == self.todayYear:
self.middlePanel.setWidget(self.defaultGrid)
self.currentMonth = self.todayMonth
self.currentYear = self.todayYear
else:
# we have to redraw the grid -- bah
g = self.drawGrid(month, year)
if hasChangeMonth:
# reset the default grid as we have changed months
self.defaultGrid = grid
#
# what about the title panel?
#
txt = "<b>"
txt += self.getMonthsOfYear()[month-1] + " " + str(year)
txt += "</b>"
self.titlePanel.setWidget(HTML(txt))
self.setVisible(True)
def drawFull(self, month, year):
# should be called only once when we draw the calendar for
# the first time
self.vp = VerticalPanel()
self.vp.setSpacing(0)
self.vp.setPadding(0)
self.vp.addStyleName("calendarbox calendar-module calendar")
self.setWidget(self.vp)
self.setVisible(False)
#
mth = int(month)
yr = int(year)
tp = HorizontalPanel(Width="100%")
tp.addStyleName("calendar-top-panel")
tp.setSpacing(0)
tp.setPadding(0)
self.h1 = None
self.h2 = None
self.h4 = None
self.h5 = None
if self.backyear:
self.h1 = self.bkls(self.backyear, StyleName="calendar-arrows")
self.h1.addClickListener(getattr(self, 'onPreviousYear'))
tp.add(self.h1)
tp.setCellHorizontalAlignment(self.h1, "left")
if self.backmonth:
self.h2 = self.bkls(self.backmonth, StyleName="calendar-arrows")
self.h2.addClickListener(getattr(self, 'onPreviousMonth'))
tp.add(self.h2)
tp.setCellHorizontalAlignment(self.h2, "left")
# titlePanel can be changed, whenever we draw, so keep the reference
txt = "<b>"
txt += self.getMonthsOfYear()[mth-1] + " " + str(yr)
txt += "</b>"
self.titlePanel = SimplePanel()
self.titlePanel.setWidget(HTML(txt))
示例5: onModuleLoad
# 需要导入模块: from pyjamas.ui.VerticalPanel import VerticalPanel [as 别名]
# 或者: from pyjamas.ui.VerticalPanel.VerticalPanel import addStyleName [as 别名]
class PageIndex:
def onModuleLoad(self):
# JSON RPC response containers
self.facebook_user = {}
self.app_info = {}
self.wl_books = []
self.sl_books = []
self.events = []
# setup JSON RPC
self.remote = DataService()
# make JSON RPC calls
self.remote.get_app_info(self, "index")
self.remote.get_wish_list(self)
self.remote.get_sell_list(self)
self.remote.get_events(self, 10)
# panels
self.main_panel = HorizontalPanel()
self.feed_panel = VerticalPanel()
self.list_panel = VerticalPanel()
self.feed_panel.addStyleName("feed_panel")
self.list_panel.addStyleName("list_panel")
# labels
self.html_feed_title = HTML("<h1>Recent Activity</h1>")
self.html_wish_title = HTML("<h1>Your Wishlist</h1>")
self.html_sell_title = HTML("<h1>Your Selllist</h1>")
# user lists
self.wish_list = UserList("wish", self)
self.sell_list = UserList("sell", self)
self.wish_list.addStyleName("userlist")
self.sell_list.addStyleName("userlist")
self.feed_panel.add(self.html_feed_title)
self.list_panel.add(self.html_wish_title)
self.list_panel.add(self.wish_list)
self.list_panel.add(HTML("<br />"))
self.list_panel.add(self.html_sell_title)
self.list_panel.add(self.sell_list)
# add everything together
self.main_panel.add(self.feed_panel)
self.main_panel.add(self.list_panel)
self.main_panel.setWidth("100%")
RootPanel("page_index").add(self.main_panel)
show_events = self.show_events
class EventTimer(Timer):
def run(self):
show_events()
et = EventTimer()
self.show_events()
et.scheduleRepeating(5000)
def populate_book_lists(self):
""" check the JSON RPC containers and fill the UserLists if
it finds them to be non-empty
"""
for b in self.wl_books:
Window.alert(str(b))
self.wish_list.add_book(b)
for b in self.sl_books:
self.sell_list.add_book(b)
return True
def show_events(self):
""" create events on the recent activity feed
"""
for e in self.events:
self.add_event(e)
self.events = []
def add_event(self, event):
""" add an event to the recent activity feed
"""
event_panel = HorizontalPanel()
mid_panel = VerticalPanel()
book_panel = HorizontalPanel()
# profile picture
pic_url = "https://graph.facebook.com/" + event['fbid'] + "/picture"
pic_html = HTML("<img src=\"%s\" />" % pic_url)
# event string
event_html = HTML("<span style=\"font-weight: bold\">%s</span>" % event['string'])
url = self.app_info['url'] + "book?asin=" + event['book']['asin']
cutoff = 40
# book thumbnail
img_url = event['book']['thumbnail']
#.........这里部分代码省略.........
示例6: onModuleLoad
# 需要导入模块: from pyjamas.ui.VerticalPanel import VerticalPanel [as 别名]
# 或者: from pyjamas.ui.VerticalPanel.VerticalPanel import addStyleName [as 别名]
class PageBookComments:
def onModuleLoad(self):
# parse get data
self.location = Window.getLocation().getHref()
self.get_data = {}
self.tmp = self.location.split('?')
self.tmp = self.tmp[len(self.tmp) - 1].split("&")
for e in self.tmp:
get_var = e.split("=")
if len(get_var) == 2:
self.get_data[get_var[0]] = get_var[1]
# JSON RPC response holders
self.facebook_user = {}
self.app_info = {}
self.sellers = []
self.book = {}
self.has_book = "none"
# setup JSON RPC
self.remote = DataService()
self.remote.get_facebook_user(self)
self.remote.get_app_info(self, "book_detail")
if "asin" in self.get_data:
self.remote.get_book_details(self, self.get_data["asin"])
self.remote.get_sellers(self, self.get_data["asin"])
self.remote.user_has_book(self, self.get_data["asin"])
# create panels
self.main_panel = HorizontalPanel()
self.info_panel = VerticalPanel()
self.sell_btn_panel = VerticalPanel()
self.wish_btn_panel = VerticalPanel()
self.seller_panel = VerticalPanel()
self.add_comment_panel = VerticalPanel()
# images
self.img_book_cover = Image()
# html labels
self.html_book_title = HTML()
self.html_book_author = HTML()
self.html_book_isbn10 = HTML()
self.html_book_publisher = HTML()
self.html_book_publish_date = HTML()
self.html_book_edition = HTML()
self.html_book_binding = HTML()
self.html_btn_sell = HTML()
self.html_btn_wish = HTML()
self.html_seller_title = HTML()
# check for no get data!
if "asin" not in self.get_data:
self.html_book_title.setHTML("<h1>Book not found!</h1>\n<p>The book you are looking for does not exist.</p>")
self.info_panel.setWidth("100%")
self.main_panel.setWidth("100%")
self.info_panel.add(self.html_book_title)
self.main_panel.add(self.info_panel)
RootPanel("page_book_comments").add(self.main_panel)
return
# add to sellers panel
self.seller_panel.add(self.html_seller_title)
self.seller_panel.addStyleName("comments")
self.info_panel.add(self.html_book_title)
self.info_panel.add(self.html_book_author)
self.info_panel.add(self.html_book_isbn10)
self.info_panel.add(self.html_book_publisher)
self.info_panel.add(self.html_book_publish_date)
self.info_panel.add(self.html_book_edition)
self.info_panel.add(self.html_book_binding)
self.info_panel.add(self.add_comment_panel)
self.info_panel.add(self.seller_panel)
self.info_panel.addStyleName("info_panel")
self.main_panel.add(self.info_panel)
self.main_panel.add(self.img_book_cover)
RootPanel("page_book_comments").add(self.main_panel)
# spin until book info get here
class SpinTimer(Timer):
def __init__(self, max_tries = 10, interval = 500):
Timer.__init__(self)
self.interval = interval
self.max_tries = max_tries
self.tries = 0
self.func = func
self.params = params
self.scheduleRepeating(self.interval)
def run(self):
self.tries += 1
if self.tries >= self.max_tries:
Window.alert("It looks like there's a connection problem. We're sorry about the inconvenience. Please try again later.")
#.........这里部分代码省略.........