A few suggestions (code window & shortcuts)

HomeWorx

Member
Licensed User
Longtime User
Hi ! Here are some ideas I noted down along my very first Basic4ppc experience. I'm a long-time VB6 user so there are things inspired from there.

Designer
--------
* Can a label's text be centered on the label ? (eVB does that, so I guess it's possible) - a label could then have an Alignment property
* Add a toolbar on the left with all controls
* Add a field above or below the selected control's name to display its type
* Delete key should delete the selected control(s), with confirmation dialog maybe
* Right-click on a control displays its events
* When the Designer window closes (either with a click on the Close icon, or when selecting an event), it keeps asking if I want to keep changes... even if I haven't made any change at all !
* From time to time I'll get the following message box when I try to exit the Designer : "An error occured. Invalid Property Value / Object reference not set to an instance of an object." (I once got this message when I hadn't given any name to a newly created control, but 5 minutes ago I saw the message again although I hadn't added anything...)
* Menu Editor : it may not be necessary to confirm "Sub added" when clicking the "Click Event" button.
* Move selected control(s) : Ctrl+arrow keys (snap to grid) / Shift+Ctrl+arrow keys (pixel by pixel)
* Screen size could be set in the main options, or at least be remembered (saved) by Basic4ppc

General
-------
* If a file named "template.sbp" is found in Basic4ppc's installation directory, load this template when "File > New" is selected (or add a "New template" submenu and enable it if the file "template.sbp" exists)
* Evaluate True or False values in parentheses, e.g. Check1.Visible = (i > 3)

Main/code window
----------------
* Tools > Options should gather all options on a new window (rather than checking/unchecking menu items)
* Right pane : default layout should be "all expanded"
* Ctrl+F3 when text selection is empty and caret is at the beginning/in the middle/at the end of a word : pops up Find/Replace window displaying that word in the "Find" field
* Mnemonics in Find/Replace window : "Search in all &modules", "Search in &selection"
* Auto Case Correct on variable names
* Auto Case Correct on "endif" -> should become "End If" (instead of having to type the space bar)
* Hitting F1 when on a keyword could display help on that keyword
* Ctrl+I on a function/keyword/constant (anywhere in the word, even without a selection) could display info on that word (rather than having to press the space bar after a function name, for example)
* Selection drag & drop
* F2 could apply to variables as well
* After a F2 key press, it would be handy to go back to where the caret was before (VB6 allows that when you press Shift+F2)

* Someone already suggested the idea - the Edit menu (or any other) should include a "New Sub" item that would insert the following :
Sub ()
[Tab]
End Sub
...then the caret could immediately come before the parentheses.

* There could even be customizable shortcuts for common multiline blocks such as (slashes stand for line breaks) :
- "forX " would insert "For X = 0 To / [Tab] / Next X" (where X could be any letter you type)
- "if " would display an "If ... End If" block
- "ife " might stand for "If ... Else ... End If"
etc.

* Toolbar : add a dropdown list containing all subs (like VB6 does)
-> When navigating in the code, this list would show which sub you're in
-> When you click an entry in this list, it takes you to the matching sub


Shortcuts
---------
* Auto-complete : Ctrl+Space pops up the main list after a dot - e.g. hit Ctrl+Space after "Form1.", then ignore the list by pressing the space bar, then hit backspace and then Ctrl+Space. It should display methods and properties associated to Form1.
* Comment/Uncomment : Ctrl+T
* Find/Replace : Ctrl+H (in addition to Ctrl+F, or only for Replace)
* Redo : Ctrl+Y


OK, I guess that's all for now.
And, well, OK : apart from those details, Basic4ppc is just the greatest tool ever made ! It's close to perfect right now :)
 
Last edited:

N1c0_ds

Active Member
Licensed User
The label alignment can be changed with FormLib. I agree it should be added to the options, however.

Here's a few more suggestions from me:

-Auto completion with controls added at runtime or the possibility to set control height to something like "form.height*4/control2.width". All my controls are created to be sized based on the screen size so it's a must ;)

-Maybe the ability to highlight what we are doing before saving and closing?

-Fix the bug that add 1 pixel to the control widths when showing the mobile designer on VGA screens. This has been discussed before and I just noticed it.

-The Left and Right commands to play with strings (get the first X letters starting from the left or the right). It's a really useful keyword IMO.


Keep up the good work, Erel. I love B4PPC ;) Oh and have happy new year!
 

HomeWorx

Member
Licensed User
Longtime User
A few other small things...

Designer
--------
Add a list containing all controls. It will be easier than having to click the "Next" button ten times :)

Find/Replace window
-------------------
Change font (for "Find what" and "Replace with" fields only) to that defined in Tools > IDE Options

Right pane (main window)
-----------------------------
* Change font (either its face or size)
* Wheel mouse scroll without having to click on the pane

Besides that, like N1c0_ds wrote, I love B4ppc :)
 
Last edited:

N1c0_ds

Active Member
Licensed User
Oh, forgot one. Probably the highest on my list:

A button to minimize all subs at once.


This is something I do everytime I open a project and once you go over 500 lines it becomes pretty long to minimize them all.
 

Cableguy

Expert
Licensed User
Longtime User
Something not design-related : implement integer division ("\").

????You can already do that, either with hardcoded values or with variables....
To get the integer just ad "int" before the operation...
Ex:
TextBox1.left=(Form1.Width-TextBox1.Widt)/2

this will place the textbox exactly in the center of the form's width

I think your "\" was backwards, and that dont work...
 

HomeWorx

Member
Licensed User
Longtime User
I know I can write "Int(a / b)". I was talking about the "\" (antislash, no typo) which stands for integer division in VB. Instead of having "Int(a / b)" you would then write "a \ b".

One more shortcut on the wishlist :
* Ctrl+D would duplicate the current line.
 
Top