| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- ###################
- # Gui Data Types
- ###################
- class _GuiForm():
- def __init__(self, fixed_row, rows):
- self.FixedRow = fixed_row
- self.Rows = rows
- # Form = _GuiForm( ["Col1", "Col2"], [["a1","a2"],["b1","b2"],["c1","c2"]])
- class _GuiFormMulti():
- def __init__(self, name_forms):
- self.Names = []
- self.__Forms = []
- for nf in name_forms:
- self.Names.append(nf[0])
- self.__Forms.append(nf[1])
- def GetForm(self, index): # can be further modify to lazy eval
- return self.__Forms[index]
- # Forms = _GuiFormMulti([["Sheet1", _GuiForm( ["Col1", "Col2"], [["a1","a2"],["b1","b2"],["c1","c2"]])], ["Sheet2", _GuiForm( ["Col1", "Col2"], [["d1","d2"],["e1","e2"],["f1","f2"]])]])
- class _GuiTreeRow():
- def __init__(self, treerows, name, row):
- self.Name = name
- self.Row = row
- if treerows:
- self.HasSubTreeRows = True
- self.__SubTreeRows = treerows
- else:
- self.HasSubTreeRows = False
- self.__SubTreeRows = []
- def GetSubTreeRows(self):
- return self.__SubTreeRows
- def GetID(self):
- pass
- # TreeRow = _GuiTreeRow([], "SubDesign1", ["12", "0"])
- # TreeRow = _GuiTreeRow([_GuiTreeRow([], "Sub3", ["5", "0"])], "SubDesign2", ["34", "1"])
- class _GuiTree():
- def __init__(self, fixed_row, treerows:_GuiTreeRow):
- self.FixedRow = fixed_row
- self.TreeRows = treerows
- # Tree = _GuiTree(["","DFFs","SubModules"], [_GuiTreeRow([_GuiTreeRow([], "SubDesign1", ["12", "0"]),_GuiTreeRow([_GuiTreeRow([], "Sub3", ["5", "0"])], "SubDesign2", ["34", "1"])], "DemoDesign", ["123", "2"]),])
- #####################
- # Gui Window Types
- #####################
- class _GuiWinText():
- def __init__(self, title, text):
- self.Title = title
- self.Text = text
- class _GuiWinLinedText():
- def __init__(self, title, lined_text, line):
- self.Title = title
- self.LinedText = lined_text
- self.Line = line
- class _GuiWinForm():
- def __init__(self, title, form):
- self.Title = title
- self.Form = form
- class _GuiWinFormMulti():
- def __init__(self, title, forms):
- self.Title = title
- self.Forms = forms
- class _GuiWinTree():
- def __init__(self, tree):
- self.Title = ""
- self.Tree = tree
- class _GuiSideBar():
- def __init__(self, title, tree:_GuiTree):
- self.Title = title
- self.Tree = tree
- def GetForms(self, treenames):
- return _GuiFormMulti([["Sheet1", _GuiForm(["Col1", "Col2"], [[treename, "ok"] for treename in treenames])], ["Sheet2", _GuiForm(["Col1", "Col2"], [[treename, "fail"] for treename in treenames])]])
- def CrossProbe(self, treenames, name):
- line = 1000
- return _GuiWinLinedText(name, ("Text Start\n\n"+'\n'.join([str(x) for x in treenames])+'\n'.join(['generated line '+str(x) for x in range(line*2)])+"\n\nText End").split("\n"), line)
- class _GuiMessages(): # to be further defined
- def __init__(self):
- self.Infos = []
- self.Warnings = []
- self.CriticalWarnings = []
- self.Errors = []
- def CrossProbe(self, filename, line):
- return _GuiWinLinedText(filename, ("Text Start\n\n"+'\n'.join(['generated line '+str(x) for x in range(line*2)])+"\n\nText End").split("\n"), line)
- def __init__(self, info, warn, crit, err):
- self.Infos = info
- self.Warnings = warn
- self.CriticalWarnings = crit
- self.Errors = err
|