Gui Lib Extra Commands ?

BlitzMax Forums/BlitzMax Programming/Gui Lib Extra Commands ?

Sarge(Posted 2005) [#1]
If you have not seen my worklog i have got the action system working and running and was wondering what other commands you guys want in the lib ?


Kuron(Posted 2005) [#2]
Emulate B+'s GUI as much as possible: menus, easy integrating with 2D games (like the insectoids example with B+, being able to use a game window with a menu, or a smaller game menu with a GUI on the side like for a level editor, etc)


EOF(Posted 2005) [#3]
* HTML view area would be my main requirement.
* 2 functions for reading the desktop dimensions

Later ...
* Canvas and GDI drawing functions

Looks like you have lots of features in there already Sarge.

Do your gadgets support tabbing?
Can the windows title be changed at any time?
Would freeing up (closing) a window also free up its associated gadgets?


Sarge(Posted 2005) [#4]
Hi jb,

I have been studying the html activex control and i will be adding it very soon. You can already read the desktop dimension with GetControlWidth( GetDesktopHandle() ) and GetControlHeight( GetDesktopHandle() ) they will get the width and height of the desktop.

I have added tabbing, you can change a windows or controls title at any time with SetControlText and freeing a window does free all the controls i found this out by using "Winspector Spy" which tells me what gets deleted and created.

In blitzplus the canvas is a opengl contex so by using a blitzmax cavas area is pretty much the same, have a look at this example,

Import pub.puremax

Graphics 800,600,0 '0 is very important

Local window = createWindow( "Button Test", 0, 0, 300, 300 )
CenterWindow( window )

Local hwnd = BMaxWindowParent( window )
SetControlSize( hwnd, 800, 552 )
SetControlPosition( hwnd, 10, 30 )

Repeat
	
	ID = WaitAction()
		
		Select ID
	
			Case UI_CLOSE
				
				End
				
		End Select

Forever

That is how i created the image viewer example.

Thanks,
Sarge


Progi1984(Posted 2005) [#5]
When can we test your production ?


AntonyWells(Posted 2005) [#6]
The ability to create canvas' that you can directly draw to using bmax2d.


MrCredo(Posted 2005) [#7]
Is this a native GUI for Win32 (using Api-calls?)

Do you create a DLL for this? And why? I created here a simple window with BlitzMax-Code only and this work...

But all GUI-tuff is welcome. I could need this...


Sarge(Posted 2005) [#8]
Progi1984,
Im not really sure yet.

MrCredo,
This is a native windows gui using api calls only, this is a blitzmax module that does not require a dll, but i will be making a dll for the rest of the languages like Blitz3D, DarkBasic ect.


EOF(Posted 2005) [#9]
Sarge,
With regards to the 'canvas' ...

Can you pick up mouse actions from the canvas?
i.e, I_MouseMove, UI_MouseDown, UI_MouseUp, UI_MouseWheel

Judging by the PrideUI test I guess you can.

What happpens to the canvas area if you call EndGraphics?


Sarge(Posted 2005) [#10]
Hi jb,

Yea i have added all the mouse and key actions for the main window and the canvas window, if you call EndGraphics then the canvas window will be deleted.

Thanks,
Sarge


JoshK(Posted 2005) [#11]
I think GDI/canvas drawing commands are an entirely separate issue, and should not be mixed with a GUI lib.

BlitzPlus has a bad menu system, because there is no way to remove menu items.


EOF(Posted 2005) [#12]
if you call EndGraphics then the canvas window will be deleted
Sounds like clever stuff Sarge. Do the main BRL.xxx mods need patching/modding to get your lib running?
Or, can we just go
Import Pub.PureMax

I think GDI/canvas drawing commands are an entirely separate issue, and should not be mixed with a GUI lib
Maybe do it as a separate lib (Pub.WinGDI)?
It'll be nice for making system-friendly apps which need basic graphics stuff thus removing the need for DirectX/OpenGL.


Sarge(Posted 2005) [#13]
Nope, i did not modify any modules at all, that was my plan from the start even if it has to take me the longest way i would rather not touch and other module but mine. So all you do is "Import Pub.PureUI".

The blitzmax window which is the canvas does not effect PureUI at all, i have subclassed it so that it has its own mouse and keyboard actions so therefore it will not effect the other controls actions.

Thanks,
Sarge


Progi1984(Posted 2005) [#14]
If you look for a betatester, i'm ready ;)


Kev(Posted 2005) [#15]
@Progi1984, that would be me ;)

@Sarge. Some i would like to see added.

Listviews, with multi column's.
StatusBar parts
Gadget,Menu icons. icons that can be incbin'ed, then the icon image list created from the incbin.
Popup Gadget Menus
SystemTray Icon/Menu control

and like halo said more control over menu items is needed.

kev