Renderer now works in the browser (still not work with quotations)
This commit is contained in:
parent
223ceb8702
commit
ec4e5297cd
14
main.py
14
main.py
|
@ -2,6 +2,7 @@ import tkinter as tk
|
|||
import tkinter.messagebox
|
||||
import tkinter.simpledialog
|
||||
import gemini
|
||||
import renderEngine
|
||||
|
||||
# See https://tildegit.org/solderpunk/gemini-demo-1/src/branch/master/gemini-demo.py
|
||||
|
||||
|
@ -58,12 +59,15 @@ class NavBar():
|
|||
class Content():
|
||||
def __init__(self, parent):
|
||||
self.parent = parent
|
||||
self.root = tk.Frame(self.parent.root)
|
||||
self.root.grid(column=0, row=1)
|
||||
self.line = tk.Label(self.root, text="My home page")
|
||||
self.line.grid(column=0, row=0)
|
||||
self.root = renderEngine.Renderer(self.parent.root, "#Home page\nWelcome on tkGemini, a browser software for Gemini protocole\n=>gemini://rdelaage.ovh My gemini space")
|
||||
self.root.parse()
|
||||
self.root.content.grid(column=0, row=1)
|
||||
self.scroll_bar = tk.Scrollbar(command=self.root.content.yview, orient='vertical')
|
||||
self.scroll_bar.grid(column=1, row=1)
|
||||
self.root.content['yscrollcommand'] = self.scroll_bar.set
|
||||
|
||||
def setContent(self, new_content):
|
||||
self.line["text"] = new_content
|
||||
self.root.text = new_content
|
||||
self.root.parse()
|
||||
|
||||
app = Application()
|
||||
|
|
|
@ -52,6 +52,10 @@ class Renderer():
|
|||
self.currY+=1
|
||||
|
||||
def parse(self):
|
||||
self.content['state'] = 'normal'
|
||||
self.currY=1
|
||||
self.currX=0
|
||||
self.content.delete("1.0", tk.END)
|
||||
lines = self.text.split("\n")
|
||||
for line in lines:
|
||||
if(line.startswith("###")):
|
||||
|
@ -72,23 +76,4 @@ class Renderer():
|
|||
else:
|
||||
self.addNormalText(line)
|
||||
|
||||
self.content.pack()
|
||||
self.content['state'] = 'disabled'
|
||||
|
||||
text = """# Mon site
|
||||
* item 1
|
||||
*item2
|
||||
|
||||
=>gemini://rdelaage.ovh test
|
||||
=> gemini://lol
|
||||
|
||||
##Test2
|
||||
|
||||
### TEST3
|
||||
|
||||
mon texte"""
|
||||
app = tk.Tk()
|
||||
app.title("Test")
|
||||
render = Renderer(app, text)
|
||||
render.parse()
|
||||
app.mainloop()
|
||||
|
|
Reference in New Issue