PlanetSquires Forums

Support Forums => WinFBE - Code Editor and Visual Designer => Topic started by: Paul Squires on December 09, 2018, 12:38:15 PM

Title: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on December 09, 2018, 12:38:15 PM
Version 1.8.7 (December 9, 2018)
- Added: Click and Popup menu handlers are now created with a pre-populated SELECT CASE of menu item names.
- Added: DoubleClick on Form area will now toggle to the code editor.
- Changed: "Project", "Add Files to Project" no longer automatically shows the loaded files in the editor. 
- Fixed: Flickering of the statusbar message "Parsing: <filename>" when loading large projects.
- Fixed: Delay when exiting WinFBE when large projects are active.
- Fixed: 'State' label too wide and partially overlapped 'Checked' checkbox in Menu Editor.

https://github.com/PaulSquires/WinFBE/releases
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Marc Pons on December 09, 2018, 01:25:04 PM
Paul,

just noticed your boundle is giving a relative old version of the compiler (from september 2018)
some small evolutions since that time on  v1.06  , thank's to coderjeff.

Marc
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018) - Menu Editor
Post by: SeaVipe on December 09, 2018, 03:55:05 PM
Thanks Paul!



A - wish list) Is it possible, or optional for the pre-populated SELECT CASE "NAME" to be created in original case? (And UCase(sender.Name) just sender.Name.) It could it be tied to Options/Environment Options/Code Editor/Case:? (As this is a one-time event perhaps it isn't even necessary.)
B - curious) Once the pre-populated Select Case is created, it must be manually modified to match changes made in the Menu Editor. I'm assuming that to make this any more automated would require a major rework or a new Menu Editor? I'm thinking of simple "additions" to the Select Case. When made in the editor, would require parsing what already exists and inserting Menu items accordingly. Or just adding it as the last Case and manually placing it in the correct order.
C - perator) Seperator ("-") is a Case selection: Case "MNUSEP1" which can't be selected.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018) - Passing Param To Form
Post by: SeaVipe on December 09, 2018, 07:21:08 PM
Hi Paul, is there a way to pass a parameter to a form? I've searched the forum, but anything that I've been able to find is not relevant to WinFBE (in my view) and quite old (FF 2004).
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: SeaVipe on December 09, 2018, 07:54:59 PM
I cannot find _compilelog.txt.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on December 09, 2018, 08:32:37 PM
Hi Paul, is there a way to pass a parameter to a form? I've searched the forum, but anything that I've been able to find is not relevant to WinFBE (in my view) and quite old (FF 2004).
You can try using the Form's "Tag" property. That is a CWSTR (dynamic unicode string) so you can assign text to it and read it when you need to.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on December 09, 2018, 08:36:45 PM
Thanks Paul!



A - wish list) Is it possible, or optional for the pre-populated SELECT CASE "NAME" to be created in original case? (And UCase(sender.Name) just sender.Name.) It could it be tied to Options/Environment Options/Code Editor/Case:? (As this is a one-time event perhaps it isn't even necessary.)
B - curious) Once the pre-populated Select Case is created, it must be manually modified to match changes made in the Menu Editor. I'm assuming that to make this any more automated would require a major rework or a new Menu Editor? I'm thinking of simple "additions" to the Select Case. When made in the editor, would require parsing what already exists and inserting Menu items accordingly. Or just adding it as the last Case and manually placing it in the correct order.
C - perator) Seperator ("-") is a Case selection: Case "MNUSEP1" which can't be selected.
A - I figured using UCASE would cut down on the problems where a user entered a name and screws up the casing. Using original case also means that I'd have to use SELECT CASE **sender.name because SELECT CASE chokes a bit on CWSTR case variables.
B - Way too complicated to re-parse and add new menu names. Especially when most of the time once a menu is created there is little editing or additions that happen subsequently.
C - Ah, yes, good catch. I should not have separators in the SELECT CASE because they do not generate click events.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: SeaVipe on December 09, 2018, 08:58:40 PM
Thanks, Paul,
Select Case Str(sender.Name) works. Then for each Case type the Name as entered in the Menu Editor. So the way you have it set up is fine, the user just needs to customise the auto-generated code to suit personal taste.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: SeaVipe on December 09, 2018, 09:03:39 PM
Quote
You can try using the Form's "Tag" property. That is a CWSTR (dynamic unicode string) so you can assign text to it and read it when you need to.
I got focused on lParam and wParam, Tag is more better, thanks!
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: DenWal on December 10, 2018, 09:48:10 AM
Hello,

WinFBE crashes immediately after I add the first menu item in the Menu Designer.

Does it exist any error log file I can send?

TIA,
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on December 10, 2018, 12:44:07 PM
Thanks Dennis, I haven't experienced a crash. Is it the 32-bit or 64-bit version of WinFBE you are using? At what point does it crash? When you press OK to close the Menu Designer? When you try to compile and run the program? When you move from the NAME textbox to a different textbox? When you press a certain button?
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Joerg Buckel on December 10, 2018, 12:46:21 PM
Paul,

just noticed your boundle is giving a relative old version of the compiler (from september 2018)
some small evolutions since that time on  v1.06  , thank's to coderjeff.

Marc
Hello Marc

If you need a newer version of Freebasic compiler, you can also download the source code of Freebasic and compile it yourself.
It works very well.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Marc Pons on December 10, 2018, 01:17:49 PM
hi Joerg,

i know, i've already compiled fbc 32 and 64, and it is why i can see the Paul's bundle could include a newer version.

anyway thank"s
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: DenWal on December 10, 2018, 06:08:39 PM
Sorry Paul, should have been more specific...

- Win x64 Debug
- Add a new project
- Add a new form
- Select the Menu Designer
- Write &File as first entry
- Click Next (same error happens if we accidentally hit the insert button) button
- WinFBE crash
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: raymw on December 10, 2018, 09:33:03 PM
Hi Dennis,
I've tried the same as you, but it does not crash. It did crash early when loading in similar manner in version 1.8.5. however, but been OK since
Best wishes,Ray
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: SeaVipe on December 10, 2018, 10:57:55 PM
Hi Dennis, I've tried using your scenario and unable to achieve a crash. Also tried several variations on your theme and still no crash. Perhaps its an odd sequence of events/keystrokes causing this anomaly?
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: DenWal on December 12, 2018, 07:30:21 PM
Thanks guys! I made a clean installation and since then the Menu Designer no longer crash. Thanks for raising issue about it.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on December 16, 2018, 11:09:22 PM
I have done a lot of work on the editor over the past week. I have totally removed the multiple projects functionality and then I spent a considerable amount of time working on "quality of life" issues within the editor. Lots of tweaking and changes to make the code work better and faster. I still haven't finished all my test cases yet but the editor does work better than before.

I will spend the next couple of weeks over the holiday season working on the editor during my free time. The update in January will be a pretty big one compared to past versions. I will post code updates to GitHub in case any of you are adventurous and want to test the work in progress versions.

Here is the start of the change log for the next version:

Version 1.8.8 (not released yet)
- Added: Search textbox added to Function List (filters the function list based on the search term).
- Changed: Lots of internal code refractoring. Many efficiencies found with regards to loading files/projects, saving, and displaying files. More internal code cleanup to occur in the next few future releases.
- Changed: Removed loading of multiple projects into WinFBE at the same time.
- Changed: When project is active, "Open File" will add file to project open it. "Add Files to Project" will only add the files to the Project but not display it.
- Changed: Removed the option to display the successful compile results dialog. Result will now only show in the statusbar.
- Changed: Any missing non-English translation phrases will now use the English phrase rather than nothing at all.
- Fixed: Some issues with right-click menu on #Include line to display "Open <include filename>" when a project is open.
- Fixed: F3/Shift+F3 Find/Find Next accelerator tweaked slightly to ensure previously selected text gets searched.
- Fixed: Parsing of multiline characters where both /' and '/ appear on the same line.
- Fixed: Infinite loop when responding "No" to reload a currently loaded file that has been modified outside of WinFBE.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: SeaVipe on December 17, 2018, 02:27:24 PM

Anybody?

I cannot find _compilelog.txt.


I appear to have set a switch somewhere but for the life of me I cannot find it!
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on December 17, 2018, 10:29:24 PM

Anybody?

I cannot find _compilelog.txt.


I appear to have set a switch somewhere but for the life of me I cannot find it!

I am not sure what your question is? WinFBE does not use _compilelog.txt. That file is used as part of compiling with FireFly Visual Designer. In WinFBE the console output is captured to a string and parsed for errors. It is not redirected to a file like FireFly does. The log file contents are available anytime via the "View Output Window", "Compiler Log File" tab.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: SeaVipe on December 17, 2018, 11:31:23 PM
Thanks, Paul,
I'll stop looking for it! (I like to keep a compile log file open in Notepad++, custom colour coded for quick reference.) However, the same _compilelog.txt file was in my version of the C:\WinFBE_Suite folder until November 23rd. and has a file-date of November 11th. and it's pretty empty, 1 line: 'error 80: Invalid command-line option, "C:\SRC\BootTime\modColours.inc"', which was a legitimate error at the time and was subsequently corrected. Now I'm not sure where that file came from.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on December 29, 2018, 01:59:39 PM
I totally redesigned the Build Configurations dialog. Much improved. You can now manually enter options in the textbox and the listbox checkmarks will automatically select. Likewise, you can select checkmarks and the textbox will automatically update with the chosen options.

(https://www.planetsquires.com/images/buildconfig.png)
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on December 29, 2018, 02:09:15 PM
Here is the new Image Manager that is just about complete. This should be in the next update along with support in the visual designer for working with images.

(https://www.planetsquires.com/images/imagemanager.png)
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on December 30, 2018, 06:18:05 AM
...FreeBasic Compiler has been updated to the Nov 22, 2018 Nightly Build. Will be in the next WinFBE Suite release package update.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Joerg Buckel on December 31, 2018, 10:29:51 AM
Hi Paul
I downloaded and viewed the updated version of Github. I noticed some small things.
In the Options dialog -> Build configuration "Set as default" the entry is too far to the right at least in the German translation. This truncates the entry.

The same is in the Image Manager dialog.
In the German translation the entry is displayed incompletely.
I have attached the corresponding screenshot and the current German language file.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on December 31, 2018, 06:11:01 PM
Thanks Joerg, I will make the necessary changes and upload again soon. If you notice anything else then certainly please let me know.

Sent from my SM-G950W using Tapatalk

Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 01, 2019, 12:26:05 PM
Hi Joerg,

I uploaded new files to Git that should fix the display issues with long text translations.

I also did a lot of work on the Localization language editor that was not working at all like I thought it should. It seems to work very well now and produces nicely formatted language files (see attachment).
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 02, 2019, 10:54:43 AM
A couple of updates pushed to GitHub this morning.

- Added: Next Tab, Previous Tab, Close Tab to the Search menu.
- Added: Next Function, Previous Function to the Search menu.

Keyboard shortcuts for the Next/Prev/Close Tab has existed for a very long time. I have now finally put it in the Search menu for greater clarity.

The Next/Prev Function is pretty cool and I noticed the functionality in Visual Studio. Basically, it allows you to quickly cycle to the next or previous sub/function in the current active code document. Very convenient for those of us who use keyboard shortcuts a lot.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 02, 2019, 11:26:10 AM
Now working on Snippets similar to https://code.visualstudio.com/docs/editor/userdefinedsnippets

We already have the option to automatically insert SELECT CASE, FOR/NEXT, IF/END IF etc type of structures but it would be efficient to be able to allow the user to define a snippet and have it entered by typing a trigger keyword and pressing a keyboard accelerator.

Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: SeaVipe on January 02, 2019, 02:29:26 PM
Great idea, Paul,

Would the keyboard accelerator also be user defined? (I occasionally catch myself pressing CTRL/Space to complete typing a keyword.)
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 02, 2019, 04:09:59 PM
I doubt that the keyboard accelerator will be user defined. Well, at least not in version 1 of this stuff.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 02, 2019, 06:13:26 PM
GitHub updated with the User Snippets functionality.

Basically, you define a short trigger word that when typed and TAB pressed will be replaced by the expanded code text. Seems to work okay so far.

The User Snippets dialog can be resized so it should be easy to size it enter large code text.
User Snippets can be single line or multiple lines.

See attached image.
 
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 03, 2019, 07:53:41 AM
Image Manager changed slightly. Added a combobox for the various image view options rather than the two radio buttons.
1. Actual Size
2. Apply High DPI Scaling
3. Autosize
4. Fit to Width
5. Fit to Height
6. Stretch
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Joerg Buckel on January 03, 2019, 01:39:33 PM
Hi Paul
I have added the German language file on the basis of the English language file.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 03, 2019, 01:44:01 PM
Thanks Joerg, I appreciate it. There are many additions happening lately to the language file because of the new things that I am adding into WinFBE. New options, forms, etc.  I will let you know prior to the next WinFBE being released in order to allow you time to update your file for the release. Thanks!
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 03, 2019, 01:59:22 PM
Here is a new "About" form I just gobbled together. Nothing fancy but it is better than the standard messagebox that I was using.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 03, 2019, 10:31:55 PM
For the User Snippets manager I have added the ability to insert replaceable parameters. You can manually type the parameter into the snippet text or you can right-click and insert by selecting the parameter for the list.

The first graphic how a test of the parameters looks like in the User Snippets manager. The second image shows the result of typing param and then pressing TAB.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: raymw on January 04, 2019, 08:21:52 AM
looks good, Paul. Refactoring next?
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Joerg Buckel on January 05, 2019, 11:32:40 AM
Thanks Joerg, I appreciate it. There are many additions happening lately to the language file because of the new things that I am adding into WinFBE. New options, forms, etc.  I will let you know prior to the next WinFBE being released in order to allow you time to update your file for the release. Thanks!



Hello Paul
.... when you're ready ..... just send it to me.
I do that very gladly.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 06, 2019, 09:02:26 AM
Another day, another new feature  :)
I've been on a bit of programming roll lately so here is an image of the new subnodes in the Explorer. These nodes will exist for any new or existing Projects.

(https://www.planetsquires.com/images/explorernodes.png)
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 06, 2019, 12:45:29 PM
During my WinFBE code cleanup over the past week I've noticed a few time savers that I would have loved to have built into WinFBE to do things faster. Well, I have them all implemented now. Happy start for my programming new year. Hahahaha

Here is the latest group of code navigation options that I just added this morning:
- Added: Goto Header file (.bi) (Ctrl+Shift+H). Option found in Search / Code Navigation.
- Added: Goto Code file (.bas, .inc) (Ctrl+Shift+C). Option found in Search / Code Navigation.
- Added: Goto Main file (.bas) (Ctrl+Shift+M). Option found in Search / Code Navigation.
- Added: Goto Resource file (.rc) (Ctrl+Shift+R). Option found in Search / Code Navigation.

These functions allow you to quickly jump to files that you have designated in your project. For example, jump to the Resource file or the file designated as your "Main" compile file. Those two functions rely on the fact that the user designates certain files as Resource, Main, Header, Module, or Normal.

The two options to goto the Header file or the Code file are invaluable and they work for projects and non-projects. They allow you to quickly pop back and forth between the main source file (eg  modMenus.inc or fbc.bas) and its corresponding header file (eg modMenus.bi or fbc.bi). Obviously, you need to be sure to name your files the same with only differing file extensions.

Here are the other improvements over the past week:
- Added: Explorer treeview subnodes to hold Header, Resource, Main, Module, Normal files (for Projects only).
- Added: User Snippets (insert user defined code snippets).
- Added: A search textbox added to Function List (filters the function list based on the search term).
- Added: Next Function (Ctrl+PgDn), Previous Function (Ctrl+PgUp) to the Search menu.
- Added: Pressing F6 or selecting "Sub/Function Definition" will open any #Include file on the current editing line.

Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 06, 2019, 03:38:34 PM
Enhanced the "Compiler Log File" information that shows in the Output window. In addition to the raw log file I am now adding the full command line that was sent to the fb compiler (and some other stuff for successful compiles).

Here is an example of successful and failed compiles of WinFBE source code:

Quote
Successful Compile (Errors 0 Warnings 0)

Primary Source: X:\FB\WinFBE\src\WinFBE.bas
Target Compilation: ..\WinFBE32.exe (1037K, 1060864 bytes)
Compile Time: 3.0 seconds (2019-01-06 07:31:52)

Command Line:
X:\FB\WinFBE_Suite-Editor\FreeBASIC-1.06.0\fbc32.exe -m "X:\FB\WinFBE\src\WinFBE.bas" "X:\FB\WinFBE\src\WinFBE.rc" -v -s console -x "..\WinFBE32.exe"

FreeBASIC Compiler - Version 1.06.0 (11-22-2018), built for win32 (32bit)
Copyright (C) 2004-2016 The FreeBASIC development team.
standalone
target:       win32, 486, 32bit
compiling:    X:\FB\WinFBE\src\WinFBE.bas -o X:\FB\WinFBE\src\WinFBE.asm (main module)
assembling:   X:\FB\WinFBE_Suite-Editor\FreeBASIC-1.06.0\bin\win32\as.exe --32 --strip-local-absolute "X:\FB\WinFBE\src\WinFBE.asm" -o "X:\FB\WinFBE\src\WinFBE.o"
compiling rc:               X:\FB\WinFBE_Suite-Editor\FreeBASIC-1.06.0\bin\win32\GoRC.exe /ni /nw /o /fo "X:\FB\WinFBE\src\WinFBE.obj" "X:\FB\WinFBE\src\WinFBE.rc"
linking:      X:\FB\WinFBE_Suite-Editor\FreeBASIC-1.06.0\bin\win32\ld.exe -m i386pe -o "..\WinFBE32.exe" -subsystem console "X:\FB\WinFBE_Suite-Editor\FreeBASIC-1.06.0\lib\win32\fbextra.x" --stack 1048576,1048576 -s -L "X:\FB\WinFBE_Suite-Editor\FreeBASIC-1.06.0\lib\win32" -L "." "X:\FB\WinFBE_Suite-Editor\FreeBASIC-1.06.0\lib\win32\crt2.o" "X:\FB\WinFBE_Suite-Editor\FreeBASIC-1.06.0\lib\win32\crtbegin.o" "X:\FB\WinFBE_Suite-Editor\FreeBASIC-1.06.0\lib\win32\fbrt0.o" "X:\FB\WinFBE\src\WinFBE.o" "X:\FB\WinFBE\src\WinFBE.obj" "-(" -lkernel32 -lgdi32 -lmsimg32 -luser32 -lversion -ladvapi32 -limm32 -lole32 -luuid -loleaut32 -lcomctl32 -lshell32 -luxtheme -lpsapi -lcomdlg32 -lshlwapi -lddraw -ldxguid -lgdiplus -lwinspool -lfb -lgcc -lmsvcrt -lmingw32 -lmingwex -lmoldname -lgcc_eh "-)" "X:\FB\WinFBE_Suite-Editor\FreeBASIC-1.06.0\lib\win32\crtend.o"

Quote
Failed Compile (Errors 1  Warnings 0  [2019-01-06 07:34:52])

Command Line:
X:\FB\WinFBE_Suite-Editor\FreeBASIC-1.06.0\fbc32.exe -m "X:\FB\WinFBE\src\WinFBE.bas" "X:\FB\WinFBE\src\WinFBE.rc" -v -s console -x "..\WinFBE32.exe"

FreeBASIC Compiler - Version 1.06.0 (11-22-2018), built for win32 (32bit)
Copyright (C) 2004-2016 The FreeBASIC development team.
standalone
target:       win32, 486, 32bit
compiling:    X:\FB\WinFBE\src\WinFBE.bas -o X:\FB\WinFBE\src\WinFBE.asm (main module)
X:\FB\WinFBE\src\modCompile.inc(666) error 181: Invalid assignment/conversion in 'function = "xxxxx"'
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 07, 2019, 09:08:04 AM
All these years and I've never had to code a drag and drop Treeview with auto window scrolling. Well, that exercise is now over. It was one of those "it's easy when you know how to do it" kind of experiences. Another nugget of knowledge for my brain. :)
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 09, 2019, 10:00:18 PM
Here is another new navigation feature. Check out the attached screenshot at the two comboboxes located right below the top tab control.

The left combobox holds all of the file names. The right combobox holds the list of subs/functions in the current active file. As you navigate through the code the sub/function name will change depending on whether you are inside that function. You can also switch to different files or between functions by using these comboboxes.
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: Paul Squires on January 16, 2019, 03:16:11 PM
A user has emailed me that WinFBE fails dealing with read only files. He is 100% right and it is an oversight on my part. I will add the necessary code logic to deal with read only files. Once I add this read only code I will be ready to release an update package (v1 . 8 . 8 ).
Title: Re: WinFBE Suite 1.8.7 (December 9, 2018)
Post by: SeaVipe on January 16, 2019, 03:23:00 PM
Thanks, Paul!
looking forward to the next release.