File: gi-test.py

package info (click to toggle)
codequery 1.0.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 17,860 kB
  • sloc: cpp: 151,420; xml: 16,576; python: 5,602; ansic: 5,487; makefile: 559; perl: 496; ruby: 209; sql: 194; sh: 106; php: 53; vhdl: 51; erlang: 47; objc: 22; lisp: 18; cobol: 18; modula3: 17; asm: 14; fortran: 12; ml: 11; tcl: 6
file content (26 lines) | stat: -rw-r--r-- 964 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/python
import gi
gi.require_version('Scintilla', '0.1')

# Scintilla is imported before because it loads Gtk with a specified version
# this avoids a warning when Gtk is imported without version such as below (where
# it is imported without because this script works with gtk2 and gtk3)
from gi.repository import Scintilla
from gi.repository import Gtk

def on_notify(sci, id, scn):
    if (scn.nmhdr.code == 2001): # SCN_CHARADDED
        print ("sci-notify: id: %d, char added: %d" % (id, scn.ch))
    elif (scn.nmhdr.code == 2008): # SCN_MODIFIED
        print ("sci-notify: id: %d, pos: %d, mod type: %d" % (id, scn.position, scn.modificationType))
    else:
        print ("sci-notify: id: %d, scn.nmhdr.code: %d" % (id, scn.nmhdr.code))

win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
sci = Scintilla.Object()
sci.connect("sci-notify", on_notify)
win.add(sci)
win.show_all()
win.resize(400,300)
Gtk.main()