def __init__(self, **kvargs):
super(ThemesForum, self).__init__(**kvargs)
self.size_hint = (1, 1)
box_scroll = ScrollView()
box_scroll_and_paginator = BoxLayout(orientation="vertical", spacing=5)
box_for_paginator = BoxLayout(size_hint_y=None, height=40)
layout = GridLayout(cols=1, spacing=17, size_hint=(1, None))
layout.bind(minimum_height=layout.setter('height'))
layout.add_widget(Widget(size_hint=(1, .5)))
layout.add_widget(Label(text=self.title, font_size=self.font_size + 4,
markup=True))
layout.add_widget(Widget(size_hint=(1, .5)))
layout.add_widget(SettingSpacer())
# ????????? ???????.
if self.flag != "forumcat":
number_page = Label(text=self.number_page, markup=True)
number_page.bind(on_ref_press=self.refs_callback)
box_for_paginator.add_widget(number_page)
for data in self.data:
for key in ["theme", "total_topics", "last_theme", "sep",
"last_answer"]:
try:
if data[key] == "":
continue
except KeyError:
pass
font_size = self.font_size + 4 if key == "theme" \
else self.font_size
if key == "sep":
layout.add_widget(Widget(size_hint=(1, .5)))
else:
name_item = data[key]
info = Label(text=name_item, font_size=font_size,
id=name_item, markup=True)
info.bind(
size=lambda *args: self._update_window_size(args),
on_ref_press=self.refs_callback)
layout.add_widget(info)
if key == "theme":
layout.add_widget(SettingSpacer())
layout.add_widget(SettingSpacer())
box_scroll.add_widget(layout)
box_scroll_and_paginator.add_widget(box_scroll)
if self.flag != "forumcat":
box_scroll_and_paginator.add_widget(box_for_paginator)
self.add_widget(box_scroll_and_paginator)
评论列表
文章目录