Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
The FreeBASIC GUI Compiler
#11
Icons in the menus are easy with...okay, we'll call it fbGUI. Wink There's a menu editor similar to the one in VB, except with a few extra options (such as...icon Wink ). I haven't touched on the status bar control yet so I'm not sure how that's going to be handled just yet. Each form (window, hehe) has a property which specifies the control to send menu status messages to. I don't even think even VB2005 has anything like that.

Right now, I'm still figuring out all the low-level stuff required to make the controls, and developing the interface of the editor. It doesn't yet output code, nor does it place controls just yet. VB's editor is really powerful, and emulating it is not going to be very easy. On the other hand, I could always just make the "windows" in the editor appear without captions or borders, and that would make drawing windows a hell of a lot easier...
I'd knock on wood, but my desk is particle board.
Reply
#12
[Image: fbgui-codewindow.png]
Very early shot of the code editor...I just added the template today and it's far from finished but this is an early look at it. If at all possible, all the VB events will be supported for each control type, and I may be able to add a few more. Methods I'm still a little sketchy about, but we'll see what develops (no pun intended). Big Grin Events are b-l-o-o-d-y e-a-s-y. Big Grin
I'd knock on wood, but my desk is particle board.
Reply
#13
Okay...more screenies:

This is the standard VB6 menu editor:
[Image: vb-menueditor.png]

and this is the fbGUI menu editor:
[Image: fbgui-menueditor.png]
I'd knock on wood, but my desk is particle board.
Reply
#14
Me likes.

How can you get the buttons to look sexy?
·~¹'°¨°'¹i|¡~æthérFòx~¡|i¹'°¨°'¹~·-
avinash.vora - http://www.avinashv.net
Reply
#15
FreeBASIC GUI Compiler.exe.manifest

Big Grin

Any application which calls the InitCommonControls API function (or simply includes one of the Microsoft Windows Common Controls OCX files) and has a properly built .manifest file in the same directory with the same filename as the application itself (in this case, "FreeBASIC GUI Compiler.exe") will have XP-style controls in XP. Little trick fsw explained a few days ago. Big Grin
I'd knock on wood, but my desk is particle board.
Reply
#16
[Image: fb-gui-editor-window-editor.png]
Made progress on the window editor. I've got no idea how other editors do this though, so I'm going with a technique I already know. Big Grin However, it would be nice to be able to put an image of an actual window in there...anyone know how this kind of thing is subclassed?
I'd knock on wood, but my desk is particle board.
Reply
#17
Wow... That is very very sweet. It'll give Microsoft's Visual Basic a run for it's money, i'm very sure of it. Smile
Jumping Jahoolipers!
Reply
#18
Cool, looks simple as VB for sure ;)

I was thinking about making a .frm to .bas translator, but then the headers from GTK or from some non-OO windows library would be needed, then a h2bas tool would be required, as those libraries come with tons of headers and thousands of error-prone prototypes to translate.. never mind..

I will add the gdi32 and the other include files you translated to the next release, thanks.
Reply
#19
Cool man. Big Grin I'll keep revising them as well and submit the revisions to you. Also, I had an idea, which I implemented as a custom switch into FBC 0.08: a version echo switch. I added the -n switch to have fbc return the version number and then terminate. The only problem was that without specifying a filename, it'd fail. I tried reversing the order of checks in the compiler but then it wouldn't compile anything Smile so I came up with another method of doing it:
Quote:fbc -n none.bas
The way I coded it, it would come back as "0.08 beta". Here's the revisions, if you want to implement them:
Code:
'this is all in fbc.bas
'this part went right above const FB_MINSTACKSIZE:
const FBC_VERSION_STRING = "0.08 beta"
' ... code ...
'okay, this part was placed in Sub PrintOptions:
print "-n", "return version information"
' ... code ...
'finally, this part was placed in function processOptions:
case "n"
  print FBC_VERSION_STRING
  end
It would make an interesting switch for use IDE coders. Big Grin Whaddya think? Big Grin

I was also considering a frm to bas converter, but realized that it would be better in the long run to simply start from scrath with raw API calls under Windows. The functions in the GUI abstraction layer could be re-written for linux or any other OS fbc get ported to, so user code wouldn't have to change. Big Grin
I'd knock on wood, but my desk is particle board.
Reply
#20
Nice work, dude (y)
Give you credits Big Grin
When can we expect the release?
I believe it's gonna be hard work on the wrappers, don't you?
Anyway... good luck with that.
adedog - IT Expert, Member of Open Source Community & Freelance OSS Programmer
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)