Comments on Eclipse plugin: Jigloo SWT/Swing GUI Builder
add comment plugin-details
pages: <Previous 1 2 3 4 5 6 7 8 9 Next>
William Wise on Jan 9, 2004 8:54 PM
Sign up for the demo and give it a try here:
http://msdn.microsoft.com/vstudio/tryit/
Or you can download a trial copy of Delphi or Kylix which uses the same layoutmanager. A little investigation in this area will pay off. You should always steal the best features from the competition just as Microsoft does. :-)
Will
Konstantin Scheglov on Jan 9, 2004 9:23 AM
BTW, William, how do you see implementation of alignment of controls by, for example, left sides? Should we just support snap grid, or support for snapping to same position (without adding contrstraints, just set same location)?
It seems that this .Net layout could be really implemented as alternative GEF's layout policy, that will show to user only subset of full FormLayout functionality and make screen easier. But, of course, we will lose part of power...
William Wise on Jan 9, 2004 7:56 AM
You may well be right that my personal quixotic quest will be at an end once SWT designer evolves to support SWING GUIs (which is the UI technology I'm working with presently) but I still think it's important for there to be a direct feature-for-feature implementation of the VS.NET/Delphi layout manager including the UI motif they use.
As an avowed Microsoft critic I see Java as a real alternative to VS.NET/C# but I also see Microsoft winning in the tools arena. Having a VS.NET compatability mode would make the migration for C# and VB programmers all the more easier and "easy" is what they've become accustomed to by using MS tools.
To my eye the FormLayout manager in SWT designer is more feature rich but alsomore complicated than the VS.NET/Delphi layout manager. Being able to depend on every control to only have a particular kind of attachment to it's container yields predictability in how the layout was put together. Allowing controls to be anchored to other controls (and not just the sides of the container) and allowing for gaps to be specified in percentages complicates the UI design. While it may be desirable in some instances to have this additional capability I've never really needed it and could certainly upgrade to full FormLayout functionality after becoming familiar with the basics (supposing that I was new to this layout approach).
It's just my opinion that the more variables (features) you allow for in the LayoutManager the more complicated the GUI has to be to support it. Providing a "basic" and "advanced" mode would go a long way to making FormLayout easier to use AND provide the power that some users will ultimately need. It will also make the transition to Java more palatable to VS.NET users who I hope will eventually migrate to Java and the Eclipse platform. (Yes, another Quixotic Quest of mine...don't even get me started on Linux and World Peace... :-)
Will
Eric Clayberg on Jan 8, 2004 11:20 PM
William - I think your quixotic quest should be at an end. The SWT FormLayout will let you do exactly as you describe. Setting up the anchor types that you describe is very easy to do with FormLayout. With FormLayout you can anchor each side to the near or far side of the window. You can also anchor to specific percentage points (like the 50% window center line) or to other widgets, but you could ignore those capabilities for your "Visual Studio compatability mode."
William Wise on Jan 8, 2004 9:45 PM
If you can accomplish identical functionality using a subset of the features of the FormLayout then I would do that and call is Visual Studio compatability mode. This will make it popular among those who are used to the simplicity of the Windows interface. It really couldn't be simpler and yet be so effective.
Thanks again...my quixotic quest continues... :-)
Will
Jonathan Kinnersley on Jan 8, 2004 6:56 PM
You are (of course) right, Konstantin - FormLayout can handle this situation - it's just so darn configurable I forgot it can be used in this way. For Swing, though, there is no suitable layout manager. By the way, looks like you have done a great job with managing Form layouts in SWT Designer.
Jonathan Kinnersley on Jan 8, 2004 12:26 PM
I agree, grid layouts are nice and easy to use, and powerful enough for most uses (I feel the SWT one is more powerful than the Swing one, and easier to use than the Swing GridBag).
However, I do see some use in another kind of layout like the one William describes (and in great detail - thanks, William). I'll see about including that in the next release of Jigloo.
Konstantin Scheglov on Jan 8, 2004 6:14 AM
Hi, William! :-)
I remember that we speak about Delphi/VS layout, but don't you think that it is equivalent to SWT's FormLayout? FormLayout even has more functions: it allows you bind one control to another.
But I should say that I never use FormLayout, all my applications (dozens of Dialog's) use GridLayout, because it is very easy to have controls aligned by left/top sides. Just few key presses or mouse manipulations - and you have precise design.
William Wise on Jan 8, 2004 5:59 AM
Here are the important characteristics of Delphi's and VS.NET's (MS is always one to copy a good idea when they see it...) layout manager:
a) By default, emulates a null (or xy) layout manager's simplicity.
What this means is that you can drag a control from the tool palette and drop it anywhere on the form and you're done. Many simple applications that can define a static form size (like a simple dialog box) will use this layout since it's simple and effective. The downside to null layout is that the controls will not reposition or resize dynamically if the container's size changes.
Although this is the default behavior of the (let's call it delphi layout manager) delphi layout manager it actually achieves this by making controls have a default top, left anchor...
b) Very easy to make controls react intelligently to changes in a container's size.
In a nutshell what this type of layout manager does is allow the GUI designer to draw an interface using the simple XY/null layout approach and then, once it's laid out, rapidy turn it into a dynamic layout that resizes intelligently with the form or container to which it is bound.
The concept of anchors is what provides the power. Examine this diagram:
Top Anchor
Left Anchor [CONTROL] Right Anchor
Bottom Anchor
Each anchor can be turned on or off. Establishing a left anchor will cause the control to maintain it's x coordinate pixel position relative to the container's left edge. Likewise, establishing a right anchor will cause the control to maintain it's x coordinate pixel position relative to the container's right edge. If BOTH a left and right anchors are established then the control's width will expand with the expansion of the container's width.
The top and bottom anchors are in a similar relationship to one another with regard to the control's y coordinate pixel position and height.
The best way to check out how this works in practice is to download a trial version of either delphi or vs.net and give it a shot. I work on thick-client GUIs in VS.NET for my day job and Java for my hobby programming and I' ve never needed more than this layout manager provides on the VS.NET side of the fence and am constantly frustrated by the confusing array of layout managers on the Java side.
I've been beating this war drum on a few Java IDE sites and there just seems to be little appreciation of the ease of use that VS.NET provides to programmers at the tool level, as opposed to the language level. I've personally seen VS.NET programmers take an interest in Java only to be turned off by having to wrap their heads around a plethora of layout managers that are completely unnecessary to get the job done.
Will
Jonathan Kinnersley on Jan 8, 2004 3:13 AM
Thanks! Glad you find it useful.
Are there any special features of the visual studio layout manager that you are thinking about in particular?
(I've only played a bit with the visual c++ editor but haven't used delphi at all).
pages: <Previous 1 2 3 4 5 6 7 8 9 Next>

