You've already forked gnatstudio
mirror of
https://github.com/AdaCore/gnatstudio.git
synced 2026-02-12 12:42:33 -08:00
git-svn-id: svn+ssh://svn.eu/Dev/importfromcvs/trunk@100212 936e1b1b-40f2-da11-902a-00137254ae57
28 lines
753 B
Python
28 lines
753 B
Python
"""This file makes every other line read-only.
|
|
This is an example of using overlays"""
|
|
|
|
from GPS import *
|
|
|
|
parse_xml ("""
|
|
<action name="make lines readonly">
|
|
<shell lang="python">readonly.make_readonly()</shell>
|
|
</action>
|
|
<menu action="make lines readonly">
|
|
<title>/Tests/Make Lines Readonly</title>
|
|
</menu>
|
|
""")
|
|
|
|
def make_readonly():
|
|
"""Make every other line readonly in the current file"""
|
|
buffer = EditorBuffer.get ()
|
|
loc = EditorLocation (buffer, 1, 1)
|
|
|
|
overlay = buffer.create_overlay ("readonly")
|
|
overlay.set_property ("editable", False)
|
|
|
|
readonly = True
|
|
while loc < buffer.end_of_buffer():
|
|
eol = loc.end_of_line()
|
|
buffer.apply_overlay (overlay, loc, eol - 1)
|
|
loc = loc.forward_line (2)
|