Page 1 of 2

Visual designer file format specs..

Posted: Fri Oct 21, 2005 10:00 am
by dagcrack
If any of the developers of the original visual designer could send me via PM or email said file format specs, I would be very happy and be less negative :)

I need this for personal matters (no, not going to make another visual editor, no need. the official one is almost perfect -- Plus don't you think it would be stupid to request this? hehe).

Via PM I can tell to fred,benny,timo, what Im willing to do with this though (nothing illegal don't worry :wink: all the opposite ).

So I hope anyone can tell me about this? I need the file format specs of pbv
I imagine I can find out how its made but it would take long time, when knowing the developers in here.... why not asking them?.

Thanks.

Posted: Fri Oct 21, 2005 10:06 am
by dagcrack
Being so impatient here.... Already started to look at the file format myself, but as I said its going to be hard...

So far I know that co-ords of gadgets, window, etc.. are stored in word variables and not long = good to know... still dont know which are some key things like object delimiter (at the end of every object's data, you should write something that is telling you the data is over for that object... at least if you dont have a fixed amount of said data to write)...

Plus have no idea about its header so far (if any)...

Posted: Fri Oct 21, 2005 10:07 pm
by josku_x
I have been looking that PBV file format, well, my results are the following:

1. Base64 Encoded header
2. Stable, so editing makes it "not work"
3. Little dishy, I couldn't find more things

I am starting to reverse engineer this file format, if Fred and Co allows it, and then I make: "The PureBasic VisualDesigner File Format Documented"..

well, fred, you allow me? :roll:

then the party starts :lol:

Posted: Fri Oct 21, 2005 10:41 pm
by Fred
The format is binary only to be smaller and faster to load, not to be protected, so it shouldn't be hard to reverse it. The next version of the VD will probably have an ascii format, for full compatibility over platforms (binary is bad at this).

Posted: Sat Oct 22, 2005 10:50 am
by josku_x
Oh, ok, so my results were not real,,,, it was because I didn't reverse it, but I think you allow me, or? Fred :o

Starting to reverse it :P

(Fred, don't be afraid, I have bought my copy of PureBasic, I didn't reverse it :roll: )

Posted: Sat Oct 22, 2005 9:16 pm
by dagcrack
watching the "reverse" word so many times makes me think he really lives in a "dreamland" :lol:

Aghh anyway why such a big deal to know about this file format.. I guess i'll end up taking 4 hours of my life just to analize it... thanks...

edit *5 minutes later*: tracked down the window flag variables and some other data (window x,y and width,height, also screen centered, window centered, etc...).. still got 12 bytes at the header which I dont know what they are holding at the moment...

By the way josku_x... your function "killfred" is 2D... do you live in a 2 dimensional world? ....

Posted: Sat Oct 22, 2005 11:33 pm
by dagcrack
retrieving window constant name and window title now! - seems like they used a blank long as spacer on those parts.

the reason of why I need this file format nailed is because Im making a "pb to pbv" automatic converter for jaPBe... this will let you open existant UIs you've done in purebasic visual editor and keep on modifing them, even if you didnt make them in the visual editor at all...

:) If I get this done any soon, i'll release for free if anyone is interested on it... (i'm doing this because I really need it, plus.. I like the editor as it is, it just needs this feature and its perfect for me ;) no need for buying more software that I will much likely not even use after all -laughs- plus emh said editor emhh.. doesnt even ehh.. include this feature... which was.. EHH.. REQUESTED... and ehh... "developer" too big ego for his little soul, me comprende? ).

(laughs hard) *sigh* (laughs hard)
go freeware :wink:

Posted: Thu Nov 03, 2005 7:50 pm
by Berikco
Just bumped in to this...its even posted before i know

Code: Select all

PureBasic Visual Designer
Project pbv file format
=============================
Variable	Size	Value
=============================

FileVersion	Long	1

-----------------------------
Window		Long	1000
NumericID	Long
Flags		Long
x		Word
y		Word
Width		Word
Height		Word
Min		Word	0
Max		Word	0
Menu		Byte	1=menu 
Len(Title)      Long
Title		String
Len(gadgetID)	Long
gadgetID	String

------------------------------
gadget          Long	2000
NumericID	Long
WindowID	Long
ParentID	Long
Flags		Long
Len(GadgetID)   Long
GadgetID	String
Len(Title)	Long
Title		String
Len(Tooltip)    Long
Tooltip		String
x		Word
y		Word
Width		Word
Height		Word
Min		Long
Max		Long
Type		Word	type*
TabNumber	Word

-type*------------------------
Button       = 14
String       = 15
CheckBox     = 16
Panel        = 17
Frame3D      = 18
Text         = 19
Option       = 20
Web          = 21
ButtonImage  = 22
Tree         = 23
ListView     = 24
ListIcon     = 25
ComboBox     = 26
Spin         = 27
TrackBar     = 28
ProgressBar  = 29
Image        = 30
IPAddress    = 31
Not Used     = 32
StatusBar    = 33
Field        = 34
Tab 	     = 35
menu	     = 36

------------------------------
PanelInfo     	Long	4000
NumericID	Long
CurrentTabID	Long

------------------------------
Menuitem 	Long	3000
NB_Items	Long	NB_Items*
NumericID)	Long
ParentID)	Long
WindowID)	Long
PopupCounter)	Long
MenuNumber)	Long
PopupNumber)	Long
PopupParent)	Long
Len(GadgetID)	Long
GadgetID)) 	Long
Len(Title)	Long
Title		Long
Type		Word	Type**

-NB_Items*--------------------
Number of menuitems + 3000
Only first Menuitem in the file has NB_Items field

-Type**-----------------------
Title     = 1
Item      = 2
Separator = 3
Submenu   = 4

-----------------------------------
UseMultiLanguage	Long	100
Value			Long	
-----------------------------------
IncludeEventLoop	Long	101
Value			Long
-----------------------------------
IncludeBinaryBitmaps	Long	102
Value			Long
-----------------------------------
Len(GeneratedFilename)	Long	103
GeneratedFileName	String
-----------------------------------
DefaultGridSize		Long	104
Value			Long


If a gadget is in a panel, parentID holds the NumericID of the Tab, the Tab's ParentID holds the numericID of the Panelgadget.
When on a window, ParentID = 0




Posted: Sun Nov 06, 2005 7:59 pm
by dagcrack
Grazie Berikco :)
I'll be working on this on my spare time, perhaps release it for the pb community if it works as expected.

The idea is that you can edit a gui from a source.. thats all, yet, I needed to know the file format.

Great

Posted: Mon Nov 07, 2005 6:29 pm
by guruk
Great Stuff,
when you finished you tool, let me also know.

I like the original Visual Designer... also when he do not support DateGadgets etc....

But to edit SOURCES with em would be the best.

So let me know.


!!! Why is there no more updated Version of this V-Editor????? !!

chris

Posted: Mon Nov 07, 2005 6:38 pm
by dagcrack
!!! Why is there no more updated Version of this V-Editor????? !!
I don't know.. It has some bugs with multiple windows, etc.. (anyway I design my windows separetly).

But its very good and I like it a lot, I wouldnt be buying another visual editor, this one is just right. what I needs is this source to pbv converter and its done (at least for me).

Re: Great

Posted: Mon Nov 07, 2005 6:41 pm
by Berikco
guruk wrote:
!!! Why is there no more updated Version of this V-Editor????? !!

chris
Because i have started my own company, and have 3 kids ..... so not much spare time to code last 18 months... :)

Posted: Mon Nov 07, 2005 6:43 pm
by Dare2
How old are your kids?

And you're right to spend as much time with them as you can.

Posted: Mon Nov 07, 2005 6:49 pm
by dagcrack
(Specially when they are young)

Posted: Mon Nov 07, 2005 7:28 pm
by Berikco
They are 6 now...7 in 4 months :)

Some family pics here...
http://users.pandora.be/berikco/alamo/4.htm