VisualSpin: GUI manager for VGA, TV, LCD
Rayman
Posts: 14,889
I've started working on a development studio to manage GUI assets in a more convenient way...
I have a couple example GUI programs on my website.· But, managing large amounts of forms is inconvienient.
Hopefully, VisualSpin will make it very easy.
I'm starting out targeting XGA but will hope to adapt to TV and LCD later.
Maybe I'll have different styles of GUI at some point, but right now, I'm using the ROM font...
I think you can tell how it's going to work for this screenshot:
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
I have a couple example GUI programs on my website.· But, managing large amounts of forms is inconvienient.
Hopefully, VisualSpin will make it very easy.
I'm starting out targeting XGA but will hope to adapt to TV and LCD later.
Maybe I'll have different styles of GUI at some point, but right now, I'm using the ROM font...
I think you can tell how it's going to work for this screenshot:
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
Or, it may never get done...
It's a nice idea though, isn't it?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
I stalled with PropGuiMaker last year on trying to decide whether to use a proprietary GUI designer or a more common interface interface builder which emits xml.
Considering how hard it is to get an html/xml terminal working, I think the proprietary GUI designer is the way to go.
That being said, It would be really nice if there was an easy way to plug in the spin code. I started using the widgets I made for my TvFavorites interface, but those are targeted more for 3D effects on a device having separate video memory.
What will your Spin widget library look like?
Thanks,
--Steve
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Pages: Propeller JVM
http://www.rayslogic.com/propeller/Programming/ADC.htm
I think I have a "Basic Form Demo" somewhere there too...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
"Button";"Text";"Group";"Option";"Check";"Number";"1BitBitmap";"2BitBitmap";
I like the idea of a progress bar though, I'll have to think about that...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
I was wondering what an object or a method with all those positioning/look&feel etc "properties" would look like. I'm attaching an object that abstracts "button" ... it's where I was going before I started doing JVM stuff again. It would be easy to have an object per widget (N buttons), but it costs memory with getters/setters. What do you think would be best?
Cheers,
--Steve
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Pages: Propeller JVM
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Feature Projects: PropellerPowered.com
Visit the: PROPELLERPOWERED SIG forum kindly hosted by Savage Circuits.
People could always add in their own stuff to the generated SPIN code...·
I could add an "owner draw" object to VisualSpin so that people could easily add their own things...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
That has general use for a broader audience. It's up to you.
I'm not asking for your source, but it will likely be available the moment you post a binary.
Cheers,
--Steve
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Pages: Propeller JVM
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
In fact, Micro Focus has a product called "Visual COBOL" and AutoDesk Corp has "Visual Lisp."
Bill
Bill
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
My GUI driver works differently than your but in less code I can support all the features you have. Mine isn't really that great for text however as it only supports 40x15 characters on screen (internal ROM font at 640x480).
But, I have a real mouse cursor in my object. . Attached is the code. I'll have it up in the obex once I finish a human interface device driver for PS2 mouses and keyboards that supports event driven programing so that I can make a GUI demo.
·...
Microsoft doesn't own the "Visual" keyword nor does it own "Visual SPIN". I think its a perfect name. If its made using their software I don't think they will care much.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
I would release the source I have, but it seems few here would appreciate such an offering.
@wjsteele, drag and drop an object sounds cool.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Pages: Propeller JVM
Kye, I'll have to check out your code, but I think by "real" you mean it draws a graphical cursor?· Is this all in one cog?· Chip's XGA driver does include a "real" mouse driver, but that uses an extra cog.· For my apps, with XGA already using 2 cogs and mouse using one and keyboard using one, I didn't want to use a cog just to do the mouse...· If you have VGA and mouse all in one cog, that's definitely worth a look.· But, I really did pick XGA as a balance between the amount of text I can show and cog usage.
BTW:· I have a "real" real mouse showcased in my chess program that·is white with a·black border.· This turns out to be very difficult to do.· That code is an absolute mess, but I hope to clean it up and add it to Visual Spin for those that can affort to lose a cog for a nice cursor...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
Just as an aside, I think your kind of GUI is also very interesting, where, If I understand it, the Prop talks to a PC running the GUI over a serial link...
I've also thought it would be neat to run a Javascript GUI over a web enabled Prop...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
Cheers.
--Steve
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Pages: Propeller JVM
The code is demo board compatible.
The HID driver + VGA driver use two cogs in total. The new thing about the HID driver (its a combo PS2 Mouse and keyboard driver) is that it stores mouse and keyboard events in queues. This makes doing GUI stuff easy.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
Post Edited (Kye) : 7/20/2010 12:27:41 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
I'd like to see a combo keyboard, mouse and serial driver!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
@Bill Henning - You can add that if you want to your own version. The serial throughput would be horrible.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
That is on my long TODO list [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz & 5.0" OEM TFT VGA LCD modules
Las - Large model assembler Largos - upcoming nano operating system
I think "VisualSpin" should also include a simple "PASM Block" control that includes ASM that can be called directly. Maybe based on "trigger" events, like your Button being pressed, etc.
This takes me back... way back.
Bill
However, I have not the time to go market with my driver software. Sometimes I wish I could get paid what I've written...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tom Talbot
New Market, MD, USA
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm
My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm
Bill