PlanetSquires Forums

Support Forums => Other Software and Code => Topic started by: TechSupport on April 22, 2007, 10:09:19 AM

Title: Big day for FireFly 3
Post by: TechSupport on April 22, 2007, 10:09:19 AM
It's Sunday morning... I am sitting in front of the computer screen banging away at the keys and trying my best to make head way on the FireFly 3 code.

I finally got the import module working to a point where I decided to try it out on a few Version 2 projects. Not bad... not bad at all. Most things (except OCX controls) imported just fine. A minor tweak here or there was needed but nothing too painful.

I then decided to try it out on importing the FireFly Version 2 source code itself! I wondered if it would crash, burn, destroy my house, steal my soul.... To my surprise, the import worked flawlessly.

I now have FireFly 3 compiling itself :)  I must admit that it is a very strange feeling being able to use FireFly 3 to compile itself. Very strange indeed.

This is one of the major development points in FireFly 3 history. I know that development will speed along even faster now.

Here are some highlights of changes that will affect your Version 2 projects:

- The .FRX binary form files are no longer used. V2 Forms would create these files and store the binary data for any bitmaps/icons that the Form would need (this is similar to Visual Basic 6's approach). I scraped that and decided to use direct filenames to the images instead (actually, relative filenames).

- Project structure. I have made a major change in the way that project's are handled. You assign a directory to the project when it is created. FireFly automatically creates several subdirectories off of that main directory and this is where the various aspects of the project are located. For example, if you create a project in c:\projects\myproject then the directory tree will look like this:

c:\projects\myproject
c:\projects\myproject\forms
c:\projects\myproject\images
c:\projects\myproject\modules
c:\projects\myproject\release

This makes it easy to backup your project. It also makes the internal operation of FireFly 3 much less complicated.

- Image Manager: FireFly 3 now has a central image manager where all images for the project get stored. This allows you to add an image to the porject once and then share it many times throughout the project. In V2 projects the image would have been added to the resource file for every time that it was referenced in the project - pretty inefficient.

- CodeStore: FireFly 3 has a central source code library that allows the user to used predefined source code libraries in their code. In V2 you had "FireFly Functions", they are still in V3 but now you can also add your own functions. FireFly takes care of handling of knowing whether to include the source code or not. All CodeStore libraries are 100% code - no DLL's, and everything is automated. You simply copy your code into the CodeStore.


Several key milestones of the FireFly Wishlist (http://www.planetsquires.com/files/wishlist.zip) that have been obtained:

(1) Use FireFly to Write FireFly - pretty much done as I mentioned earlier
(2) Improved Help File and More Tutorials - to do
(3) Replace CodeMax Editor with Custom Made Editor - after beating around Scintilla for a couple of months, I decided to go back to modifying EDM32 control. Luckily, my old buddy Bruce Brown contacted me a few days ago. We will work on this baby together.
(4) DDT Code Generation - I have not started this yet but I do not anticipate any problems here. I hope to also have FreeBasic code generation for the FireFly 3 launch.
(5) User Defined FireFly Functions - pretty much done! This is a very cool feature as described above.
(6) FireFly Workspace Enhancements - you no longer have to click on the "X" to close the popup Window Styles/Color dialogs. You can now copy/paste the hex color values for propertylist items that use color values.
(7) Better (or Optional) Sub/Function Navigator - currently working on this now. There is a "CodeFinder" window to the left of each code editor window. This panel can be collapsed in order to hide it. It will show all subs/functions/messages in the current source code and allow you to search or jump to subs/functions/messages in other FireFly modules (I can't wait to have this working! FireFly is big and navigation is hard when you can't remember what module has the function you need).
(8 ) Allow Pre-Loading Controls with Initial Values at Design Time - not done yet.
(9) More Custom Controls - I have several new controls already. The big ones left to get done are a simple grid and masked edit control.
(10) Import PBForms Code - I think that this will be handled when the DDT code generator is done.
.... items past #10 have not been done.







Title: Re: Big day for FireFly 3
Post by: Marc Van Cauwenberghe on April 22, 2007, 02:06:57 PM
Great!!!

Let me be the first to congratulate you :)

Marc
Title: Re: Big day for FireFly 3
Post by: James Klutho on April 22, 2007, 03:03:50 PM
Good job Paul.  Had to been a great feeling to see Firefly compile itself.  Can't wait to see FireFly 3.
Title: Re: Big day for FireFly 3
Post by: Elias Montoya on April 24, 2007, 03:53:24 AM
GREAT!!!!!   ;D

Title: Re: Big day for FireFly 3
Post by: Marty Francom on April 24, 2007, 06:21:19 PM
Glad to hear the FF 3.0 is coming along so well.  Sounds like a
great improvement over version 2.   Can hardly wait for the
release!
Title: Re: Big day for FireFly 3
Post by: Haakon Birkeland on April 25, 2007, 02:14:51 PM
It looks like it is going to be even better than I thought.

(9) More Custom Controls - I have several new controls already. The big ones left to get done are a simple grid and masked edit control.

I will gladly prepay for a new package for these 2 controls by themselves.
Just tell me when and I will send the money.

Bert
Title: Re: Big day for FireFly 3
Post by: Elias Montoya on May 07, 2007, 01:16:03 AM

How is it going paul? :)
Title: Re: Big day for FireFly 3
Post by: TechSupport on May 07, 2007, 08:07:51 AM
Still working hard.... I have been working on the code editor portion for the past two weeks. I almost have the code folding finished. Still much to do but FireFly 3 is looking pretty good.

Title: Re: Big day for FireFly 3
Post by: Charles Dietz on May 12, 2007, 08:11:07 PM
Paul, you mentioned that you were working on the code editor portion of FireFly 3, and I was wondering how your plans for Jellyfish Pro work into the scheme of things.  At one time, you talked about a version 2 of Jellyfish... is that still in your plans, or does this code editor you are working on now replace Jellyfish.

It's hard to imagine anyone using Jellyfish more that I do.  I love that editor!
Title: Re: Big day for FireFly 3
Post by: TechSupport on May 12, 2007, 08:51:14 PM
Hi Charles,

Nice to hear that JellyFish is still in use by a lot of people. The new code editor is based on Borje's EDM code (the old code editor was CodeMax with the CodeSense extensions). I originally was going to use Scintilla but it has a couple of limitations that I could not work around (I don't know C++ very well). Myself and Bruce Brown have been working on a new version of EDM that has better syntax highlighting, code tips, virtual line ends, and code folding. Just about everything is finished (last part of code folding should be done this weekend).

I am not 100% sure what to do with JellyFish.... I am thinking of allowing FireFly to be used as a stand alone editor in the same vein as JellyFish (you basically wouldn't create GUI's with it). On the other hand, a new JellyFish onto itself will be great as well. The best solution would be to use FireFly 3 to create a new JellyFish and ship the JellyFish code as a "sample" or "example" code with FireFly. That way anyone could modify it as they see fit. That is probably what I will do because I already have a fair amount JellyFish code written in FireFly format.

I guess we'll see....