Пример #1
0
class QTE_Gui:
    # Main screen.
    screen = None

    # Main window.
    main_wnd = None
    # Settings window.
    settings_wnd = None

    # Window size.
    main_width = 280
    main_height = 420

    # Images.
    icons = None

    def __init__(self, screen):
        self.screen = screen

    def MainWindow(self, show=True):
        '''
		Main window.
		'''
        self.icons = nanogui.loadImageDirectory(self.screen.nvgContext(),
                                                "icons")

        self.main_wnd = Widget(self.screen)
        layout = GroupLayout()
        layout.setMargin(3)
        self.main_wnd.setLayout(layout)
        self.main_wnd.setFixedSize((self.main_width, self.main_height))

        b = Button(self.main_wnd, "Export")
        b.setFixedHeight(25)
        b.setCallback(ps_act.ExportFiles)

        # Slots.
        slots = Widget(self.main_wnd)
        slots.setPosition((20, 60))
        slots.setFixedHeight(345)

        self.DrawSlots(slots)

        # Tools.
        self.Tools(self.main_wnd)

        # Final draw.
        self.screen.setBackground(backgr_color)
        self.screen.drawAll()
        self.screen.drawContents()
        self.screen.performLayout()

    def SettingsWindow(self, show=True):

        self.screen.setBackground(backgr_color)
        self.screen.drawAll()
        self.screen.drawContents()
        self.screen.performLayout()

    def Tools(self, parent):
        '''
		Draw tools widget.
		'''
        tools = Widget(parent)
        tools.setPosition((20, 420))
        layout = BoxLayout(Orientation.Horizontal, Alignment.Middle, 0, 2)
        tools.setLayout(layout)

        tools2 = Widget(tools)
        tools2.setFixedWidth(150)

        b_size = (28, 28)
        b = Button(tools, "", entypo.ICON_ADD_TO_LIST)
        b.setFixedSize(b_size)

        def add():
            print("Add")

        b.setCallback(add)

        # Settings.
        b = Button(tools, "", entypo.ICON_ADJUST)
        b.setFixedSize(b_size)

        def settings():
            print("Add")
            self.main_wnd.setVisible(False)

        b.setCallback(settings)

        #
        b = Button(tools, "", entypo.ICON_ALIGN_BOTTOM)
        b.setFixedSize(b_size)

        # Save.
        b = Button(tools, "", entypo.ICON_INSTALL)
        b.setFixedSize(b_size)

    def GetImage(self, name):
        for img in self.icons:
            if (img[1] == name): return img

        return None

    def DrawSlots(self, parent):
        images = Widget(parent)
        images.setLayout(GroupLayout())

        vscroll = VScrollPanel(images)
        vscroll.setFixedHeight(300)
        vscroll.setFixedWidth(240)
        vscroll.setLayout(GroupLayout())

        self.DrawAllSlots(vscroll)

    def DrawAllSlots(self, parent):
        images = Widget(parent)
        images.setLayout(
            BoxLayout(Orientation.Vertical, Alignment.Middle, 0, 1))

        for i in range(10):
            slot = Slot(images, self.GetImage("icons/slot_bg"))
        slot = Slot(images, self.GetImage("icons/slot_bg"))
        slot = Slot(images, self.GetImage("icons/slot_bg"))