Exemplo n.º 1
0
    def create_edge(self):

        # If edge already exists, delete it..
        if self.edge:
            self.l_edge.deleteFeature(self.edge.id())

        # Two vertices are needed..
        if not self.vtx_start or not self.vtx_end:
            return self.canvas.refresh()

        # Two DIFFERENT vertices..
        if self.vtx_start == self.vtx_end:
            return self.canvas.refresh()

        # Create line geometry..
        line = QgsGeometry.fromPolyline([
            self.vtx_start.geometry().asPoint(),
            self.vtx_end.geometry().asPoint()
        ])

        # Create the feature..
        self.edge = QgsFeature()
        self.edge.setGeometry(line)
        self.edge.setFields(self.l_edge.pendingFields())
        self.edge.setAttributes(
            [QPyNullVariant(int),
             QPyNullVariant(int),
             QPyNullVariant(int)])

        # Add feature to layer..
        self.l_edge.addFeature(self.edge)
        self.canvas.refresh()
Exemplo n.º 2
0
    def on_accepted(self):

        if not self.edge:
            return False

        self.lim_ge_createur = self.auth_creator[
            self.creatorComboBox.currentIndex()][0]
        self.edge.setAttributes(
            [QPyNullVariant(int),
             QPyNullVariant(int), self.lim_ge_createur])
        self.l_edge.updateFeature(self.edge)
        self.canvas.refresh()
        self.save = True
        self.close()
Exemplo n.º 3
0
    def on_accepted(self):

        # Check if coordinates are entered..
        if not self.xLineEdit.text() or not self.yLineEdit.text():

            # (◕ε ◕ )

            pixmap = os.path.join(os.path.dirname(__file__), r"resources/underline.png")
            css = "QLabel {background: url(%s) bottom repeat-x;}" % pixmap

            self.xLabel.setTextFormat(Qt.RichText)
            self.xLabel.setStyleSheet(css)
            self.yLabel.setTextFormat(Qt.RichText)
            self.yLabel.setStyleSheet(css)

            return None

        # Set attributes..
        som_ge_createur = self.auth_creator[self.creatorComboBox.currentIndex()][0]
        som_nature = self.natureComboBox.currentText()
        som_coord_est = float(self.xLineEdit.text())
        som_coord_nord = float(self.yLineEdit.text())
        som_repres_plane = self.ellips_acronym[self.ellipsComboBox.currentIndex()][0]
        som_prec_rattcht = int(self.precision_class[self.precisionClassComboBox.currentIndex()][0])

        epsg = int(self.ellips_acronym[self.ellipsComboBox.currentIndex()][1])

        # Create point geometry..
        #point = tools.reproj(QgsPoint(som_coord_est, som_coord_nord),
        #                     tools.acronym_to_epsg(som_repres_plane), 4326)
        point = tools.reproj(QgsPoint(som_coord_est, som_coord_nord), epsg, 4326)

        # Create the feature..
        vertex = QgsFeature()
        vertex.setGeometry(QgsGeometry.fromPoint(point))
        vertex.setFields(self.l_vertex.pendingFields())
        vertex.setAttributes([QPyNullVariant(int),QPyNullVariant(int),
                              som_ge_createur, som_nature, som_prec_rattcht,
                              som_coord_est, som_coord_nord, som_repres_plane])

        self.l_vertex.addFeature(vertex)
        self.canvas.refresh()
        self.accept()
Exemplo n.º 4
0
def test_format_values():
    fields = ['field1', 'field2']
    values = dict(field1='Hello', field2='world')
    assert utils.format_values(fields, values, with_char="|") == "Hello|world"
    assert utils.format_values(fields, values, with_char=",") == "Hello,world"
    assert utils.format_values(fields, values,
                               with_char="\n") == "Hello\nworld"

    null = QPyNullVariant("QString")
    values = dict(field1=null, field2='world')

    assert utils.format_values(fields, values, with_char="|") == "world"
Exemplo n.º 5
0
from PyQt4.QtCore import QPyNullVariant


def __nonzero__(self):
    return False


def __repr__(self):
    return 'NULL'


def __eq__(self, other):
    return isinstance(other, QPyNullVariant) or other is None


def __ne__(self, other):
    return not isinstance(other, QPyNullVariant) and other is not None


def __hash__(self):
    return 2178309


QPyNullVariant.__nonzero__ = MethodType(__nonzero__, None, QPyNullVariant)
QPyNullVariant.__repr__ = MethodType(__repr__, None, QPyNullVariant)
QPyNullVariant.__eq__ = MethodType(__eq__, None, QPyNullVariant)
QPyNullVariant.__ne__ = MethodType(__ne__, None, QPyNullVariant)
QPyNullVariant.__hash__ = MethodType(__hash__, None, QPyNullVariant)

NULL = QPyNullVariant(int)
Exemplo n.º 6
0
 def field_or_null(v):
     if v == '' \
             or v is None \
             or isinstance(v, QPyNullVariant):
         return QPyNullVariant(str)
     return v
Exemplo n.º 7
0
 def field_or_null(field):
     if field == '' or field is None or isinstance(
             field, QPyNullVariant):
         return QPyNullVariant(str)
     return field
Exemplo n.º 8
0
def test_null_check():
    null = QPyNullVariant("QString")
    assert utils.nullcheck(null) is None
    assert utils.nullcheck("Test") is "Test"