WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (V3.1.0 June 4, 2023)

User projects written in or related to FreeBASIC.
Post Reply
PaulSquires
Posts: 999
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 13, 2018)

Post by PaulSquires »

bcohio2001 wrote:I am still having issues with IF/THEN/ELSE and CASE. Indentation problem.

Code: Select all

'Test of If/Then/Else
if x = 1 then
   y = 2
   else
      y = 3
end if

'Test of Select Case
select case x
   case 1
      y = 1
      '
      case 2
         y = 2
         '
         case 3
            y = 3
            '
            case 4
               y = 4
               '
end select
Hi,

I am understanding that from your example that you are expecting the following to happen: When you type "Else" or "Case 2", "Case 3", etc that the editor will automatically line up that text with a previously inserted "IF" or "CASE 1". Am I right? This is a little different than the way that WinFBE has implemented Autoindentation but I do understand why it would be cool / useful. Currently, WinFBE will insert new text when the user types "IF" "THEN" or the beginning of a "SELECT CASE" statement. After that, the editor does not screw around with anything the user types. It sees the subsequent "CASE" statements as simply text the user is entering and doesn't act on it. I expect that I will need to implement additional code that will recognize lines that have "CASE" or "ELSE" and do the indentation based on the most previous "CASE " or "END IF". That sounds do-able.
PaulSquires
Posts: 999
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 13, 2018)

Post by PaulSquires »

Per my previous post, I have now implemented the correct reformatting of the entered line so that the text lines up with the most previous block headers. This fix will be in next update 1.8.5.

- Fixed: With AutoIndentation enabled, all entered ELSE/ELSEIF and CASE/CASE ELSE lines now line up correctly to their parent IF/THEN or SELECT CASE headers.
bcohio2001
Posts: 556
Joined: Mar 10, 2007 15:44
Location: Ohio, USA
Contact:

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 13, 2018)

Post by bcohio2001 »

Yes, you got the meaning of the code. Easier to show in code then try to describe what was wrong.
Thank you. Anxiously awaiting ….

That was a major issue for me to pause using/trying the editor. Once that is fixed can delve down into more of it.
PaulSquires
Posts: 999
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 13, 2018)

Post by PaulSquires »

WinFBE has the ability to have multiple projects open within the editor. You can see this in action when you open Projects and they appear in the Explorer treeview. The active project is the one with the checkbox checked.

I am considering removing the ability to have multiple projects open because the internal code is just overly complicated because of it. You can still open multiple copies of WinFBE if you need to work on more than one Project at once.

I want to ask if there is anyone here that uses the multiple open Project feature of WinFBE and would you be devastated if that feature was removed?

(Also, I plan to post a WinFBE update by tomorrow)
PaulSquires
Posts: 999
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated December 9, 2018)

Post by PaulSquires »

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.

Version 1.8.6 (December 7, 2018)
- Added: Localization file creation and editing. "Options" / "Environment Options" / "Localization".
- Added: Check to prevent duplicate menu names that would result in a compile time error.
- Changed: Removed the Environment option to specify the WinFBX chm help file. WinFBX help is now displayed using the markdown help browser.
- Fixed: With AutoIndentation enabled, ELSEIF will now line up correctly to the parent IF/THEN headers.
- Fixed: Background transparency of several Up/Down png graphics used within the editor.
- Fixed: GPF for new Forms created since version 1.8.5. This was a regression in 1.8.5.

Version 1.8.5 (December 2, 2018)
- Added: Main Menu Editor and menu code generation for the visual designer.
- Added: Sort alphabetically the filenames in the Help Viewer treeview nodes.
- Changed: Removed Form property "ShowInTaskbar" as I could not implement reliable code to support it.
- Fixed: With AutoIndentation enabled, all entered ELSE/ELSEIF and CASE/CASE ELSE lines now line up correctly to their parent IF/THEN or SELECT CASE headers.
- Fixed: Help Viewer treeview height now matches the height of the embedded web browser.
- Fixed: Code introduced to help fix random situation whereby the screen cursor remains as a spinning wait icon after a failed compile attempt.

https://github.com/PaulSquires/WinFBE/releases
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated November 13, 2018)

Post by Tourist Trap »

PaulSquires wrote: I want to ask if there is anyone here that uses the multiple open Project feature of WinFBE and would you be devastated if that feature was removed?
Hi PaulSquires, thanks for the work done so far. I use now WinFBE in a regular basis. It fits very well on win10.
To answer the question above, if someone is interested, I wouldn't use multiple projects stuff if I can open multiple instances of a lightweighted editor. I don't find it very safe.

As a feature still missing to my eyes (small feature) , I would find easier to open a tab with a simple right-click on the tab bar. It's probably something already planned anyway :)
marcov
Posts: 3455
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated December 9, 2018)

Post by marcov »

IMHO multiple projects are chiefly needed when working with a program that has multiple parts, and you work on several at the same time.
  1. client-server development (test/debug both server and client, run one, debug other etc), and
  2. programs that exist out of multiple binaries (exe/dll),
  3. a program and its unit tests.
PaulSquires
Posts: 999
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated December 9, 2018)

Post by PaulSquires »

Thanks for the feedback. I appreciate it. The multiple projects feature is gone. It has simplified the internal code a fair amount. I have worked a tremendous amount on the editor over the past month (the visual designer portion not so much yet).

Here is the ongoing changes document. These changes will be in the next update that I am planning for very soon.

- 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.
- Added: Explorer treeview subnodes to hold Header, Resource, Main, Module, Normal files (for Projects only).
- Added: User Snippets (insert user defined code snippets).
- Added: Image Manager.
- Added: A search textbox added to Function List (filters the function list based on the search term).
- Added: Creating a New Project will automatically add a default empty .bas main file (unsaved) to the project for convenience.
- Added: Environment Option to Check for update at startup (once per day).
- Added: Check for Updates added to Help menu.
- Added: Next Tab, Previous Tab, Close Tab to the Search menu (Tab Navigation submenu).
- Added: Next Function (Ctrl+PgDn), Previous Function (Ctrl+PgUp) to the Search menu.
- Added: New About form replaces the generic messagebox.
- Added: Pressing F6 or selecting "Sub/Function Definition" will open any #Include file on the current editing line.
- Added: Additional info outputted to "Compile Log File" in Output window (Full compiler command line, filesize, compile time, error/warning count).
- Added: "Open Templates... (Ctrl+T)" in the "File" menu. Previously, templates could only be accessed from the Toolbar.
- Added: Sub/Function Definition (F6) will now work on Sub/Functions that are part of TYPE classes.
- Changed: You must now hold down the SHIFT key to drag and drop tabs in the top tab control to reorder any open document tabs.
- Changed: Updated FreeBasic Compiler to November 22, 2018 Nightly Build.
- 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.
- Changed: Moved "User Tools" from Options menu to "Tools" menu.
- Changed: File Open file types now have *.inc included in "Code files". "FB Include files" change to "Header files".
- Changed: Moved Bookmark menu entries to "Bookmarks" submenu of the "Search" menu.
- Changed: Removed the "Save Declares File" menu option as it is obsolete.
- Fixed: Modified English.lang file to compress by 58 entries. Other language files will need to be slightly modified by their respective authors.
- 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.
- Fixed: The search option for 'Sub/Function Definition (F6)" was not correctly finding SUBS (Functions worked okay).
- Fixed: Localization language editor in Environment Options / Localization not allowing editing (incorrect logic).
- Fixed: Graceful creation of a default WinFBE.ini config file should it be missing or corrupted.
- Fixed: The "Wait" cursor now correctly and consistently shows when loading a project, compiling code, or loading many files.
- Fixed: Occasional problem of resizing/dragging of Explorer panel would not stop after left mouse buttonup action.
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated December 9, 2018)

Post by Tourist Trap »

Hi PaulSquires,

I have 2 questions right now. I hope you can answer me.
  • How can we fold/unfold every block at once?
  • Could we in the future have an option to select what we want to target when using Fold/Unfold all? For instance I may want to Fold/Unfold only the TYPE..END TYPE blocs and not the rest, and so on...
Thanks
PaulSquires
Posts: 999
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated December 9, 2018)

Post by PaulSquires »

Tourist Trap wrote:Hi PaulSquires,

I have 2 questions right now. I hope you can answer me.
  • How can we fold/unfold every block at once?
  • Could we in the future have an option to select what we want to target when using Fold/Unfold all? For instance I may want to Fold/Unfold only the TYPE..END TYPE blocs and not the rest, and so on...
Thanks
You can fold and unfold all via the "View" menu. There are keyboard shortcuts for both.

The entire fold logic is built into the scintilla lexer that I am using. Such changes will entail modifying C++ code for the lexer. I fear that I am not proficient enough to make such changes. Although, I can recompile the sources to make the DLL's, I can not modify the lexer at this stage.
sancho3
Posts: 358
Joined: Sep 30, 2017 3:22

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated December 9, 2018)

Post by sancho3 »

I haven't been able to use your IDE since I switched to Ubuntu.
I get why its a huge issue to change the scintilla editor behaviors.
Therefore this is not a feature request but more like a wouldn't it be nice if...
It seems so obvious to me to allow the user to set fold points (in addition to automatic ones) the same way he can set a bookmark.
Maybe via 6 degrees of separation something will happen on the scintilla end.
oyster
Posts: 274
Joined: Oct 11, 2005 10:46

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated December 9, 2018)

Post by oyster »

nice to see a firefly successor.

I found that a programmer is supplying an IDE based on firefly. It is said that since firefly is closed-source, so DLL injection is used so that no modification on your original firefly is needed. The aim is to mimic VB, and variant name in Chinese is supplied. He has worked for months on this project including killing the fake virus alert from kinds of antivirus app.

I post here to ask, could you please make firefly open source so that the programmer can do his work easily. As a result, we can have a possible competitor IDE(ok, maybe you don't like so)

Not to offend you, but I always think it is a pity to close an app in the box when the author think it is some out of date.

Regards
PaulSquires
Posts: 999
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated December 9, 2018)

Post by PaulSquires »

Sorry, Firefly Visual Designer will not be open sourced.
PaulSquires
Posts: 999
Joined: Jul 14, 2005 23:41

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated January 22, 2019)

Post by PaulSquires »

Pretty large update this time. Most changes pertain to the code editor. The visual designer will get more changes now that the majority of the code editor updating is complete.

Initial post in this thread updated with screenshots.

https://github.com/PaulSquires/WinFBE/releases

Version 1.9.0 (January 22, 2019)
- 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.
- Added: Explorer treeview subnodes to hold Header, Resource, Main, Module, Normal files (for Projects only).
- Added: User Snippets (insert user defined code snippets).
- Added: Image Manager.
- Added: Image related properties for the Button control and Form.
- Added: PictureBox control.
- Added: A search textbox added to Function List (filters the function list based on the search term).
- Added: Creating a New Project will automatically add a default empty .bas main file (unsaved) to the project for convenience.
- Added: Environment Option to Check for update at startup (once per day).
- Added: Check for Updates added to Help menu.
- Added: Next Tab, Previous Tab, Close Tab to the Search menu (Tab Navigation submenu).
- Added: Next Function (Ctrl+PgDn), Previous Function (Ctrl+PgUp) to the Search menu.
- Added: New About form replaces the generic messagebox.
- Added: Pressing F6 or selecting "Sub/Function Definition" will open any #Include file on the current editing line.
- Added: Additional info outputted to "Compile Log File" in Output window (Full compiler command line, filesize, compile time, error/warning count).
- Added: "Open Templates... (Ctrl+T)" in the "File" menu. Previously, templates could only be accessed from the Toolbar.
- Added: Sub/Function Definition (F6) will now work on Sub/Functions that are part of TYPE classes.
- Changed: You must now hold down the SHIFT key to drag and drop tabs in the top tab control to reorder any open document tabs.
- Changed: Updated FreeBasic Compiler to November 22, 2018 Nightly Build.
- 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.
- Changed: Moved "User Tools" from Options menu to "Tools" menu.
- Changed: File Open file types now have *.inc included in "Code files". "FB Include files" change to "Header files".
- Changed: Moved Bookmark menu entries to "Bookmarks" submenu of the "Search" menu.
- Changed: Removed the "Save Declares File" menu option as it is obsolete.
- Changed: Updated Spanish language translation file by José Roca.
- Changed: Updated German language translation file by Joerg Buckel.
- Changed: Updated Chinese language translation file by ganlinlao.
- Fixed: Modified English.lang file to compress by 58 entries. Other language files will need to be slightly modified by their respective authors.
- 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.
- Fixed: The search option for 'Sub/Function Definition (F6)" was not correctly finding SUBS (Functions worked okay).
- Fixed: Localization language editor in Environment Options / Localization not allowing editing (incorrect logic).
- Fixed: Graceful creation of a default WinFBE.ini config file should it be missing or corrupted.
- Fixed: The "Wait" cursor now correctly and consistently shows when loading a project, compiling code, or loading many files.
- Fixed: Occasional problem of resizing/dragging of Explorer panel would not stop after left mouse buttonup action.
- Fixed: No longer allow Read Only files to be edited. Statusbar message shows "Read Only".
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: WinFBE Editor and FreeBASIC Compiler (All-in-One Package) (Updated January 22, 2019)

Post by Tourist Trap »

PaulSquires wrote:Pretty large update this time. Most changes pertain to the code editor. The visual designer will get more changes now that the majority of the code editor updating is complete.
Hi PaulSquires,

Thanks for the big update.

I would like to submit a feature request. I could live without but in another hand it would help a lot if it existed. It's quite simple. I would like to have a unique single textnote tab (in addition to the other coding tabs). It would help to store on the fly anything, from a segment of code, something awaiting to be inserted on, and so on. It wouldn't be a compilable tab, but would be saved with the session. In my mind, it would allow me not to open one or many external notepads that I will forget to save if I have to restart my computer (due to a damn windows update for instance). I always open notepads everywhere and forget to save the stuff, or just forget where it has gone... So if I removed some code and put it there, I may be unable to inject it back later if needed for any reason.
Maybe I should simply not work like that. But anyway I push this as a very humble suggestion if you think it's useful :)
Post Reply