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.messagebox
|
||||||
import tkinter.simpledialog
|
import tkinter.simpledialog
|
||||||
import gemini
|
import gemini
|
||||||
|
import renderEngine
|
||||||
|
|
||||||
# See https://tildegit.org/solderpunk/gemini-demo-1/src/branch/master/gemini-demo.py
|
# See https://tildegit.org/solderpunk/gemini-demo-1/src/branch/master/gemini-demo.py
|
||||||
|
|
||||||
|
@ -58,12 +59,15 @@ class NavBar():
|
||||||
class Content():
|
class Content():
|
||||||
def __init__(self, parent):
|
def __init__(self, parent):
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.root = tk.Frame(self.parent.root)
|
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.grid(column=0, row=1)
|
self.root.parse()
|
||||||
self.line = tk.Label(self.root, text="My home page")
|
self.root.content.grid(column=0, row=1)
|
||||||
self.line.grid(column=0, row=0)
|
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):
|
def setContent(self, new_content):
|
||||||
self.line["text"] = new_content
|
self.root.text = new_content
|
||||||
|
self.root.parse()
|
||||||
|
|
||||||
app = Application()
|
app = Application()
|
||||||
|
|
|
@ -52,6 +52,10 @@ class Renderer():
|
||||||
self.currY+=1
|
self.currY+=1
|
||||||
|
|
||||||
def parse(self):
|
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")
|
lines = self.text.split("\n")
|
||||||
for line in lines:
|
for line in lines:
|
||||||
if(line.startswith("###")):
|
if(line.startswith("###")):
|
||||||
|
@ -72,23 +76,4 @@ class Renderer():
|
||||||
else:
|
else:
|
||||||
self.addNormalText(line)
|
self.addNormalText(line)
|
||||||
|
|
||||||
self.content.pack()
|
|
||||||
self.content['state'] = 'disabled'
|
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