Пример #1
0
	def bt_due_day(self,sender):
		global done_pushed
		global cancel_pushed
		v=sender
		s_y_pos=v.frame[1]+50
		w=sender.superview
		v.due_button_pressed=True

		#get due day in datetime format to pre-fill datepicker with current due date
		due_day_datetime = datetime.strptime(sender.superview.superview.acc_list[self.idx].due_day,'%Y,%m,%d')
		
		#datepicker below account info for upper positions, and above for lower positions. aleviated keyboard cover-up. 
		due_date_picker= ui.DatePicker(action=None,frame=(0,(s_y_pos if s_y_pos<300 else s_y_pos-150) ,300,100),mode=ui.DATE_PICKER_MODE_DATE,background_color='white',date=due_day_datetime)
		w.add_subview(due_date_picker)
		
		while (not(done_pushed) and not(cancel_pushed)):
			sleep(0.5)
		w.remove_subview(due_date_picker)
		done_pushed = False
		if cancel_pushed==True:
			cancel_pushed=False
			return 
		#'Done' was pushed: update gui
		due_pick_str= date.strftime(due_date_picker.date,'%Y,%m,%d')
		v.title=(due_pick_str)
	
		#save to acc_list
		acc_list= sender.superview.superview.acc_list
		acc_list[self.idx].due_day= due_pick_str
Пример #2
0
    def show_datepicker(self, mode):
        ui.end_editing()
        self.shield_view = ui.View()
        self.shield_view.flex = 'WH'
        self.shield_view.frame = (0, 0, self.view.width, self.view.height)

        self.dismiss_datepicker_button = ui.Button()
        self.dismiss_datepicker_button.flex = 'WH'
        self.dismiss_datepicker_button.frame = (0, 0, self.view.width,
                                                self.view.height)
        self.dismiss_datepicker_button.background_color = (0, 0, 0, 0.5)
        self.dismiss_datepicker_button.action = self.dismiss_datepicker
        self.dismiss_datepicker_button.alpha = 0.0
        self.shield_view.add_subview(self.dismiss_datepicker_button)

        self.date_picker = ui.DatePicker()
        self.date_picker.date = self.selected_date_value
        self.date_picker.background_color = 'white'
        self.date_picker.mode = mode
        self.date_picker.frame = (0, self.shield_view.height -
                                  self.date_picker.height,
                                  self.shield_view.width,
                                  self.date_picker.height)
        self.date_picker.flex = 'TW'
        self.date_picker.transform = ui.Transform.translation(
            0, self.date_picker.height)
        self.shield_view.add_subview(self.date_picker)

        self.container_view.add_subview(self.shield_view)

        def fade_in():
            self.dismiss_datepicker_button.alpha = 1.0
            self.date_picker.transform = ui.Transform.translation(0, 0)

        ui.animate(fade_in, 0.3)
Пример #3
0
	def make_view(self):
		obj = ui.DatePicker(name = 'dp')
		if self.date:
			obj.date = self.date
		obj.mode = ui.DATE_PICKER_MODE_DATE
		obj.frame = self.frame
		obj.flex = 'WH'
		self.add_subview(obj)
		self.dp = obj
	def __init__(self, mode=ui.DATE_PICKER_MODE_DATE, title='', done_button_title='Done'):
		self.was_canceled = True
		self.container_view = ui.View(background_color='white')
		self.view = ui.DatePicker()
		self.container_view.name = title
		self.view.mode = mode
		self.view.background_color = 'white'
		self.view.frame = (0, 0, 500, 500)
		self.view.flex = 'WH'
		self.container_view.frame = self.view.frame
		self.container_view.add_subview(self.view)
Пример #5
0
    def __init__(self):
        self.file = "app.dat"
        self.loadData()
        self.v = ui.View(name="bloodApp")
        self.v.background_color = 'white'
        self.v.left_button_items = ui.ButtonItem(
            title='sugar',
            action=self.switchBs), ui.ButtonItem(title='BP',
                                                 action=self.switchBp)
        self.v.right_button_items = ui.ButtonItem(title='save',
                                                  action=self.save),

        self.timePick = ui.DatePicker(name="timePick")
        self.timePick.mode = ui.DATE_PICKER_MODE_DATE_AND_TIME

        self.table = ui.TableView(name="Table")
        self.table.data_source = self
        self.table.background_color = (1, 1, 1, 1)
        self.table.border_color = (0, 0, 0, 1)
        self.table.row_height = 30
        self.table.flex = "WH"
        self.table.border_width = 1
        self.table.corner_radius = 1
        self.table.frame = (0, 200, 320, 272)

        self.value = ui.TextField(name="value")
        self.value.keyboard_type = ui.KEYBOARD_PHONE_PAD
        self.value.clear_button_mode = 'always'
        self.value.x = 0
        self.value.y = 0
        self.value.width = 120
        self.value.height = 38.5
        self.value.background_color = (1, 1, 1, 1)
        self.value.border_color = (0, 0, 0, 1)
        self.value.border_width = 1
        self.value.corner_radius = 2
        self.value.alignment = ui.ALIGN_LEFT
        self.value.enabled = 1
        self.value.placeholder = 'blood sugar'

        self.v.add_subview(self.timePick)
        self.v.add_subview(self.table)
        self.v.add_subview(self.value)

        self.state = "bs"
        self.switch()
        self.table.reload()

        self.v.present("fullscreen")
Пример #6
0
def make_time_view():
    v = ui.View(frame=(0, 0, sz[0], sz[1] - banner))
    v.name = 'time'
    v.background_color = 'white'

    done = ui.ButtonItem('Schedule')
    v.right_button_items = [done]

    tab = ui.TableView()
    tab.frame = (0, 0, sz[0], 150)
    lst = ui.ListDataSource(['time 1', 'time 2'])
    tab.data_source = lst
    tab.delegate = lst
    v.add_subview(tab)

    wid = 120
    custip = ui.TextField()
    custip.frame = (20 + wid, 160, sz[0] - wid - 30, 36)
    custip.clear_button_mode = 'while_editing'
    custip.text = '1'
    custip.keyboard_type = ui.KEYBOARD_NUMBER_PAD
    custip.delegate = MyTextFieldDelegate(done)
    v.add_subview(custip)
    label = ui.Label()
    label.text = 'Number of runs'
    label.frame = (10, 160, wid + 10, 36)
    v.add_subview(label)

    custip = ui.TextField()
    custip.frame = (20 + wid, 206, sz[0] - wid - 30, 36)
    custip.clear_button_mode = 'while_editing'
    custip.text = '24'
    custip.keyboard_type = ui.KEYBOARD_DECIMAL_PAD
    custip.delegate = MyTextFieldDelegate(done)
    v.add_subview(custip)
    label = ui.Label()
    label.text = 'Length (hours)'
    label.frame = (10, 206, wid + 10, 36)
    v.add_subview(label)

    dt = ui.DatePicker()
    dt.frame = (0, 240, sz[0], sz[1] - 240)
    v.add_subview(dt)

    return v
Пример #7
0
sc1.action = seg1_selected
v.add_subview(sc1)

sc2 = ui.SegmentedControl(frame=(32, 196, 350, 42))
sc2.segments = ('12 Hr Clock', '24 Hr Clock')
# Default to 12 hr clock
sc2.selected_index = 0
sc2.border_width = 2
sc2.corner_radius = 10
sc2.tint_color = 'black'
sc2.background_color = 'yellow'
sc2.flex = 'WHLRTB'
sc2.action = seg2_selected
v.add_subview(sc2)

dp = ui.DatePicker(frame=(32, 246, 350, 216))
dp.border_width = 2
dp.corner_radius = 10
dp.tint_color = 'black'
dp.background_color = 'yellow'
dp.flex = 'WHLRTB'
dp.mode = 2
dp.action = change_date
v.add_subview(dp)

lb1 = ui.Label(frame=(32, 470, 350, 53))
lb1.font = ('<system-bold>', 16)
# Sync label display with date picker
lb1.text = change_date(dp)
lb1.border_width = 2
lb1.corner_radius = 10
class MyClass2(ui.View):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.make_view()

    def make_view(self):
        pass


if __name__ == '__main__':
    db_filename = 'myviews.json'
    f = (0, 0, 300, 400)
    v = MyClass(frame=f)
    v.present(style='sheet', animated=False)

    v2 = MyClass2(name='MyClass2', bg_color='purple', frame=f)

    save_view(db_filename, 'myClass', ui.dump_view(MyClass()))
    save_view(db_filename, 'myClass2', ui.dump_view(v2))

    v3 = get_saved_view(db_filename, key='myClass2')
    v3.present('sheet')
    v3.wait_modal()
    v3.bg_color = 'orange'
    v3.title = 'Orange View'
    v3.add_subview(ui.DatePicker())
    save_view(db_filename, 'myClass2', ui.dump_view(v3))
    v4 = get_saved_view(db_filename, key='myClass2')
    v4.present('sheet')
Пример #9
0
    def __init__(self, mview, ex_obj, *args, **kwargs):

        super().__init__(self,
                         frame=(0, 0, mview.width * 0.8, mview.height * 0.8),
                         *args,
                         **kwargs)

        self.val_btns = []  # Store value button field
        self.set_btns = []  # Store set button field
        self.set = 0  # Store index of current set button
        self.ex_obj = ex_obj  # Store reference to selected exercise

        # Datepicker to modify timestamp
        self.datepicker = ui.DatePicker()
        self.datepicker.background_color = "white"
        self.datepicker.action = self.datepicker_action
        self.add_subview(self.datepicker)

        # Show infolabel label
        self.lbl = ui.Label()
        self.lbl.background_color = "white"
        self.lbl.text = f"{self.ex_obj.group}: {self.ex_obj.name}  {self.datepicker.date:%Y-%m-%d %H:%M:%S}"
        self.lbl.alignment = ui.ALIGN_CENTER
        self.lbl.font = ('arial', 24)
        self.add_subview(self.lbl)

        # Textfield for additional value if applicable
        self.tf = ui.TextField()
        self.tf.background_color = "white"
        self.tf.text = str(ex_obj.default)
        self.tf.alignment = ui.ALIGN_CENTER
        self.tf.font = ('arial', 24)
        if ex_obj.unit == "kg":
            self.tf.hidden = False
        else:
            self.tf.hidden = True
        self.add_subview(self.tf)

        # Create set buttons (max. 3 sets per ecercise)
        for i in range(0, 3):
            btn = ui.Button()
            btn.name = str(i)
            btn.background_color = "#fdffd8"
            btn.border_color = "black"
            btn.border_width = 2
            btn.title = "0"
            btn.action = self.btn_set_action
            self.set_btns.append(btn)
            self.add_subview(btn)
        # Highlight first set button (as selected)
        self.set_btns[0].background_color = "#faff8d"

        # Create value buttons
        for i in range(ex_obj.min, ex_obj.max + 1, ex_obj.step):
            btn = ui.Button(title=str(i))
            btn.background_color = "white"
            btn.corner_radius = 6
            btn.action = self.set_val
            self.val_btns.append(btn)
            self.add_subview(btn)

        # Abort logging
        self.btn_cancel = ui.Button()
        self.btn_cancel.background_color = "white"
        self.btn_cancel.corner_radius = 9
        self.btn_cancel.title = 'Cancel'
        self.btn_cancel.action = self.button_cancel_action
        self.add_subview(self.btn_cancel)

        # Save log to database
        self.btn_save = ui.Button()
        self.btn_save.background_color = "white"
        self.btn_save.corner_radius = 9
        self.btn_save.title = 'Save'
        self.btn_save.action = self.button_save_action
        self.add_subview(self.btn_save)
    # etc... For day, hour, minute and so forth.


# --------------------
import ui

my_date = None


def date_picker_action(sender):
    my_date = sender.date
    print(my_date)


view = ui.View()
date_picker = ui.DatePicker()
date_picker.action = date_picker_action
view.add_subview(date_picker)
view.present('sheet')


# --------------------
def calndr(sender):
    date = sender.superview['calender']
    # assuming that is the name of your DatePicker object
    # this returns a datetime.datetime object, see module datetime
    year = date.year
    month = date.month

    with open('newfile.csv', "a") as f:
        newfileWriter = csv.writer(f)
Пример #11
0
	def __init__(self, *args, **kwargs):
		super().__init__(self, *args, **kwargs)
		self.shows_result = False
		self.bounds = (0, 0, 400, 400)
		self.background_color = 'white'
		self.today = date.today()
		
		self.isWidget = True
		
		self.reminders_view = ui.TableView()
		self.reminders_view.data_source = ReminderHandler(self)
		self.reminders_view.delegate = self.reminders_view.data_source
		self.reminders_view.allows_selection = True
		self.add_subview(self.reminders_view)
		
		weekday = self.today.weekday()
		weekdays = ['M', 'T', 'W', 'T', 'F', 'S', 'S']
		
		self.button_view = ui.ScrollView()
		self.button_view.background_color = 'lightgray'
		self.add_subview(self.button_view)
		
		self.colour_view = ui.ScrollView()
		self.colour_view.background_color = 'white'
		
		self.choose_colour_view = ui.ScrollView()
		self.choose_colour_view.background_color = 'white'
		
		self.top_bar = ui.View()
		self.top_bar.background_color = 'white'
		self.add_subview(self.top_bar)
		
		self.input_view = ui.View()
		self.input_view.background_color = 'white'
		self.add_subview(self.input_view) 
		
		button_style = {'background_color': (1, 0, 0, 1), 'tint_color': 'white', 'font': ('HelveticaNeue-Light', 18), 'corner_radius': 3, 'border_width': 1.5}
		
		weekdays_wrapped = weekdays[weekday:] + weekdays[:weekday]
		button_list = weekdays_wrapped + [str((self.today + timedelta(days=n)).day) for n in range(7, 30 if self.today.month in [4, 6, 9, 11] else 31)]
		
		remember_button = ui.Button(image=ui.Image.named('typw:Edit'), action=self.remember_button_pressed, name=str('Remember'), **button_style)
		self.date_buttons = [remember_button]
		self.button_view.add_subview(remember_button)
	
		for i, d in enumerate(button_list):
			b = ui.Button(title=d, action=self.date_button_pressed, name=str(i), **button_style)
			self.date_buttons.append(b)
			self.button_view.add_subview(b)
			
		self.repeat_buttons = []
		for i, d in enumerate(weekdays):
			b = ui.Button(title=d, action=self.repeat_button_pressed, name=str(i), **button_style)
			self.repeat_buttons.append(b)
			self.input_view.add_subview(b)
			
		self.colour_buttons = []
		for i, c in enumerate(self.reminders_view.data_source.all_colours):
			b = ui.Button(title='✓', action=self.colour_button_pressed, name=str(i), **button_style)
			b.background_color = c
			b.tint_color = get_text_colour(b.background_color)
			self.colour_buttons.append(b)
			self.colour_view.add_subview(b)
			
		self.choose_colour_buttons = []
		for i, c in enumerate(self.reminders_view.data_source.all_colours):
			b = ui.Button(title='✓' if i == 0 else '', action=self.choose_colour_button_pressed, name=str(i), **button_style)
			b.background_color = c
			b.tint_color = get_text_colour(b.background_color)
			self.choose_colour_buttons.append(b)
			self.choose_colour_view.add_subview(b)
			
		self.edit_button = ui.Button(title='Edit', action=self.edit_button_pressed, **button_style)
		self.top_bar.add_subview(self.edit_button)
		self.top_bar.add_subview(self.colour_view)
		
		self.name_input = ui.TextField()
		self.name_input.delegate = NameInputDelegate(self)
		self.name_input.corner_radius = 4
		self.name_input.clear_button_mode = 'while_editing'
		self.name_input.autocapitalization_type = ui.AUTOCAPITALIZE_WORDS
		
		self.date_picker = ui.DatePicker()
		self.input_view.add_subview(self.date_picker)
		self.date_picker.hidden = True
		self.date_picker.mode = ui.DATE_PICKER_MODE_DATE
		
		self.repeat_end_date_picker = ui.DatePicker()
		self.input_view.add_subview(self.repeat_end_date_picker)
		self.repeat_end_date_picker.hidden = True
		self.repeat_end_date_picker.mode = ui.DATE_PICKER_MODE_DATE
		
		self.repeat_end_date_label = ui.Label(text='End Date:', font=('HelveticaNeue-Light', 18))
		self.input_view.add_subview(self.repeat_end_date_label)
		
		self.input_view.add_subview(self.choose_colour_view)
		self.input_view.add_subview(self.name_input)
		self.input_view.background_color = (1, 1, 1)
		self.input_view.hidden = True
		
		self.daysAway = 0
	d += datetime.timedelta(days  = -7 )
	cdp = CustomDatePicker(frame = f , bg_color = 'orange', date = d, name ='Please select a date')
	cdp.present('sheet')
	cdp.wait_modal()
	print cdp.dp.date
	
# --------------------

class _DateDialogController (object):
	def __init__(self, mode=ui.DATE_PICKER_MODE_DATE, title='', done_button_title='Done'):
		self.was_canceled = True
		self.container_view = ui.View(background_color='white')
		self.view = ui.DatePicker()
		self.container_view.name = title
		self.view.mode = mode
		self.view.background_color = 'white'
		self.view.frame = (0, 0, 500, 500)
		self.view.flex = 'WH'
		self.container_view.frame = self.view.frame
		self.container_view.add_subview(self.view)
		
# --------------------

import ui

dp = ui.DatePicker(name = 'test')
dp.present('sheet')

# --------------------

Пример #13
0
lbl_pick_end.background_color = 'yellow'
lbl_pick_end.text = 'Time'
dp.add_subview(lbl_pick_end)

lbl_tpassed = ui.Label(frame=(105, 675, 200, 35))
lbl_tpassed.flex = 'HLRTB'
lbl_tpassed.font = ('<system-bold>', 14)
lbl_tpassed.alignment = ui.ALIGN_CENTER
lbl_tpassed.border_width = 2
lbl_tpassed.corner_radius = 10
lbl_tpassed.background_color = 'yellow'
lbl_tpassed.text_color = 'red'
lbl_tpassed.text = '00:00:00'
dp.add_subview(lbl_tpassed)

dp_start = ui.DatePicker(frame=(48, 85, 320, 225))
dp_start.flex = 'HLRTB'
dp_start.border_width = 2
dp_start.corner_radius = 10
dp_start.background_color = 'yellow'
dp_start.mode = ui.DATE_PICKER_MODE_TIME
dp_start.action = change_start_time
dp.add_subview(dp_start)

dp_end = ui.DatePicker(frame=(48, 405, 320, 225))
dp_end.flex = 'HLRTB'
dp_end.border_width = 2
dp_end.corner_radius = 10
dp_end.background_color = 'yellow'
dp_end.mode = ui.DATE_PICKER_MODE_TIME
dp_end.action = change_end_time