Exemplo n.º 1
0
    def testColumnWidth(self):
        """ test setting column widths """

        config = QgsAttributeTableConfig()
        c1 = QgsAttributeTableConfig.ColumnConfig()
        c1.name = 'test'
        c1.width = -1
        c2 = QgsAttributeTableConfig.ColumnConfig()
        c2.name = 'test2'
        c2.width = 27
        config.setColumns([c1, c2])

        self.assertEqual(config.columnWidth(0), -1)
        self.assertEqual(config.columnWidth(1), 27)

        with self.assertRaises(IndexError):
            config.columnWidth(-1)
        with self.assertRaises(IndexError):
            config.columnWidth(2)

        config.setColumnWidth(1, -1)
        self.assertEqual(config.columnWidth(0), -1)
        self.assertEqual(config.columnWidth(1), -1)
        self.assertEqual(config.columns()[0].width, -1)
        self.assertEqual(config.columns()[1].width, -1)

        config.setColumnWidth(0, 34)
        self.assertEqual(config.columnWidth(0), 34)
        self.assertEqual(config.columnWidth(1), -1)
        self.assertEqual(config.columns()[0].width, 34)
        self.assertEqual(config.columns()[1].width, -1)

        with self.assertRaises(IndexError):
            config.setColumnWidth(-1, 11)
        with self.assertRaises(IndexError):
            config.setColumnWidth(2, 11)

        c2.width = 12
        config.setColumns([c1, c2])
        self.assertEqual(config.columnWidth(0), -1)
        self.assertEqual(config.columnWidth(1), 12)