def __init__(self, iface):
        """Constructor.

        :param iface: An interface instance that will be passed to this class
            which provides the hook by which you can manipulate the QGIS
            application at run time.
        :type iface: QgsInterface
        """
        # Save reference to the QGIS interface
        self.iface = iface
        # initialize plugin directory
        self.plugin_dir = os.path.dirname(__file__)
        # initialize locale
        locale = QSettings().value('locale/userLocale')[0:2]
        locale_path = os.path.join(
            self.plugin_dir,
            'i18n',
            'createnamedgrid_{}.qm'.format(locale))

        if os.path.exists(locale_path):
            self.translator = QTranslator()
            self.translator.load(locale_path)

            if qVersion() > '4.3.3':
                QCoreApplication.installTranslator(self.translator)

        # Create the dialog (after translation) and keep reference
        self.dlg = createnamedgridDialog()

        # Declare instance attributes
        self.actions = []
        self.menu = self.tr(u'&Create Indexed Grid')
        # TODO: We are going to let the user set this up in a future iteration
        self.toolbar = self.iface.addToolBar(u'createnamedgrid')
        self.toolbar.setObjectName(u'createnamedgrid')

        # wire up events
        self.dlg.pbMapCanvasExtent.clicked.connect(self.canvasextent)
        self.dlg.pbLayerExtent.clicked.connect(self.layerextent)
        
        self.dlg.rbShowCellSize.clicked.connect(self.updateinfobox)
        self.dlg.rbShowGridSize.clicked.connect(self.updateinfobox)
        
        self.dlg.sbColumns.valueChanged.connect(self.updategrid)
        self.dlg.sbRows.valueChanged.connect(self.updategrid)
        self.dlg.cbAspect.currentIndexChanged.connect(self.updateaspect)
        self.dlg.pbCreate.clicked.connect(self.makegrid)
        
        self.ycells = 1
        self.xcells = 1
        
        # default to canvas extent
        self.canvasextent()
 def setUp(self):
     """Runs before each test."""
     self.dialog = createnamedgridDialog(None)
 def setUp(self):
     """Runs before each test."""
     self.dialog = createnamedgridDialog(None)