• Welcome to PlanetSquires Forums.
 

WinFBE v2.2.1

Started by Paul Squires, December 28, 2021, 12:16:12 PM

Previous topic - Next topic

Paul Squires

I have started work on the next update (v2.2.1):  https://www.freebasic.net/forum/viewtopic.php?f=8&t=25215&start=795#p288353

I look forward to getting a new version released.  :-)
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

Joerg B.

Hello Paul
Glad you are feeling better and have the energy to work on an update again.
I find the idea very good to be able to work with different tool chains.
Greetings from Germany.
Greeting from Germany

Joerg

SeaVipe

Clive Richey

Paul Squires

Thanks guys! Feels good to be back programming on WinFBE. I am now in the midst over a *major* overhaul of the look and feel of the editor. One thing that I have realized is that Jose's Afx library of routines and his CWindow class has been instrumental in making these changes somewhat easier. I hope that Jose is still around these days and still programming (or at least still enjoying his photography and history).
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

Petrus Vorster

Best news I have seen this year!
I am so happy you are back into programming!

-Peter
-Regards
Peter

Paul Squires

#5
This was a fun bit of programming.... after trying and failing to create what I wanted with ownerdraw menus, I decided to code the entire top menu system from scratch. The result is fantastic and the only thing missing now is navigation of the menus via keyboard. Keyboard accelerators work but not activating a menu and traverse it via the keyboard. That will be an exercise for another day.

Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

SeaVipe

Nice! Gets my vote for Dark Mode...
Clive Richey

Paul Squires

Actually adding keyboard navigation support has been relatively easy given that the individual menu items are simple Label controls. Just needed to set WS_GROUP style for the first label on the menu and then use GetNextDlgGroupItem() to iterate the list. that Win32 api function takes care of bypassing disabled controls (eg. separator bars) and then returns the hWnd of the next menu item that needs to be highlighted. It works in forward and reverse and even loops around the start or end of the list.

I even added a really cool, but subtle, drop down shadow on the popup menus. It is a semi transparent WS_EX_LAYER window that uses alpha blending. It is positioned offset just underneath the popup menu form. Pretty cool. Nerdy... but cool.  :-)
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

Paul Squires

Quote from: Paul Squires on December 31, 2021, 03:24:17 PM
Actually adding keyboard navigation support has been relatively easy given that the individual menu items are simple Label controls. Just needed to set WS_GROUP style for the first label on the menu and then use GetNextDlgGroupItem() to iterate the list. that Win32 api function takes care of bypassing disabled controls (eg. separator bars) and then returns the hWnd of the next menu item that needs to be highlighted. It works in forward and reverse and even loops around the start or end of the list.

Switched from using a group of Labels to one single ownerdrawn ListBox for the menuitems. Simplifies the code and makes keyboard movement even easier.
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

Paul Squires

#9
Busy few days writing all of this new UI from scratch using ownerdraw. Looks good.

Here is the finished StatusBar. 100% themed using dark theme. You have the option to theme the UI in any manner you wish simply by editing a simple text file.

Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

Paul Squires

...and here is the (mostly) complete Explorer.

Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

Joerg B.

Hey Paul
It looks very good.  :)
I am already looking forward to the revised version.
Greeting from Germany

Joerg

Paul Squires

Thanks Joerg, I'm working on the top tab control now. About half finished. Once that part is done then the major elements of the GUI will be complete and then I can move on to optimizing a lot of the internal code. Lots of stuff in there that has been added over the years that could be done better and/or completely removed. One thing that would be a really nice to have for the update would be a full keyboard mapping editor whereby the user can pick and choose what keys they want to bind what editor actions. That would be a fair amount of work but it would be well worth it in the long run.
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

Paul Squires

#13
Here is the result of today's work... a 100% re-worked version of the Find/Replace dialog. It is very similar to VSCode's look and feel. It uses a simulated alpha blended drop shadow and edging to give it a sculpted look that makes it stand out more from the flat looking edit windows.

Went down a couple of rabbit holes with this one. You can set cue banner text with standard edit controls, but you can not (easily) center edit control text VERTICALLY so the text in the find and replace text boxes did not look pleasing to the eye (jammed up to the top edge leaving too much space below the text). I switched to RichEdit controls and I could now easily position the text via the EM_SETRECT but using RichEdit controls prevented me from using cue banner text! Basically, I traded one problem for another. I was able to solve the cue banner problem by subclassing the RichEdit controls and allowing the control to paint itself in WM_PAINT & WM_PRINTCLIENT, and then do my painting of the cue banner text. Just needed to do some fancy stuff to ensure that I got the correct HDC. Good thing Google was able to help me figure out the proper sequence of WinAPI calls and flags to use in the calls.  :-)

Also, in the screenshot (and in the other screenshots I've posted) you will see that the "icons" are not really icons or graphics. They are unicode glyphs taken from the Segoe UI Symbols font. This makes it easier to correctly size the "graphic" and to paint its fore and back colors easily especially since now that the user can specify any color for these things via a theme text file.

Next up, finish off the code for the custom vertical scrollbar for the Explorer owner draw listbox, and then add a custom horizontal scrollbar for the top tab control. These scrollbars appear (if needed) when the user mouses over the control and disappear when the mouse leaves. They are so much nicer looking than the 30 year old looking standard Windows scrollbars. I will also be using these scrollbars to replace the ones in the Scintilla control. Speaking of Scintilla, I will be compiling the latest Scintilla version and fixing up the freebasic lexer. The Scintilla version I'm using is getting rather dated now.




Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

James Klutho

Thanks for your continued work on the IDE.  Your generosity is appreciated.