示例#1
0
    def gui_update(self, *args):
        """
        refresh the screen
        """
        #get the current values
        if self.updating:
            return

        self.updating = TRUE

        sym = int(self.ogrfs_obj.parms['id'].value[8:9])
        color = gvogrfs.ogr_to_gv_color(self.ogrfs_obj.parms['c'].value)
        try:
            scale = float(self.ogrfs_obj.get_parm('s'))
        except:
            scale = None

        if scale is None:
            scale = 1.0

        #update the widgets
        self.symbol_type.set_history(sym)
        self.symbol_color.set_color(color)
        self.symbol_size.set_value(scale)

        self.updating = FALSE
示例#2
0
    def gui_update(self, *args):
        """
        refresh the screen
        """
        #get the current values
        if self.updating:
            return

        self.updating = True

        sym = int(self.ogrfs_obj.parms['id'].value[8:9])
        color = gvogrfs.ogr_to_gv_color(self.ogrfs_obj.parms['c'].value)
        scale = float(self.ogrfs_obj.get_parm('s','1.0'))

        #update the widgets
        self.symbol_type.set_active(sym)
        self.symbol_color.set_color(color)
        self.symbol_size.set_value(scale)

        self.updating = False
示例#3
0
    def update_gui(self):

        if self.flags(DESTROYED) > 0:
            return

        if self.layer is None or self.updating == TRUE:
            return

        self.updating = TRUE

        # Layer name.
        self.layer_name.set_text(self.layer.get_name())

        # Visibility radio buttons
        self.vis_yes.set_active(self.layer.is_visible())
        self.vis_no.set_active(not self.layer.is_visible())

        # Editability radio buttons
        self.edit_yes.set_active(not self.layer.is_read_only())
        self.edit_no.set_active(self.layer.is_read_only())

        # colors
        self.set_color_or_default('_point_color', self.point_color)
        self.set_color_or_default('_line_color', self.line_color)
        self.set_color_or_default('_area_edge_color', self.area_edge_color)
        self.set_color_or_default('_area_fill_color', self.area_fill_color)

        # point size
        self.point_size.entry.delete_text(0, -1)
        if self.layer.get_property('_point_size') is None:
            self.point_size.entry.insert_text('6')
        else:
            self.point_size.entry.insert_text(
                self.layer.get_property('_point_size'))

        #line and area edge width
        self.line_width.delete_text(0, -1)
        if self.layer.get_property('_line_width') is None:
            self.line_width.insert_text('1.0')
        else:
            self.line_width.insert_text(self.layer.get_property('_line_width'))

        self.area_edge_width.delete_text(0, -1)
        if self.layer.get_property('_area_edge_width') is None:
            self.area_edge_width.insert_text('1.0')
        else:
            self.area_edge_width.insert_text(
                self.layer.get_property('_area_edge_width'))

        # antialiasing
        if self.layer.get_property('_gl_antialias') is None:
            self.antialias.set_active(FALSE)
        elif self.layer.get_property('_gl_antialias') == "0":
            self.antialias.set_active(FALSE)
        else:
            self.antialias.set_active(TRUE)

        # font and symbol information

        self.label_font.entry.delete_text(0, -1)
        self.label_field.entry.delete_text(0, -1)

        ogrfs = self.layer.get_property('_gv_ogrfs_point')
        ogrfs_obj = gvogrfs.OGRFeatureStyle()
        ogrfs_label = None
        try:
            ogrfs_obj.parse(ogrfs)
        except:
            print 'update_gui: error parsing ogrfs:'
            print ogrfs

        ogrfs_label = ogrfs_obj.get_part('LABEL')
        if ogrfs_label is None:
            self.label_font.entry.insert_text('Fixed')
            self.label_field.entry.insert_text('disabled')
            self.label_color.set_color((0.5, 1.0, 0.5, 1.0))
        else:
            self.label_font.entry.insert_text(ogrfs_label.parms['f'].value)
            self.label_field.entry.insert_text(ogrfs_label.parms['t'].value)
            ogr_color = ogrfs_label.parms['c'].value
            gv_color = gvogrfs.ogr_to_gv_color(ogr_color)
            self.label_color.set_color(gv_color)

        ogrfs_symbol = ogrfs_obj.get_part('SYMBOL')
        if ogrfs_symbol is None:
            self.point_symbol.entry.set_text('cross')
        else:
            ogr_sym = ogrfs_symbol.parms['id'].value
            try:
                sym_num = int(ogr_sym[8:9])
                sym_name = symbols[sym_num]
            except:
                sym_name = 'cross'
            self.point_symbol.entry.set_text(sym_name)

        self.updating = FALSE
示例#4
0
    def update_gui(self):

        if self.flags( DESTROYED ) > 0:
            return

        if self.layer is None or self.updating == TRUE:
            return

        self.updating = TRUE

        # Layer name.
        self.layer_name.set_text( self.layer.get_name() )

        # Visibility radio buttons
        self.vis_yes.set_active( self.layer.is_visible() )
        self.vis_no.set_active( not self.layer.is_visible() )

        # Editability radio buttons
        self.edit_yes.set_active( not self.layer.is_read_only() )
        self.edit_no.set_active( self.layer.is_read_only() )

        # colors
        self.set_color_or_default('_point_color', self.point_color)
        self.set_color_or_default('_line_color', self.line_color)
        self.set_color_or_default('_area_edge_color', self.area_edge_color)
        self.set_color_or_default('_area_fill_color', self.area_fill_color)

        # point size
        self.point_size.entry.delete_text(0,-1)
        if self.layer.get_property('_point_size') is None:
            self.point_size.entry.insert_text('6')
        else:
            self.point_size.entry.insert_text(
                self.layer.get_property('_point_size'))
                
        #line and area edge width
        self.line_width.delete_text( 0, -1 )
        if self.layer.get_property('_line_width') is None:
            self.line_width.insert_text('1.0')
        else:
            self.line_width.insert_text(
                 self.layer.get_property( '_line_width' ))

        self.area_edge_width.delete_text( 0, -1 )
        if self.layer.get_property('_area_edge_width') is None:
            self.area_edge_width.insert_text('1.0')
        else:
            self.area_edge_width.insert_text(
                 self.layer.get_property( '_area_edge_width' ))
                 
        # antialiasing
        if self.layer.get_property('_gl_antialias') is None:
            self.antialias.set_active( FALSE )
        elif self.layer.get_property('_gl_antialias') == "0":
            self.antialias.set_active( FALSE )
        else:
            self.antialias.set_active( TRUE )

        # font and symbol information

        self.label_font.entry.delete_text(0,-1)
        self.label_field.entry.delete_text(0,-1)

        ogrfs = self.layer.get_property('_gv_ogrfs_point')
        ogrfs_obj = gvogrfs.OGRFeatureStyle()
        ogrfs_label = None
        try:
            ogrfs_obj.parse( ogrfs )
        except:
            print 'update_gui: error parsing ogrfs:'
            print ogrfs

        ogrfs_label = ogrfs_obj.get_part('LABEL')
        if ogrfs_label is None:
            self.label_font.entry.insert_text('Fixed')
            self.label_field.entry.insert_text('disabled')
            self.label_color.set_color( (0.5, 1.0, 0.5, 1.0) )
        else:
            self.label_font.entry.insert_text(ogrfs_label.parms['f'].value)
            self.label_field.entry.insert_text(ogrfs_label.parms['t'].value)
            ogr_color = ogrfs_label.parms['c'].value
            gv_color = gvogrfs.ogr_to_gv_color(ogr_color)
            self.label_color.set_color(gv_color)

        ogrfs_symbol = ogrfs_obj.get_part('SYMBOL')
        if ogrfs_symbol is None:
            self.point_symbol.entry.set_text('cross')
        else:
            ogr_sym = ogrfs_symbol.parms['id'].value
            try:
                sym_num = int(ogr_sym[8:9])
                sym_name = symbols[sym_num]
            except:
                sym_name = 'cross'
            self.point_symbol.entry.set_text( sym_name )

        self.updating = FALSE