def __init__(self, parent, dp):
        wx.Panel.__init__(self, parent, ATTACKER_PANELENVIRONMENT_ID)
        self.dbProxy = dp
        self.theAttackerId = None
        self.theEnvironmentDictionary = {}
        self.theSelectedIdx = -1

        mainSizer = wx.BoxSizer(wx.HORIZONTAL)
        environmentBox = wx.StaticBox(self)
        environmentListSizer = wx.StaticBoxSizer(environmentBox, wx.HORIZONTAL)
        mainSizer.Add(environmentListSizer, 0, wx.EXPAND)
        self.environmentList = EnvironmentListCtrl(
            self, ATTACKERENVIRONMENT_LISTENVIRONMENTS_ID, self.dbProxy)
        environmentListSizer.Add(self.environmentList, 1, wx.EXPAND)
        environmentDimSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(environmentDimSizer, 1, wx.EXPAND)
        rmSizer = wx.BoxSizer(wx.HORIZONTAL)
        environmentDimSizer.Add(rmSizer, 1, wx.EXPAND)
        self.roleList = DimensionListCtrl(self,
                                          ATTACKERENVIRONMENT_LISTROLES_ID,
                                          wx.DefaultSize, 'Role', 'role',
                                          self.dbProxy)
        roleBox = wx.StaticBox(self)
        roleSizer = wx.StaticBoxSizer(roleBox, wx.HORIZONTAL)
        roleSizer.Add(self.roleList, 1, wx.EXPAND)
        rmSizer.Add(roleSizer, 1, wx.EXPAND)

        self.motiveList = DimensionListCtrl(
            self, ATTACKERENVIRONMENT_LISTMOTIVES_ID, wx.DefaultSize, 'Motive',
            'motivation', self.dbProxy)
        motiveBox = wx.StaticBox(self)
        motiveSizer = wx.StaticBoxSizer(motiveBox, wx.HORIZONTAL)
        motiveSizer.Add(self.motiveList, 1, wx.EXPAND)
        rmSizer.Add(motiveSizer, 1, wx.EXPAND)
        capBox = wx.StaticBox(self)
        capSizer = wx.StaticBoxSizer(capBox, wx.HORIZONTAL)
        environmentDimSizer.Add(capSizer, 1, wx.EXPAND)
        self.capabilitiesList = CapabilitiesListCtrl(
            self, ATTACKERENVIRONMENT_LISTCAPABILITIES_ID, self.dbProxy)
        capSizer.Add(self.capabilitiesList, 1, wx.EXPAND)
        self.SetSizer(mainSizer)
        self.environmentList.Bind(wx.EVT_LIST_INSERT_ITEM,
                                  self.OnAddEnvironment)
        self.environmentList.Bind(wx.EVT_LIST_DELETE_ITEM,
                                  self.OnDeleteEnvironment)