/workspace/TilemapEditor/src/TilemapEditorGui.py

https://github.com/d4rkh4re/d4rkh4re
Python | 63 lines | 34 code | 12 blank | 17 comment | 0 complexity | eb288568d72c9cef9be58ddb1cf0df27 MD5 | raw file
  1. ###############################################################################
  2. # TilemapEditorGui.py
  3. # William C. Morris
  4. # <d4rkh4re@gmail.com>
  5. ###############################################################################
  6. from tkinter import *
  7. from TilemapEditor import *
  8. from tkinter.filedialog import askopenfilename, asksaveasfilename
  9. class TilemapEditorGui(Frame):
  10. """
  11. http://docs.python.org/py3k/library/tkinter.html
  12. http://infohost.nmt.edu/tcc/help/pubs/tkinter/
  13. """
  14. def __init__(self, master=None):
  15. Frame.__init__(self, master)
  16. self.grid()
  17. self.create_tilemap_display(master)
  18. self.create_tileset_display(master)
  19. def create_tilemap_display(self, master=None):
  20. # Scroll bars
  21. x_scroll = Scrollbar(master, orient=HORIZONTAL)
  22. y_scroll = Scrollbar(master)
  23. # Canvas
  24. self.tilemap_display = Canvas(master, bg="pink", \
  25. xscrollcommand=x_scroll.set, \
  26. yscrollcommand=y_scroll.set, \
  27. scrollregion=(0,0,1000,1000))
  28. # Link scroll bars and canvas
  29. x_scroll.config(command=self.tilemap_display.xview)
  30. y_scroll.config(command=self.tilemap_display.yview)
  31. # Widget placement
  32. x_scroll.grid(column=0, row=1, sticky=W+E)
  33. y_scroll.grid(column=1, row=0, sticky=N+S)
  34. self.tilemap_display.grid(column=0, row=0)
  35. def create_tileset_display(self, master=None):
  36. # Scroll bars
  37. y_scroll = Scrollbar(master)
  38. # Canvas
  39. self.tileset_display = Canvas(master, bg="pink", \
  40. yscrollcommand=y_scroll.set, \
  41. scrollregion=(0,0,1000,1000), \
  42. width=32, height=250)
  43. # Link scroll bars and canvas
  44. y_scroll.config(command=self.tileset_display.yview)
  45. # Widget placement
  46. y_scroll.grid(column=3, row=0, sticky=N+S)
  47. self.tileset_display.grid(column=2, row=0)
  48. root = Tk()
  49. app = TilemapEditorGui(master=root)
  50. app.master.minsize(100, 100)
  51. app.mainloop()