def CustomConfig(self, panel, sizer, irow):
        conf = self.panel.conf
        lpanel = panel
        lsizer = sizer
        labstyle = wx.ALIGN_LEFT|wx.LEFT|wx.TOP|wx.EXPAND

        self.zoom_mode = wx.RadioBox(panel, -1, "Cursor Mode:",
                                     wx.DefaultPosition, wx.DefaultSize,
                                     ('Zoom to Rectangle',
                                      'Pick Area for XRF Spectrum',
                                      'Show Line Profile'),
                                     1, wx.RA_SPECIFY_COLS)
        self.zoom_mode.Bind(wx.EVT_RADIOBOX, self.onCursorMode)
        sizer.Add(self.zoom_mode,  (irow, 0), (1, 4), labstyle, 3)
        if self.save_callback is not None:
            self.pos_name = wx.TextCtrl(panel, -1, '',  size=(175, -1),
                                        style=wx.TE_PROCESS_ENTER)
            self.pos_name.Bind(wx.EVT_TEXT_ENTER, self.onSavePixel)
            label   = SimpleText(panel, label='Save Position:',
                                 size=(-1, -1))
            # sbutton = Button(panel, 'Save Position', size=(100, -1),
            #                  action=self.onSavePixel)
            sizer.Add(label,         (irow+1, 0), (1, 2), labstyle, 3)
            sizer.Add(self.pos_name, (irow+1, 2), (1, 2), labstyle, 3)
            # sizer.Add(sbutton,       (irow+2, 0), (1, 2), labstyle, 3)

        if self.move_callback is not None:
            mbutton = Button(panel, 'Move to Position', size=(100, -1),
                                 action=self.onMoveToPixel)
            irow  = irow + 2
            sizer.Add(mbutton,       (irow+1, 0), (1, 2), labstyle, 3)
config panel for left-hand-side of frame
dataset/ETHPy150Open xraypy/xraylarch/plugins/wx/mapimageframe.py/MapImageFrame.CustomConfig