def __init__(self, page_controller, user, **kw): super().__init__(**kw) # instantiate the user self.user = user # instantiate the controller self.controller = page_controller # Add app background Utils.set_background(self, 'data/home_background.png') # Initialize articles directory self.articles_dir = 'data/articles' self.full_articles_dir = f'{os.getcwd()}/{self.articles_dir}' self.article_images_dir = f'{os.getcwd()}/data/article_images' # Initialize root widget self.root_widget = BoxLayout(orientation="horizontal") self.root_widget.spacing = 15 self.root_widget.padding = 15 self.add_widget(self.root_widget) # Generate articles layout self.generate_articles_layout() # Generate the preview layout self.generate_preview_layout() # Generate history, accounts and start box self.generate_history_account_start_layout()
def __init__(self, user, page_controller, article_path, **kw): super().__init__(**kw) self.user = user # Initialize page controller module self.controller = page_controller # Initialize article path self.article_path = article_path # Set background image of page Utils.set_background(self, 'data/home_background.png') # Initialize the main root widget self.root_widget = BoxLayout(orientation='horizontal', padding=40, spacing=20) self.add_widget(self.root_widget) #Initialize typing score metrics self.adjusted_speed = 0 self.speed = 0 self.accuracy = 0 self.time_passed = 0 self.started_timer = False self.times_per_block = [] self.words_typed = [] self.document_words = [] # Generate all elements of the page by calling the generate methods self.generate_metrics_and_cancel_box() # Utils.add_empty_space(self.root_widget, (0, 1), orientation='horizontal') self.generate_story_and_typing_box()
def __init__(self, page_controller, **kw): super().__init__(**kw) # Instantiate user directory. self.user_dir = f'{os.getcwd()}/users' # Instantiate the user variable self.user = "" # Set the background image of the login page Utils.set_background(self, 'data/login_background.png') # Define the root box of the application to hold all other widgets self.root_box = BoxLayout(orientation='vertical', size_hint=(1, .6)) self.add_widget(self.root_box) self.root_box.padding = 30 # Generate accounts layout on center of page self.generate_accounts_box(page_controller=page_controller)
def __init__(self, page_controller, user, **kw): super().__init__(**kw) # instantiate user self.user = user self.controller = page_controller # SEt screen background Utils.set_background(self, 'data/home_background.png') # Initialize data path self.metric_path = f'{os.getcwd()}/users/{self.user}/{self.user}.csv' if os.path.exists(self.metric_path): # Initialize data df self.data_df = pd.read_csv(self.metric_path) # Initialize root box self.root_box = BoxLayout(orientation='horizontal', padding=20, spacing=20) self.add_widget(self.root_box) # render metrics box self.generate_metric_box() # render history box self.generate_history_box() else: self.add_widget(Label(text='NO DATA TO DISPLAY', font_size=50)) self.add_widget( Button(text='BACK', font_size=35, size_hint=(.5, .3), on_release=partial(self.controller.initialize_home_page, self.user)))