docs: def CreateControls(self, config_parser):
          """Create our sub-controls"""
          self.CreateMenuBar()
          self.SetupToolBar()
          self.CreateStatusBar()
          self.leftSplitter = wx.SplitterWindow(
              self
          )
          self.rightSplitter = wx.SplitterWindow(
              self.leftSplitter
          )
          self.listControl = listviews.DataView(
              self.leftSplitter,
              columns = PROFILE_VIEW_COLUMNS,
              name='mainlist',
          )
          self.squareMap = squaremap.SquareMap(
              self.rightSplitter,
              padding = 6,
              labels = True,
              adapter = self.adapter,
              square_style = True,
          )
          self.tabs = wx.Notebook(
              self.rightSplitter,
          )
  
          self.CreateSourceWindow(self.tabs)
          
          self.calleeListControl = listviews.DataView(
              self.tabs,
              columns = PROFILE_VIEW_COLUMNS,
              name='callee',
          )
          self.allCalleeListControl = listviews.DataView(
              self.tabs,
              columns = PROFILE_VIEW_COLUMNS,
              name='allcallee',
          )
          self.allCallerListControl = listviews.DataView(
              self.tabs,
              columns = PROFILE_VIEW_COLUMNS,
              name='allcaller',
          )
          self.callerListControl = listviews.DataView(
              self.tabs,
              columns = PROFILE_VIEW_COLUMNS,
              name='caller',
          )
          self.ProfileListControls = [
              self.listControl,
              self.calleeListControl,
              self.allCalleeListControl,
              self.callerListControl,
              self.allCallerListControl,
          ]
          self.tabs.AddPage(self.calleeListControl, _('Callees'), True)
          self.tabs.AddPage(self.allCalleeListControl, _('All Callees'), False)
          self.tabs.AddPage(self.callerListControl, _('Callers'), False)
          self.tabs.AddPage(self.allCallerListControl, _('All Callers'), False)
          if editor:
              self.tabs.AddPage(self.sourceCodeControl, _('Source Code'), False)
          self.rightSplitter.SetSashSize(10)
          # calculate size as proportional value for initial display...
          self.LoadState( config_parser )
          width, height = self.GetSizeTuple()
          rightsplit = 2 * (height // 3)
          leftsplit = width // 3
          self.rightSplitter.SplitHorizontally(self.squareMap, self.tabs,
                                               rightsplit)
          self.leftSplitter.SplitVertically(self.listControl, self.rightSplitter,
                                            leftsplit)
          squaremap.EVT_SQUARE_HIGHLIGHTED(self.squareMap,
                                           self.OnSquareHighlightedMap)
          squaremap.EVT_SQUARE_SELECTED(self.listControl,
                                        self.OnSquareSelectedList)
          squaremap.EVT_SQUARE_SELECTED(self.squareMap, self.OnSquareSelectedMap)
          squaremap.EVT_SQUARE_ACTIVATED(self.squareMap, self.OnNodeActivated)
          for control in self.ProfileListControls:
              squaremap.EVT_SQUARE_ACTIVATED(control, self.OnNodeActivated)
              squaremap.EVT_SQUARE_HIGHLIGHTED(control,
                                               self.OnSquareHighlightedList)
          self.moreSquareViewItem.Check(self.squareMap.square_style)