def __init__(self, infos): self.background_color = 'white' self.name = 'Info' self.height = 500 self.width = 320 names_url = [ infos["url"], infos["japanese_title"], infos["english_title"] ] other_tags = [ "category: " + infos["category"], "uploader: " + infos["uploader"], "posted: " + infos["posted"], "language: " + infos["language"], "length: " + infos["length"] ] review = [ infos["rating"] + "/5.0", infos["number of reviews"] + " reviews", infos["favorited"][:-6] + " favorites" ] names_url = '\n'.join(names_url) other_tags = '\n'.join(other_tags) review = '\n'.join(review) taglist = render_taglist_to_text(infos['taglist']) taglist_translated = render_taglist_to_text(translate_taglist(infos['taglist'])) self.add_subview(ui.TextView(text=names_url, editable=False, selectable=True, frame=(0,0,self.width,100))) self.add_subview(ui.TextView(text=other_tags, editable=False, frame=(0,100,self.width/2,200))) self.add_subview(ui.TextView(text=review, editable=False, frame=(self.width/2,100,self.width/2,200))) self.add_subview(ui.TextView(text=taglist, editable=False, frame=(0,200,self.width/2,300))) self.add_subview(ui.TextView(text=taglist_translated, editable=False, frame=(self.width/2,200,self.width/2,300)))
def __init__(self, frame = None, flex = None, background_color = None, name = None, accessory_keys = True, extras = [], css = None): if frame: self.frame = frame if flex: self.flex = flex if background_color: self.background_color = background_color if name: self.name = name self.extras = extras self.css = css or self.default_css self.proxy_delegate = None self.enable_links = True self.editing = False self.margins = (10, 10, 10, 10) self.link_prefix = 'pythonista-markdownview:relay?content=' self.debug_prefix = 'pythonista-markdownview:debug?content=' self.init_postfix = '#pythonista-markdownview-initialize' self.in_doc_prefix = '' self.to_add_to_beginning = ('', -1) self.backpanel = ui.View() self.add_subview(self.backpanel) # Web fragment is used to find the right scroll position when moving from editing to viewing self.web_fragment = ui.WebView() self.web_fragment.hidden = True self.web_fragment.delegate = MarkdownView.ScrollLoadDelegate() self.add_subview(self.web_fragment) self.markup = ui.TextView() self.add_subview(self.markup) self.markup.font = ('<system>', 12) self.web = ui.WebView() self.web.scales_page_to_fit = False self.web.content_mode = ui.CONTENT_TOP_LEFT self.add_subview(self.web) self.web.delegate = self self.markup.delegate = self self.markup.text = '' self.update_html() self.markup.bounces = False # Ghosts are used to determine preferred size self.markup_ghost = ui.TextView() self.markup_ghost.hidden = True #self.add_subview(self.markup_ghost) self.web_ghost = ui.WebView() self.web_ghost.hidden = True #self.add_subview(self.web_ghost) if accessory_keys: self.create_accessory_toolbar()
def __init__(self, app): self.app = app self.transserv = TranslateService(app.rootpath) self.logger = logging.getLogger(self.__class__.__name__) self.orgtext = "" self.restext = "" self.name = '翻译' self.background_color = '#f1f1f1' self.frame = (0, 0, self.app.width, self.app.height) self.flex = 'WHLRTB' self.closeBtn = ui.ButtonItem() self.closeBtn.image = ui.Image.named('iob:close_round_24') self.closeBtn.action = self.app.CloseAct self.left_button_items = [self.closeBtn] self.orgLabel = ui.Label() self.orgLabel.text = '原文' self.lestenBtn = ui.Button() self.orgtextlenLabel = ui.Label() self.orgTextView = ui.TextView() self.resLabel = ui.Label() self.resLabel.text = '译文' self.transtimeLabel = ui.Label() self.resTextView = ui.TextView() # 底部栏 self.bottomView = ui.View() self.translateBtn = ui.Button() self.pasteBtn = ui.Button() self.cleanBtn = ui.Button() # 将按钮加入底部栏 self.bottomView.add_subview(self.translateBtn) self.bottomView.add_subview(self.pasteBtn) self.bottomView.add_subview(self.cleanBtn) # 将所有视图加入主窗口 self.add_subview(self.orgLabel) self.add_subview(self.lestenBtn) self.add_subview(self.orgtextlenLabel) self.add_subview(self.orgTextView) self.add_subview(self.resLabel) self.add_subview(self.transtimeLabel) self.add_subview(self.resTextView) self.add_subview(self.bottomView) self.LoadData() self.LoadUI() self.LestenningClipbord()
def _show_documentation(definition): reuse = get_config_value('documentation.reuse', True) frame = get_config_value('documentation.frame', (630, 110, 730, 350)) tag = '__blackmamba.show_documentation' if not reuse: tag += ':{}'.format(definition.full_name) manager = overlay.get_manager() o = manager.get_overlay(tag) if o: o.title = definition.name o.content_view.text = definition.docstring() o.expand() o.become_active() return tv = ui.TextView(text=definition.docstring(), background_color=get_theme_value('background_color'), text_color=get_theme_value('text_color'), font=get_editor_font()) tv.editable = False window_size = ui.get_window_size() x = frame[0] y = frame[1] width = min(window_size[0] - x - 12, frame[2]) height = min(window_size[1] - y - 12, frame[3]) manager.present(definition.name, tv, frame=(x, y, width, height), tag=tag)
def make_right_side_view(cls, right_frame): text_view = ui.TextView(frame=right_frame) text_view.alpha = cls.views_alpha text_view.alignment = ui.ALIGN_CENTER text_view.editable = False text_view.text = '\n' + '1234567890 ' * 50 return text_view
def btn_Help(self, sender, message='Use at your own risk. \nNo error handling!', name='Help'): self.view_po = ui.View() self.view_po.name = name self.view_po.width = self.view_po.height = 300 self.view_po.present('popover', popover_location=(self.view.width / 2, self.view.height / 2)) textview = ui.TextView() textview.width = 300 textview.height = 240 textview.font = ('Courier', 18) textview.text = message textview.editable = False self.view_po.add_subview(textview) button = ui.Button() button.width = 300 button.height = 60 button.x = 0 button.y = 240 button.title = 'Cancel' button.action = self.btn_Cancel self.view_po.add_subview(button)
def alerts(self, sender): # Retrieve alerts alerts = wa.get_alerts(json_w, json_f) ''' Kill scene to cut memory overhead, textview then loads much faster into ui view. Note too that whene textview is loaded via .present() without killing the scene, the scene will lock up after closing the textview window. ''' self.remove_subview(self.scene_view) tv = ui.TextView() #w, h = ui.get_screen_size() #tv.frame = (0, 20, w, h / 1.2) tv.frame = self.bounds tv.border_color = 'grey' tv.border_width = 3 tv.background_color = ('white') tv.text = alerts tv.editable = False tv.selectable = False if py_ver == '2' and is_P6: tv.font = ('<system>', 12) else: tv.font = ('<system>', 9) self.closebutton(tv) self.add_subview(tv)
def make_run_view(name): v = ui.View(frame=(0, 0, sz[0], sz[1] - banner)) v.name = 'Run' v.background_color = 'white' txt = ui.TextView() txt.frame = (10, 10, sz[0] - 20, 50) txt.editable = False txt.text = 'Run {0}'.format(name) v.add_subview(txt) but = ui.Button('Grab') but.title = 'Grab' but.frame = (10, 110, 60, 36) v.add_subview(but) but = ui.Button('Compress') but.title = 'Compress' but.frame = (80, 110, 90, 36) v.add_subview(but) but = ui.Button('Process') but.title = 'Process' but.frame = (180, 110, 70, 36) v.add_subview(but) but = ui.Button('Send') but.title = 'Send' but.frame = (260, 110, 50, 36) v.add_subview(but) return v
def __init__(self, data_list): self.data = data_list # create copy title btn btn = ui.ButtonItem('Copy Code') btn.action = self.copy_code self.right_button_items = [btn] # create the tableview, set the data_source # and delegate to self. tv = ui.TableView(name='tv1') tv.name = 'tv1' tv.data_source = self tv.border_width = .5 tv.delegate = self #create textview txtv = ui.TextView(name='txtv') txtv.font = ('Courier', 14) # select the first code block tv.selected_row = 0 txtv.text = self.data[0] self.add_subview(txtv) self.add_subview(tv)
def __init__(self): w, h = ui.get_screen_size() self.height = h self.width = w self.frame = (0, 0, w, h) self.tv = ui.TextView() self.tv.frame = (0, 18, w, h) self.tv.font = ('Helvetica Neue', 12) self.tv.auto_content_inset = True self.tv.background_color = '#282923' self.tv.text_color = 'white' self.tv.width = w # un-comment these two lines to cause a crash: #self.full_txt_search_field = ui.TextField() # self.add_subview(self.full_txt_search_field) self.add_subview(self.tv) self.tvo = ObjCInstance(self.tv) viewDelegate = SyntaxHighlighter(self.tvo) self.tv.delegate = viewDelegate self.tv.text = example_text self.show_problem()
def __init__(self, info, width=None): if width: self.width = width else: self.width = 768 - 57 - 16 self.border_color = '#efeff4' self.border_width = 1 self.frame = (0, 0, self.width, 150) self.name = 'comments_view' self.info = info button_enlarge = ui.Button( #action=self.present_enlarged_comments, flex='L', frame=(self.width - 50 + 8, 75 - 16, 32, 32), image=ui.Image.named('iob:arrow_expand_32'), name='button_enlarge' ) textview_comments = ui.TextView( background_color='white', flex='WR', frame=(0, 0, self.width - 50, 150), font=('<system>', 12), editable=False, name='textview_comments', text=self.get_comments_text() ) line = ui.View( background_color='#efeff4', flex='L', frame=(self.width - 50, 0, 1, 150) ) self.add_subview(textview_comments) self.add_subview(button_enlarge) self.add_subview(line)
def __init__(self, main, *args, **kwargs): # undo/redo View self.history_view = ui.TextView(text='HISTORY', frame=(25, 275, 600, 400), editable=False, background_color='#dedede') main.add_subview(self.history_view) # Undo Button undo_btn = ui.Button() undo_btn.frame = (25, 2, 100, 46) undo_btn.background_color = '#686868' undo_btn.tint_color = '#000000' undo_btn.title = 'undo' undo_btn.action = self.undo main.add_subview(undo_btn) # Redo Button redo_btn = ui.Button() redo_btn.frame = (127, 2, 100, 46) redo_btn.background_color = '#686868' redo_btn.tint_color = '#000000' redo_btn.title = 'redo' redo_btn.action = self.redo main.add_subview(redo_btn) self.history = [] self.current_index = len(self.history) self.textview = None
def make_status_view(cls, status_frame): text_view = ui.TextView(frame=status_frame) text_view.alpha = cls.views_alpha text_view.alignment = ui.ALIGN_CENTER text_view.editable = False text_view.text = "Status: let the game begin... It is white's turn to move" return text_view
def __init__(self, change_set, *args, **kwargs): super().__init__(*args, **kwargs) self.name = 'Preview' self.apply_changes = False def apply(sender): self.apply_changes = True self.close() button = ui.ButtonItem('Apply', action=apply) self.right_button_items = [button] textview = ui.TextView(frame=self.bounds, flex='WH') textview.editable = False diff = _change_set_diff(change_set) attributed_string = _diff_to_attributed_string(diff) _set_attributed_text(textview, attributed_string) self.add_subview(textview) def cancel(): self.close() self.handlers = [ register_key_event_handler(UIEventKeyCode.ESCAPE, cancel), register_key_event_handler(UIEventKeyCode.DOT, cancel, modifier=UIKeyModifier.COMMAND), register_key_event_handler(UIEventKeyCode.ENTER, lambda: apply(None)) ]
def __init__(self): self.bg_color = '#e9f1f1' self.name = '正则表达式测试' self.copy_button = ui.ButtonItem() self.copy_button.title = '复制表达式' self.copy_button.action = self.copy_button_tapped self.right_button_items = [self.copy_button] self.match_count = ui.ButtonItem() self.match_count.title = '0' self.match_count.tint_color = 'red' self.left_button_items = [self.match_count] self.expression_input = ui.TextField() self.expression_input.frame = (10, 5, w - 70, 40) self.expression_input.border_width = 1 self.expression_input.corner_radius = 6 self.expression_input.clear_button_mode = 'always' self.expression_input.placeholder = '输入表达式' self.expression_input.delegate = ExpressionInputDelegate() self.match_button = ui.Button() self.match_button.image = ui.Image.named('iob:checkmark_circled_256') self.match_button.frame = (w - 50, 5, 37, 40) self.match_button.action = self.match_button_tapped self.match_button.tint_color = '#7cd359' self.origin_text = ui.TextView() self.origin_text.frame = (10, self.expression_input.y + self.expression_input.height + 10, w - 20, 350) self.origin_text.bg_color = 'white' self.origin_text.border_width = 1 self.origin_text.corner_radius = 6 self.origin_text.number_of_lines = 0 self.origin_text.font = ('<System>', 16) self.match_text = ui.TextView() self.match_text.bg_color = 'white' self.match_text.border_width = 1 self.match_text.corner_radius = 6 self.match_text.font = ('<System>', 16) self.match_text.editable = False self.add_subview(self.expression_input) self.add_subview(self.match_button) self.add_subview(self.origin_text) self.add_subview(self.match_text)
def main(): tv = ui.TextView(frame=(0, 0, 320, 320)) b1 = UIBarButtonItem.alloc().initWithTitle_style_target_action_( 'H', 0, target, 'btnAction').autorelease() group = UIBarButtonItemGroup.alloc( ).initWithBarButtonItems_representativeItem_([b1], None).autorelease() ObjCInstance(tv).inputAssistantItem().trailingBarButtonGroups = [group] tv.present('sheet')
def create_get_label(self, doll): label = ui.TextView() label.frame = (160, 170, self.v.width - 190, 40) label.text = doll.how_to_get label.background_color = (0, 0, 0, 0.5) label.tint_color = ('white') label.alignment = ui.ALIGN_CENTER return label
def __init__(self, title, text): self.text = ui.TextView() self.text.text = text self.text.flex = 'WH' self.text.editable = False self.text.font = ('<system>', 16) self.add_subview(self.text) self.name = title
def set_up(self): code = ui.TextView() code.bg_color = (0, 0, 0, 0) code.text_color = TINT_COLOR code.font = SET_FONT code.editable = False self.add_subview(code) code.size_to_fit() return code
def __init__(self, in_date=None): self.name = '{0:%B %Y}'.format(in_date) self.add_subview( ui.TextView(name='text_view', frame=(0, 0, 4096, 4096))) self['text_view'].editable = False self['text_view'].font = ('Courier', ui.get_screen_size().w / 12.25) self['text_view'].text = calendar.TextCalendar().formatmonth( in_date.year, in_date.month) self.present()
def present_enlarged_comments(self, sender): text = self['scrollview']['comments_view']['textview_comments'].text v = ui.TextView( editable=False, frame=(0, 0, 600, 800), name='comments', text=text ) v.present('sheet')
def __init__(self, in_date=None): self.name = "{0:%B %Y}".format(in_date or datetime.date.today()) self.add_subview( ui.TextView(name="text_view", frame=(0, 0, 4096, 4096))) self["text_view"].editable = False self["text_view"].font = ("Courier", ui.get_screen_size().w / 12.25) self["text_view"].text = calendar.TextCalendar().formatmonth( in_date.year, in_date.month) self.present()
def __init__(self): self.present('fullscreen') self.background_color = .92, 1.0, .95 self.keys = [] self.btn = [] # 鍵盤の基準位置、幅高さ kw = self.width / (len(MKey) + 2) kh = self.height * .3 kx = kw ky = self.height * .2 # 鍵盤の生成 for idx, (key, conf) in enumerate(MKey.items()): btn = ui.Button() # 見た目の設定 btn.background_color = 1.0, 1.08, 1.08 btn.border_color = .0, .0, .0 btn.border_width = 1 # 位置サイズ btn.frame = (kx + kw * idx, ky, kw, kh) # キー鳴らす設定 btn.title = key btn.action = self.KeyTapped self.btn.append(btn) self.add_subview(btn) # テキストフィールド tv = ui.TextView() tv.frame = (kx, self.height * .6, kx * len(MKey), self.height * .35) tv.editable = False self.tv = tv self.add_subview(tv) # 戻るボタン backB = ui.Button() backB.background_color = 1.0, .87, .69 backB.frame = (kx, self.height * .05, self.width * .2, self.height * .05) backB.title = '1つ消す' backB.action = self.BackTapped self.backB = backB self.add_subview(backB) # 改行ボタン retB = ui.Button() retB.background_color = 1.0, .87, .69 retB.frame = (self.width * .8 - kw, self.height * .05, self.width * .2, self.height * .05) retB.title = '改行' retB.action = self.RetTapped self.retB = retB self.add_subview(retB)
def make_text_view(self): text_view = ui.TextView(frame=self.bounds, name='text_view') text_view.y += 100 text_view.height -= 100 text_view.delegate = self text_view.text = clipboard.get() text_view.autocapitalization_type = ui.AUTOCAPITALIZE_NONE text_view.autocorrection_type = False text_view.spellchecking_type = False return text_view
def __init__(self, frame=(0, 0, 600, 400), **kwargs): self._undo = UndoStack() self._tv = ui.TextView(frame=(0, 0, self.width, self.height), bg_color=(1.0, 1.0, 1.0)) self._tv.flex = 'WH' self.add_subview(self._tv) ui.View.__init__(self, **kwargs) #ui props self.frame = frame self._tv.delegate = self
def popover(self, msg): textview = ui.TextView() textview.editable = False textview.font = ("AmericanTypewriter", 24) textview.alignment = ui.ALIGN_CENTER textview.text = msg pov = ui.View() pov.width = textview.width = 222 pov.add_subview(textview) pov.present("popover")
def make_det_view(name): v = ui.View(frame=(0, 0, sz[0], sz[1] - banner)) v.name = name v.background_color = 'white' txt = ui.TextView() txt.frame = (10, 10, sz[0] - 20, 100) txt.editable = False txt.text = 'Detector status not recieved yet...' v.add_subview(txt) but = ui.Button('Meta') but.title = 'Meta' but.frame = (10, 110, 60, 36) but.action = push_meta_view v.add_subview(but) but = ui.Button('Start') but.title = 'Start' but.frame = (80, 110, 60, 36) v.add_subview(but) but = ui.Button('Stop') but.title = 'Stop' but.frame = (150, 110, 60, 36) v.add_subview(but) but = ui.Button('Time') but.title = 'Time' but.frame = (220, 110, 60, 36) but.action = push_time_view v.add_subview(but) tab = ui.TableView() tab.frame = (0, 156, sz[0], sz[1] - 156 - 56 - banner) lst = MyTableViewDataSource(['Run 1', 'Run 2'], ['Run 3', 'Run 4']) lst.action = edit_run tab.data_source = lst tab.delegate = lst v.add_subview(tab) but = ui.Button('Compress All') but.title = 'Compress All' but.frame = (10, sz[1] - 46 - banner, 140, 36) but.action = compress_all v.add_subview(but) but = ui.Button('Send All') but.title = 'Send All' but.frame = (160, sz[1] - 46 - banner, 140, 36) but.action = send_all v.add_subview(but) return v
def main(): tl = todo_list() tv = ui.TextView(font=('Menlo', 16), alignment=ui.ALIGN_CENTER, editable=False, selectable=False) tv.text = '\n'.join(tl) tv.background_color = (0.85, 0.85, 0.85, 0.6) appex.set_widget_view(tv)
def infopop(self): """ Modal style pop-up. """ w, h = ui.get_window_size() width = round((w * 0.8), 0) height = round((h * 0.8 / 1.5), 0) if not self.infopopup: # Outer p = ui.ScrollView() p.border_color = '#ccc' p.border_width = 1 p.width = width p.height = height p.corner_radius = 10 t = ui.TextView() t.width = width t.height = height t.font = ('<System>', 12) t.content_inset = (5, 5, 5, 5) b = ui.Button() b.action = self.closepop b.image = ui.Image.named('iob:ios7_close_outline_24') b.width = 24 b.height = 24 b.x = (width - 29) b.y = 5 t.editable = False t.add_subview(b) self.popuptext = t p.y = (((h - height) / 2) - 40) p.x = ((w - width) / 2) p.add_subview(self.popuptext) self.infopopup = p p.height = 0 def animate_popup(): """ Method to animate the the popup, because its prettier. """ self.infopopup.height = height self.infopopup.height = 0 self.tv.add_subview(self.infopopup) ui.animate(animate_popup, 1)
def __init__(self): self.flex = 'WH' self.name = 'Swipe/Touch around to generate a hash' self.store = '' self.count = 0 self.textview = ui.TextView() self.textview.touch_enabled = False self.textview.editable = False self.textview.flex = 'WH' self.add_subview(self.textview) self.present()