コード例 #1
0
ファイル: coloring.py プロジェクト: actics/coloring
# В модуле write_gtk описаны методы визуализации с помощью библиотеки GTK.

import sys
from kernel import create_adjacent_list, coloring, topsort, _no_square, _alphabet
from write_gtk import DrawTree
from tree import Tree, TreeError
import string

config = [10, 40, 40]
#[radius, vertical_distance, horizontal_distance]

if __name__ == "__main__":
    try:
        print string.join(_no_square(30, _alphabet), "");
        "Создаем дерево считывая его файла, который дан первым аргументом командной строки"
        tree = Tree(sys.argv[1])
        "Если есть ещё один аргумент, то считаем его за стартовую вершину"
        if len(sys.argv) > 2:
            tree.top = int(sys.argv[2])-1
        " Производится топсорт и раскраска и создания списка ребер "
        topsort(tree)
        colormap = coloring(tree)
        adjacent_list = create_adjacent_list(tree, config)
        " Визуализация "
        gtk_w = DrawTree(adjacent_list, colormap, config)
        gtk_w.main()
    except TreeError as er:
        print er.message
    except IndexError:
        print 'Вы должны передать имя файла с деревом в качестве аргумента'