MorgenGrauen / mg-mudlet

Mudlet-Skripte
2 stars 4 forks source link

Karte & Kommunikation gleichzeitig verformen #46

Closed Kebap closed 1 year ago

Kebap commented 1 year ago

Wenn man nach #45 die Box mit Karte oder Kommunikation in der Größe ändert, dann kann sie die jeweils andere überlappen. Vielleicht (?) wäre es ganz nett, wenn die andere automatisch ihre Form anpassen würde, so dass die beiden nie überlappen?

Andererseits kann man die Boxen ja auch verschieben, und dann sollte diese Kopplung spätestens nicht mehr passieren. Also vielleicht lassen wir das einfach, bis es wirklich mal stört.

GUI = GUI or {}

GUI.top = GUI.top or Adjustable.Container:new({name = "top", y="0%", height = "10%", autoLoad = false})
GUI.bottom = GUI.bottom or Adjustable.Container:new({name = "bottom", height = "20%", y = "-20%", autoLoad = false})
GUI.right = GUI.right or Adjustable.Container:new({name = "right", y = "0%", height = "100%", x = "-20%", width = "20%", autoLoad = false})

-- here I add the 2 Containers  (A and B) on the left
GUI.A = GUI.A or Adjustable.Container:new({name = "A", y = "0%", height = "50%", x = "0%", width = "20%", autoLoad = false})
GUI.B = GUI.B or Adjustable.Container:new({name = "B", y = "50%", height = "50%", x = "0%", width = "20%", autoLoad = false})
GUI.A:attachToBorder("left")
GUI.B:attachToBorder("left")

GUI.top:attachToBorder("top")
GUI.bottom:attachToBorder("bottom")
GUI.right:attachToBorder("right")

GUI.top:connectToBorder("left")
GUI.top:connectToBorder("right")
GUI.bottom:connectToBorder("left")
GUI.bottom:connectToBorder("right")
GUI.B:connectToBorder("left")

--stop bottom resizing from GUI.A
GUI.A.connectedToBorder.bottom = true

--resize container A when container B gets resized
function GUI.B.reposition()
  GUI.A:resize(nil, GUI.B.get_y() - GUI.B.container.get_y())
  Adjustable.Container.reposition(GUI.B)
end