import math
import tkinter as tk
import time
import sys
sys.argv.append("none")
fname=sys.argv[1]
if (fname=="none"):
 print ("Kérlek, adj meg képfájlnevet. Szintaxis: python "+sys.argv[0]+" kfnév [bármi, ha fehér hátteret szeretnél]")
 exit (1)
if (sys.argv[2]!="none"):
 white="0"
else:
 white="1"
def savem():
 global size
 global pattern
 global fname
 ourfile=open(fname,"w")
 ourfile.write(str(size)+"\n"+"".join(pattern))
 ourfile.close()
 return 0;
ourfile=open(fname,"r")
content=ourfile.read()
ourfile.close()
content=content.split("\n")
size=int(content[0])
pattern=list(content[1])
for i in pattern:
 if (i!="1" and i!="0"):
  print ("A minta formátuma nem támogatott.")
  exit (1)
if (len(pattern)%size!=0):
 print ("Figyelmeztetés: a minta hossza nem osztható a mérettel.")
 time.sleep(1)
window=tk.Tk()
pxs=[]
def reverse(j):
 global pxs
 global pattern
 global white
 map={"0":"white","1":"black"}
 map2={"0":"1","1":"0"}
 pxs[j].configure(bg=map[pattern[j]])
 pattern[j]=map2[pattern[j]]
for i in pattern:
 pxs.append(tk.Button(text="",borderwidth=0,highlightthickness=0))
j=0
while j<len(pattern):
 pxs[j].grid(row=math.trunc(j/size), column=j%size,sticky=tk.NSEW)
 pxs[j].configure(command=lambda j=j: reverse(j))
 if (pattern[j]==white):
  pxs[j].configure(bg="white")
 else:
  pxs[j].configure(bg="black")
 j+=1
tk.Button(text="",command=savem).grid()
window.mainloop()
print ("A szerkesztés eredménye: "+"".join(pattern))
savem()
