Currently I can’t get the layer width, I use a demo to show the problem
“layout.Size.Width” this method always returns a value of “-1”, why is that, I am very confused, I can’t get the real value
The problem
import Rhino
import scriptcontext
import rhinoscriptsyntax as rs
import System
import Rhino.UI
import Eto.Drawing as drawing
import Eto.Forms as forms
import Eto
drawing_Width = 400
drawing_Height = 200
drawing_Padding = 20
drawing_Spacing_Size_0 = 5
drawing_Spacing_Size_1 = 5
m_slider_Boolean_value = False
class Newwindow(forms.Dialog[bool]):
""""Learning eto"""
def __init__(self):
super().__init__()
self.ClientSize = drawing.Size(drawing_Width, drawing_Height)
self.Title = 'New window'
self.Padding = drawing.Padding(drawing_Padding)
self.Resizable = True
self.m_label = forms.Label()
self.m_label.Text = 'd_cv'
self.cve = forms.Button()
self.cve.Text = "curve"
self.DefaultButton = forms.Button()
self.DefaultButton.Text ='OK'
self.AbortButton = forms.Button()
self.AbortButton.Text ='Cancel'
#-------------------------
drawable = forms.Drawable()
drawable.Width = 20
drawable.Height = 40
#--------------------------
layout = forms.DynamicLayout()
layout.Spacing = drawing.Size(drawing_Spacing_Size_0, drawing_Spacing_Size_1)
layout.AddRow(self.m_label , drawable)
layout.AddRow(self.cve)
layout.AddRow(self.DefaultButton,self.AbortButton)
self.Content = layout
#_________This👇
print(layout.Size.Width)
def RequestRoomNumber():
dialog = Newwindow()
dialog.ShowModal(Rhino.UI.RhinoEtoApp.MainWindow)
if __name__ == "__main__":
RequestRoomNumber()