#!/usr/bin/python

use_gtk3 = False

if use_gtk3:
  from gi.repository import Gtk as gtk
  from gi.repository import Pango as pango
  from gi.repository.Pango import EllipsizeMode
  from gi.repository import Gdk
  from gi.repository import GObject as gobject
  from gi.repository.Gtk import SelectionMode
  from gi.repository.Gtk import PolicyType
  from gi.repository.Gdk import DragAction
  from gi.repository.Gdk import ModifierType
  from gi.repository.Gdk import EventType
  class keysyms:
    F2 = Gdk.KEY_F2
    Insert = Gdk.KEY_Insert
    Delete = Gdk.KEY_Delete
    Prior = Gdk.KEY_Prior
    Next = Gdk.KEY_Next
    Up = Gdk.KEY_Up
    Down = Gdk.KEY_Down
    Left = Gdk.KEY_Left
    Right = Gdk.KEY_Right
    p = Gdk.KEY_p
    x = Gdk.KEY_x
    c = Gdk.KEY_c
  window_set_geometry_hints = lambda window, *args, **kwargs: window.set_geometry_hints(window, *args, **kwargs)
  AccelMap_lookup_entry = gtk.AccelMap.lookup_entry
  def binding_entry_remove(widget, key, modmask):
    # FIXME needs BindingSet, of class (see gtk_binding_set_by_class)
    pass # gtk.binding_entry_remove(widget, key, modmask)  
  def binding_entry_add_signal(klass, key, mask, signal):
    pass # FIXME
  from gi.repository.Gtk import TreeStore, Menu, TreeView, CellRendererText, TreeViewColumn, ScrolledWindow, STOCK_EDIT, Action, STOCK_ADD, STOCK_DELETE, STOCK_CUT, STOCK_COPY, STOCK_PASTE, HBox, Window, AccelGroup, main, main_quit
else:
  import gtk2forward as gtk
  from gtk2forward import DragAction, AccelMap_lookup_entry, SelectionMode, ModifierType, PolicyType, keysyms, Gdk, window_set_geometry_hints, EventType, TreeStore, Menu, TreeView, CellRendererText, TreeViewColumn, ScrolledWindow, STOCK_EDIT, Action, STOCK_ADD, STOCK_DELETE, STOCK_CUT, STOCK_COPY, STOCK_PASTE, HBox, Window, AccelGroup, main, main_quit
  import pango2forward as pango
  import gobject
  def binding_entry_remove(widget, key, modmask):
    gtk.binding_entry_remove(widget, key, modmask)  
  binding_entry_add_signal = gtk.binding_entry_add_signal
  