Exemple #1
0
  def _create_widgets(self):
    self._main = fbgui.Panel("main",
                             settings=fbgui.Settings({
                             }),toplevel=True)
    fbgui.Image("background",img=self._imgpath,parent=self._main)
    self._vbox = fbgui.VBox("vbox",
                            settings=fbgui.Settings({
                             'align': (fbgui.TOP,fbgui.LEFT),
                             'width': 1.0,
                             'height': 1.0,
                             'padding': 10
                            }),parent=self._main)
    self._header = fbgui.Panel("header",
                            settings=fbgui.Settings({
                             'width': 1.0,
                             'padding': 10
                            }),parent=self._vbox)
    self._dtlabel = fbgui.Label("datetime","Do 21.11.2019 16:41",
                                settings=fbgui.Settings({
                                  'align': fbgui.LEFT}),
                                parent=self._header)
    self._templabel = fbgui.Label("temp","22.5°C",
                                settings=fbgui.Settings({
                                  'align': fbgui.RIGHT}),
                                parent=self._header)
    self._wdata   = fbgui.Text("wdata","""Wetterbericht für: München

               leichter Nebel
  _ - _ - _ -  3..4 °C        
   _ - _ - _   ← 6 km/h       
  _ - _ - _ -  4 km           
               0.1 mm""",
                                parent=self._vbox)
Exemple #2
0
    def get_widgets(self):
        """ create widget-tree """

        main = fbgui.Panel("main",
                           settings=fbgui.Settings(
                               {'margins': (10, 10, 10, 10)}),
                           toplevel=True)
        # add HBox
        hbox = fbgui.HBox("hbox",
                          settings=fbgui.Settings({
                              'margins':
                              5,
                              'padding':
                              30,
                              'bg_color':
                              fbgui.Color.SILVER,
                              'align': (fbgui.CENTER, fbgui.CENTER),
                          }),
                          parent=main)
        main.add(hbox)

        # and text
        label = fbgui.Label("id_label",
                            "Number:",
                            settings=fbgui.Settings({
                                'font_size': FONT_LARGE,
                            }),
                            parent=hbox)
        number = fbgui.Label("id_number",
                             "x",
                             settings=fbgui.Settings({
                                 'font_size': FONT_LARGE,
                             }),
                             parent=hbox)
        return main, number
Exemple #3
0
def get_widgets():
  """ create widget-tree """
    
  main = fbgui.Panel("main",
                      settings=fbgui.Settings({'margins': (10,10,10,10)}),
                      toplevel=True)
  # add VBox
  vbox = fbgui.VBox("vbox",
                      settings=fbgui.Settings({
                      'margins': 5,
                      'padding': 2,
                      'bg_color': fbgui.Color.SILVER,
                      'align':    (fbgui.LEFT,fbgui.TOP),
                      }),parent=main)

  # add three texts
  txt1 = fbgui.Label("id_txt1","this is",
                      settings=fbgui.Settings({
                      'font_size': FONT_SMALL,
                      'bg_color' : fbgui.Color.RED080,
                      'align':     fbgui.LEFT,
                      }),parent=vbox)
  txt2 = fbgui.Label("id_txt2","a small",
                      settings=fbgui.Settings({
                      'font_size': FONT_MEDIUM,
                      'bg_color' : fbgui.Color.GREEN080,
                      'align':     fbgui.CENTER,
                      }),parent=vbox)
  txt3 = fbgui.Label("id_txt1","and long text",
                      settings=fbgui.Settings({
                      'font_size': FONT_LARGE,
                      'align':     fbgui.RIGHT,
                      }),parent=vbox)
  return main
Exemple #4
0
def add_panels(parent):
    """ add HBox with panels """

    # add a full-size HBox
    hbox = fbgui.HBox("hbox_panels",
                      settings=fbgui.Settings({
                          'margins':
                          5,
                          'padding':
                          30,
                          'width':
                          1.0,
                          'bg_color':
                          fbgui.Color.SILVER,
                          'align': (fbgui.CENTER, fbgui.TOP),
                      }),
                      parent=parent)

    # add three panels
    panel1 = fbgui.Panel("id_panel1",
                         settings=fbgui.Settings({
                             'height': 20,
                             'weight': 1,
                             'bg_color': fbgui.Color.RED080,
                             'align': fbgui.BOTTOM,
                         }),
                         parent=hbox)
    panel2 = fbgui.Panel("id_panel2",
                         settings=fbgui.Settings({
                             'height': 30,
                             'weight': 1,
                             'bg_color': fbgui.Color.GREEN080,
                             'align': fbgui.CENTER,
                         }),
                         parent=hbox)
    panel3 = fbgui.Panel("id_panel3",
                         settings=fbgui.Settings({
                             'height':
                             40,
                             'weight':
                             2,
                             'bg_color':
                             fbgui.Color.BLUE080,
                         }),
                         parent=hbox)
Exemple #5
0
def get_widgets():
    """ create widget-tree """

    main = fbgui.Panel("main",
                       settings=fbgui.Settings({
                           'bg_color': fbgui.Color.GRAY090,
                           'margins': (10, 10, 10, 10)
                       }),
                       toplevel=True)

    box = fbgui.HBox("button_box",
                     settings=fbgui.Settings({
                         'bg_color': fbgui.Color.SILVER,
                         'uniform': True,
                         'width': 1.0,
                         'padding': 10,
                         'align': fbgui.CENTER
                     }),
                     parent=main)

    fbgui.Button("btn_red",
                 None,
                 "Off",
                 settings=fbgui.Settings({
                     'weight': 1,
                     'bg_color': fbgui.Color.RED
                 }),
                 parent=box)

    fbgui.Button("btn_green",
                 None,
                 "Standby",
                 settings=fbgui.Settings({
                     'weight': 1,
                     'bg_color': fbgui.Color.GREEN
                 }),
                 parent=box)

    fbgui.Button("btn_yellow",
                 None,
                 "Kodi",
                 settings=fbgui.Settings({
                     'weight': 1,
                     'bg_color': fbgui.Color.YELLOW
                 }),
                 parent=box)

    fbgui.Button("btn_blue",
                 None,
                 "Switch mode",
                 settings=fbgui.Settings({
                     'weight': 1,
                     'bg_color': fbgui.Color.BLUE
                 }),
                 parent=box)
    return main
Exemple #6
0
def get_widgets():
    """ create widget-tree """

    main = fbgui.Panel("main",
                       settings=fbgui.Settings({'margins': (10, 10, 10, 10)}),
                       toplevel=True)

    # add a text-box at the top
    txt1 = "The first line.\nThe second line.\n\nThe fourth line."
    text1 = fbgui.Text("txt1",
                       txt1,
                       settings=fbgui.Settings({
                           'margins':
                           5,
                           'bg_color':
                           fbgui.Color.BLUE,
                           'fg_color':
                           fbgui.Color.WHITE,
                           'rows':
                           3,
                           'align': (fbgui.CENTER, fbgui.TOP),
                       }),
                       parent=main)

    # add a text-box in the center
    txt2 = "The first line.\nThe second line.\n clipped \nThe fourth line"
    text2 = fbgui.Text("txt2",
                       txt2,
                       settings=fbgui.Settings({
                           'margins':
                           5,
                           'height':
                           0.115,
                           'bg_color':
                           fbgui.Color.BLUE,
                           'fg_color':
                           fbgui.Color.WHITE,
                           'align': (fbgui.CENTER, fbgui.CENTER),
                       }),
                       parent=main)

    # add a text-box at the bottom
    txt3 = "The first line.\nThe second line.\n\nThe fourth line."
    text2 = fbgui.Text("txt3",
                       txt3,
                       settings=fbgui.Settings({
                           'margins':
                           5,
                           'bg_color':
                           fbgui.Color.BLUE,
                           'fg_color':
                           fbgui.Color.WHITE,
                           'align': (fbgui.CENTER, fbgui.BOTTOM),
                       }),
                       parent=main)
    return main
Exemple #7
0
def get_widgets():
    """ create widget-tree """

    colors = [
        fbgui.Color.RED, fbgui.Color.GREEN, fbgui.Color.BLUE,
        fbgui.Color.RED075, fbgui.Color.GREEN075, fbgui.Color.BLUE075,
        fbgui.Color.RED025, fbgui.Color.GREEN025, fbgui.Color.BLUE025
    ]

    main = fbgui.Panel("main",
                       settings=fbgui.Settings({'margins': (5, 5, 5, 5)}),
                       toplevel=True)
    # add child panels
    index = 0
    for valign in [fbgui.TOP, fbgui.CENTER, fbgui.BOTTOM]:
        for halign in [fbgui.LEFT, fbgui.CENTER, fbgui.RIGHT]:
            config = fbgui.Settings({
                'width': 80,
                'height': 40,
                'radius': 0.1 * index,
                'bg_color': colors[index],
                'align': (halign, valign)
            })
            box = fbgui.Panel("box%d" % index, settings=config, parent=main)
            index += 1

    # add child lines
    config = fbgui.Settings({
        'width': 1.0,
        'height': 0,
        'fg_color': fbgui.Color.BLACK,
        'align': fbgui.CENTER,
        'orientation': fbgui.HORIZONTAL
    })
    line = fbgui.Line("hline", settings=config, parent=main)

    config.width = 0
    config.height = 1.0
    config.orientation = fbgui.VERTICAL
    line = fbgui.Line("vline", settings=config, parent=main)

    return main
Exemple #8
0
def get_widgets():
    """ create widget-tree """

    main = fbgui.Panel("main",
                       settings=fbgui.Settings({'margins': (10, 10, 10, 10)}),
                       toplevel=True)
    # add VBox
    vbox = fbgui.VBox("vbox",
                      settings=fbgui.Settings({
                          'margins':
                          20,
                          'padding':
                          2,
                          'align': (fbgui.CENTER, fbgui.TOP),
                      }),
                      parent=main)

    # add a label
    label = fbgui.Label("msg",
                        "",
                        settings=fbgui.Settings({
                            'align': (fbgui.CENTER, fbgui.BOTTOM),
                        }),
                        parent=main)

    # add four buttons
    colors = [
        fbgui.Color.RED075, fbgui.Color.GREEN075, fbgui.Color.YELLOW,
        fbgui.Color.BLUE075
    ]
    text = ["play", "pause", "stop", "record"]
    images = ["play.png", "pause.png", "stop.png", "record.png"]
    attribs = zip(colors, text, images)
    index = 1
    for color, text, image in attribs:
        image = os.path.join(PGM_DIR, image)
        btn = fbgui.Button("btn_%d" % index,
                           img=image,
                           text=text,
                           settings=fbgui.Settings({
                               'width': 150,
                               'font_size': FONT_MEDIUM,
                               'bg_color': color,
                               'align': fbgui.CENTER,
                           }),
                           parent=vbox)
        btn.on_click = lambda widget, event, text=text: set_msg(
            widget, event, text, label)
        index += 1
    return main
Exemple #9
0
 def get_widgets(self):
   """ create widget-tree """
   
   main = fbgui.Panel("main",
                     settings=fbgui.Settings({'margins': (10,10,10,10)}),
                     toplevel=True)
   # add Image
   self._img_widget = fbgui.Image("img",img=None,
                     settings=fbgui.Settings({
                       'width': 600,
                       'height': 200,
                       'scale': False,             
                       'align': (fbgui.CENTER,fbgui.CENTER),
                     }),parent=main)
   return main
Exemple #10
0
def get_widgets():
    """ create widget-tree """

    colors = [
        fbgui.Color.RED, fbgui.Color.GREEN, fbgui.Color.BLUE,
        fbgui.Color.RED075, fbgui.Color.GREEN075, fbgui.Color.BLUE075,
        fbgui.Color.RED025, fbgui.Color.GREEN025, fbgui.Color.BLUE025
    ]

    labels = [
        "top-left", "top-center", "top-right", "center-left", "center-center",
        "center-right", "bottom-left", "bottom-center", "bottom-right"
    ]

    sizes = [
        FONT_SMALL, FONT_MEDIUM, FONT_LARGE, FONT_SMALL, FONT_MEDIUM,
        FONT_LARGE, FONT_SMALL, FONT_MEDIUM, FONT_LARGE
    ]

    main = fbgui.Panel("main",
                       settings=fbgui.Settings({'margins': (5, 5, 5, 5)}),
                       toplevel=True)
    # add child panels
    index = 0
    for valign in [fbgui.TOP, fbgui.CENTER, fbgui.BOTTOM]:
        for halign in [fbgui.LEFT, fbgui.CENTER, fbgui.RIGHT]:
            config = fbgui.Settings({
                'fg_color': colors[index],
                'font_size': sizes[index],
                'align': (halign, valign)
            })
            text = labels[index]
            if index == 1:
                # test background
                config.bg_color = fbgui.Color.GRAY090
            elif index == 4:
                # test empty label: fill with background
                text = ""
                config.bg_color = fbgui.Color.BLACK
                config.width = 80
                config.height = 40
            label = fbgui.Label("label-%d" % index,
                                text,
                                settings=config,
                                parent=main)
            index += 1

    return main
Exemple #11
0
  def _add_date_box(self,main):
    """ add date-box """

    panel = fbgui.Panel("date_box",
                         settings=fbgui.Settings({
                          'bg_color': fbgui.Color.SILVER,
                          'radius': 0.9,
                          'margins': 20,
                          'width': 1.0,
                          'height': 0.093
                          }),parent=main)
    self._msg = fbgui.Label("msg_label","initializing...",
                            settings=fbgui.Settings({
                              'align': fbgui.LEFT
                           }),parent=panel)
    self._date = fbgui.Label("date_label","",
                            settings=fbgui.Settings({
                              'align': fbgui.RIGHT
                           }),parent=panel)
Exemple #12
0
 def _create_widgets(self):
     self._main = fbgui.Panel("main",
                              settings=fbgui.Settings({}),
                              toplevel=True)
     self._vbox = fbgui.VBox("vbox",
                             settings=fbgui.Settings({
                                 'margins':
                                 20,
                                 'radius':
                                 0.2,
                                 'align':
                                 fbgui.CENTER,
                                 'bg_color':
                                 fbgui.Color.SILVER,
                                 'padding':
                                 10
                             }),
                             parent=self._main)
     self._dlabel = fbgui.Label("dlabel",
                                "Sa 04.05.2019",
                                settings=fbgui.Settings({
                                    'font_size':
                                    self.theme.font_size_s,
                                    'align':
                                    fbgui.CENTER
                                }),
                                parent=self._vbox)
     self._tlabel = fbgui.Label("tlabel",
                                "14:23:12",
                                settings=fbgui.Settings({
                                    'font_name':
                                    "DSEG7Classic-Bold.ttf",
                                    'font_size':
                                    self.theme.font_size_xxl,
                                    'align':
                                    fbgui.CENTER
                                }),
                                parent=self._vbox)