Eto keep dynamic layout open while doing things in grasshopper

#1

When a grid view layout is open to show data tree items is there a way to keep this window open do things in grasshopper.
Only if the the eto window is closed grasshopper is open for interaction.?

import Eto.Forms as forms
import Eto.Drawing as drawing
import Rhino.UI
import ghpythonlib.treehelpers as th

if x:
class TestDialog(forms.Dialog):
def init(self):
self.Title = “Cell Colors”
self.Size = drawing.Size(500,200)
self.Resizable = True

        self.grid = forms.GridView()
        self.grid.Size = drawing.Size(300,200)
        
        
        
        
        
        
        for i in range(0,y.BranchCount):
            Branch= forms.GridColumn()
            Branch.DataCell = forms.TextBoxCell(i)
            self.grid.Columns.Add(Branch)
        
        self.grid.DataStore = zip(*[list(i) for i in y.Branches])
        
        
        layout = forms.DynamicLayout()
        layout.AddRow(self.grid)
        self.Content = layout


def main():
    dialog = TestDialog()
    dialog.ShowModal(Rhino.UI.RhinoEtoApp.MainWindow)

if __name__ == "__main__":
    main()
0 Likes

(David Rutten) #2

Any window which is shown modally will block the underlying (parent) window. You need to show a modeless form.

0 Likes

#3

Thanks David,

changed forms.Dialog to forms.Form (modeless) and it works.
Do you have also a hint how to keep the window all time on top of all other windows?

0 Likes

#4

self.Topmost = True is the solution

0 Likes