def addVariable(self, var, type_='CDMS'):
        """ Add variable into dict / list & emit signal to create
        a tab for the variable
        """

        if var is None:
            return

        from packages.vtDV3D import ModuleStore

        cdmsVar = None
        replaced = False
        if type_ == 'CDMS':
            if type(var) == tuple:
                cdmsVar = var[1]
                var = var[0]

        self.root.stick_defvar_into_main_dict(var)
        
        for i in range(self.varList.count()-1,-1,-1):
            if self.varList.item(i).getVarName() == var.id:
                replaced = True
                item = self.varList.item(i)
                item.setVariable(var)
                ModuleStore.addActiveVariable( item.varName, item.variable )
                break
                
        if not replaced:
            item = QDefinedVariableItem(var,self.root,cdmsVar)
            self.varList.addItem(item) 
            ModuleStore.addActiveVariable( item.varName, item.variable )