I bought LogicGUI a few days ago. I like it a lot but I have a few suggestions and a couple of bug reports. I haven't read through every post in every LogicGUI discussion, so sorry if these are duplicates.
Bug 1: Let's say I am editing a gadget called "Widget1" in the Gadget Control Center. I adjust Widget1's height, width, and so on, click "update", then hit the little green "run" arrow to preview my layout. When I close the preview window, Widget1 is still in the Gadget Control Center window, and the program allows me to change values and click "update", but no changes are made to the actual Widget1 object. I have to deselect and re-select Widget1 to make changes after running the code from LogicGUI.
Bug2 + suggestion: I have a vertical splitter. One the left, I have a tabber and a listbox. On the right, at the top, I have a panel. In the right-hand side of the splitter, under the panel, I created a scroll panel. When I tried to run the code, I got a "Duplicate identifier" error. LogicGUI generated the code like this:
If you look closely at the bottom two lines, you'll see they should be swapped. SetGadgetLayout creates ScrollPanel1 then the next line tries to create a Local ScrollPanel1. Now I cannot preview my layout. Whenever I want to test my layout, now, I have to generate the code, go into the editor, manually swap those two lines and then compile. That leads me to my suggestion (you may already be doing this, but the error above made me think of it): It would be great if you made sure the LogicGUI code was SuperStrict compatible.
A few suggestions: Drag-on rulers would be very useful. I am thinking along the lines of the rulers in Photoshop that you can drag onto the canvas in order to align stuff and give gadgets extra places to snap to.
LogicGUI really needs an undo command. Because of all the grouping and the complicated layouts that can be created, it is very easy to majorly screw something up by accidentally resizing or moving a bunch of gadgets. An undo feature would really be nice.
The "snap" feature doesn't work very well for me. I find it very hard to make use of snapping objects to the grid. Sometimes, items move very jerkily as I try to slide them to the left and they want to snap back to the right and most of the time, I end up off by a few pixels because it is really easy to move gadget after it has snapped. Even when I am very careful with my trackball, I find it easy to nudge a gadget one or two pixels even after it has snapped. I think this has something to do with the snap only working when you are moving in a certain direction, which is counter-intuitive.
Also, I would really like to see snap work when resizing a gadget. For instance, if I drag a panel to the right, I would like that right edge to snap as I drag.
It would be nice to be able to see the grid on top of the gadgets. Right now, once you lay a gadget on top of the grid, the grid is gone. It would be nice to have a "bring to front/send to back" for the grid.
FInally, I wish LogicGUI would warn me when I try to put a gadget in an illegal place. It took me forever to figure out that I couldn't put stuff at 0, 0 relative to parent gadgets. I would design a layout, hit "run" and my window would be empty. I finally realized that LogicGUI wasn't generating code for any of my gadgets because they were one pixel too far to the left or right, or one pixel too wide or tall.
I hope you find some of that useful.
SpaceAce
Bug 1: Let's say I am editing a gadget called "Widget1" in the Gadget Control Center. I adjust Widget1's height, width, and so on, click "update", then hit the little green "run" arrow to preview my layout. When I close the preview window, Widget1 is still in the Gadget Control Center window, and the program allows me to change values and click "update", but no changes are made to the actual Widget1 object. I have to deselect and re-select Widget1 to make changes after running the code from LogicGUI.
Bug2 + suggestion: I have a vertical splitter. One the left, I have a tabber and a listbox. On the right, at the top, I have a panel. In the right-hand side of the splitter, under the panel, I created a scroll panel. When I tried to run the code, I got a "Duplicate identifier" error. LogicGUI generated the code like this:
Local ScrollPanel1_Type:TScrollPanel = TScrollPanel.Create:TScrollPanel( 221,37,578,563,2000,2000,MainWindow:TGadget,0,19 ) Local ScrollPanel1_Main:TGadget = ScrollPanel1_Type.MainPanel SetGadgetLayout( ScrollPanel1:TGadget,EDGE_ALIGNED,EDGE_ALIGNED,EDGE_RELATIVE,EDGE_ALIGNED ) Local ScrollPanel1:TGadget = ScrollPanel1_Type.VirtualPanel
If you look closely at the bottom two lines, you'll see they should be swapped. SetGadgetLayout creates ScrollPanel1 then the next line tries to create a Local ScrollPanel1. Now I cannot preview my layout. Whenever I want to test my layout, now, I have to generate the code, go into the editor, manually swap those two lines and then compile. That leads me to my suggestion (you may already be doing this, but the error above made me think of it): It would be great if you made sure the LogicGUI code was SuperStrict compatible.
A few suggestions: Drag-on rulers would be very useful. I am thinking along the lines of the rulers in Photoshop that you can drag onto the canvas in order to align stuff and give gadgets extra places to snap to.
LogicGUI really needs an undo command. Because of all the grouping and the complicated layouts that can be created, it is very easy to majorly screw something up by accidentally resizing or moving a bunch of gadgets. An undo feature would really be nice.
The "snap" feature doesn't work very well for me. I find it very hard to make use of snapping objects to the grid. Sometimes, items move very jerkily as I try to slide them to the left and they want to snap back to the right and most of the time, I end up off by a few pixels because it is really easy to move gadget after it has snapped. Even when I am very careful with my trackball, I find it easy to nudge a gadget one or two pixels even after it has snapped. I think this has something to do with the snap only working when you are moving in a certain direction, which is counter-intuitive.
Also, I would really like to see snap work when resizing a gadget. For instance, if I drag a panel to the right, I would like that right edge to snap as I drag.
It would be nice to be able to see the grid on top of the gadgets. Right now, once you lay a gadget on top of the grid, the grid is gone. It would be nice to have a "bring to front/send to back" for the grid.
FInally, I wish LogicGUI would warn me when I try to put a gadget in an illegal place. It took me forever to figure out that I couldn't put stuff at 0, 0 relative to parent gadgets. I would design a layout, hit "run" and my window would be empty. I finally realized that LogicGUI wasn't generating code for any of my gadgets because they were one pixel too far to the left or right, or one pixel too wide or tall.
I hope you find some of that useful.
SpaceAce