AfxNova / FreeBasic / PlanetSquires Controls documentation

Started by Paul Squires, July 23, 2026, 05:45:24 PM

Previous topic - Next topic

Paul Squires

https://www.planetsquires.com/docs/

I generated a website to lookup all of José's AfxNova documentation along with the FreeBASIC documentation and help related to a number of custom controls that I have developed for Tiko Editor (the github for those controls will be live soon so that you can download the code and build for yourself).

My plan is to eventually integrate the Webview control into Tiko so that these files can be served locally via an F1 press or simply using the search functionality on that main page.

All of this is now automated via Python scripts, so if José adds to AfxNova or thw FreeBasic or my documentation changes, then it is just a few clicks and the latest info will be available..
Paul Squires
PlanetSquires Software

José Roca

Paul, I just wanted to say how impressed I am with the direction you've taken with Tiko.

Moving away from the old VB6-style visual designers and embracing a pure SDK approach is a bold and absolutely modern step.

Your new owner‑draw controls are beautifully engineered, and it's great to see how naturally they integrate with CWindow and AfxNova
.
That's exactly why I designed AfxNova the way I did — to provide solid foundations without forcing any particular architecture, so developers like you can build high‑quality components on top of it.

I'm genuinely pleased to see how you're using those building blocks to create such polished and professional controls.

We complement each other perfectly: you enjoy crafting visual controls, and I enjoy building the underlying infrastructure.

Keep up the excellent work. Tiko is shaping up to be a very strong and modern framework, and I'm glad to see it growing on top of AfxNova.


Paul Squires

Thanks José, I really appreciate your kind words.

I can't how many times over the years that I've drawn inspiration from your work. I continue to be amazed at the tools that you've produced. I can only hope to help augment your work a bit wherever I can.

I know that my programming journey over the years would have been a LOT harder if it wasn't for the knowledge that you've patiently shared.

I have a lot of work left to go with Tiko but now that everything is broken out into logical custom control building block, it will make longer term code maintenance and iterative improvements much easier.

The next Tiko will be (hopefully) an exponential improvement over the current version. It is already setup so that code is automatically parsed as you type (via a background monitoring thread)....... and the BEST part is that your code is fed into the FreeBasic compiler itself to generate the list of symbols, functions, subs, types, enums, etc. I modified the compiler to be able accept both files and/or regular utf-8 strings and generate a map that I can read directly from inside Tiko. It utilizes FB's lexer and parser directly. You can't get much better parsing of FB code than that. :-)

Best of all - I'm having fun programming again.
Paul Squires
PlanetSquires Software

Paul Squires

All of the Custom Controls that you see in the documentation are now live.

The Github repositories are now public.

https://github.com/PaulSquires?tab=repositories

Please understand that these controls are fully tested and they are in the process of being integrated into the Tiko Editor itself as part of the UI. I will most likely find bugs or change control behaviours as that integration progresses.

Feel free to use the controls and play with them. Just realize that I can not provide any degree of active support for them just yet.
Paul Squires
PlanetSquires Software

José Roca

I can't. You have used the same names that I use for my static classes:  CButton, CListBox, CStatusBar, CComboBox.

Paul Squires

Quote from: José Roca on July 24, 2026, 08:40:46 AMI can't. You have used the same names that I use for my static classes:  CButton, CListBox, CStatusBar, CComboBox.
Lol, I must have had them in my subconscience as they were being developed. I just finished CCheckBox, so I'll regenerate them all under a new name.

Before I do that, I've attached a screenshot of the checkbox control.

I'll post back again once the naming refactor is complete.
Paul Squires
PlanetSquires Software

José Roca

These are the names of my static classes:

CAnimate
CButton
CCombo
CDtPicker
CEdit
CHeader
CHotKey
CIPAddress
CListBox
CListView
CMonthCal
CPager
CProgBar
CPropSheet
CRebar
CRichEdit
CScrollBar
CStatic
CStatusBar
CSysLink
CTab
CToolBar
CToolTip
CTrackBar
CTreeView
CUpDown


Paul Squires

Thanks José,

I've changed all of mine to use the "Ps" prefix. Whether that stands for "PlanetSquires" or the more vain "PaulSquires", I'll leave that to the reader.  :-)

I have two AI agents. "Emma" is my Opus 4.8 model agent and she's the one implementing this huge rename refactor, git fixing, etc. "Quinn" is her older sister that uses the strongest Fable 5 model. That model is way too much for a task like this. It's amazing how they interview you, create design and implementation documents, and execute the plan sequentially, progressing only if all tests pass. The level of automation is incredible and definitely liberating having been freed from all of the less glamourous boring repetitive work. Their level of awareness and knowledge of programming and the insane speed at which they understand a somewhat obscure language like FreeBasic is both amazing and scary at the same time.

The changes are almost complete. I'll post again when they're ready.
Paul Squires
PlanetSquires Software

Paul Squires

Quote from: José Roca on July 24, 2026, 11:41:02 AMThese are the names of my static classes:
....

A calendar / date picking custom control is something that I definitely need for my other big programming project (my private options trading tracking software). I'll create that one soon.
 
Paul Squires
PlanetSquires Software

Paul Squires

All done.
A process that probably would have taken the better part of a day. :-)
Paul Squires
PlanetSquires Software

José Roca

Change also the name of conflicting files like CButton.inc or you will overwrite mine.

José Roca

I hope that the new version of Tiko will manage fine the conversions when you have a file in ansi and you change it yo utf-8, or viceversa. The version that I'm using almost destroyed one of my big source files.

Paul Squires

Quote from: José Roca on July 24, 2026, 01:01:01 PMChange also the name of conflicting files like CButton.inc or you will overwrite mine.
All done. All filenames and all internal functions and symbols have been converted.
Paul Squires
PlanetSquires Software

Paul Squires

Quote from: José Roca on July 24, 2026, 01:06:56 PMI hope that the new version of Tiko will manage fine the conversions when you have a file in ansi and you change it yo utf-8, or viceversa. The version that I'm using almost destroyed one of my big source files.
I've put this on the Tiko list. High up on the list.
Paul Squires
PlanetSquires Software

fbfans

"That's absolutely fantastic, Paul, Jose—you guys are truly amazing.
My earlier suggestion about integrating afxnova to help Tiko pales in comparison to what you've envisioned here.
Also, you mentioned automatic parsing during input—does that mean you're planning to implement code formatting as well? I've been struggling with this formatting feature recently, and now I realize it was all wasted effort—I've already given up on it.

Really looking forward to the new version of Tiko."