Пример #1
0
    def show_screen(self, name, mode="next"):
        screenmanager = self.root
        if mode == "next":
            screenmanager.transition.direction = "left"
        elif mode == "previous":
            screenmanager.transition.direction = "right"
        else:
            raise Exception("Invalid show_screen mode")

        if screenmanager.has_screen(name):
            screenmanager.current = name
            return False

        screen = self.open_json(self.screen_json_path)[name]
        path = relpath(screen["path"])
        kv_path = join(path, screen["kv"])
        exec(
            f"from {self.path_to_import(path)}.{screen['py']} import {screen['cls']}"
        )
        Builder.load_file(kv_path)
        screen_wid = eval(f"Factory.{screen['cls']}(name='{name}')")
        screen_wid.bind(on_leave=self.unload_screen)
        screenmanager.add_widget(screen_wid)
        screenmanager.current = name
        return True
Пример #2
0
    def __init__(self, actor):
        kv_path = os.path.join(os.path.dirname(__file__), 'view.kv')
        Builder.load_file(kv_path)
        super().__init__()
        self.actor = actor
        self.troops = {}
        self.tiles = {}
        self.map_modes = {
            'faction': {},
            'fertility': {},
        }
        self.current_map_mode = None
        self.focus_center = (0, 0)
        self.focus_radius = 5

        self.console = Console(pos=self.pos,
                               height=self.height,
                               width=100,
                               size_hint=(None, None))
        self.console.commands['exit'] = self.toggle_console
        self.target = Target(pos=(0, 0))
        self.target_anim = None

        self.bind(size=self.on_size)
        self.console.ids.input.bind(focus=self._con_open_keyboard)

        self._open_keyboard()

        Clock.schedule_once(lambda dt: self.center_camera())
Пример #3
0
    def build(self):

        Window.clearcolor = (1, 1, 1, 1)

        Builder.load_file('main_screen.kv')

        return BaseScreen()
Пример #4
0
    def build(self):
        for kv in [
                "home", "lobby", "session", "config", "cfgsections", "widgets"
        ]:
            Builder.load_file(kv + ".kv")

        return Builder.load_file("app.kv")
Пример #5
0
    def gen_screens(self):

        self.root = BoxLayout()

        self.root.add_widget(Builder.load_file(self.config['general']['kv_folder']\
            +'left.kv'))

        smwindow = Builder.load_file(self.config['general']['kv_folder']+\
            'center.kv')

        self.sm = ScreenManager(transition=NoTransition())
        self.sm.add_widget(HomeScreen())
        self.sm.add_widget(NewLabel())
        self.sm.add_widget(AutoScan())
        self.sm.add_widget(ItemLookup())
        self.sm.add_widget(QuickLabel())
        self.root.add_widget(self.sm)

        self.sm.current = 'HomeScreen'

        self.sm.get_screen("HomeScreen").bind(on_leave=self.leave_screen)
        self.sm.get_screen("NewLabel").bind(on_leave=self.leave_screen)
        self.sm.get_screen("AutoScan").bind(on_leave=self.leave_screen)
        self.sm.get_screen("ItemLookup").bind(on_leave=self.leave_screen)
        self.sm.get_screen("QuickLabel").bind(on_leave=self.leave_screen)
Пример #6
0
    def __init__(self, db: DBMuziek, **kwargs):
        for file in glob.glob(os.path.join(os.path.dirname(__file__), 'layouts', '*.kv')):
            Builder.load_file(file)

        super().__init__(**kwargs)
        self._db = db
        self.root = None
Пример #7
0
    def __init__(self):
        kv_path = os.path.join(os.path.dirname(__file__), 'game_setup.kv')
        Builder.load_file(kv_path)
        super().__init__(name='game_setup')
        self.players = {}

        self.add_player('test_player')
Пример #8
0
 def __init__(self, **kwargs):
     self.set_dirs()
     kv_dir = self.dirs.get('kv_dir')
     kv_file = os.path.join(kv_dir, self.kv_file)
     if kv_file not in Builder.files:
         Builder.load_file(kv_file)
     super().__init__(**kwargs)
Пример #9
0
    def read_modules(self, passed_ob):
        path = Path("Modules/Windows")
        files = os.listdir(path)
        print(files)
        modules = []

        for current_file in files:
            if not current_file[-3] == '.':
                if not current_file == 'GuideLines.txt':
                    if not current_file == "__pycache__":
                        file_name = current_file[1:]
                        button_text = file_name.replace('_', ' ')
                        modules.append(str(file_name))

                        modulename = file_name + "Screens"
                        KVFile = str("Modules/Windows/{}/{}.kv").format(
                            current_file, file_name)

                        package = str("Modules.Windows.{}.{}").format(
                            current_file, modulename)
                        my_module = importlib.import_module(package)
                        Builder.load_file(KVFile)

                        EntryClass = getattr(my_module, modulename)
                        LoadScreen = EntryClass(name=modulename)
                        passed_ob.parent.add_widget(LoadScreen)
                        button = Button(text=button_text)
                        button.bind(on_press=partial(self.SwitchScreen,
                                                     passed_ob, modulename))

                        passed_ob.ids.ButtonGrid.add_widget(button)
        print('Current Modules Loaded:')
        print(modules)
Пример #10
0
 def build(self):
     Clock.schedule_interval(self.update_list, 1)
     global screenMGR
     screenMGR = ScreenManager()
     screenMGR.add_widget(Builder.load_file("UI//home.kv"))
     screenMGR.add_widget(Builder.load_file("UI//newnote.kv"))
     # screenMGR.current = "new_note"
     self.notes_list()
     return screenMGR
Пример #11
0
  def __init__(self,*args,**kwargs):
    super(Game,self).__init__(*args,**kwargs)
    Builder.load_file('game.kv') ## load the game's assigned layout file ##

    self.tree = Tree()
    self.tree.o_xs = 'self.center_x / 2'
    self.tree.o_ys = 'self.center_y / 2'
    self.add_widget(self.tree)

    Clock.schedule_interval(self.update,1.0/40)
Пример #12
0
    def configure_app(self):
        """Set all application configurations.

        Use this once when launch the application.
        """
        Builder.load_file(str(self.WIDGETS_DIR / 'task.kv'))
        self.on_color_scheme()
        self.configure_window()
        self.set_screen()
        self.set_pomodoro_values()
Пример #13
0
 def init_ui(self) -> None:
     """
     Initializes the screen manager, loads all screen kivy files and their associated python modules.
     """
     self.sm = ScreenManager()
     self.screens = {'menu': MenuScreen, 'play': PlayScreen}
     for n, s in self.screens.items():
         Builder.load_file(f'aiventure/client/uix/{n}.kv')
         self.sm.add_widget(s(name=n))
     self.sm.current = 'menu'
Пример #14
0
    def load_theme_kv(self, path):
        """
        path must be similar to "/optional/mywidget{}.kv" to be parsed by format.
        """
        try:
            Builder.load_file(path.format(self.theme))
        except FileNotFoundError as err:
            print("""Erreur lors de l'ouverture du fichier {} : {}
Chargement du fichier kv par défaut.""".format(path.format(self.theme), err))
            Builder.load_file(path.format("default"))
Пример #15
0
def importWidgets(dirName, returnLayouts=False):
    gameLayouts = []
    widgetsDir = abspath(f"{__file__}/../{dirName}")
    widgetDirs = (f for f in scandir(widgetsDir)
                  if f.is_dir() and f.name != "__pycache__")
    for widgetDir in widgetDirs:
        Builder.load_file(join(widgetDir.path, "widget.kv"))
        module = import_module(f"kivygames.{dirName}.{widgetDir.name}")
        if returnLayouts:
            gameLayouts.append(getattr(module, "layout")())
    return gameLayouts if returnLayouts else None
Пример #16
0
    def build(self):
        Builder.load_file('select.kv')
        manager = ScreenManager()

        global ECHO_SERVER
        ECHO_SERVER = Select(name='select')

        manager.add_widget(ECHO_SERVER)
        manager.add_widget(Login(name='login'))
        manager.add_widget(Lobby(name='lobby'))

        return manager
Пример #17
0
 def __init__(self, **kwargs):
     Builder.load_file('views/students_view.kv')
     super().__init__(**kwargs)
     self.detail_list = DetailList(headers=[
         "ID", "Name of student", "Gender of student", 'Date of joining',
         "gr #", "Father's name", "Mother's name", "Address",
         "Phone number (Mother)", "Phone number (Father)", "Date of birth",
         "Aadhar Card number", "Official Class", "Goes to goverment school",
         "Mother' main occupation", "Father' main occupation", "Status",
         "Comment"
     ])
     Clock.schedule_once(lambda dt: self.add_widget(self.detail_list))
Пример #18
0
    def build(self):
        # load main UI styles
        Builder.load_file(os.path.join(os.path.dirname(__file__), 'ui.kv'))

        # scrollview covering the entire window
        root = ScrollView(size_hint=(1, None),
                          size=(Window.width, Window.height))
        Window.bind(height=root.setter('height'))

        view = ExamView()
        root.add_widget(view)

        return root
Пример #19
0
def import_kivy_rule(files):
    """Import a kivy rule file only if it was not already imported.
        Check for full file name.
    Args:
        files (iterable): kivy rule files
    """
    if Builder:
        if isinstance(files, str):
            files = (files,)
        for file in files:
            if os.path.basename(file) in (os.path.os.path.basename(f) for f in Builder.files):
                continue
            Builder.load_file(file)
Пример #20
0
 def __init__(self, gui):
     self.gui = gui
     self.fa = FileActions()
     self.triaItems = []
     self.fileStoragePath = self.fa.join(
         self.gui.homeDirPath, 'triangulation.data'
     )  #self.fa.join(self.gui.homeDirPath, 'triangulation.data')
     Builder.load_file('layoutTrianAddDialog.kv')
     self.loadTriaItems()
     self.listBuild()
     self.aisBroadcasting = False
     self.hdg = 0.0
     self.lat = 0.0
     self.lon = 0.0
Пример #21
0
    def add_monitors(self):
        monitors = self.config['monitors'].values()
        if not monitors:
            self.root.add_widget(Label(text='No monitors'))
            return self.root
        config = self.config['shinobi']
        monitor_urls = [
            '/%s/monitor/%s/%s' % (
                config['apiKey'], config['groupKey'], mid
            ) for mid in monitors
        ]
        server_url = config['server'].rstrip('/')
        if config['layout'] == 'auto':
            layout = self.auto_layout(len(monitors))
        else:
            layout = Builder.load_file('layouts/%s.kv' % config['layout'])

        self.monitor_widgets = [
            widget for widget in layout.walk(restrict=True)
            if isinstance(widget, ShinobiMonitor)
        ]
        for url, monitor in zip(monitor_urls, self.monitor_widgets):
            monitor.serverURL = server_url
            monitor.monitorPath = url
            monitor.start()
        self.root.add_widget(layout)
        return self.root
Пример #22
0
 def build(self):
     self.theme_cls.primary_palette = "Amber"
     self.theme_cls.theme_style = 'Dark'
     screen = Screen()
     self.help_str = Builder.load_file('settings.kv')
     screen.add_widget(self.help_str)
     return screen
 def build(self):
     Window.size = 360, 640
     self.theme_cls.theme_style = 'Dark'
     KV = Builder.load_file('calculator.kv')
     sc = ScreenManager()
     cl = Calc()
     sc.add_widget(cl)
     return sc
Пример #24
0
 def build(self):
     #Builder.load_file("loopsutd.kv")
     print("I'm building!")
     if is_master:
         self.use_kivy_settings = False
         return Builder.load_file('touchscreenUI.kv')
     else:
         return self._otherbuild()
Пример #25
0
class CalcGridLayout(GridLayout):
    Builder.load_file('eiei.kv')

    def calculate(self, calculation):
        if calculation:
            try:
                self.display.text = str(eval(calculation))
            except Exception:
                self.display.text = "Error"
Пример #26
0
class main(App):
    global SymbolsList, SpadesCard, HeartCard, ClubCard, DiamondCard, Card, Solution, countDeck
    Builder.load_file("GUItest.kv")

    def build(self):
        sm = ScreenManager()
        sm.add_widget(start(name='start'))
        sm.add_widget(play(name='play'))
        return sm
Пример #27
0
 def build(self):
     if platform == 'android':
         from android import loadingscreen
         loadingscreen.hide_loading_screen()
     self.theme_cls.primary_palette = "Pink"
     self.theme_cls.secondary_palette = "Dark"
     ui = Builder.load_file('main_screen.kv')
     Logger.debug("Logger is started")
     return ui
Пример #28
0
 def __init__(self):
     self.kv = Builder.load_file("GUI.kv")
     self.gui = GUI(self.kv)
     global ValidDays
     ValidDays = ['Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes']
     global ValidHours
     for i in range(7, 23):
         ValidHours.append(str(i) + ':00')
     global dataManager
     dataManager = DataManager()
Пример #29
0
    def __init__(self):
        super(Main, self).__init__()
        self.theme_cls.primary_palette = "Amber"

        self.title = "Four in a row"
        self.root = Builder.load_file("style.kv")
        self.current_widget = MDBoxLayout()

        self.start_widget = StartWidget(self.start_game, self.change_theme)
        self.theme_widget = ThemeWidget(self, self.return_back)
        self.current_widget.add_widget(self.start_widget)
Пример #30
0
    def build(self):

        screen = Screen()

        self.help_str = Builder.load_file("main.kv")

        screen.add_widget(self.help_str)
        users_tables = MDDataTable(
            pos_hint={
                'center_x': 0.5,
                'center_y': 0.5
            },
            size_hint=(1, 1),
            use_pagination=True,
            check=True,
            column_data=[
                ("Nom", dp(30)),
                ("Prenom", dp(30)),
                ("Code", dp(30)),
                ("Tel", dp(30)),
                ("Nombre d'étudiants", dp(30)),
            ],
            row_data=self.users,
        )

        users_tables.bind(on_check_press=self.user_check_press)
        users_tables.bind(on_row_press=self.row_press)

        students_tables = MDDataTable(pos_hint={
            'center_x': 0.5,
            'center_y': 0.5
        },
                                      size_hint=(1, 1),
                                      use_pagination=True,
                                      check=True,
                                      column_data=[
                                          ("Nom", dp(30)),
                                          ("Prenom", dp(30)),
                                          ("Code", dp(30)),
                                          ("Tel", dp(30)),
                                          ("code paraints", dp(30)),
                                      ],
                                      row_data=self.students)

        students_tables.bind(on_check_press=self.check_press)
        students_tables.bind(on_row_press=self.row_press)

        self.help_str.ids.screen_manager.get_screen(
            'manage_users').children[0].add_widget(users_tables)
        self.help_str.ids.screen_manager.get_screen(
            'manage_students').add_widget(students_tables)

        return screen
Пример #31
0
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.gridlayout import GridLayout
from kivy.lang.builder import Builder
from player import Player

Builder.load_file('sprites.kv')

class Fleet(GridLayout):
    pass

class GalaxyInvaders(FloatLayout):
    pass

class GalaxyInvadersApp(App):
    def build(self):
        return GalaxyInvaders()

if __name__ == '__main__':
    GalaxyInvadersApp().run()