106 lines
2.8 KiB
Python
106 lines
2.8 KiB
Python
import toga
|
|||
|
|
from toga.style import Pack
|
||
|
|
from toga.style.pack import COLUMN, ROW, END, START, CENTER
|
||
|
|
from justgetit.constants import SCREENHEIGHT, SCREENWIDTH
|
||
|
|
|
||
|
|
|
||
|
|
class Login(toga.Box):
|
||
|
|
|
||
|
|
def __init__(self, navigate_to, *args, **kwargs):
|
||
|
|
super().__init__(*args, **kwargs)
|
||
|
|
self.navigate_to= navigate_to
|
||
|
|
|
||
|
|
register_button = toga.Button(
|
||
|
|
icon=toga.Icon("images/register"),
|
||
|
|
style=Pack(
|
||
|
|
width=50,
|
||
|
|
margin=5,
|
||
|
|
),
|
||
|
|
id="register",
|
||
|
|
on_press=self.navigate_to)
|
||
|
|
|
||
|
|
liner =toga.Box(style=Pack(width=SCREENWIDTH, height = 2, background_color="#ddd"))
|
||
|
|
|
||
|
|
menu_bar= toga.Row(
|
||
|
|
children=[register_button, liner],
|
||
|
|
style=Pack(
|
||
|
|
justify_content=END,
|
||
|
|
width = SCREENWIDTH,
|
||
|
|
background_color="#eee"
|
||
|
|
)
|
||
|
|
)
|
||
|
|
|
||
|
|
# Title icon
|
||
|
|
my_image = toga.Image("images/login.png")
|
||
|
|
title = toga.ImageView(my_image, style=Pack(
|
||
|
|
width=50,
|
||
|
|
margin_bottom=20
|
||
|
|
))
|
||
|
|
|
||
|
|
# Email input
|
||
|
|
name_input = toga.TextInput(
|
||
|
|
placeholder="Could be you here",
|
||
|
|
style=Pack(
|
||
|
|
width=250,
|
||
|
|
margin_bottom=10
|
||
|
|
)
|
||
|
|
)
|
||
|
|
|
||
|
|
# Password input
|
||
|
|
password_input = toga.PasswordInput(
|
||
|
|
placeholder="Feeling lucky?",
|
||
|
|
style=Pack(
|
||
|
|
width=250,
|
||
|
|
margin_bottom=20
|
||
|
|
)
|
||
|
|
)
|
||
|
|
|
||
|
|
# Login button
|
||
|
|
login_button = toga.Button(
|
||
|
|
icon=toga.Icon("images/save"),
|
||
|
|
style=Pack(
|
||
|
|
width=50,
|
||
|
|
margin=10,
|
||
|
|
background_color="white"
|
||
|
|
),
|
||
|
|
on_press=self.login_button_press)
|
||
|
|
|
||
|
|
login_area= toga.Box(
|
||
|
|
children=[login_button],
|
||
|
|
style=Pack(
|
||
|
|
width=250,
|
||
|
|
direction=ROW,
|
||
|
|
align_items=START,
|
||
|
|
margin=20
|
||
|
|
)
|
||
|
|
)
|
||
|
|
|
||
|
|
# Main content box (centered)
|
||
|
|
content_box = toga.Column(
|
||
|
|
children=[
|
||
|
|
title,
|
||
|
|
name_input,
|
||
|
|
password_input,
|
||
|
|
login_area
|
||
|
|
],
|
||
|
|
style=Pack(
|
||
|
|
align_items=CENTER,
|
||
|
|
height=SCREENHEIGHT - 50, # iPhone height
|
||
|
|
margin=20,
|
||
|
|
)
|
||
|
|
)
|
||
|
|
|
||
|
|
# Outer box to simulate iPhone screen
|
||
|
|
screen = toga.Column(
|
||
|
|
children=[menu_bar,
|
||
|
|
liner,
|
||
|
|
content_box],
|
||
|
|
style=Pack(
|
||
|
|
width=SCREENWIDTH, # iPhone width
|
||
|
|
)
|
||
|
|
)
|
||
|
|
|
||
|
|
self.add(screen)
|
||
|
|
|
||
|
|
def login_button_press(self, widget):
|
||
|
|
print("pressesd")
|