Browse Source

extend: ray-fix view-area-grid, add:scroll-bar

micha 1 day ago
parent
commit
6193721199
1 changed files with 85 additions and 59 deletions
  1. 85 59
      tkray/fix.py

+ 85 - 59
tkray/fix.py

@@ -4,7 +4,7 @@ import sys
 sys.path.insert(0,"/opt/LibreLight/Xdesk/")
 
 
-CAPTION = 'R-FIX-LIST'
+CAPTION = 'RAY-FIX-LIST'
 import tool.movewin as movewin
 
 import pathlib
@@ -67,13 +67,19 @@ a = "/usr/share/fonts/truetype/freefont/FreeSansBold.ttf"
 
 k=200
 a = "/usr/share/fonts/truetype/freefont/FreeSans.ttf"
-font10l = pyray.load_font_ex(a, 10, None, 0);
+font_l_10 = pyray.load_font_ex(a, 10, None, 0);
+
 a = "/usr/share/fonts/truetype/freefont/FreeSansBold.ttf"
-font10 = pyray.load_font_ex(a, 12, None, 0);
-print(dir(font10))
-print(font10.baseSize)
-##exit()
+font12 = pyray.load_font_ex(a, 12, None, 0);
+font14 = pyray.load_font_ex(a, 14, None, 0);
+font16 = pyray.load_font_ex(a, 16, None, 0);
 font20 = pyray.load_font_ex(a, 20, None, 0);
+font22 = pyray.load_font_ex(a, 22, None, 0);
+font24 = pyray.load_font_ex(a, 24, None, 0);
+
+a = "/usr/share/fonts/truetype/freefont/FreeSans.ttf"
+font_l_22 = pyray.load_font_ex(a, 22, None, 0);
+
 a = "/usr/share/fonts/truetype/freefont/FreeMono.ttf"
 a = "/usr/share/fonts/truetype/freefont/FreeSansBold.ttf"
 a = "/usr/share/fonts/truetype/freefont/FreeSans.ttf"
@@ -110,7 +116,6 @@ class BUTTON():
     def __repr__(self):
         return "<BUTTON {} {} {}>".format(id(self),str(self.btn.pos),self.btn.btn1.name)
     def draw(self,event=None):
-        font_size = font10.baseSize
         pos=self.btn.pos
         c=[122,122,122,122] #btn.btn2.get_color()
         pyray.draw_rectangle(pos[1],pos[0],pos[3],pos[2],c)
@@ -123,7 +128,9 @@ class BUTTON():
         pyray.draw_rectangle_lines_ex([pos[1]+1,pos[0]+1,pos[3]-2,pos[2]-2],1,c)
 
         x=self.btn.btn1.name
-        pyray.draw_text_ex(font10,str(x), [pos[1]+4,pos[0]+4], font_size, 0, [0,0,0,255])#pyray.YELLOW)#[0,255,0,255]) #pyray.YELLOW)
+
+        font_size = font14.baseSize
+        pyray.draw_text_ex(font14,str(x), [pos[1]+4,pos[0]+4], font_size, 0, [0,0,0,255])#pyray.YELLOW)#[0,255,0,255]) #pyray.YELLOW)
 
     def event(self,x,y,mouse):
         try:
@@ -202,11 +209,11 @@ def draw_mouse_box(window,pos1,mouse=[None,None,None],color=[128,128,128],text=1
         if w > 10 or h > 10:
             c=[255,255,255,255]
             pyray.draw_rectangle_lines_ex([pos[0],pos[1],w,h],1,c)
-            font_size = font10l.baseSize
-            pyray.draw_text_ex(font10l,str(pos1[0])+" "+str(pos1[1]), [pos1[0],pos1[1]-10], font_size, 0, pyray.WHITE)
-            pyray.draw_text_ex(font10l,str(pos2[0])+" "+str(pos2[1]), [pos2[0]+5,pos2[1]+10], font_size, 0, pyray.WHITE)
-            pyray.draw_text_ex(font10l,str(w), [pos2[0]+5+w/2*wd,pos2[1]], font_size, 0, pyray.WHITE)
-            pyray.draw_text_ex(font10l,str(h), [pos2[0]+5,pos2[1]+h/2*hd], font_size, 0, pyray.WHITE)
+            font_size = font_l_10.baseSize
+            pyray.draw_text_ex(font_l_10,str(pos1[0])+" "+str(pos1[1]), [pos1[0],pos1[1]-10], font_size, 0, pyray.WHITE)
+            pyray.draw_text_ex(font_l_10,str(pos2[0])+" "+str(pos2[1]), [pos2[0]+5,pos2[1]+10], font_size, 0, pyray.WHITE)
+            pyray.draw_text_ex(font_l_10,str(w), [pos2[0]+5+w/2*wd,pos2[1]], font_size, 0, pyray.WHITE)
+            pyray.draw_text_ex(font_l_10,str(h), [pos2[0]+5,pos2[1]+h/2*hd], font_size, 0, pyray.WHITE)
             return pos1,pos2
 
 mouse_old=[None,None,None]
@@ -265,50 +272,62 @@ def load_fix():
 XFIRST_RUN = 1
 def check_buttons(buttons,host_list):
     global XFIRST_RUN 
-    _x=30
-    _y=60
+    _x=20
+    _y=30
     if not XFIRST_RUN:
         return
     XFIRST_RUN = 0
-
-    if 1:#FIRST_RUN:
-        for i,k in enumerate(host_list): #.items():
-            key = str(i)
-            if key not in buttons:
-                v=host_list[k]
-                txt=v["NAME"]
-                btn=BUTTON(None,txt,[_y,_x,30,60])
-                btn.btn.btn1.color_on = [255,255,0,255]
-                buttons[key] = btn
-                #print("ADD",key,btn)
-
-                if "ATTRIBUT" in v:
-                    #print(txt)
-                    ATTR = v["ATTRIBUT"]
-                    if 1:
-                        ay2=_y
-                        ax2=_x+70
-                        for kk,vv in v["ATTRIBUT"].items():
-                            if "-FINE" in kk or kk.startswith("_"):
-                                continue
-                            key = str(i)+":" +kk
-                            VAL = vv["VALUE"]
-                            print("-",kk,vv)
-                            txt = kk+" "+str(VAL)
-                            btn=BUTTON(None,txt,[ay2,ax2,30,70])
-                            btn.btn.btn1.color_on = [255,255,0,255]
-                            buttons[key] = btn
-                            add=1
-                            ax2+=73
-
-            _y+=30
+    H = 22
+    W = 120
+    W2 = W
+    for i,k in enumerate(host_list): #.items():
+        _x=20
+        key = str(i)
+        if key not in buttons: # insert 
+            v=host_list[k]
+            txt=v["NAME"]
+            btn=BUTTON(None,txt,[_y,_x,H,W])
+            btn.btn.btn1.color_on = [255,255,0,255]
+            buttons[key] = btn
+            #print("ADD",key,btn)
+            
+            _x+=W+2
+            key = str(i)+":rgb"
+            txt = ""
+            btn=BUTTON(None,txt,[_y,_x,H,20])
+            btn.btn.btn1.color = [0,0,0,255]
+            btn.btn.btn1.color_on = [255,255,0,255]
+            buttons[key] = btn
+            _x+=20+2
+
+            if "ATTRIBUT" in v:
+                #print(txt)
+                ATTR = v["ATTRIBUT"]
+                if 1:
+                    ay2=_y
+                    ax2=_x
+                    for kk,vv in v["ATTRIBUT"].items():
+                        if "-FINE" in kk or kk.startswith("_"):
+                            continue
+                        key = str(i)+":" +kk
+                        VAL = vv["VALUE"]
+                        #print("-",kk,vv)
+                        txt = kk+" "+str(VAL)
+                        btn=BUTTON(None,txt,[ay2,ax2,H,W2])
+                        btn.btn.btn1.color_on = [255,255,0,255]
+                        buttons[key] = btn
+                        add=1
+                        ax2+=W2+3
+
+        _y+=23
 
 def draw_buttons(buttons):
+    mh = pyray.get_screen_height()
     for k,btn in buttons.items():
         btn.event(old_x,old_y,mouse_old)
         #print(btn)
         pos = btn.btn.pos
-        if pos[0] > 300:
+        if pos[0] > (mh-40):
             continue
         btn.draw()
 
@@ -330,8 +349,11 @@ while not pyray.window_should_close():
 
 
 
-    font_size = font10.baseSize
+    font_size = font12.baseSize
     try:
+        mw = pyray.get_screen_width()
+        mh = pyray.get_screen_height()
+
         keys,host_list = load_fix()
 
         GREY = [122,122,122,255]
@@ -344,16 +366,14 @@ while not pyray.window_should_close():
         check_buttons(buttons,host_list)
 
 
+        pyray.draw_text_ex(font_l_22,"FIXTURE LIST",[20,5], 22, 0,  pyray.GRAY)
 
-        w=200
-        h=50
+        pyray.draw_text_ex(font12,"ACTIVE:{:0.1f} {:0.1f}".format(0,0),[200,5], 12, 0,  pyray.YELLOW)
+        pyray.draw_text_ex(font12,"ENCODER:±{:0.2f}".format(5),[310,5], 12, 0,  pyray.YELLOW)
 
-        x=200
-        y=200
-
-        pyray.draw_text_ex(font25,"FPS:{}".format(fps_count),[10,5], 25, 0,  pyray.VIOLET)
-        pyray.draw_text_ex(font25,"BTN:{}".format(len(buttons)),[150,5], 25, 0,  pyray.VIOLET)
-        pyray.draw_text_ex(font25,"FIX:{}".format(len(host_list)),[350,5], 25, 0,  pyray.VIOLET)
+        pyray.draw_text_ex(font12,"FPS:{}".format(fps_count)     ,[420,5], 12, 0,  pyray.BLUE)
+        pyray.draw_text_ex(font12,"BTN:{}".format(len(buttons))  ,[460,5], 12, 0,  pyray.BLUE)
+        pyray.draw_text_ex(font12,"FIX:{}".format(len(host_list)),[520,5], 12, 0,  pyray.BLUE)
 
         m=pyray.get_mouse_position()
         #print(m)
@@ -399,10 +419,16 @@ while not pyray.window_should_close():
             #print(mouse)
             mouse_old = mouse[:]
             
+        txt=""
+        key="scroll-bar"
+        btn=BUTTON(None,txt,[30,mw-35,mh-75,30])
+        btn.btn.btn1.color_on = [255,255,0,255]
+        buttons[key] = btn
+
         draw_buttons(buttons)
         
-        pyray.draw_text_ex(font20,"X:{}".format(int(m.x)),[10,34], 20, 0,  pyray.VIOLET)
-        pyray.draw_text_ex(font20,"Y:{}".format(int(m.y)),[65,34], 20, 0,  pyray.VIOLET)
+        pyray.draw_text_ex(font12,"X:{}".format(int(m.x)),[590,5], 12, 0,  pyray.VIOLET)
+        pyray.draw_text_ex(font12,"Y:{}".format(int(m.y)),[620,5], 12, 0,  pyray.VIOLET)
 
         pyray.draw_rectangle(int(old_x-10),int(old_y-1),20,2,[255,0,255,255])
         pyray.draw_rectangle(int(old_x-1),int(old_y-10),2,20,[255,0,255,255])