Add UI for card search view
This commit is contained in:
3
gui.py
3
gui.py
@@ -1,5 +1,6 @@
|
||||
import gi
|
||||
import collection
|
||||
import search
|
||||
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk
|
||||
@@ -18,7 +19,7 @@ class MainWindow(Gtk.Window):
|
||||
self.collectionView.add(collection.CollectionView())
|
||||
|
||||
self.searchView = Gtk.Box()
|
||||
self.searchView.add(Gtk.Label("Search the whole Magic Card Library!"))
|
||||
self.searchView.add(search.SearchView())
|
||||
|
||||
self.deckView = Gtk.Box()
|
||||
self.deckView.add(Gtk.Label("View and organize your Decklists!"))
|
||||
|
||||
65
search.py
Normal file
65
search.py
Normal file
@@ -0,0 +1,65 @@
|
||||
import gi
|
||||
from psutil._compat import xrange
|
||||
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, GdkPixbuf
|
||||
|
||||
|
||||
class SearchView(Gtk.Grid):
|
||||
def __init__(self):
|
||||
Gtk.Grid.__init__(self)
|
||||
|
||||
# Search Box
|
||||
self.searchbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=2)
|
||||
self.searchEntry = Gtk.Entry()
|
||||
self.searchEntryLabel = Gtk.Label("Search for Cards:", xalign=0)
|
||||
self.searchbox.add(self.searchEntryLabel)
|
||||
self.searchbox.add(self.searchEntry)
|
||||
|
||||
# Filters
|
||||
self.filterBox = Gtk.ListBox()
|
||||
self.filterBox.set_selection_mode(Gtk.SelectionMode.NONE)
|
||||
|
||||
self.testRow = Gtk.ListBoxRow()
|
||||
hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=50)
|
||||
hbox.add(Gtk.Label("Filters will go here", xalign=0))
|
||||
self.testRow.add(hbox)
|
||||
|
||||
self.filterBox.add(self.testRow)
|
||||
|
||||
|
||||
#Card List
|
||||
self.searchresults = Gtk.ScrolledWindow(hexpand=True, vexpand=True)
|
||||
self.searchresults.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
|
||||
|
||||
self.store = Gtk.ListStore(GdkPixbuf.Pixbuf, str, str)
|
||||
self.list = Gtk.TreeView(self.store)
|
||||
self.searchresults.add(self.list)
|
||||
|
||||
image = Gtk.CellRendererPixbuf()
|
||||
name = Gtk.CellRendererText()
|
||||
info = Gtk.CellRendererText()
|
||||
self.column1 = Gtk.TreeViewColumn(title="Image", cell_renderer=image, pixbuf=0)
|
||||
self.column2 = Gtk.TreeViewColumn(title="Card Name", cell_renderer=name, text=1)
|
||||
self.column3 = Gtk.TreeViewColumn(title="Additional Info", cell_renderer=info, text=2)
|
||||
self.column1.pack_start(image, True)
|
||||
self.column2.pack_start(name, True)
|
||||
self.column3.pack_start(info, True)
|
||||
|
||||
self.list.append_column(self.column1)
|
||||
self.list.append_column(self.column2)
|
||||
self.list.append_column(self.column3)
|
||||
|
||||
self.fill_test_data(self.store)
|
||||
|
||||
# Bring it all together
|
||||
self.attach(self.searchbox, 0, 0, 1, 1)
|
||||
self.attach(self.filterBox, 0, 1, 1, 1)
|
||||
self.attach(self.searchresults, 1, 0, 1, 2)
|
||||
|
||||
def fill_test_data(self, treestore):
|
||||
for nr in xrange(0, 100):
|
||||
treestore.append([self.add_test_image(), "Card Title", "More Info..."])
|
||||
|
||||
def add_test_image(self):
|
||||
return GdkPixbuf.Pixbuf.new_from_file_at_size('./resources/images/demo.jpg', 63*2, 88*2)
|
||||
Reference in New Issue
Block a user