示例#1
0
  def __init__(self,parent,winId = armid.COMPONENTVIEW_LISTCOMPONENTS_ID):
    TraceableList.__init__(self,parent,winId,'component')
    self.theParentDialog = parent
    b = Borg()
    self.dbProxy = b.dbProxy
    self.theSelectedLabel = ""
    self.theSelectedIdx = -1
    self.theViewName = ''
    self.theComponents = []
    self.InsertColumn(0,'Component')
    self.SetColumnWidth(0,100)
    self.InsertColumn(1,'Description')
    self.SetColumnWidth(1,100)
    self.InsertColumn(2,'Interface')
    self.SetColumnWidth(2,100)
    self.theSelectedIdx = -1
    self.theTraceMenu.Append(armid.AA_MENUADD_ID,'Add')
    self.theTraceMenu.Append(armid.AA_MENUDELETE_ID,'Delete')
    self.theTraceMenu.AppendSeparator()
    self.theTraceMenu.Append(armid.COMPONENTLIST_VIEWASSETS_ID,'View Assets')
    self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK,self.onRightClick)
    wx.EVT_MENU(self.theTraceMenu,armid.AA_MENUADD_ID,self.onAddComponent)
    wx.EVT_MENU(self.theTraceMenu,armid.AA_MENUDELETE_ID,self.onDeleteComponent)
    wx.EVT_MENU(self.theTraceMenu,armid.COMPONENTLIST_VIEWASSETS_ID,self.onViewAssets)

    self.Bind(wx.EVT_LIST_ITEM_SELECTED,self.OnItemSelected)
    self.Bind(wx.EVT_LIST_ITEM_DESELECTED,self.OnItemDeselected)
    self.Bind(wx.EVT_LIST_ITEM_ACTIVATED,self.onComponentActivated)
示例#2
0
  def __init__(self,parent,winId = COMPONENTVIEW_LISTCOMPONENTS_ID):
    TraceableList.__init__(self,parent,winId,'component')
    self.theParentDialog = parent
    b = Borg()
    self.dbProxy = b.dbProxy
    self.theSelectedLabel = ""
    self.theSelectedIdx = -1
    self.theViewName = ''
    self.theComponents = []
    self.InsertColumn(0,'Component')
    self.SetColumnWidth(0,100)
    self.InsertColumn(1,'Description')
    self.SetColumnWidth(1,100)
    self.InsertColumn(2,'Interface')
    self.SetColumnWidth(2,100)
    self.theSelectedIdx = -1
    self.theTraceMenu.Append(AA_MENUADD_ID,'Add')
    self.theTraceMenu.Append(AA_MENUDELETE_ID,'Delete')
    self.theTraceMenu.AppendSeparator()
    self.theTraceMenu.Append(COMPONENTLIST_VIEWASSETS_ID,'View Assets')
    self.theTraceMenu.Append(COMPONENTLIST_VIEWGOALS_ID,'View Goals')
    self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK,self.onRightClick)
    wx.EVT_MENU(self.theTraceMenu,AA_MENUADD_ID,self.onAddComponent)
    wx.EVT_MENU(self.theTraceMenu,AA_MENUDELETE_ID,self.onDeleteComponent)
    wx.EVT_MENU(self.theTraceMenu,COMPONENTLIST_VIEWASSETS_ID,self.onViewAssets)
    wx.EVT_MENU(self.theTraceMenu,COMPONENTLIST_VIEWGOALS_ID,self.onViewGoals)

    self.Bind(wx.EVT_LIST_ITEM_SELECTED,self.OnItemSelected)
    self.Bind(wx.EVT_LIST_ITEM_DESELECTED,self.OnItemDeselected)
    self.Bind(wx.EVT_LIST_ITEM_ACTIVATED,self.onComponentActivated)
示例#3
0
  def __init__(self,parent,winId):
    TraceableList.__init__(self,parent,winId,'usecase')
    self.theParentDialog = parent
    b = Borg()
    self.dbProxy = b.dbProxy
    self.theSelectedLabel = ""
    self.theSelectedIdx = -1
    self.theTraceMenu.Append(CLC_MENU_REFERENCECONTRIBUTION_ID,'Use Case Contribution')
    wx.EVT_MENU(self,CLC_MENU_REFERENCECONTRIBUTION_ID,self.onUseCaseContribution)

    self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.onRightClick)
    self.Bind(wx.EVT_LIST_ITEM_SELECTED,self.OnItemSelected)
    self.Bind(wx.EVT_LIST_ITEM_DESELECTED,self.OnItemDeselected)

    self.rsItem = self.theTraceMenu.FindItemById(CLC_MENU_REFERENCECONTRIBUTION_ID)
    self.rsItem.Enable(False)
示例#4
0
  def __init__(self,parent,winId):
    TraceableList.__init__(self,parent,winId,'usecase')
    self.theParentDialog = parent
    b = Borg()
    self.dbProxy = b.dbProxy
    self.theSelectedLabel = ""
    self.theSelectedIdx = -1
    self.theTraceMenu.Append(armid.CLC_MENU_REFERENCECONTRIBUTION_ID,'Use Case Contribution')
    wx.EVT_MENU(self,armid.CLC_MENU_REFERENCECONTRIBUTION_ID,self.onUseCaseContribution)

    self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.onRightClick)
    self.Bind(wx.EVT_LIST_ITEM_SELECTED,self.OnItemSelected)
    self.Bind(wx.EVT_LIST_ITEM_DESELECTED,self.OnItemDeselected)

    self.rsItem = self.theTraceMenu.FindItemById(armid.CLC_MENU_REFERENCECONTRIBUTION_ID)
    self.rsItem.Enable(False)
示例#5
0
    def buildListCtrl(parent, winId, columnNames, objtFn, dimName, envName=''):
        listCtrl = 0
        if (dimName == 'response'):
            listCtrl = ResponseListCtrl(parent, winId)
        elif (dimName == 'countermeasure'):
            listCtrl = CountermeasureListCtrl(parent, winId)
        elif (dimName == 'securitypattern'):
            listCtrl = SecurityPatternListCtrl(parent, winId)
        elif (dimName == 'template_asset'):
            listCtrl = TemplateAssetListCtrl(parent, winId)
        elif (dimName == 'scenario'):
            listCtrl = TraceableList(parent, winId, 'scenario')
        elif (dimName == 'asset'):
            listCtrl = TraceableList(parent, winId, 'asset')
        elif (dimName == 'goal'):
            listCtrl = TraceableList(parent, winId, 'goal')
        elif (dimName == 'obstacle'):
            listCtrl = TraceableList(parent, winId, 'obstacle')
        elif (dimName == 'task'):
            listCtrl = TraceableList(parent, winId, 'task')
        elif (dimName == 'document_reference'):
            listCtrl = ReferencedCharacteristicsListCtrl(
                parent, winId, 'document_reference')
        elif (dimName == 'concept_reference'):
            listCtrl = ReferencedCharacteristicsListCtrl(
                parent, winId, 'concept_reference')
        elif (dimName == 'usecase'):
            listCtrl = UseCaseListCtrl(parent, winId)
        elif (dimName == 'component_view'):
            listCtrl = ComponentViewListCtrl(parent, winId)
        else:
            listCtrl = ObjectListCtrl(parent, winId)

        for idx, columnName in enumerate(columnNames):
            listCtrl.InsertColumn(idx, columnName)

        valueTypes = set([
            'asset_value', 'threat_value', 'risk_class',
            'countermeasure_value', 'capability', 'motivation', 'asset_type',
            'threat_type', 'vulnerability_type', 'severity', 'likelihood',
            'access_right', 'protocol', 'privilege', 'surface_type'
        ])
        if (dimName in valueTypes):
            if envName == '':
                parent.objts = objtFn(dimName)
            else:
                parent.objts = objtFn(dimName, envName)
            newParentObjts = {}
            listRow = 0
            for objt in parent.objts:
                parent.addObjectRow(listCtrl, listRow, objt)
                newParentObjts[objt.name()] = objt
                listRow += 1
            parent.objts = newParentObjts
        else:
            parent.objts = objtFn()

            listRow = 0
            keyNames = parent.objts.keys()
            keyNames.sort()
            for keyName in keyNames:
                objt = parent.objts[keyName]
                parent.addObjectRow(listCtrl, listRow, objt)
                listRow += 1

        for idx, columnNames in enumerate(columnNames):
            listCtrl.SetColumnWidth(idx, 125)
        return listCtrl