소스 검색

create: Test-Table with filter

micha 3 년 전
부모
커밋
7c6ffd635f
1개의 변경된 파일170개의 추가작업 그리고 4개의 파일을 삭제
  1. 170 4
      _LibreLightDesk.py

+ 170 - 4
_LibreLightDesk.py

@@ -1627,11 +1627,47 @@ class GUI(Base):
         i=0
         c=0
         r=0
+        b = tk.Button(xframe,bg="lightblue", text="ID",width=6,anchor="e")
+        #b.bind("<Button>",Xevent(fix=fix,elem=b).cb)
+        b.grid(row=r, column=c, sticky=tk.W+tk.E)
+        c+=1
+        b = tk.Button(xframe,bg="lightblue", text="NAME",width=14,anchor="w")
+        #b.bind("<Button>",Xevent(fix=fix,elem=b).cb)
+        b.grid(row=r, column=c, sticky=tk.W+tk.E)
+        c+=1
+        b = tk.Button(xframe,bg="#ddd", text="TYPE",width=3)
+        b.grid(row=r, column=c, sticky=tk.W+tk.E)
+        c+=1
+        b = tk.Button(xframe,bg="#ddd", text="Uni",width=1)
+        b.grid(row=r, column=c, sticky=tk.W+tk.E)
+        c+=1
+        b = tk.Button(xframe,bg="#ddd", text="DMX",width=1)
+        b.grid(row=r, column=c, sticky=tk.W+tk.E)
+        c+=1
+        b = tk.Button(xframe,bg="#ddd", text="CH's",width=1)
+        b.grid(row=r, column=c, sticky=tk.W+tk.E)
+        c+=1
+
+        c=0
+        r+=1
         for fix in FIXTURES.fixtures:
             i+=1
             data = FIXTURES.fixtures[fix]
                             
-            b = tk.Button(xframe,bg="lightblue", text="FIX:"+str(fix)+" "+data["NAME"],width=20)
+            b = tk.Button(xframe,bg="lightblue", text=""+str(fix),width=6,anchor="e")
+            #b.bind("<Button>",Xevent(fix=fix,elem=b).cb)
+            b.grid(row=r, column=c, sticky=tk.W+tk.E)
+            c+=1
+            b = tk.Button(xframe,bg="lightblue", text=data["NAME"],width=14,anchor="w")
+            #b.bind("<Button>",Xevent(fix=fix,elem=b).cb)
+            b.grid(row=r, column=c, sticky=tk.W+tk.E)
+            c+=1
+            if len(data["ATTRIBUT"]) == 1:
+                b = tk.Button(xframe,bg="#ddd", text="DIMMER",width=8,anchor="w")
+            elif "PAN" in data["ATTRIBUT"] or  "TITL" in data["ATTRIBUT"] :
+                b = tk.Button(xframe,bg="#ddd", text="MOVER",width=8,anchor="w")
+            else:
+                b = tk.Button(xframe,bg="#ddd", text="",width=8,anchor="w")
             #b.bind("<Button>",Xevent(fix=fix,elem=b).cb)
             b.grid(row=r, column=c, sticky=tk.W+tk.E)
             c+=1
@@ -1653,13 +1689,17 @@ class GUI(Base):
             patch = ["UNIVERS","DMX"]
             for k in patch:
                 v=data[k]
-                b = tk.Button(xframe,bg="grey", text=str(k)+' '+str(v),width=8)
+                #b = tk.Button(xframe,bg="grey", text=str(k)+' '+str(v),width=8)
+                b = tk.Button(xframe,bg="grey", text=str(v),width=2)
                 b.grid(row=r, column=c, sticky=tk.W+tk.E)
                 c+=1
                 if c >=8:
                     c=start_c
                     r+=1
-            b = tk.Button(xframe,bg="grey", text="CH:{}".format(len(data["ATTRIBUT"])),width=8)
+            b = tk.Button(xframe,bg="grey", text="{}".format(len(data["ATTRIBUT"])),width=3)
+            b.grid(row=r, column=c, sticky=tk.W+tk.E)
+            c+=1
+            b = tk.Button(xframe,bg="#aaa", text="{:03}-{:03}".format(data["DMX"],len(data["ATTRIBUT"])+(data["DMX"])-1),width=6,anchor="w")
             b.grid(row=r, column=c, sticky=tk.W+tk.E)
             if 0: #for attr in data["ATTRIBUT"]:
                 
@@ -2071,6 +2111,120 @@ class GUI(Base):
         #Xroot.bind("<Key>",Xevent(fix=0,elem=None,attr="ROOT",data=self,mode="ROOT").cb)
         self.draw_input()
 
+class TableFrame():
+    def __init__(self,root, width=50,height=100,bd=1):
+        self.root=root
+
+        f=self.HFrame()
+        f=self.Sframe(f, width=width,height=height,bd=bd)
+        self.draw([["A","11"],["B",4],["E",""],["R","R"],["Z","Z"],["U","U"]])
+        f=self.HFrame()
+        f=self.Sframe(f, width=width,height=height,bd=bd)
+        self.draw([["A","11"],["B",4],["E",""],["R","R"],["Z","Z"],["U","U"]])
+        f=self.HFrame()
+        f=self.Sframe(f, width=width,height=height,bd=bd)
+
+    def HFrame(self):  
+        try:
+            pass#self.hframe.destroy()
+        except:pass
+
+        hframe=tk.Frame(self.root,relief=tk.GROOVE,bg="red")#,width=width,height=height,bd=bd)
+        hframe.pack(side="top",fill="both",expand=1) #x=0,y=0)
+        self.hframe=hframe
+        hframe=self.hframe
+        for i in dir(hframe):
+            print(i)
+        h2frame=tk.Frame(hframe,relief=tk.GROOVE,bg="#de0")#,width=width,height=height,bd=bd)
+        h2frame.pack(side="top",fill="x",expand=0) #x=0,y=0)
+        l=tk.Label(h2frame,text="filter:")
+        #l.pack(side="left")
+        r=0
+        c=0
+        l.grid(row=r, column=c)#, sticky=tk.W+tk.E)
+        c+=1
+        l=tk.Entry(h2frame,text="test")
+        l.grid(row=r, column=c)#, sticky=tk.W+tk.E)
+        self.hframe = hframe
+        #self.bframe=hframe
+        return hframe
+
+    def Sframe(self,root, width=50,height=100,bd=1):
+        try:
+            pass#self.aframe.destroy()
+        except:pass
+        aframe=tk.Frame(root,relief=tk.GROOVE)#,width=width,height=height,bd=bd)
+        self.aframe=aframe
+        #aframe.place(x=0,y=0)
+        aframe.pack(side="top",fill="both",expand=1) #x=0,y=0)
+
+        canvas=tk.Canvas(aframe,width=width-24,height=height)
+        canvas["bg"] = "blue" #black" #"green"
+        bframe=tk.Frame(canvas)#,width=width,height=height)
+        bframe["bg"] = "blue"
+        scrollbar=tk.Scrollbar(aframe,orient="vertical",command=canvas.yview,width=20)
+        canvas.configure(yscrollcommand=scrollbar.set)
+
+        scrollbar.pack(side="right",fill="y")
+        canvas.pack(side="left",expand=1,fill="both")
+        canvas.create_window((0,0),window=bframe,anchor='nw')
+        bframe.bind("<Configure>",scroll(canvas).config)
+        canvas.bind("<Button>",Event("XXX").event)
+        canvas.bind("<Key>",Event("XXX").event)
+        canvas.bind("<KeyRelease>",Event("XXX").event)
+        self.bframe=bframe
+        return bframe
+
+
+    def draw(self,data=[1,2],head=[],config=[]):
+        global tk
+        bframe=self.bframe
+        yframe = bframe
+        if 1: 
+            xframe = tk.Frame(yframe,bg="black")
+            xframe.pack()
+            def yview(event):
+                print("yevent",event)
+                yyy=20.1
+                xframe.yview_moveto(yyy)
+
+            i=0
+            c=0
+            r=0
+            b = tk.Button(xframe,bg="lightblue", text="ID",width=6,anchor="e")
+            #b.bind("<Button>",Xevent(fix=fix,elem=b).cb)
+            b.grid(row=r, column=c, sticky=tk.W+tk.E)
+            c+=1
+            b = tk.Button(xframe,bg="lightblue", text="NAME",width=14,anchor="w")
+            #b.bind("<Button>",Xevent(fix=fix,elem=b).cb)
+            b.grid(row=r, column=c, sticky=tk.W+tk.E)
+            c+=1
+            b = tk.Button(xframe,bg="#ddd", text="TYPE",width=3)
+            b.grid(row=r, column=c, sticky=tk.W+tk.E)
+            c+=1
+            b = tk.Button(xframe,bg="#ddd", text="Uni",width=1)
+            b.grid(row=r, column=c, sticky=tk.W+tk.E)
+            c+=1
+            b = tk.Button(xframe,bg="#ddd", text="DMX",width=1)
+            b.grid(row=r, column=c, sticky=tk.W+tk.E)
+            c+=1
+            b = tk.Button(xframe,bg="#ddd", text="CH's",width=1)
+            b.grid(row=r, column=c, sticky=tk.W+tk.E)
+            c+=1
+
+            c=0
+            r+=1
+
+            for i,p in enumerate(data):
+                for j in data[i]:
+                    b = tk.Button(xframe,bg="lightblue", text=""+str(j),width=6,anchor="e")
+                    b.grid(row=r, column=c, sticky=tk.W+tk.E)
+                    c+=1
+                c=0
+                r+=1
+                    
+        return bframe
+
 def ScrollFrame(root,width=50,height=100,bd=1):
     #print("ScrollFrame init",width,height)
     aframe=tk.Frame(root,relief=tk.GROOVE)#,width=width,height=height,bd=bd)
@@ -3200,6 +3354,18 @@ w = GUIWindow(name,master=0,width=580,height=100,left=80,top=620)
 master.draw_colorpicker(w.tk)
 window_manager.new(w,name)
 
+name="Table"
+w# = GUIWindow(name,master=0,width=580,height=100,left=80,top=620)
+w = GUIWindow(name,master=0,width=800,height=400,left=110,top=65)
+x=TableFrame(root=w.tk)#,left=80,top=620)
+data =[]
+for a in range(40):
+    data.append(["E","E{}".format(a+1)])
+
+x.draw(data=data,head=["E","C"],config=[12,5,5])
+w=x.bframe
+#window_manager.new(w,name)
+
 
 #Xroot = tk.Tk()
 #Xroot["bg"] = "black" #white
@@ -3208,7 +3374,7 @@ window_manager.new(w,name)
 
 
 master.render()
-
+window_manager.top("Table")
 #w = frame_fix #GUIWindow("OLD",master=0,width=800,height=500,left=130,top=65)
 window_manager.new(w,name)