2014-12-29 14:35:08 -06:00
|
|
|
from gi.repository import Gtk, Gdk
|
|
|
|
|
2015-01-20 22:07:13 -06:00
|
|
|
toolkit = "gtk"
|
2014-12-29 14:35:08 -06:00
|
|
|
# Code responses for GTK +3 dialogs.
|
|
|
|
# this is when an user presses OK on a dialogue.
|
|
|
|
OK = Gtk.ResponseType.OK
|
|
|
|
# This is when an user presses cancel on a dialogue.
|
|
|
|
CANCEL = Gtk.ResponseType.CANCEL
|
|
|
|
# This is when an user closes the dialogue or an id to create the close button.
|
|
|
|
CLOSE = Gtk.ResponseType.CLOSE
|
|
|
|
# The response for a "yes" Button pressed on a dialogue.
|
|
|
|
YES = Gtk.ResponseType.YES
|
|
|
|
# This is when the user presses No on a default dialogue.
|
|
|
|
NO = Gtk.ResponseType.NO
|
|
|
|
|
|
|
|
#events
|
|
|
|
# This is raised when the application must be closed.
|
|
|
|
CLOSE_EVENT = "delete-event"
|
|
|
|
# This is activated when a button is pressed.
|
|
|
|
BUTTON_PRESSED = "clicked"
|
|
|
|
# This is activated when an user enter text on an edit box.
|
|
|
|
#ENTERED_TEXT = wx.EVT_TEXT
|
|
|
|
MENU = "activate"
|
|
|
|
|
|
|
|
#KEYPRESS = wx.EVT_CHAR_HOOK
|
|
|
|
#NOTEBOOK_PAGE_CHANGED = wx.EVT_NOTEBOOK_PAGE_CHANGED
|
|
|
|
def exit_application():
|
|
|
|
""" Closes the current window cleanly. """
|
|
|
|
Gtk.main_quit()
|
|
|
|
|
|
|
|
def connect_event(parent, event, func, menuitem=None, *args, **kwargs):
|
|
|
|
""" Connects an event to a function.
|
|
|
|
parent Gtk.widget: The widget that will listen for the event.
|
|
|
|
event widgetUtils.event: The event that will be listened for the parent. The event should be one of the widgetUtils events.
|
|
|
|
function func: The function that will be connected to the event."""
|
|
|
|
if menuitem == None:
|
|
|
|
return getattr(parent, "connect")(event, func, *args, **kwargs)
|
|
|
|
else:
|
|
|
|
return getattr(menuitem, "connect")(event, func, *args, **kwargs)
|
2015-03-31 17:46:15 -06:00
|
|
|
|
|
|
|
class list(object):
|
|
|
|
def __init__(self, *columns, **listArguments):
|
|
|
|
self.columns = columns
|
|
|
|
self.list_arguments = listArguments
|
|
|
|
self.create_list()
|
|
|
|
|
|
|
|
def create_list(self):
|
|
|
|
columns = []
|
|
|
|
[columns.append(str) for i in self.columns]
|
|
|
|
self.store = Gtk.ListStore(*columns)
|
|
|
|
self.list = Gtk.TreeView(model=self.store)
|
|
|
|
renderer = Gtk.CellRendererText()
|
|
|
|
for i in range(0, len(self.columns)):
|
|
|
|
column = Gtk.TreeViewColumn(self.columns[i], renderer, text=0)
|
|
|
|
column.set_sort_column_id(i)
|
|
|
|
self.list.append_column(column)
|
|
|
|
|
|
|
|
def insert_item(self, *item):
|
|
|
|
self.store.append(item)
|
|
|
|
|
|
|
|
def get_selected(self):
|
|
|
|
tree_selection = self.list.get_selection()
|
|
|
|
(model, pathlist) = tree_selection.get_selected_rows()
|
|
|
|
return pathlist[0]
|
|
|
|
|
|
|
|
def select_item(self, item):
|
|
|
|
tree_selection = self.list.get_selection()
|
|
|
|
tree_selection.select_path(item)
|
|
|
|
|
|
|
|
def get_count(self):
|
|
|
|
return len(self.store)
|