def getLineProperties(propertynode):
    """Returns a dictionary with line properties based on the specified
    xmlstore.TypedStore node.

    Internal use only.
    """
    line = propertynode['Line']
    linestyle = line.getValue(usedefault=True)
    linewidth = line['Width'].getValue(usedefault=True)
    color = line['Color'].getValue(usedefault=True)
    result = {'linestyle': linestyle, 'linewidth': linewidth, 'color':
        color.getNormalized()}
    if propertynode['CanHaveMarker'].getValue(usedefault=True):
        marker = propertynode['Marker']
        markertype = marker.getValue(usedefault=True)
        markersize = marker['Size'].getValue(usedefault=True)
        markerfacecolor = marker['FaceColor'].getValue(usedefault=True)
        markeredgecolor = marker['EdgeColor'].getValue(usedefault=True)
        markeredgewidth = marker['EdgeWidth'].getValue(usedefault=True)
        result.update({'marker': markertype, 'markersize': markersize,
            'markerfacecolor': markerfacecolor.getNormalized(),
            'markeredgecolor': markeredgecolor.getNormalized(),
            'markeredgewidth': markeredgewidth})
    return result
