def createView(): main = ui.View(frame=(0, 0, 576, 576)) subpanel = ui.View(frame=(0, 330, 576, 246)) subpanel2 = ui.View(frame=(0, 0, 576, 246)) slider = ui.Slider(frame=(10, 10, 150, 44), name='slider1') slider.stored = True switch1 = ui.Switch(frame=(10, 66, 70, 44), name='switch1') switch1.stored = True switch2 = ui.Switch(frame=(90, 66, 70, 44)) #no name switch2.stored = True switch3 = ui.Switch(frame=(10, 120, 70, 44), name='switch3') #not stored tf1 = ui.TextField(frame=(10, 180, 250, 50), name='textfield') tf1.stored = True main.add_subview(subpanel) subpanel.add_subview(slider) subpanel.add_subview(switch1) subpanel.add_subview(switch2) subpanel.add_subview(switch3) subpanel.add_subview(tf1) slider2 = ui.Slider(frame=(10, 10, 150, 44), name='slider1') slider2.stored = True subpanel2.add_subview(slider2) main.add_subview(subpanel2) return main
def __init__(self, default=(0.0, 0.0, 0.0)): self.r, self.g, self.b, = default self.view = ui.View() self.view.background_color = "#ffffff" self.rslider = ui.Slider() self.rslider.continuous = True self.rslider.value = default[0] self.rslider.tint_color = "#ff0000" self.gslider = ui.Slider() self.gslider.continuous = True self.gslider.value = default[1] self.gslider.tint_color = "#00ff00" self.bslider = ui.Slider() self.bslider.continuous = True self.bslider.value = default[2] self.bslider.tint_color = "#0000ff" self.preview = ui.View() self.preview.background_color = self.rgb self.preview.border_width = 1 self.preview.border_color = "#000000" self.preview.corner_radius = 5 self.rslider.action = self.gslider.action = self.bslider.action = self.slider_action self.colorlabel = ui.Label() self.colorlabel.text = self.hexcode self.colorlabel.alignment = ui.ALIGN_CENTER self.view.add_subview(self.rslider) self.view.add_subview(self.gslider) self.view.add_subview(self.bslider) self.view.add_subview(self.preview) self.view.add_subview(self.colorlabel) w = self.view.width / 2.0 self.preview.width = w - (w / 10.0) self.preview.x = w / 10.0 hd = self.view.height / 10.0 self.preview.height = (self.view.height / 3.0) * 2.0 - (hd * 2) self.preview.y = hd self.preview.flex = "BRWH" self.colorlabel.x = self.preview.x self.colorlabel.y = (hd * 2) + self.preview.height self.colorlabel.height = (self.view.height / 3.0) * 2.0 - (hd * 2) self.colorlabel.width = self.preview.width self.colorlabel.flex = "BRWH" self.rslider.x = self.gslider.x = self.bslider.x = w * 1.1 self.rslider.width = self.gslider.width = self.bslider.width = w * 0.8 self.rslider.flex = self.gslider.flex = self.bslider.flex = "LWHTB" h = self.view.height / 9.0 self.rslider.y = h * 2 self.gslider.y = h * 4 self.bslider.y = h * 6 self.rslider.height = self.gslider.height = self.bslider.height = h
def __init__(self, slider_name, convert, action, valuefmt, *args, **kwargs): super().__init__(*args, **kwargs) self._m = convert['m'] self._b = convert['b'] self._valuefmt = valuefmt self.changed = action self.name = slider_name SLIDER_WIDTH = 200 SLIDER_HEIGHT = 30 SLIDER_TITLE_OFFSET = 25 SLIDER_TITLE_WIDTH = 200 SLIDER_TITLE_HEIGHT = 25 SLIDER_VALUE_OFFSET = 10 SLIDER_VALUE_HEIGHT = 25 SLIDER_VALUE_WIDTH = 50 self.border_width = 0 self.border_color = 'black' self._slider = ui.Slider(frame=(0, SLIDER_TITLE_OFFSET, SLIDER_WIDTH, SLIDER_HEIGHT)) self._slider.continuous = False self._slider.value = 0.5 self._slider.action = self.update slider_title = ui.Label(frame=(0, 0, SLIDER_TITLE_WIDTH, SLIDER_TITLE_HEIGHT)) slider_title.text = slider_name slider_title.text_color = 'black' self._slider_valuelabel = ui.Label(frame=(SLIDER_WIDTH + SLIDER_VALUE_OFFSET, SLIDER_TITLE_OFFSET, SLIDER_VALUE_WIDTH, SLIDER_VALUE_HEIGHT)) self._slider_valuelabel.text = str(0.5) self._slider_valuelabel.border_width = 1 self._slider_valuelabel.border_color = 'black' self._slider_valuelabel.alignment = ui.ALIGN_CENTER self.add_subview(self._slider) self.add_subview(slider_title) self.add_subview(self._slider_valuelabel)
def __init__(self): self.presets = [40,42,44,46,48,50,52,54,56,58,60,63,66,69,72,76,80,84,88,92,96,100,104,108,112,116,120,126,132,138,144,152,160,168,176,184,192,200,208] self.sli_bpm_min = self.presets[0] self.sli_bpm_max = self.presets[-1] self.bpm = 100.0 self.delay = 60.0/self.bpm self.name = 'Metronome' self.background_color = 'white' self.sli = ui.Slider('Beats per Minute') self.sli.action = self.sli_action self.add_subview(self.sli) self.box = ui.Label() self.box.text = '{:d}'.format(int(self.bpm)) self.add_subview(self.box) #self.seg = ui.SegmentedControl() #self.seg.segments = list( map(str,self.presets) ) #self.add_subview(self.seg) sound_list = ['8ve:8ve-tap-crisp', '8ve:8ve-tap-percussive', '8ve:8ve-tap-simple'] #self.sound_effect_file = dialogs.list_dialog(items=sound_list) self.sound_effect_file = sound_list[1] self.sli_set() #sound.set_volume(1.0) sound.set_honors_silent_switch(False) self.init_loop()
def make_view(self): cv = ui.View(frame=(ui.Rect(0, 0, self.width, self.height - 88))) self.add_subview(cv) self.content_view = cv slider = ui.Slider(frame=(0, cv.height + 30, self.width, 32)) slider.action = self.do_slider self.add_subview(slider)
def showGammaChooser(): '''Show a popover gamma chooser''' import ui v = ui.View(frame=(0, 0, 210, 310), bg_color='white') r = ui.Slider(frame=(5, 5, 200, 44), name='red', bg_color='red') g = ui.Slider(frame=(5, 55, 200, 44), name='green', bg_color='green') b = ui.Slider(frame=(5, 115, 200, 44), name='blue', bg_color='blue') reset = ui.ButtonItem(title='reset') v.right_button_items = [reset] [v.add_subview(x) for x in (r, g, b)] [setattr(x, 'value', 1) for x in (r, g, b)] [setattr(x, 'action', _slider_action) for x in (r, g, b)] def resetaction(sender): [setattr(x, 'value', 1) for x in (r, g, b)] resetGamma() reset.action = resetaction v.present('popover')
def make_view(self, **kwargs): slider = ui.Slider() slider.value = kwargs[ 'value'] / self.max_val if 'value' in kwargs else 0.5 slider.action = self.update_label_and_value slider.tint_color = kwargs.get('slider_tint_color', 0.7) label = self.make_label(**kwargs) self.add_subview(slider) self.add_subview(label) self.label = label self.slider = slider
def setup_ui(self): self.frequency_label = ui.Label() self.frequency_label.font = ('DIN Alternate', 64) self.frequency_label.alignment = 1 self.frequency_label.text = f'{int(self.instance.frequency):03}' self.frequency_label.bg_color = 'maroon' self.frequency_slider = ui.Slider() self.frequency_slider.value = 0.5 self.frequency_slider.action = self.set_frequency self.add_subview(self.frequency_label) self.add_subview(self.frequency_slider)
def __init__(self, limits=[0, 1], *args, **kwargs): self.frame = (0, 0, 100, 44) ui.View.__init__(self, *args, **kwargs) self.limits = limits self.sldr = ui.Slider() self.sldr.frame = (25, 0, 60, 44) self.lbl = ui.Label() self.lbl.frame = (0, 0, 25, 44) self.sldr.action = self._action self.action = None self.sldr.flex = 'wl' self.lbl.flex = 'w' self.add_subview(self.lbl) self.add_subview(self.sldr) self.update_label()
def make_view(self): self.slider = ui.Slider(name = self.title) if self.show_border: self.slider.border_width = .5 self.add_subview(self.slider) lb = ui.Label(name = self.title) lb.text = self.title lb.font = self.font lb.border_width = .5 lb.bg_color = 'orange' lb.size_to_fit() lb.alignment = ui.ALIGN_CENTER self.label = lb self.add_subview(lb)
def __init__(self, **kwargs): self.frame = kwargs['frame'] if 'frame' in kwargs else (0,0,100,60) self.slider = ui.Slider() self.max_val = kwargs['max_val'] if 'max_val' in kwargs else 100 self.slider.value = kwargs['value']/self.max_val if 'value' in kwargs else 0.5 self.value = round(self.slider.value*self.max_val) #for convenience in getting the value attribute self.slider.action = self.update_label_and_value self.slider.tint_color = kwargs['tint_color'] if 'tint_color' in kwargs else 0.7 self.label = ui.TextField() self.label.action = self.update_value self.label.bordered = True self.label.alignment = ui.ALIGN_CENTER self.label.font = ('<system>',11) self.label.text_color = kwargs['text_color'] if 'text_color' in kwargs else 0.7 self.label.text = str(self.value) self.add_subview(self.slider) self.add_subview(self.label)
def tableview_cell_for_row(self, tableview, section, row): param = self.params[row] name = param.displayName cell = None if name == None or name == '': name = param.name if param.type == 'bool': cell = ui.TableViewCell() cell.selectable = False switch = ui.Switch() switch.name = param.name switch.value = param.value switch.y = cell.center.y - switch.height / 2 switch.x = cell.width + switch.width / 2 switch.action = self.switch_change cell.add_subview(switch) elif param.type == 'slider': cell = ui.TableViewCell() cell.selectable = False slider = ui.Slider() slider.name = param.name slider.value = param.value slider.y = cell.center.y - slider.height / 2 slider.x = cell.width - 15 slider.action = self.switch_change cell.add_subview(slider) else: cell = ui.TableViewCell('value1') if param.useVariable: if not param.variableName == None and not param.variableName == '': cell.detail_text_label.text = 'Variable: ' + str( param.variableName) else: cell.detail_text_label.text = 'Variable: Choose at runtime' elif not param.value == None: cell.detail_text_label.text = str(param.value) cell.detail_text_label.text_color = self.thememanager.main_text_colour cell.text_label.text = name cell.background_color = self.thememanager.main_background_colour cell.text_label.text_color = self.thememanager.main_text_colour return cell
def demo_ChainedTransition(): v1 = ui.View(frame=(0, 0, 500, 500), background_color="pink") v1.add_subview(ui.Button(frame=(100, 100, 300, 20))) v1.subviews[0].title = "Hello! I'm a button" v1.add_subview(ui.Slider(frame=(100, 300, 100, 20))) v2 = ui.View(background_color="lightblue") v2.add_subview(ui.ImageView(frame=(100, 100, 300, 300))) v2.subviews[0].image = ui.Image.named('test:Peppers') v3 = ui.View(background_color="lightgreen") v3.add_subview(ui.Switch(frame=(100, 100, 20, 10))) v3.subviews[0].value = True t1 = ui2.Transition(v1, v2, ui2.TRANSITION_CURL_UP, 1.5) t2 = ui2.Transition(v2, v3, ui2.TRANSITION_FLIP_FROM_LEFT, 1) t3 = ui2.Transition(v3, v1, ui2.TRANSITION_CROSS_DISSOLVE, 1) v1.present("sheet", hide_title_bar=True) ui2.delay(ui2.ChainedTransition(t1, t2, t3).play, 1)
def __init__(self, width=340, height=180): self.ds = None self.dsrow = None self.width = width self.height = height self.add_subview( ui.Button(name='bb', frame=(0, 0, 72, 32), title='Back', image=ui.Image.named('iob:ios7_arrow_back_24'), action=self.unload)) self.add_subview( ui.Label(name='lt', center=(self.width // 2, 16), flex='LR', text='', font=('<system>', 19), alignment=1)) self.add_subview( ui.SegmentedControl(name='sc', frame=(0, 42, 232, 30), segments=['RGB', 'HSV'], selected_index=0, action=self.upd)) self.add_subview( ui.TextField(name='thex', frame=(238, 40, 102, 30), action=self.upd)) for i in range(3): self.add_subview( ui.Slider(name='s' + str(i), frame=(0, 78 + 34 * i, 196, 34), continuous=True, action=self.upd, value=1)) self.add_subview( ui.TextField(name='t' + str(i), frame=(196, 78 + 34 * i, 42, 34), font=('<system>', 14), action=self.upd, value=1)) self.add_subview(ui.View(name='res', frame=(238, 78, 102, 102)))
def __init__(self,*args,**kwargs): # call View.__init__ so we can handle any standard view constructor arguments, such as frame, bg_color, etc ui.View.__init__(self,*args,**kwargs) self.touch_enabled=True # store list of points, and also current point for use in dragging self.pts=[] self.curridx=-1 # create a textfield to set scale. could be a slider instead # scale is in units of feet/pixel, or really measurementunits/pixel # it might be easier to have user enter this as 1/scale (pixel/measunit), so that it will be a number >1. # If using a Slider instead, use self.scale.value instead of float(self.scale.text) elsewhere self.scale=ui.Slider(frame=(400,0,500,30)) self.scale.action=self.set_scale self.add_subview(self.scale) # self.scale.text=self.scale.value # create a label showing current computer room area self.lbl=ui.Label(frame=(200,0,130,30)) self.lbl.text='Area' self.add_subview(self.lbl) self.lbl.bg_color='white'
def __init__(self): self.sliders = [] self.sliderData = [{'label': 'Number of mountains', 'valRange': (5 , 25), 'default': 10}, {'label': 'Number of rivers', 'valRange': (5 , 40), 'default': 20}, {'label': 'Tree density', 'valRange': (50 , 200), 'default': 125}] i = 0 for data in self.sliderData: self.sliders.append(ui.Slider((int(my.WINDOWWIDTH/2 - ui.Slider.size[0]/2), 200 + i*ui.Slider.size[1] + i*ui.GAP), data['valRange'], data['label'], data['default'])) i += 1 self.sliderAlpha = 0 self.backButton = ui.Button(' Back ', 0, (my.HALFWINDOWWIDTH - 100, my.WINDOWHEIGHT), 1, 1) self.embarkButton = ui.Button('Embark', 0, (my.HALFWINDOWWIDTH + 20, my.WINDOWHEIGHT), 1, 1) self.logoImg = pygame.image.load('assets/aedificus title smaller.png').convert_alpha() self.logoRect = self.logoImg.get_rect() self.logoRect.midtop = (my.HALFWINDOWWIDTH, -155) self.animateOut = False
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.update_interval = 1 / 15 self.hand_id = 0 self.name = '右手' self.change_hand_button = ui.ButtonItem(title='change_hand', action=self.change_hand) self.right_button_items = [self.change_hand_button] self.trackpad = trackpad.Trackpad(frame=(0, self.frame.size.height - 250 - 150, 250, 250), flex='LRT', bg_color='blue') self.trackpadclicked_switch = ui.Switch( frame=(0, self.height - 450, 100, 100), flex='LRT', ) self.trigger = ui.Slider(frame=(0, self.height - 150, 100, 30), flex='LRT') self.socketcontroller = socketnetui.controllerUI(flex='RW') self.socketcontroller.width = self.width self.info_label = ui.Label(flex='W', scales_font=True, number_of_lines=0) self.info_label.y = 40 self.arposcontrollui = arpositiontracker.ARTrackerControllerUI( flex='WT', bg_color='red') self.arposcontrollui.width = self.width self.add_subview(self.info_label) self.add_subview(self.socketcontroller) self.add_subview(self.trackpad) self.add_subview(self.trackpadclicked_switch) self.add_subview(self.trigger) self.add_subview(self.arposcontrollui)
def __init__(self, name='title_bar', frame=(0, 0, 240, 30)): self.name = name self.frame = frame self.bg_color = (.9, .9, .9) self.flex = 'WB' self.alpha = 0 def slider_action(sender): body = sender.superview.superview['body'] body.alpha = sender.value body.touch_enabled = sender.value setting_slider = ui.Slider(name='slider', x=self.width - 100, flex='LTB', value=1.0, action=slider_action) label = ui.ImageView(name='label', flex='RB', frame=(0, 0, 30, 30), image=ui.Image.named('iob:grid_24')) self.add_subview(setting_slider) self.add_subview(label)
def __init__(self): w,h = ui.get_screen_size() # main View frame attributes self.name='Moniest' self.background_color='#cacaca' self.ext_date=date.today() self.bank_date=date.today() self.slide_date=date.today() self.bal_date=date.today() self.flex='' # make a list to have index color control self.acc_fld=[] # update attempt self.update_interval = 1 # application buttons self.right_button_items = (ui.ButtonItem(title='Done',action= self.done_button),ui.ButtonItem(title='Cancel',action=self.cancel_button)) self.left_button_items = (ui.ButtonItem(title='Save',action=self.save_button_),) # retreive the database: f() returns a list of accounts incl bank balance self.acc_list=read_acc_list() # Want all Gui dates to start from deposit entry date self.ext_date=self.bank_date= self.slide_date = self.bal_date = datetime.date(datetime.strptime(self.acc_list[0].bank_date, "%Y-%m-%d")) # attempt list for acc gui if DEBUG: print('acc_list len',range(len(self.acc_list))) for x in range(len(self.acc_list)): self.acc_fld.append(0) #Scrollview for all accounts: increases #total on iphone; keyboard non-blocking self.sv = ui.ScrollView(frame = (0,0,w,h-350),bg_color='#e2e2e2',shows_vertical_scroll_indicator=False,scroll_enabled=True,indicator_style='#ade4ed',flex='') #important content size must be bigger than scrollview to allow for scrolling self.sv.content_size = (w, h*2.5) self.add_subview(self.sv) # add accounts list to GUI self.add_all_subview(self.acc_list) # maintain y pos for next item self.next_y_pos= (len(self.acc_list)*50+10) # button to add new account self.add_account = ui.Button(title='Add Account',font=('Copperplate',17),frame=(10,h-340,0,0),action=add_account_tapped,border_width=0,border_color='#676767') self.add_subview(self.add_account) # button to delete last account self.rem_account = ui.Button(title='Rem Account',font=('Copperplate',17),frame=(10,h-310,0,0),action=rem_account_tapped,border_width=0,border_color='#676767') self.add_subview(self.rem_account) #Extended date picker self.ext_date_seg = ui.SegmentedControl (segments=('10D','20D','30D'), frame=(170,h-330,180,35),selected_index=-1 , action=ext_date_tapped) self.add_subview(self.ext_date_seg) # slider to calculate slide date balance self.date_slider= ui.Slider(frame=(10,h-265,350,10),action=slider_changed, continuous=False) self.add_subview(self.date_slider) # Bank balances # Real bank balance and date recorded self.b_real_balance = ui.TextView(frame=(10,h-210,110,45), placeholder = 'Bank Bal' , text='{:.2f}'.format(float(self.acc_list[0].bank_balance)) , border_width=0,border_radius=5 , bordered=True, delegate=self,font=('Verdana',17),keyboard_type=ui.KEYBOARD_NUMBERS,editable=True,selectable=True) self.add_subview(self.b_real_balance) self.real_label= ui.Label(frame=(15,h-170,110,45),text='Bank Bal') self.add_subview(self.real_label) self.real_date_label= ui.Label(frame=(15,h-245,110,45),text='slide Bal') self.add_subview(self.real_date_label) # 10/20/30 Day Extended Bank # Balance extrapolation # balance self.b_ext_balance = ui.TextView(frame=(130,h-210,110,45),text='678.65',font=('Verdana',17),editable=False,selectable=False,border_width=0) self.b_ext_balance.bordered=True self.add_subview(self.b_ext_balance) # text self.ext_label= ui.Label(frame=(135,h-170,110,45),text='Ext Bal') self.add_subview(self.ext_label) # date self.ext_date_label= ui.Label(frame=(135,h-245,110,45),text=date.strftime(self.ext_date,'%Y-%m-%d')) self.add_subview(self.ext_date_label) # Slider Bank Balance extrapolation # balance self.b_slide_balance = ui.TextView(frame=(250,h-210,110,45),text='-86.76',font=('Verdana',17),border_radius=20,border_color='black',border_width=0,editable=False,selectable=False) self.add_subview(self.b_slide_balance) # date self.slide_date_label= ui.Label(frame=(255,h-245,110,45),text='slide Bal2') self.add_subview(self.slide_date_label) # text self.slide_label= ui.Label(frame=(255,h-170,110,45),text='Slide Bal') self.add_subview(self.slide_label)
def set_slider(self): slider = ui.Slider() slider.num = self.num slider.action = self.back_value self.add_subview(slider) return slider
def __init__(self, mic): super().__init__() self.rect = pg.Rect(0, 0, 1, 1) self.mic = mic self.sound = None self.sound_length = 0 self.playing_sound = False self.start_time = 0 self.record_image = ui.Image_Manager.get_surface((14, 14), key=(0, 0, 0)) self.stop_image = self.record_image.copy() self.play_image = self.record_image.copy() self.clear_image = self.record_image.copy() self.import_image = self.record_image.copy() pg.draw.circle(self.record_image, (255, 0, 0), (7, 7), 7) self.stop_image.fill((0, 0, 255)) pg.draw.polygon(self.play_image, (0, 255, 0), ((0, 0), (0, 14), (14, 7))) pg.draw.line(self.clear_image, (255, 0, 0), (-2, -2), (16, 16), width=3) pg.draw.line(self.clear_image, (255, 0, 0), (-2, 16), (16, -2), width=3) pg.draw.polygon(self.import_image, (255, 255, 0), ((0, 0), (6, 0), (6, 2), (14, 2), (14, 14), (0, 14))) b = ui.Button.image_button(self.record_image, func=self.start_record, padding=(2, 2)) b.rect.topleft = self.rect.topleft self.add_child(b, current_offset=True) self.record_button = b b = ui.Button.image_button(self.play_image, func=self.play_sound, padding=(2, 2)) b.rect.midleft = self.record_button.rect.midright b.rect.x += 10 self.add_child(b, current_offset=True) b.turn_off() self.play_button = b b = ui.Button.image_button(self.clear_image, func=self.clear_sound, padding=(2, 2)) b.rect.midleft = self.play_button.rect.midright b.rect.x += 10 self.add_child(b, current_offset=True) b.turn_off() self.clear_button = b s = ui.Slider((200, 5), range(500), hcolor=(255, 0, 0)) s.rect.topleft = self.record_button.rect.bottomleft s.rect.y += 15 self.add_child(s, current_offset=True) self.bar = s s.set_enabled(False) b = ui.Button.image_button(self.import_image, func=self.import_file, padding=(2, 2)) b.rect.bottomright = self.bar.rect.topright b.rect.y -= 15 self.add_child(b, current_offset=True) self.import_button = b
vt = ui.TableView() vt.frame = (tl.x * 2 + tl.width, 50, v.width - tl.x * 3 - tl.width, 32) vt.border_width = 1 vt.row_height = 32 vt.data_source = ui.ListDataSource(items=s) vt.delegate = MyTableViewDelegate() vt.data_source.tableview_cell_for_row = MyTableViewDelegate( ).tableview_cell_for_row vt.expanded = False v.add_subview(vt) rl = ui.Label() rl.frame = (10, 90, tl.width, 32) rl.text = '' v.add_subview(rl) rs = ui.Slider() rs.frame = (tl.x * 2 + tl.width, 90, v.width - tl.x * 3 - tl.width, 32) rs.value = 0.5 def rs_action(sender): rl.text = 'voice rate = ' + str(int(100 * sender.value) / 100) rs.action = rs_action rs_action(rs) v.add_subview(rs) dl = ui.Label() dl.frame = (10, 130, tl.width, 32) dl.text = ''
def __init__(self): now = dt.datetime.now() graphics.Scene.__init__(self) self.notebook = ui.Notebook(tab_position = "top-left", scroll_position="end", show_scroll = "auto_invisible", scroll_selects_tab = False) # boxes packed and nested horizontally and vertically, with a draggable corner self.box = ui.HBox(spacing = 3, x=10, y=10) self.button = ui.Button("My image changes position", image = graphics.Image("assets/hamster.png"), fill = False) self.button.connect("on-click", self.on_button_click) self.box.add_child(*[ui.VBox([self.button, ui.ToggleButton("I'm a toggle button! Have a tooltip too!", image = graphics.Image("assets/day.png"), fill = True, tooltip="Oh hey there, i'm a tooltip!"), ui.Label("I'm a label \nand we all can wrap", image = graphics.Image("assets/week.png"), spacing = 5, padding = 5, x_align = 0), ui.Entry("Feel free to edit me! I'm a rather long text that will scroll nicely perhaps. No guarantees though!", expand = False), ui.Entry("And me too perhaps", expand = False)], spacing = 5, padding = 10), Rectangle(20, expand = False), graphics.Label("rrrr", color="#666"), Rectangle(20, expand = False), ui.VBox([Rectangle(fill = False), Rectangle(), Rectangle()], spacing = 3) ]) box_w, box_h = self.box.get_min_size() self.corner = graphics.Rectangle(10, 10, fill="#666", x = self.box.x + box_w, y = self.box.y + box_h, draggable=True, interactive=True, z_order = 100) self.corner.connect("on-drag", self.on_corner_drag) # a table self.table = ui.Table(3, 3, snap_to_pixel = False, padding=10) self.table.attach(Rectangle(fill_color = "#f00", expand_vert = False), 0, 3, 0, 1) # top self.table.attach(Rectangle(fill_color = "#0f0", expand = False), 2, 3, 1, 2) # right self.table.attach(Rectangle(fill_color = "#f0f", expand_vert = False), 0, 3, 2, 3) # bottom self.table.attach(Rectangle(fill_color = "#0ff", expand = False), 0, 1, 1, 2) # left center = Rectangle() center.connect("on-mouse-over", self.on_table_mouse_over) center.connect("on-mouse-out", self.on_table_mouse_out) self.table.attach(center, 1, 2, 1, 2) # a scroll area with something to scroll in it self.scroll = ui.ScrollArea(border = 0) self.scroll.add_child(ui.Container(ui.Button("Scroll me if you can!", width = 1000, height = 300, fill=False), fill = False, padding=15)) # bunch of different input elements inputs = ui.Panes(padding=10) listitem = ui.ListItem(["Sugar", "Spice", "Everything Nice", "--", "Feel", "Free", "To", "Click", "On", "Me", {'markup': "<span color='red'>And</span>"}, "Use", "The", "Arrows!", "Ah", "And", "It", "Seems", "That", "There", "Are", "So", "Many", "Elements"]) def print_selection(listitem, item): print "selection", item def print_change(listitem, item): print "change", item listitem.connect("on-change", print_change) listitem.connect("on-select", print_selection) inputs.add_child(listitem) one = ui.ToggleButton("One", margin=[15, 10, 20, 30], id="one") group1 = ui.Group([one, ui.ToggleButton("Two", scale_x = 0.5, scale_y = 0.5, expand=False, id="two"), ui.ToggleButton("Three", id="three"), ui.ToggleButton("Four", id="four")], expand = False, allow_no_selection=True) label1 = ui.Label("Current value: none selected", x_align=0, expand = False) def on_toggle1(group, current_item): if current_item: label1.text = "Current value: %s" % current_item.label else: label1.text = "No item selected" group1.connect("on-change", on_toggle1) group2 = ui.Group([ui.RadioButton("One"), ui.RadioButton("Two"), ui.RadioButton("Three"), ui.RadioButton("Four")], horizontal = False) label2 = ui.Label("Current value: none selected", x_align = 0, expand=False) def on_toggle2(group, current_item): label2.text = "Current value: %s" % current_item.label group2.connect("on-change", on_toggle2) slider = ui.Slider(range(100), expand = False, snap_to_ticks = False, range=True, selection=(23, 80), grips_can_cross = False, snap_points = [5, 20, 50, 75], snap_on_release = True) slider_value = ui.Label(" ") def on_slider_change(slider, value): slider_value.text = str(value) slider.connect("on_change", on_slider_change) spinner = ui.Spinner(active = False, expand=False, width = 40) spinner_button = ui.Button("Toggle spin", expand=False) spinner_button.spinner = spinner def on_spinner_button_click(button, event): button.spinner.active = not button.spinner.active spinner_button.connect("on-click", on_spinner_button_click) combo = ui.ComboBox(["Sugar", "Spice", "Everything Nice", "And", "Other", "Nice", "Things"], open_below=True, expand = False) inputs.add_child(ui.VBox([combo, group1, label1, ui.HBox([group2, ui.VBox([ui.CheckButton("And a few of those", expand = False), ui.CheckButton("Check boxes", expand = False), ui.CheckButton("Which don't work for groups", expand = False)]) ]), label2, slider, slider_value, ui.HBox([spinner, spinner_button], expand=False, spacing = 10), ui.HBox([ui.ScrollArea(ui.Label(sample_text * 3, overflow = pango.WrapMode.WORD, fill=True, padding=[2, 5]), height=45, scroll_horizontal=False), ui.SpinButton(expand = False, fill=False)], expand = False), ], expand = False, spacing = 10)) combo.rows = ["some", "things", "are", "made", "of", "bananas", "and", "icecream"] menu = ui.Menu([ui.MenuItem(label="One", menu=ui.Menu([ui.MenuItem(label="One one", menu=ui.Menu([ui.MenuItem(label="One one one"), ui.MenuItem(label="One one two"), ui.MenuSeparator(), ui.MenuItem(label="One one three")])), ui.MenuSeparator(), ui.MenuItem(label="One two", mnemonic="Ctrl+1"), ui.MenuItem(label="One three", mnemonic="Alt+1")])), ui.MenuItem(label="Two", menu=ui.Menu([ui.MenuItem(label="Two one", mnemonic="Ctrl+Alt+2"), ui.MenuItem(label="Two two", mnemonic="Ctrl+2"), ui.MenuSeparator(), ui.MenuItem(label="Two three", mnemonic="Alt+2")])), ui.MenuItem(label="Three", menu=ui.Menu([ui.MenuItem(label="Three one", mnemonic="Ctrl+Alt+3"), ui.MenuItem(label="Three two", mnemonic="Ctrl+3"), ui.MenuSeparator(), ui.MenuItem(label="Three three", mnemonic="Alt+3")])), ui.MenuItem(label="Four", menu=ui.Menu([ui.MenuItem(label="Four one", mnemonic="Ctrl+Alt+4"), ui.MenuItem(label="Four two", mnemonic="Ctrl+4"), ui.MenuSeparator(), ui.MenuItem(label="Four three", mnemonic="Alt+4")])), ], horizontal=True) self.menu_selection_label = ui.Label("Pick a menu item!", expand = False, x_align = 1) def on_menuitem_selected(menu, item, event): self.menu_selection_label.text = item.label menu.connect("selected", on_menuitem_selected) # adding notebook and attaching pages self.notebook.add_page(ui.NotebookTab(image=graphics.Image("assets/day.png"), label="boxes", padding=[1,5]), ui.Fixed([self.box, self.corner], x = 10, y = 10)) self.notebook.add_page(ui.NotebookTab("Table", tooltip="Oh hey, i'm a table!"), self.table) self.notebook.add_page("Scroll Area", self.scroll) self.notebook.add_page("Input Elements", inputs) self.notebook.add_page("Menu", ui.VBox([menu, self.menu_selection_label, ui.HBox(ui.Menu([ui.MenuItem(label="", image = graphics.Image("assets/day.png"), submenu_offset_x = 0, submenu_offset_y = 0, menu=ui.Menu([ui.MenuItem(label="", image = graphics.Image("assets/month.png")), ui.MenuItem(label="", image = graphics.Image("assets/hamster.png")), ui.MenuSeparator(), ui.MenuItem(label="", image = graphics.Image("assets/hamster.png")), ui.MenuItem(label="", image = graphics.Image("assets/month.png"))], horizontal=True)), ui.MenuItem(label="", image = graphics.Image("assets/hamster.png"),submenu_offset_x = 0, submenu_offset_y = 0, menu=ui.Menu([ui.MenuItem(label="", image = graphics.Image("assets/month.png")), ui.MenuItem(label="", image = graphics.Image("assets/month.png")), ui.MenuItem(label="", image = graphics.Image("assets/week.png")), ui.MenuSeparator(), ui.MenuItem(label="", image = graphics.Image("assets/month.png"))], horizontal=True)), ui.MenuItem(label="", image = graphics.Image("assets/month.png"), submenu_offset_x = 0, submenu_offset_y = 0, menu=ui.Menu([ui.MenuItem(label="", image = graphics.Image("assets/week.png")), ui.MenuItem(label="", image = graphics.Image("assets/week.png")), ui.MenuSeparator(), ui.MenuItem(label="", image = graphics.Image("assets/week.png")), ui.MenuItem(label="", image = graphics.Image("assets/month.png"))], horizontal=True)), ], horizontal=False, spacing=50, hide_on_leave = True, open_on_hover = 0.01), expand=False), ui.Box()], padding=10)) self.slice_image = ui.Image('assets/slice9.png', fill=True, slice_left = 35, slice_right = 230, slice_top = 35, slice_bottom = 220) data = [] image = graphics.Image("assets/day.png") for i in range(10): data.append(["aasdf asdfasdf asdfasdf", "basdfasdf asdfasdf asdfasdf", image, "rrr"]) data.append(["1", "2", None, "rrr"]) data.append(["4", "5", None, "rrr"]) tree = ui.ListItem(data, [ui.LabelRenderer(editable=True), ui.LabelRenderer(editable=True), ui.ImageRenderer(expand=False, width=90)], headers=["Text", "More text", "An icon!"], fixed_headers = False, scroll_border = 0 ) self.notebook.add_page("Tree View", tree) #tree.data[0][1] = "I was actually modified afterwards!" self.notebook.add_page("Accordion", ui.Accordion([ ui.AccordionPage("I'm am the first in the row", [ui.Label(accordion_text, overflow = pango.WrapMode.WORD, padding=5)]), ui.AccordionPage("I'm am the first in the row", [ui.Label(accordion_text, overflow = pango.WrapMode.WORD, padding=5)]), ui.AccordionPage("I'm am the first in the row", [ui.Label(accordion_text, overflow = pango.WrapMode.WORD, padding=5)]), ui.AccordionPage("I'm am the first in the row", [ui.Label(accordion_text, overflow = pango.WrapMode.WORD, padding=5)]), ui.AccordionPage("I'm am the first in the row", [ui.Label(accordion_text, overflow = pango.WrapMode.WORD, padding=5)]), ui.AccordionPage("I'm am the first in the row", [ui.Label(accordion_text, overflow = pango.WrapMode.WORD, padding=5)]), ui.AccordionPage("I'm am the first in the row", [ui.Label(accordion_text, overflow = pango.WrapMode.WORD, padding=5)]), ui.AccordionPage("I'm am the first in the row", [ui.Label(accordion_text, overflow = pango.WrapMode.WORD, padding=5)]), ui.AccordionPage("I'm am the first in the row", [ui.Label(accordion_text, overflow = pango.WrapMode.WORD, padding=5)]), ui.AccordionPage("I'm am the first in the row", [ui.Label(accordion_text, overflow = pango.WrapMode.WORD, padding=5)]), ui.AccordionPage("I'm am the first in the row", [ui.Label(accordion_text, overflow = pango.WrapMode.WORD, padding=5)]), ui.AccordionPage("I'm different!", [ ui.VBox([ ui.Button("I'm a button", fill=False, expand=False), ui.Button("I'm another one", fill=False, expand=False), ui.Group([ ui.ToggleButton("We"), ui.ToggleButton("Are"), ui.ToggleButton("Brothers"), ui.ToggleButton("Radio Brothers"), ], expand=False) ], expand=False) ]), ], padding_top = 1, padding_left = 1)) from pie_menu import Menu pie_menu = Menu(0, 0) pie_menu.y_align = 0.45 self.magic_box = ui.VBox([ui.HBox([ui.Button("Hello", expand=False), ui.Button("Thar", expand=False), ui.Label("Drag the white area around", x_align=1)], expand=False, padding=5), pie_menu], x=50, y=50, spacing=50, draggable=True) self.magic_box.width = 500 self.magic_box.height = 400 def just_fill(): box = self.magic_box box.graphics.fill_area(0, 0, box.width, box.height, "#fefefe") self.magic_box.do_render = just_fill self.notebook.add_page("Ordinary Sprite", ui.Fixed(self.magic_box)) for i in range(5): self.notebook.add_page("Tab %d" % i) self.notebook.current_page = 3 # a little button to change tab orientation self.tab_orient_switch = ui.Button("Change tab attachment", expand=False, tooltip="change") self.tab_orient_switch.connect("on-click", self.on_tab_orient_click) self.page_disablist = ui.Button("Enable/Disable current tab", expand=False, tooltip="disable") self.page_disablist.connect("on-click", self.on_page_disablist_click) self.dialog_button = ui.Button("Show a dialog", expand=False, tooltip="show") self.dialog_button.connect("on-click", self.on_dialog_button_click) top_menu = ui.Menu([ui.MenuItem(label="One", menu=ui.Menu([ui.MenuItem(label="One one oh one oh one etc etc", menu=ui.Menu([ui.MenuItem(label="One one one"), ui.MenuItem(label="One one two"), ui.MenuItem(label="One one three")])), ui.MenuItem(label="One two"), ui.MenuItem(label="One three")])), ui.MenuItem(label="Two", menu=ui.Menu([ui.MenuItem(label="Two one"), ui.MenuItem(label="Two two"), ui.MenuItem(label="Two three")])), ui.MenuItem(label="Three", menu=ui.Menu([ui.MenuItem(label="Three one"), ui.MenuItem(label="Three two"), ui.MenuItem(label="Three three")])), ui.MenuItem(label="Four", menu=ui.Menu([ui.MenuItem(label="Four one"), ui.MenuItem(label="Four two"), ui.MenuItem(label="Four three")])), ui.MenuItem(label="Five") ], horizontal=True, disable_toggling=True) # not sure how elegant but let's override the flow for now for demo purposes! dummy_flow = ui.Flow() def flow_resize(): dummy_flow.alloc_w, dummy_flow.alloc_h = top_menu.alloc_w, top_menu.alloc_h dummy_flow.sprites = top_menu.sprites dummy_flow.resize_children() top_menu.height = top_menu.sprites[-1].y + top_menu.sprites[-1].height def flow_height_for_width_size(): dummy_flow.alloc_w, dummy_flow.alloc_h = top_menu.alloc_w, top_menu.alloc_h dummy_flow.sprites = top_menu.sprites w, h = dummy_flow.get_height_for_width_size() return w, h def flow_min_size(): dummy_flow.sprites = top_menu.sprites w, h = dummy_flow.get_min_size() return w+ top_menu.horizontal_padding, h + top_menu.vertical_padding # flow if b0rken ATM for i in range(20): top_menu.add_child(ui.MenuItem(label="flow %d" % i)) top_menu.resize_children = flow_resize #top_menu.get_height_for_width_size = flow_height_for_width_size top_menu.get_min_size = flow_min_size self.add_child(ui.VBox([top_menu, ui.VBox([self.notebook, ui.HBox([self.tab_orient_switch, self.page_disablist, self.dialog_button], expand = False, fill=False, x_align=1), ], padding=20, spacing=10)], spacing = 10)) self.connect("on-click", self.on_click) self.notebook.after_tabs.add_child(ui.Button("Yohoho")) print dt.datetime.now() - now
view['l1'].frame = (10, 10, w / 2 - 20, 30) view.add_subview(ui.TextField(name='ip', alignment=ui.ALIGN_CENTER)) view['ip'].frame = (w / 2 + 10, 10, w / 2 - 20, 30) view.add_subview( ui.Button(name='connect', title='CONNECT', border_width=1, border_color='black', action=connect)) view['connect'].frame = (w / 2 - 60, 60, 120, 40) view.add_subview( ui.Button(name='stop', title='STOP', border_width=1, border_color='black', background_color='red', enabled=False, action=stop)) view['stop'].frame = (w / 2 - 60, 150, 120, 40) view.add_subview(ui.Label(name='l2', text='X', alignment=ui.ALIGN_CENTER)) view['l2'].frame = (w / 2 - 50, 230, 100, 30) view.add_subview( ui.Slider(name='x', continuous=True, value=0.5, action=slide_x)) view['x'].frame = (20, 270, w - 40, 30) view.add_subview(ui.Label(name='l3', text='Theta', alignment=ui.ALIGN_CENTER)) view['l3'].frame = (w / 2 - 50, 310, 100, 30) view.add_subview( ui.Slider(name='th', continuous=True, value=0.5, action=slide_th)) view['th'].frame = (20, 350, w - 40, 30) view.present()
c.CMTimeGetSeconds.restype=c_double ############_ u=pick_asset() i=AVPlayerItem.playerItemWithAsset_(u) p=AVPlayer.playerWithPlayerItem_(i) videolayer=AVPlayerLayer.playerLayerWithPlayer_(p) import ui v=ui.View(frame=(0,0,500,500)) V=ObjCInstance(v) videolayer.frame=V.bounds() V.layer().addSublayer_(videolayer) v.present('sheet') duration=i.duration() duration_sec=duration.a/duration.b slider=ui.Slider(frame=(0,0,v.width,20)) @on_main_thread def seek(t): T=c.CMTimeMakeWithSeconds(t,1) p.seekToTime_(T,argtypes=[CMTime],restype=None) def slider_action(sender): seek(sender.value*duration_sec) slider.action=slider_action v.add_subview(slider) p.play() #exercise to reader: implement p.pause()
def make_view(self, **kwargs): slider = ui.Slider() slider.bg_color = 'green' #etc self.add_subview(slider) self.slider = slider
btn = ui.ButtonItem() btn.title = "Physics Info" btn.action = physics_info def change(sender): glviewv.tc.accelerometer_speed = 1 + sender.value * 5 setting_front = False setting_view = ui.View() setting_view.background_color = '#FFFFFF' setting_view.width = 800 setting_view.height = 300 accelerometer_speed = ui.Slider() accelerometer_speed.action = change accelerometer_speed.continuous = True setting_view.add_subview(accelerometer_speed) def settings(sender): global setting_front if setting_front: setting_front = False setting_view.send_to_back() else: setting_front = True setting_view.bring_to_front()
buildAttributes() def RGBSliderAction(color): def action(sender): setattr(tv,color,sender.value) buildAttributes() return action count=0 def textview_should_change(sender,text): global count buildAttributes() count+=1 return True v=ui.View(frame=(0,0,576,576),bg_color=(0.7,)*3) txtsize=ui.Slider(bg_color=(1,1,1),frame=(0,50,300,30)) redslider=ui.Slider(bg_color=(1,0,0),frame=(0,80,300,30)) greenslider=ui.Slider(bg_color=(0,1,0),frame=(0,110,300,30)) blueslider=ui.Slider(bg_color=(0,0,1),frame=(0,140,300,30)) txtsize.action=SizeSliderAction redslider.action=RGBSliderAction('R') greenslider.action=RGBSliderAction('G') blueslider.action=RGBSliderAction('B') desclbl=ui.Label(frame=(0,0,300,20)) v.add_subview(txtsize) v.add_subview(redslider) v.add_subview(greenslider)
def __init__(self, iPad=False): self.background_color = 'white' self.height = ui.get_screen_size()[1] self.width = ui.get_screen_size()[0] if iPad == True: #overwrite self.height = ui.get_screen_size()[1] / 1.3 self.width = ui.get_screen_size()[0] / 1.5 self.i = 150 self.min = 130 self.max = 170 self.bbimg = BansyoCam() self.bbimg.monolize(self.i) self.bbimg.Fastmonolize(self.i) self.imageView = ui.ImageView() self.imageView.width = self.width self.imageView.center = (self.width * 0.5, self.height * 0.3) self.imageView.flex = 'WHB' self.imageView.image = self.bbimg.getImg() self.imageView.content_mode = ui.CONTENT_SCALE_ASPECT_FILL self.sliderView = ui.Slider() self.sliderView.width = self.width * 0.8 self.sliderView.center = (self.width * 0.5, self.height * 0.75) self.sliderView.flex = 'WT' self.sliderView.value = 0.5 #self.sliderView.continuous = False self.sliderView.action = self.sliderAction self.button = ui.Button(title='Complete') self.button.flex = 'WT' self.button.width = self.width * 0.2 self.button.center = (self.width * 0.5, self.height * 0.65) self.button.action = self.button_tapped self.textfield1 = ui.TextField() self.textfield1.width = self.width * 0.15 self.textfield1.height = 36 self.textfield1.center = (self.width * 0.1, self.height * 0.05) self.textfield1.text = str(self.min) self.textfield1.keyboard_type = ui.KEYBOARD_NUMBERS self.textfield1.action = self.textfield1_edit self.textfield2 = ui.TextField() self.textfield2.width = self.width * 0.15 self.textfield2.height = 36 self.textfield2.center = (self.width * 0.9, self.height * 0.05) self.textfield2.text = str(self.max) self.textfield2.keyboard_type = ui.KEYBOARD_NUMBERS self.textfield2.action = self.textfield2_edit self.label = ui.Label() self.label.width = self.width * 0.2 self.label.height = 36 self.label.center = (self.width * 0.57, self.height * 0.05) self.label.text = str(self.i) if iPad == True: self.imageView.center = (self.width * 0.5, self.height * 0.42) self.sliderView.center = (self.width * 0.5, self.height * 0.75) self.button.center = (self.width * 0.5, self.height * 0.87) self.textfield1.center = (self.width * 0.1, self.height * 0.70) self.textfield2.center = (self.width * 0.9, self.height * 0.70) self.add_subview(self.imageView) self.add_subview(self.sliderView) self.add_subview(self.button) self.add_subview(self.textfield1) self.add_subview(self.textfield2) self.add_subview(self.label)
button = ui.Button(image=ui.Image(Light_On_Texture(all_lights[n]))) button.title = all_lights[n].name button.action = Switch_Handler #button.image = ui.Image(Light_On_Texture(all_lights[n])) #print(button.image) button.tint_color = item_color button.center = ((x / 2) - 1 * label.width, (y / 2) + (n_lights / 2) - n * 40) view.add_subview(button) buttons.append(button) #a = -n print('.', end="") slider = ui.Slider() slider.title = all_lights[n].name #'brightness' + str(n) slider.continuous = True slider.center = ((x / 2) + 0 * label.width, (y / 2) + (n_lights / 2) - n * 40) slider.width = label.width slider.enabled = lit_lights[n] slider.action = Slider_Handler slider.value = all_lights[n].brightness / 254 slider.tint_color = item_color view.add_subview(slider) b_sliders.append(slider) print('.', end="")