def METHOD_NAME(self, container):
    self.viewer = self.pipeline.get('viewer')
    fr = Widgets.Frame("White Balance")
    vbox = Widgets.VBox()
    captions = (('R:', 'label', 'rval', 'entry',
                 'G:', 'label', 'gval', 'entry',
                 'B:', 'label', 'bval', 'entry'),
                ('Luminosity:', 'label', 'lum', 'entry')
                )
    w, b = Widgets.build_info(captions, orientation='vertical')
    self.w.update(b)
    # b.rval.set_limits(0, 255, 1)
    # b.gval.set_limits(0, 255, 1)
    # b.bval.set_limits(0, 255, 1)
    b.rval.set_text(str(self._rval))
    b.gval.set_text(str(self._gval))
    b.bval.set_text(str(self._bval))
    self._calc_lum()
    b.lum.set_text(str(self._lum))
    b.rval.add_callback('activated', self.chval_cb)
    b.gval.add_callback('activated', self.chval_cb)
    b.bval.add_callback('activated', self.chval_cb)
    b.lum.add_callback('activated', self.chlum_cb)
    vbox.add_widget(w, stretch=0)
    hbox = Widgets.HBox()
    hbox.set_spacing(2)
    self.w.white = Widgets.RadioButton("White")
    #self.w.gray = Widgets.RadioButton("Gray", group=self.w.white)
    self.w.white.set_state(True)
    self.w.white.set_enabled(False)
    hbox.add_widget(Widgets.Label(''), stretch=1)
    hbox.add_widget(self.w.white, stretch=0)
    #hbox.add_widget(self.w.gray, stretch=0)
    vbox.add_widget(hbox, stretch=0)
    fr.set_widget(vbox)
    container.set_widget(fr)
    self.viewer = self.pipeline.get('viewer')
    self.canvas.set_surface(self.viewer)
    self.canvas.register_for_cursor_drawing(self.viewer)
    x, y = 0, 0
    self.picker_obj = self.dc.Crosshair(x, y, color=self.crosshair_color)