Text Size

Feature Request

Some improvements

Request new features here

Moderators: jsp, Pharmhaus

Some improvements

Postby JCKodel » Tue Jul 15, 2008 6:39 pm

Hello there...

I'm a BASIC programmer since middle 80s and, of course, now I'm playing around BlitzMax a bit...

LogicGUI is a good "window designer" but, it lacks some features and details to become even better, so, here's my thoughts (and questions)

1) Has anyone succeed in writing a OO template for LogicGUI?

2) The flag WINDOW_CLIENTCOORDS means that the size specified for the window is the INNER size... but windows in LogicGUI does not seem to obey that configuration (i.e.: the windows have all the same size, regardless the CLIENTCOORDS flag)

3) Guess the author is a Mac user... 'cos Menu Control Center shows Modifier as Shift, Ctrl, System and Option... Please, use a ?Win32 Add Windows Names ?MacOS Add Mac Names while inserting items on that combo =(

4) The way LG handlers childs it's a bit frustrating =( One pixel outside the parent gadget and LG assumes it's not its parent anymore... To fixed it, LG should:

a) Have some layout commands like Anchor and Dock. Anchor locks one or more vertices of the control, so, when the parent is resized, the anchored cornes stays at the same coords, but the other (width or height) is resized with the parent. If you anchor left, top and right in a textbox, when the window is resized, the text box assumes a new width only, that will have the same right margin aways. A control without any anchor will float aways, for example: a button centered in a form will always be centered. Dock makes the control assume the full width/height of its parent. Dock Top leaves the control like a menu bar: its height remains the same, but it will be aways at the top of the window. Dock left, for example, obeys width, but will "dock" the control at the left of the container, filling all the height available. Dock fill will fill the entire parent. With these two layout commands, we can achieve good UIs in Visual Studio, for example. The way it is today, its far easy to make LG think that a specific control is not parented to another (specially with the CLIENTCOORDS bug above). If you have a Windows computer or VM, try to download the Visual Studio Visual Basic 2008 Express at Microsoft's site and try to draw a form... It's quite simple.

b) Use a tree to determine the parenthood of a control. We would have the main window as the root node and every child inside a node. If we want to put a text box inside a panel, for example, just drag the text box node inside the panel node and voila... the text box parent's would be the panel. This is usefull when we want to put gadgets outside the view of the parent (for example: for a scroll effect or just to hide some border).

5) The Source Properties window it's kind annoying... That sould be a Properties window to set those properties... I know BMax can do it using the wxGadgets mod. It should be far more easy to draw UIs with a properties grid like this:

Image

6) With Steps in grid size option on, the gadgets would step in the grid while we moving they, but the same does not happen when we resize them =(

7) A [F5] accelerator for the Run option would be nice (and consistent with the MaxGUI accelerator for testing purposes)

8) Photoshop permits to invoke a document ruler and mark some lines to help layout, so the tools snap in those rules... We could use that ideia to make positioning more easy: we draw the rules at the specified coordinates and the gadgets would snap into those lines... in both moving and resize operations.

Maybe some things posted here are already available and I do not know how to used. If that's the case, sorry... Just some thoughts ^^
JCKodel
New Member
 
Posts: 3
Joined: Tue Jul 15, 2008 6:04 pm

Build 333

Postby jsp » Wed Jul 16, 2008 2:49 am

Thanks for the feature list. Let me check in short some points of it:

1)Other user should probably answer this. Are you looking for something special?

2)As you realized this flag works different. It does actually nothing to your form, but to the source code which is created. You like to define the client size and want the window bigger according the chosen theme and Logic Gui does it the other way round, you size a window and put all your gadgets on top and Logic Gui calculates the coordinates when writing the source. Beside the sizing step there is no big difference, but could still be a valid point. As no other user asked for that behavior this way i would like to ask now if i should change the default? Please vote.

3)Mac user which do the design on windows need those. I don't think it's a problem, just use what you need.

4)The initial design actually tried to avoid any settings of parents, anchors and docks. All is done on the fly to keep it as simple as possible. You are completely free in moving anything around and Logic Gui does the connections without any extra work from the user. Of course there are limits with this approach and there was already a discussion to use some parent/child docking, but nothing concrete yet. If you like to have a scroll effect you could use the ScrollPanel and you don't have to care about it yourself. I will have a closer look into the Visual Studio again when i have some time, but i am not writing a clone or so (not that you asked for it), i am following my own way. Having said that, all input is welcome to make the product better! And when i remember correctly i looked into VS2006 and beside some minor things i didn't see any special, which might fit my structure.

5)Logic Gui uses only MaxGui, so no 'Property Grid'.

6)Steps in grid size: You can step, shrink or expand a gadget, by 1 pixel (small step) or by 5 pixel (big step) using the keyboard to be precise in positioning or size. When steps in grid size is selected, then the big step is replaced by the size of the grid. To move the gadget on top of the grid using the mouse you can also use the snap to grid option from the grid window.

7)Yeah, why not. Good idea, to have a shortcut for the run button, although the MaxIDE CE version i am using don't use F5, but i think it's ok. What does Blide use? Any Blide user...

8)Aquaruis asked once for such an option, so i put it on my list, but as there was no massive request yet, no date yet. Again, anybody else? I could push the priority if needed.
User avatar
jsp
LogicZone
 
Posts: 372
Joined: Sun Sep 09, 2007 11:18 pm
Location: Germany

Re: Build 333

Postby Muttley » Wed Jul 23, 2008 9:37 pm

jsp wrote:7)Yeah, why not. Good idea, to have a shortcut for the run button, although the MaxIDE CE version i am using don't use F5, but i think it's ok. What does Blide use? Any Blide user...


BLIde uses F5 to compile and run...
Muttley
New Member
 
Posts: 8
Joined: Fri Oct 05, 2007 10:46 am

Build 412

Postby jsp » Tue Sep 22, 2009 7:26 pm

A bit old thread, but as we have some more features done, here we go:

1) Has anyone succeed in writing a OO template for LogicGUI?


Build 412 creates an independent type and brings an OOP interface for the form with it

Have some layout commands like Anchor


Anchor is implemented and links also to the MaxGui SetGadgetCommand if you like.

8) Photoshop permits to invoke a document ruler and mark some lines to help layout, so the tools snap in those rules... We could use that ideia to make positioning more easy: we draw the rules at the specified coordinates and the gadgets would snap into those lines... in both moving and resize operations.


Advanced guides are implemented in Version 4 and improved in Version 5
User avatar
jsp
LogicZone
 
Posts: 372
Joined: Sun Sep 09, 2007 11:18 pm
Location: Germany


Return to Feature Request

Who is online

Users browsing this forum: No registered users and 1 guest

cron

User Menu

Login form



Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 71 on Fri Apr 08, 2016 9:16 pm

Users browsing this forum: No registered users and 1 guest