gdraw | index /home/hashao/.FontForge/python/modules/gdraw/gdraw.py

`ctypes wrapper to Attach the GDraw event handler to the gtk main loop.
Copyright <hashao2@gmail.com> 2009
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
We use a gdraw timeout handler to call the gtk.main_iteration() periodically.
You might also want to copy setup_syspath() in gdraw.py to setup proper
sys.path for fontforge scripts.
Usage:
from gdraw import gtkrunner
w = gtk.Window()
b = gtk.Button('click')
w.add(b)
w.show_all()
gtkrunner.start()
Example:
t = Timer()
tid = t.add(timeout, func[, data])
t.remove(t)
# top start/stop gtk main iteration
g = GtkRunner()
g.start()
g.stop()`

Modules

``

gtk | types |  |

Classes

``

GtkRunner
Timer

class GtkRunner
`` | `A Helper class to start and stop gtk main iteration.`

Methods defined here:

__init__(self, timer=None)

start(self, timeout=200)
  `Process gtk events every some time.`

stop(self)
  `Stop gtk event handler.`

class Timer
`` | `A Timer class for everyone else to add timer handler to gdraw's event loop.`

Methods defined here:

__del__(self)
  `Cleanup everything.`

__init__(self)

add(self, timeout, func, data=None)
  `timeout: in millisecond.
  frequency: 0 => one shot.
  func: stop if return false`

clear(self)
  `Remove all the timers.`

is_active(self, gtimer)
  `Test if a given GTimer* is active.`

remove(self, timer)
  `Remove the give timer.`

setup_event_window(self)
  `Setup a gdraw hidden event window to handle timeout events.`

Data
`` |  | __all__ = ['Timer', 'GtkRunner', 'gtkrunner'] gtkrunner = <gdraw.GtkRunner instance at 0x9993fac>