docs: def InitUI(self):
          """
          Make main user interface
          """
          bSizer0 = wx.StaticBoxSizer(
              wx.StaticBox(self.panel, wx.ID_ANY, "Choose MagIC project directory", name='bSizer0'), wx.HORIZONTAL
          )
          self.dir_path = wx.TextCtrl(self.panel, id=-1, size=(600, 25), style=wx.TE_READONLY)
          self.dir_path.SetValue(self.WD)
          self.change_dir_button = buttons.GenButton(
              self.panel, id=-1, label="change directory", size=(-1, -1), name='change_dir_btn'
          )
          self.change_dir_button.SetBackgroundColour("#F8F8FF")
          self.change_dir_button.InitColours()
          self.Bind(wx.EVT_BUTTON, self.on_change_dir_button, self.change_dir_button)
          bSizer0.Add(self.change_dir_button, wx.ALIGN_LEFT)
          bSizer0.AddSpacer(40)
          bSizer0.Add(self.dir_path, wx.ALIGN_CENTER_VERTICAL)
  
          self.bSizer_msg = wx.StaticBoxSizer(wx.StaticBox(
              self.panel, wx.ID_ANY, "Message", name='bsizer_msg'),
                                              wx.HORIZONTAL)
          self.message = wx.StaticText(self.panel, -1,
                                       label="Some text will be here",
                                       name='messages')
          self.bSizer_msg.Add(self.message)
  
          #---sizer 1 ----
          bSizer1 = wx.StaticBoxSizer(wx.StaticBox(
              self.panel, wx.ID_ANY, "Add information to the data model", name='bSizer1'),
                                      wx.HORIZONTAL)
  
          text = "1. add location data"
          self.btn1 = buttons.GenButton(self.panel, id=-1, label=text,
                                        size=(300, 50), name='locations_btn')
          self.btn1.SetBackgroundColour("#FDC68A")
          self.btn1.InitColours()
          self.Bind(wx.EVT_BUTTON, self.make_grid_frame, self.btn1)
  
          text = "2. add site data"
          self.btn2 = buttons.GenButton(self.panel, id=-1, label=text,
                                        size=(300, 50), name='sites_btn')
          self.btn2.SetBackgroundColour("#6ECFF6")
          self.btn2.InitColours()
          self.Bind(wx.EVT_BUTTON, self.make_grid_frame, self.btn2)
  
  
          text = "3. add sample data"
          self.btn3 = buttons.GenButton(self.panel, id=-1, label=text,
                                        size=(300, 50), name='samples_btn')
          self.btn3.SetBackgroundColour("#C4DF9B")
          self.btn3.InitColours()
          self.Bind(wx.EVT_BUTTON, self.make_grid_frame, self.btn3)
  
  
          text = "4. add specimen data"
          self.btn4 = buttons.GenButton(self.panel, id=-1,
                                        label=text, size=(300, 50), name='specimens_btn')
          self.btn4.SetBackgroundColour("#FDC68A")
          self.btn4.InitColours()
          self.Bind(wx.EVT_BUTTON, self.make_grid_frame, self.btn4)
  
  
          text = "5. add age data"
          self.btn5 = buttons.GenButton(self.panel, id=-1, label=text,
                                        size=(300, 50), name='ages_btn')
          self.btn5.SetBackgroundColour("#6ECFF6")
          self.btn5.InitColours()
          self.Bind(wx.EVT_BUTTON, self.make_grid_frame, self.btn5)
  
          text = "6. add measurements data"
          self.btn6 = buttons.GenButton(self.panel, id=-1, label=text,
                                        size=(300, 50), name='measurements_btn')
          self.btn6.SetBackgroundColour("#C4DF9B")
          self.btn6.InitColours()
          self.Bind(wx.EVT_BUTTON, self.make_grid_frame, self.btn6)
  
          bsizer1a = wx.BoxSizer(wx.VERTICAL)
          bsizer1a.AddSpacer(20)
          bsizer1a.Add(self.btn1, wx.ALIGN_TOP)
          bsizer1a.AddSpacer(20)
          bsizer1a.Add(self.btn2, wx.ALIGN_TOP)
          bsizer1a.AddSpacer(20)
          bsizer1a.Add(self.btn3, wx.ALIGN_TOP)
          bsizer1a.AddSpacer(20)
  
          bSizer1.Add(bsizer1a, wx.ALIGN_CENTER, wx.EXPAND)
          bSizer1.AddSpacer(20)
  
          #bSizer1.Add(OR, 0, wx.ALIGN_CENTER, 0)
          bSizer1.AddSpacer(20)
          bsizer1b = wx.BoxSizer(wx.VERTICAL)
          #__init__(self, parent, id, label, pos, size, style, validator, name
          bsizer1b.Add(self.btn4, flag=wx.ALIGN_CENTER|wx.BOTTOM, border=20)
          bsizer1b.Add(self.btn5, 0, flag=wx.ALIGN_CENTER|wx.BOTTOM, border=20)
          bsizer1b.Add(self.btn6, 0, wx.ALIGN_CENTER, 0)
          bSizer1.Add(bsizer1b, 0, wx.ALIGN_CENTER, 0)
          bSizer1.AddSpacer(20)
  
          #---sizer 2 ----
  
          self.bSizer2 = wx.StaticBoxSizer(wx.StaticBox(self.panel, wx.ID_ANY, "Create file for upload to MagIC database", name='bSizer2'), wx.HORIZONTAL)
  
          text = "prepare upload txt file"
          self.btn_upload = buttons.GenButton(self.panel, id=-1, label=text,
                                              size=(300, 50), name='upload_btn')
          self.btn_upload.SetBackgroundColour("#C4DF9B")
          self.btn_upload.InitColours()
          self.Bind(wx.EVT_BUTTON, self.on_upload_file, self.btn_upload)
  
          self.bSizer2.AddSpacer(20)
          self.bSizer2.Add(self.btn_upload, 0, wx.ALIGN_CENTER, 0)
          self.bSizer2.AddSpacer(20)
          #self.Bind(wx.EVT_BUTTON, self.on_btn_upload, self.btn_upload)
  
  
          #---arrange sizers ----
  
          self.hbox = wx.BoxSizer(wx.HORIZONTAL)
          vbox = wx.BoxSizer(wx.VERTICAL)
          vbox.AddSpacer(5)
          #vbox.Add(self.logo,0,wx.ALIGN_CENTER,0)
          vbox.AddSpacer(5)
          vbox.Add(bSizer0, 0, wx.ALIGN_CENTER, 0)
          vbox.AddSpacer(10)
          #vbox.Add(bSizer0_1, 0, wx.ALIGN_CENTER, 0)
          #vbox.AddSpacer(10)
          vbox.Add(self.bSizer_msg, 0, wx.ALIGN_CENTER, 0)
          self.bSizer_msg.ShowItems(False)
          vbox.Add(bSizer1, 0, wx.ALIGN_CENTER, 0)
          vbox.AddSpacer(10)
          vbox.AddSpacer(10)
          self.hbox.AddSpacer(10)
          vbox.Add(self.bSizer2, 0, wx.ALIGN_CENTER, 0)
          vbox.AddSpacer(10)
  
          self.hbox.Add(vbox, 0, wx.ALIGN_CENTER, 0)
          self.hbox.AddSpacer(5)
  
          self.panel.SetSizer(self.hbox)
          self.hbox.Fit(self)
  
          # do menu
          print("-I- Initializing menu")
          menubar = MagICMenu(self)
          self.SetMenuBar(menubar)
          self.menubar = menubar