SweetyVD (Visual Designer)

Share your advanced PureBasic knowledge/code with the community.
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: SweetyVD (Visual Designer)

Post by ChrisR »

Update v1.8.0:
. List of Gadgets (with Gadgets images) added. Use with double-click or drag and drop. Images also available in the Popup menu; right-click.
Gadgets images come from PureBasic SilkTheme.zip in PB Home\themes directory or with SilkTheme.zip copied next to the exe in the current folder.
. Resize the Window Draw Area with mouse.
...
Image
User avatar
blueb
Addict
Addict
Posts: 1041
Joined: Sat Apr 26, 2003 2:15 pm
Location: Cuernavaca, Mexico

Re: SweetyVD (Visual Designer)

Post by blueb »

Plenty of nice improvements Chris 8)
- It was too lonely at the top.

System : PB 6.10 Beta 9 (x64) and Win Pro 11 (x64)
Hardware: AMD Ryzen 9 5900X w/64 gigs Ram, AMD RX 6950 XT Graphics w/16gigs Mem
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: SweetyVD (Visual Designer)

Post by ChrisR »

Thanks bob and thanks to follow my progress :)
We could think that it is relatively simple at first look, but more I move forward more I notice that it is not the case.
I did not think of it but I better realize the Hard work behind PB Form or PureForm...
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: SweetyVD (Visual Designer)

Post by ChrisR »

Thanks Polo to have moved the topic in the Tricks'n Tips section, at my request :)
It is more suited, being open source and developed in the sense of sharing.
I hope that I would have now a little more visibility and comments :wink:
User avatar
Zebuddi123
Enthusiast
Enthusiast
Posts: 794
Joined: Wed Feb 01, 2012 3:30 pm
Location: Nottinghamshire UK
Contact:

Re: SweetyVD (Visual Designer)

Post by Zebuddi123 »

Hi Chris Been a little busy of late but I`ve been downloading and it`s still my VD of Choice Ummm lol keep up the good work its coming on a treat. Going to have a better play with it latter to day i will give you my feed bk fwiw lol :)

Zebuddi.
malleo, caput, bang. Ego, comprehendunt in tempore
JHPJHP
Addict
Addict
Posts: 2129
Joined: Sat Oct 09, 2010 3:47 am
Contact:

Re: SweetyVD (Visual Designer)

Post by JHPJHP »

Hi ChrisR,

Your Visual Designer is a great addition to the PureBasic community; the common sense layout and functionality is spot-on.

Something you might want to consider... custom Gadgets folder, custom Icons folder, etc.

There are so many custom Gadgets floating around, that if there was a single place to demo / include them, would bring a project like this to the next level.
- once a standard has been set, this thread could be used to link together the various resources

NB*: Don't take the current lack of comments to mean the community isn't grateful for the work you've done.
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: SweetyVD (Visual Designer)

Post by ChrisR »

Hi JHPJHP

I'm pleasantly surprised to see a guy of your level who is interested :D
I'm new to PB and this forum, I do not know each other.
But browsing the forum, there is no doubt that you make references to my eyes.
Like many others too, great community :) :D

My initial goal was just to go into PB, Without more pretensions.
With a subject which speaks to me. Probably because of the great AS400 interface,lol :D .
But now, the current base is really much better that I originaly hoped.
And it is probably good to go further!

I'm afraid of lacking knowledge and time, on my side. Or it will be long.
There is many things I have not seen yet, as custom gadgets, TabBar Gadget.
And other things that become more complicated such as
- Container management with these childrens and group movements.
- Multiple Selection.
- A more attractive interface for Gadget Properties like a list of created Gadgets, instead of the combobox.
- Write to a new tab in PB IDE instead of the clipboard.
For the last one, is there a way to do it from memory rather than a %temp% file ?

I have noticed your idea to support custom Gadgets And it is really interesting.
And maybe a way to give a true utility to this tool 8)

Well, the code is shared and open And in the sense, not my property.
If someone wants to make a contribution, he is welcome :)
Alone, I would have trouble and it may just end up, only as a code examples.
hmm, not easy in english, I'm trying. For now, It will be children's holiday.
Regards :)
Last edited by ChrisR on Fri Apr 07, 2017 1:13 pm, edited 2 times in total.
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: SweetyVD (Visual Designer)

Post by ChrisR »

Zebuddi123 wrote:Hi Chris Been a little busy of late but I`ve been downloading and it`s still my VD of Choice Ummm lol keep up the good work its coming on a treat. Going to have a better play with it latter to day i will give you my feed bk fwiw lol :)
I'm ready to hear from you with your favorite Designer :lol:
Zebuddi123 wrote:Already added two of my own gadgets so working on adding custom gadgets :)
If you have some time, the source is ready to hear from you, Also :wink:
:)
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: SweetyVD (Visual Designer)

Post by ChrisR »

I Updated the code on github v1.8.21
- Fixed the created code with empty captions
- Choose between constants or *PB_Any for the code generation
- Minor cosmetic
User avatar
Zebuddi123
Enthusiast
Enthusiast
Posts: 794
Joined: Wed Feb 01, 2012 3:30 pm
Location: Nottinghamshire UK
Contact:

Re: SweetyVD (Visual Designer)

Post by Zebuddi123 »

Hi Chris "lovely jubbley" English slang for Great :) Have you looked at Gnozal`s PureForm it`s was a great VD From an Excellent programmer but its out of date, here is a link https://www.dropbox.com/sh/g6a4j9v95b73 ... bXgfa?dl=0 maybe it could give you some ideas and I`m pretty sure should Gnozal still be around on the forum we would all be wanting him to update PureForm :) No disrespect Polo :) Your VD (lol still makes me laugh :) ) is in a similar vain to PureForm

Be careful when writing to the IDE as once the Scintilla Handle has been established if the tab changes before the you write to the original tab the IDE will crash. Tried to look into it but not delved that far and probably not up to it, that would need someone with more knowledge if its at all possible.

To test writing to the IDE scintilla window you need to create an exe and run it as a tool from the IDE. That`s to get the Scintilla Handle.

Zebuddi. :)

Here`s the Module I use.

Code: Select all

DeclareModule BSD_Scintilla
	Declare.s 	sScintillaGetSelectection() ; Takes a seclection from the pbide returns a s a string
	Declare 	vScintillaPBIdeInsertText(sText.s) ; Takes a string and prints it to the pbide window.
EndDeclareModule

Module BSD_Scintilla
	; to get the scintilla tool handle the call needs to be made whilst running as a tool from the IDE
	Procedure.s sScintillaGetSelectection()
		Protected  iSCintillaID.i  = Val( GetEnvironmentVariable("PB_TOOL_Scintilla")), iStart.i, iEnd.i,  iIndex.i,  sString.s, iResult.i
		If iSCintillaID
			SendMessageTimeout_(iSCintillaID, #SCI_GETSELECTIONSTART , 0, 0, #SMTO_ABORTIFHUNG, #SCI_START, @iStart)
			SendMessageTimeout_(iSCintillaID, #SCI_GETSELECTIONNEND  , 0, 0, #SMTO_ABORTIFHUNG, #SCI_START, @iEnd)
			For iIndex = iStart To iEnd-1
				SendMessageTimeout_(iSCintillaID, #SCI_GETCHARAT, iIndex , 0, #SMTO_ABORTIFHUNG, #SCI_START, @iResult)
				sString + Chr(iResult)
			Next
			ProcedureReturn sString
		EndIf
	EndProcedure
	
	Procedure vScintillaPBIdeInsertText(sText.s)
		Protected  sScntillaiText.s = sText
	CompilerIf #PB_Compiler_Unicode
		sScntillaiText = Space(StringByteLength(sText, #PB_UTF8))
		PokeS(@sScntillaiText, sText, -1, #PB_UTF8)
	CompilerElse
		sScntillaiText = sText
	CompilerEndIf
		giScintillaID = Val(GetEnvironmentVariable("PB_Tool_Scintilla"))
		SendMessage_(giScintillaID, #EM_REPLACESEL, 0, PeekS(@sScntillaiText))
	EndProcedure

EndModule

CompilerIf #PB_Compiler_IsMainFile
	UseModule BSD_Scintilla
	OpenConsole()
	Print(sScintillaGetSelectection()) ; prints the selected text from the ide to a console() windows -- for testing
	vScintillaPBIdeInsertText("Hello world here i am :) lol")  ; prints to the ides current tab at the current cursor position. if you change the tab the IDE will crash
	Input()
	CloseConsole()
CompilerEndIf
	
malleo, caput, bang. Ego, comprehendunt in tempore
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: SweetyVD (Visual Designer)

Post by ChrisR »

Thanks Zebuddi123 :)
It is downloaded, great.
I have to go, I would take a look at it and at your module at returning.
:)
User avatar
Michael Vogel
Addict
Addict
Posts: 2666
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Re: SweetyVD (Visual Designer)

Post by Michael Vogel »

Great work, looks very promising - thanks for all your efforts :wink:

I would be able to ask for tons of new features now (keyboard shortcuts, selecting multiple elements, copy&paste, alignment, resorting elements etc.) but there are two things which could be done easily:

1. Please add the following lines to increase compatibility to older PureBasic versions:

Code: Select all

#PB_MessageRequester_Error=16
#PB_MessageRequester_Warning=48
#PB_MessageRequester_Info=64
2. What about changing the includes to the following code (makes downloading a bit easier):

Code: Select all

DataSection   ;- Data Section (Model)
	
	#Img_Delete:
	Data.q $A1A0A0D474E5089,$524448490D000000,$E0000000E000000,$2D481F0000000608,$47527301000000D1,$E91CCEAE0042,$414D41670400,$561FC0B8FB1,$735948700900,$C701C30E0000C30E,$741900000064A86F,$7774666F53745845,$6E69617000657261,$2E342074656E2E74,$7A5B033433312E30
	Data.q $5441444991020000,$6153485D526D4F38,$AC1FA22E81FAFE18,$C6E6739D9D72E3B6,$175B34E8EDBFCE9C,$1A0FE51AC2932061,$CF368A9494586EA2,$2EC428933697358E,$41FD855D108298D2,$1B461A071BC2E82C,$A5285D578127538A,$5129A3BEFB78BBFB,$BCFBCF7EF177CDCF,$761CA75448BCFBCF
	Data.q $62EB998C0F3D341B,$1768A3E9A443BAA6,$8E51A3D9429C9C7B,$FEBC8C8BAE4E6AF7,$C93078AA507E5C8E,$5E10FA7A5B16B8EF,$AD7DE90DB98A5CD5,$A5903BC8D48A09F4,$7A4D6626319FF31E,$104A2A5D372AD518,$B0756958BC8BDA11,$5DFA4400F0C7E1F,$B5F68E82E3175513,$FEC798337BD3C7B1
	Data.q $53210C52C84492D2,$5A8A9EE068E54C2E,$DEF1E3723F682D13,$EAB0DD03AB62DAD6,$BD5FDE13708880ED,$5B2F26A768E4F490,$4C0B0429595CE7F,$86E55AE787AF9D3,$F17A9E245245ACB4,$5BBBDFE22A6B1F78,$F04DDBE580E9C560,$682057D5C21AA1AD,$10DA9D2616526336,$F248763DA6D1CA59
	Data.q $AE7DE3C7DCBC4048,$56F961DAB4AE48AE,$8162C843D5352C23,$A25154E9F06CA62F,$EF3919DA0FE917F4,$7CB0B5EC86BEA9D6,$46F20872D6730EDD,$D97B2D2EE0E06D78,$AD83BAFEDB494EAE,$E4D66C9FE355EB95,$AF926CD82C237362,$620C367C021E02F9,$1BB23AA38E5A4EC5,$6DF98ED1CA3D2115
	Data.q $56542C3B66C589E5,$6706F06F08D9B4C2,$6154C3C45C20F30A,$76A19398D9E90C2E,$B28A87EE1C2E42A2,$10B575C20386F844,$58BA8983386198B0,$8C8BA745C99233CA,$C877E0084292910,$FB421B3ECAC71E9,$2C1D636CFAECF479,$D21859FCE0403536,$2217216B2B021B31,$4CD89AD9231DA9B0
	Data.q $3E7144E1B8F30F09,$B4DA8A395BA9B174,$839EB49CDF859F7A,$3C4E5776930E7A67,$FE2E9E45EFA29C89,$4EAFD53ABC09B4EE,$7674882F78055646,$8561AC539BA10AB1,$3EA971753C4E567F,$FAB513D211AD4B27,$E44097C6770976C0,$975227880FF88BA5,$1C285E1BF4202494,$5DDBFE0391
	Data.q $6042AE444E454900,$82

	#Vd_Unknow:
	Data.q $A1A0A0D474E5089,$524448490D000000,$1200000012000000,$8ECE560000000608,$4752730100000057,$E91CCEAE0042,$414D41670400,$561FC0B8FB1,$735948700900,$C701C30E0000C30E,$741900000064A86F,$7774666F53745845,$6E69617000657261,$2E342074656E2E74,$7A5B033433312E30
	Data.q $54414449F2010000,$D2D38C05C0634F38,$7D705039E3E3ED58,$CC6C60489A540B3D,$7D3E0F75C3DEE3BA,$FA2007E7D3F0F07A,$500E6D74BC2F1036,$2F2F200888A20996,$FFF78BB3E9EBB1CF,$F1026F88077FFFFF,$A03EC6E9719E2025,$D068003115442B34,$3E6A009D2F4FC79A,$FFDFD378807BC40C
	Data.q $B9A0DD235ECE5BFF,$CD60340CDC5D9E8F,$7FFFF9FD17FFFFBF,$215D0EF3FFFFF7EA,$FBBEEF6060620D1,$FFF7E5321A07CE8F,$F9792FFFFF5F1DFF,$72809BE3CADFBFEF,$ABABF9C573380524,$FFF9F75FFFFD7F7B,$FB1CBBFE7F87F8FF,$1CA034D365A8DFF1,$8FBB998C040D81F1,$CEE83FF7F87F17F7
	Data.q $7ED6CC4340CEFF9F,$4F2A12BB3D95AFFA,$D6FFD0A9BB99F03C,$9AD7FF3EEB21886F,$54345D604ABFFAF6,$F9D8393550E0789A,$57FEDFD3218877C8,$16D82CD14FF07FA8,$B337480FD03C4D2A,$C6F910C81FEEFD5C,$9514FC2FD325FFE7,$B4A40F134A8150B1,$2A52BF4EDBF5656D,$F157C4E52255FF3F
	Data.q $A184A57979778D80,$2E634949460124D2,$1E7B51511E7B2D51,$1229106241B2006,$F46D354473C7DBD8,$736BBCB02DB09AA9,$108B191F72DE4060,$4E3AD340F134A84E,$6F45B2BFE1E3BDDB,$F73CDFFD7BCE97FE,$34A83D5F1D453FDA,$E62C4F4230CD40F1,$82F9FF1B90BE3FEA,$524FFF3BF6E7FC6F
	Data.q $D4503C4D2A08DDC3,$CF94F2DEF31354F3,$F8DB7016104BEB7D,$124D2A1345D54254,$E0E0E294E4E4E160,$6241A5B20610790,$105000C0C074291,$179F04224BF0,$42AE444E45490000,$8260

	#Img_About:
	Data.q $A1A0A0D474E5089,$524448490D000000,$E0000000E000000,$2D481F0000000608,$47527301000000D1,$E91CCEAE0042,$414D41670400,$561FC0B8FB1,$735948700900,$C701C30E0000C30E,$741900000064A86F,$7774666F53745845,$6E69617000657261,$2E342074656E2E74,$7A5B033433312E30
	Data.q $5441444991020000,$6153485D526D4F38,$AC1FA22E81FAFE18,$C6E6739D9D72E3B6,$175B34E8EDBFCE9C,$1A0FE51AC2932061,$CF368A9494586EA2,$2EC428933697358E,$41FD855D108298D2,$1B461A071BC2E82C,$A5285D578127538A,$5129A3BEFB78BBFB,$BCFBCF7EF177CDCF,$761CA75448BCFBCF
	Data.q $62EB998C0F3D341B,$1768A3E9A443BAA6,$8E51A3D9429C9C7B,$FEBC8C8BAE4E6AF7,$C93078AA507E5C8E,$5E10FA7A5B16B8EF,$AD7DE90DB98A5CD5,$A5903BC8D48A09F4,$7A4D6626319FF31E,$104A2A5D372AD518,$B0756958BC8BDA11,$5DFA4400F0C7E1F,$B5F68E82E3175513,$FEC798337BD3C7B1
	Data.q $53210C52C84492D2,$5A8A9EE068E54C2E,$DEF1E3723F682D13,$EAB0DD03AB62DAD6,$BD5FDE13708880ED,$5B2F26A768E4F490,$4C0B0429595CE7F,$86E55AE787AF9D3,$F17A9E245245ACB4,$5BBBDFE22A6B1F78,$F04DDBE580E9C560,$682057D5C21AA1AD,$10DA9D2616526336,$F248763DA6D1CA59
	Data.q $AE7DE3C7DCBC4048,$56F961DAB4AE48AE,$8162C843D5352C23,$A25154E9F06CA62F,$EF3919DA0FE917F4,$7CB0B5EC86BEA9D6,$46F20872D6730EDD,$D97B2D2EE0E06D78,$AD83BAFEDB494EAE,$E4D66C9FE355EB95,$AF926CD82C237362,$620C367C021E02F9,$1BB23AA38E5A4EC5,$6DF98ED1CA3D2115
	Data.q $56542C3B66C589E5,$6706F06F08D9B4C2,$6154C3C45C20F30A,$76A19398D9E90C2E,$B28A87EE1C2E42A2,$10B575C20386F844,$58BA8983386198B0,$8C8BA745C99233CA,$C877E0084292910,$FB421B3ECAC71E9,$2C1D636CFAECF479,$D21859FCE0403536,$2217216B2B021B31,$4CD89AD9231DA9B0
	Data.q $3E7144E1B8F30F09,$B4DA8A395BA9B174,$839EB49CDF859F7A,$3C4E5776930E7A67,$FE2E9E45EFA29C89,$4EAFD53ABC09B4EE,$7674882F78055646,$8561AC539BA10AB1,$3EA971753C4E567F,$FAB513D211AD4B27,$E44097C6770976C0,$975227880FF88BA5,$1C285E1BF4202494,$5DDBFE0391
	Data.q $6042AE444E454900,$82

	:

EndDataSection
User avatar
Zebuddi123
Enthusiast
Enthusiast
Posts: 794
Joined: Wed Feb 01, 2012 3:30 pm
Location: Nottinghamshire UK
Contact:

Re: SweetyVD (Visual Designer)

Post by Zebuddi123 »

Hi Chris Just got sometime to have a look and I have to say wow it has`nt taken you any time to get to grips with coding in pb and looks like your thoroughly enjoying the language ? the codes coming on a treat :)
going to spend some time this weekend perusing your code and to understand the your coding style and layout. I really do hope the rest of the community gathers around this project it could be really good for the pb community and a great addition to PureBasic. I`m surprised Fred has`nt made a comment but I`m sure he will at some stage :)

Zebuddi.
malleo, caput, bang. Ego, comprehendunt in tempore
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: SweetyVD (Visual Designer)

Post by ChrisR »

Thanks Michael,
I updated the dataSection and constants :)
A minor things on #Img_About (same code as #Img_Delete) No worry, it is I converted again (on github).

Thanks for your kind words Zebuddi
Yes the language suits me, indeed. All is done to make it simple, lightweight and accessible + a great help and examples.
I'm really impressed. Fred and all the guys arround him did a Fantastic work. I really enjoy :)
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: SweetyVD (Visual Designer)

Post by ChrisR »

A Small update after some holidays
List of controls used.
Create the code in a New Tab (via %temp% file) in addition to the clipboard. To get the right PB IDE (eg: arch), it is best to add SweetyVD in the custom tools.
Post Reply