You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Iury O. G. Figueiredo edited this page Aug 26, 2016
·
1 revision
A tag has a name and two index's, a tag is mapped to a range of text. It is possible to set some options for these ranges of text, such options
are background, color, font, font size and even to map handles to events that happen when the mouse is over them. It is even possible
to add a handle to an event that maps a key press when the cursor is in the tag range.
The 'sel' tag and AreaVi.tag_add/AreaVi.tag_remove method
The 'sel' tag is a built-in tag that corresponds to text selection, it can be added to ranges of text when needed, the text's background
will be modified. Try the following piece of code below:
area=AreaVi('None')
area.pack(expand=True, fill=BOTH)
area.insert('1.0', 'alpha')
# It will add the tag 'sel' from the beginning of the text to the end.area.tag_add('sel', '1.0', 'end')
# Look at the text in the AreaVi instance now, it will be selected.# Inserting the following statement will unslect the text/remove the tag 'sel' from the beginning to the end.area.tag_remove('sel', '1.0', 'end')
The AreaVi.tag_ranges method
Consider you have added a lot of tags to a lot of ranges of text, you want to know which ranges are binded to a given tag. This method
will give you the answer. See the example below that adds the 'sel' tag to three ranges then retrieves back the index's.
It is possible to specify options for tags as mentioned before, it is needed to use the AreaVi.tag_config method.
The example below examplifies:
area.insert('1.0', 'a'*50)
# It adds the tag 'alpha' to the range '1.0', '1.10'.area.tag_add('alpha', '1.0', '1.10')
# It sets the background/color/font for the specified range.area.tag_config('alpha', background='blue', foreground='green', font=('Monospace', 8, 'bold'))