Example #1
0
def main():
    """
    This is the main method which call the main screen consisting of the GUI
    :return:nothing
    """
    app = MainScreen()
    app.display()
Example #2
0
    def __init__(self):
        self.__Window = tkinter.Tk()
        self.__Window.attributes('-fullscreen', self.__FullScreenState)
        self.__Window.title('Identity Check')

        self.__Window.bind("<F11>", self.__ToggleFullScreen)
        self.__Window.bind("<Escape>", self.__QuitFullScreen)
        self.__Window.bind('<q>', self.__QuitApplication)

        self.__LockScreen = LockScreen(self.__Window)
        self.__LockScreen.RaiseEvent = self.RaiseEvent

        self.__MainScreen = MainScreen(self.__Window)
        self.__MainScreen.RaiseEvent = self.RaiseEvent
    def __init__(self, config, core):
        super(FrontendAdafruitCharLCDPlate, self).__init__()
        self.input_manager = InputManager()
        self.display_object = DisplayObject()

        if True:
            import Adafruit_CharLCD as LCD
            self.display = LCD.Adafruit_CharLCDPlate()
        else:
            from web_socket_lcd_simulator import WebSockectLCDSimulator
            self.display = WebSockectLCDSimulator()


        self.main_screen = MainScreen(core)
        self.running = True
Example #4
0
    def main(self):

        # load big resources first
        cardPath = os.path.join(os.getcwd(), "res", "cardData.json")
        allCardData = None
        with open(cardPath, 'r', encoding="utf-8") as f:
            allCardData = json.load(f)

        # SET UP THE GRAPHICS WINDOW
        window = sf.RenderWindow(sf.VideoMode(1100, 800), 'Mana Burn')
        window.framerate_limit = 60
        window.clear()
        view = sf.View()
        view.reset(sf.Rectangle((0, 0), (1100, 850)))
        window.view = view
        window.display()

        # figure out the save game situation
        currentSavedGame = SavedGame()
        currentScreen = MainScreen(window, view, currentSavedGame, allCardData)

        # A clock runs and cleans up dead objects periodically
        cleanupClock = sf.Clock()

        # THE UPDATE AND GAME LOOP
        while window.is_open:
            for event in window.events:
                if type(event) is sf.CloseEvent:
                    window.close()
                if type(event
                        ) is sf.KeyEvent and event.code is sf.Keyboard.ESCAPE:
                    window.close()
                if type(currentScreen) is MainScreen:
                    if type(event) is sf.MouseButtonEvent:
                        currentScreen.checkClicks(window, event)
                    if type(event) is sf.MouseWheelEvent:
                        currentScreen.checkScroll(window, event)

            window.clear()
            currentScreen.update()
            window.display()

            if cleanupClock.elapsed_time.seconds >= .5:
                currentScreen.cleanUp()
                cleanupClock.restart()
Example #5
0
class Application:

    __FullScreenState = True

    def __init__(self):
        self.__Window = tkinter.Tk()
        self.__Window.attributes('-fullscreen', self.__FullScreenState)
        self.__Window.title('Identity Check')

        self.__Window.bind("<F11>", self.__ToggleFullScreen)
        self.__Window.bind("<Escape>", self.__QuitFullScreen)
        self.__Window.bind('<q>', self.__QuitApplication)

        self.__LockScreen = LockScreen(self.__Window)
        self.__LockScreen.RaiseEvent = self.RaiseEvent

        self.__MainScreen = MainScreen(self.__Window)
        self.__MainScreen.RaiseEvent = self.RaiseEvent

    def RaiseEvent(self, _Event):
        if _Event == 'LockScreen':
            self.__MainScreen.Remove()
            self.__LockScreen.Add()
        else:
            self.__LockScreen.Remove()
            self.__MainScreen.Add()

    def __ToggleFullScreen(self, _Event):
        self.__FullScreenState = not self.__FullScreenState
        self.__Window.attributes('-fullscreen', self.__FullScreenState)

    def __QuitFullScreen(self, _Event):
        self.__Window.attributes('-fullscreen', False)

    def __QuitApplication(self, _Event):
        exit()

    def Start(self):
        self.__LockScreen.Start()
        self.__MainScreen.Start()
        self.__Window.mainloop()
    def __initializationFinished(self):
        from MainScreen import MainScreen

        if len(sys.argv) >= 2:
            fn = sys.argv[1]
        else:
            fn = None

        stdscr = self.mainScreen.stdscr
        self.mainScreen = MainScreen(fn, None, (0,0))
        self.mainScreen.stdscr = stdscr
        self.__handleTerminalResize()
        self.mainScreen.makeFirstResponder()
Example #7
0
    def build(self):
        self.title = 'Text Translation'
        self.sm = ScreenManager()

        self.main_screen = MainScreen(name="main screen")

        def move_to_main(session_id = 0):
            self.sm.switch_to(self.main_screen)
            self.main_screen.session_id = session_id

        self.login_screen = LoginScreen(switch_main_callback=move_to_main, name="Login screen")

        self.sm.switch_to(self.login_screen)

        return self.sm
    def __cursesWrapper(self, stdscr):
        curses.curs_set(0) # No cursor
        stdscr.nodelay(1) # getch returns immediately
        stdscr.notimeout(1) # escape sequences come immediately

        # Begin with the initialization screen
        prefs = self.preferences
        doneHandler = self.__initializationFinished
        self.mainScreen = InitializationScreen(prefs, doneHandler, None, (0, 0))
        self.mainScreen.stdscr = stdscr

        # Make sure the terminal has enough space
        self.__handleTerminalResize(False)
        self.mainScreen.makeFirstResponder()

        # Main runloop
        while True:
            # Notifications
            Notification.handleNotifications()

            # List of responders
            c = stdscr.getch()
            if c == -1:
                continue
            
            if c == curses.KEY_RESIZE:
                self.__handleTerminalResize()
                continue

            r = self.mainScreen
            responders = [r]
            while True: 
                r = r.parentResponder
                if r != None:
                    responders.append(r)
                else:
                    break

            # Top down
            for i in range(len(responders)-1, -1, -1):
                r = responders[i]
                if r.activeModalSession() != None:
                    break
                
                if r.respondsTo(c):
                    r.handleEvent(c)
                    break
# -*- coding: utf-8 -*-
"""
Created on Wed Jul  4 17:05:03 2018

@author: Sander Oosterveld
"""
import pygame
from MainScreen import MainScreen
from queue import Queue

q = Queue()
screen = MainScreen(q)
musicFile = 'disturbed.ogg'
pygame.mixer.init()
pygame.mixer.music.load(musicFile)
pygame.mixer.music.play()
screen.start()
pygame.mixer.quit()
# -*- coding: utf-8 -*-
"""
Created on Tue Jul 31 18:42:53 2018

@author: Sander Oosterveld
"""

from MainScreen import MainScreen
from Alarm import Alarm, AlarmWidget
from queue import Queue
from Widget import TimeWidget, TextWidget, Position
from TimerObject import TimerObject

q = Queue()
screen = MainScreen(q)
screen.changeBackground('white')
alarm = Alarm("0700", "disturbed.ogg", True)
alarmWidget = AlarmWidget(screen, alarm)
timeWidget = TimeWidget(screen)
alarmWidget.make()
timeWidget.make()

timerObject = TimerObject(screen)
timerObject.addObject(screen.changeBackground, ("2300", -1), "black")
timerObject.addObject(screen.changeBackground, ("0630", -1), "white")
timerObject.addAlarm(alarm)
print(timerObject.getObjects())
alarm.setRepeat((1,2,3,4))
timerObject.updateAlarm(alarm)
print(timerObject.getObjects())
#timerObject.addObject(alarm.activate, ("0600", -1))
class FrontendAdafruitCharLCDPlate(pykka.ThreadingActor, core.CoreListener):

    def __init__(self, config, core):
        super(FrontendAdafruitCharLCDPlate, self).__init__()
        self.input_manager = InputManager()
        self.display_object = DisplayObject()

        if True:
            import Adafruit_CharLCD as LCD
            self.display = LCD.Adafruit_CharLCDPlate()
        else:
            from web_socket_lcd_simulator import WebSockectLCDSimulator
            self.display = WebSockectLCDSimulator()


        self.main_screen = MainScreen(core)
        self.running = True

    def on_start(self):
        # Add newline
        self.display.set_color(1.0, 0.0, 0.0)
        self.display.create_char(0, [16, 16, 16, 16, 16, 16, 0, 0])
        self.display.create_char(1, [24, 24, 24, 24, 24, 24, 0, 0])
        self.display.create_char(2, [28, 28, 28, 28, 28, 28, 0, 0])
        self.display.create_char(3, [30, 30, 30, 30, 30, 30, 0, 0])
        self.display.create_char(4, [31, 31, 31, 31, 31, 31, 0, 0])
        try:
            self.display.on_start()



        except AttributeError:
            pass
        t = threading.Thread(target=self.start_working)
        t.start()

    def on_stop(self):
        self.running = False
        try:
            self.display.on_stop()
        except AttributeError:
            pass

    def send_screen_update(self):
        self.display.clear()
        self.display.message(self.display_object.getString())

    def start_working(self):
        while self.running:
            self.update()
            sleep(0.03)

    def update(self):
        # Check inputs
        for event in self.input_manager.update(self.display):
            print event
            self.main_screen.input_event(event)

        if self.main_screen.check_and_update(self.display_object, True) or self.display_object.update():
            self.send_screen_update()


    # Events

    def playback_state_changed(self, old_state, new_state):
        self.main_screen.playback_state_changed(old_state, new_state)

    def track_playback_started(self, tl_track):
        self.main_screen.track_playback_started(tl_track)

    def track_playback_ended(self, tl_track, time_position):
        self.main_screen.track_playback_ended(tl_track, time_position)

    def track_playback_paused(self, tl_track, time_position):
        self.main_screen.track_playback_paused(tl_track, time_position)

    def track_playback_resumed(self, tl_track, time_position):
        self.main_screen.track_playback_resumed(tl_track, time_position)

    def seeked(self, time_position):
        self.main_screen.seeked(time_position)

    def volume_changed(self, volume):
        self.main_screen.volume_changed(volume)

    def stream_title_changed(self, title):
        self.main_screen.stream_title_changed(title)

    def playlists_loaded(self):
        self.main_screen.playlists_loaded()
Example #12
0
from kivy.core.window import Window

# This sets the window to size (800,800)
Window.size = (800, 700)

# Sets the colour of the window background
Window.clearcolor = (0.2, 0.2, 0.2, 0.5)

from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
from MainScreen import MainScreen
from EditScreen import EditScreen

# Creates new instances of the MainScreen and EditScreen
MainScreen = MainScreen()
EditScreen = EditScreen()


# MapScreen class -- responsible for th
class MapScreen(Screen):
    # Returns coordinates of mouse on the screen
    def __init__(self, **kwargs):
        super(MapScreen, self).__init__(**kwargs)
        # Binds the mouse_pos() function to the window -- the coordinates of the mouse is continuously retrieved.
        Window.bind(mouse_pos=self.mouse_pos)

    # Done by Gan Shyan
    # This function retrieves the coordinates of the mouse cursor on the map
    def mouse_pos(self, window, pos):
        self.ids.cursor_coordinate_id.text = "Cursor: " + str(pos)
class CursesApplication(object):
    MIN_SIZE = (80,24)
    
    def __init__(self):
        pass

    def run(self):
        self.preferences = Preferences.Preferences()
        try:
            self.preferences.readPreferences()
        except Preferences.PreferencesException as e:
            print("An error occurred while parsing the preferences:",
                  e, file=sys.stderr)
            return
            
        curses.wrapper(self.__cursesWrapper)

    def __cursesWrapper(self, stdscr):
        curses.curs_set(0) # No cursor
        stdscr.nodelay(1) # getch returns immediately
        stdscr.notimeout(1) # escape sequences come immediately

        # Begin with the initialization screen
        prefs = self.preferences
        doneHandler = self.__initializationFinished
        self.mainScreen = InitializationScreen(prefs, doneHandler, None, (0, 0))
        self.mainScreen.stdscr = stdscr

        # Make sure the terminal has enough space
        self.__handleTerminalResize(False)
        self.mainScreen.makeFirstResponder()

        # Main runloop
        while True:
            # Notifications
            Notification.handleNotifications()

            # List of responders
            c = stdscr.getch()
            if c == -1:
                continue
            
            if c == curses.KEY_RESIZE:
                self.__handleTerminalResize()
                continue

            r = self.mainScreen
            responders = [r]
            while True: 
                r = r.parentResponder
                if r != None:
                    responders.append(r)
                else:
                    break

            # Top down
            for i in range(len(responders)-1, -1, -1):
                r = responders[i]
                if r.activeModalSession() != None:
                    break
                
                if r.respondsTo(c):
                    r.handleEvent(c)
                    break

    def __handleTerminalResize(self, shouldRedraw=True):
        newSize = self.mainScreen.stdscr.getmaxyx()
        while newSize[0] < self.MIN_SIZE[1] or newSize[1] < self.MIN_SIZE[0]:
            self.mainScreen.stdscr.clear()
            error = "The minimal terminal size is " + str(self.MIN_SIZE)
            error = error[:newSize[1]]
            if newSize[1] > 1:
                self.mainScreen.stdscr.addstr(0, 0, error)

            self.mainScreen.stdscr.getch()
            newSize = self.mainScreen.stdscr.getmaxyx()
            
        self.mainScreen.size = newSize
        if shouldRedraw:
            self.mainScreen.clear()
            self.mainScreen.update()

    def __initializationFinished(self):
        from MainScreen import MainScreen

        if len(sys.argv) >= 2:
            fn = sys.argv[1]
        else:
            fn = None

        stdscr = self.mainScreen.stdscr
        self.mainScreen = MainScreen(fn, None, (0,0))
        self.mainScreen.stdscr = stdscr
        self.__handleTerminalResize()
        self.mainScreen.makeFirstResponder()