Re: Fluid Application Environment 3.0.alpha1 Released!
- Posted by ryanj Oct 14, 2013
- 2271 views
Wow, this is becoming a long discussion. I'm working right now, so it's hard to keep up. But I'll say this:
To clarify something, you can have multiple "root" widgets. The technical definition of a root widget in FluidAE is a widget that is directly responsible for creating and destroying operating-system-window handles.
Currently, you can assign an event handler procedure for individual widgets if you want. If you assign a handler to a window, or even a container inside a window, then its children will inherit the same handler.
You can put this in a separate file if you want. For example, you could write "status.e" which creates a status window and handles events for it.
If you want to allow multiple instances, you could set up a method to generate id strings to add to the widget name, which you can use for creating widgets and for getting events from them ("winStatus01", "winStatus02", etc.)
--file: status.e procedure status_event(object evwidget, object evtype, object evdata) --handle events for winStatus and any widgets you create inside it end procedure export procedure show_status_window(object whatever) --call this from your main file to create a status window gui:wcreate({ {"name", "winStatus"}, {"class", "window"}, {"title", "Status of " & whatever}, {"handler", routine_id("status_event")} }) --create other widgets inside "winStatus", put "whatever" data in them end procedure
I will also say this: I am seriously considering adding something that I wanted to do in the original design of FluidAE: the ability to run the GUI as a separate process, which multiple processes can connect to, using shared memory or tcp sockets.