PocketGui2 (v0.9)

I've been working with PocketGui 1.2 and it's really pretty good. The author did a great job of packing alot of functionality into two small Palm memos. The cost of this was a loss of flexibility. There was little formatting and no room for meaningful variable names, making it difficult to read and maintain. The need to conserve space also meant that many sanity-checking functions were absent. It was also difficult to modify, and trying to keep the files small enough to fit inside Palm notes was difficult. So, with the advent of the PocketC Desktop and the expanded memory of the Palm IIIc, I've reformatted the whole thing, and added some nice features to boot.

Contents

What's New since PocketGui 1.2
Requirements
Download (with source code)
Version History
Compatibility with PocketGUI 1.2
Known Issues
Planned Enhancements
How To Deal With Free Software
Contact

What's New since PocketGui 1.2

New Control: GMultiText GMultiText is a scrolling text region. Imagine a List Box without the ability to select an individual row element and you've got the idea.
New Control: GBitmap GBitmap works just like GBits but the bitmap doesn't flash when pressed.
Support up to 255 List Elements With PocketGui 1.2 list boxes may only hold 31 items. I modified the functions GItem and GAdd, and added the function GListIndex. PocketGui2 supports up to 255 list elements.
Support for custom List Item separator By default, GAdd delimited different list elements by using the comma (,) character. This doesn't work when you want to add a list item that contains a comma. So first I modified the default delimiter as semicolon (;) and included support to modify the list element delimiter through the global variable GSeparator.
Support for Scroll Buttons Added functions GHardScrollDown and GHardScrollUp. These functions will scroll a list one page in either direction. In conjunction with the new function GSetScrollButtons, tying the scrolling buttons to a scrollable control has become very easy.
Added variable GEvt If GEvent returns -1 the caller can use GEvt to to find out what happened.
Generally improved stability
  • Fixed bug where refresh occured earlier than GRefresh when GSelect was called.
  • Added function GPaintIf and internal variable GUndisplayed.
  • Fixed Scroll-down function so system does not crash when hard-down scroll when less than one page of data.

Requirements

PocketC Desktop Edition 4.0.3 or later.

Download

Latest Version: pocketgui2_v0.9.zip
Prior Versions:

Version History

Version Date Description
v0.9 2001-12-29 Initial Release

Compatibility w/PocketGUI 1.2

In order to support more than 31 List Items, I had to break backward compatibility with PocketGui 1.2, only in regards to reading PocketGui databases. I can add a backward-compatibility feature, but if you want to do it, let me know.

Known Issues

Tapping out of Drop-down range: After opening a drop-down, if you tap outside the range of the drop-down, the internal representation of the drop-down closes, but the screen is not properly refreshed. I believe this is not due to PocketGui2, but rather left over from PocketGui 1.2.
Compatibility with PocketGui 1.2: As documented above, PocketGui2 databases and PocketGui 1.2 databases are not compatible.

Planned Enhancements

There are no planned enhancements at this time. If you would like to see something, please feel free to contribute changes, or contact me directly (though you're most likely going to get what you need by conitributing the changes.). Some things that are nice to see, though, are:
A multi-line editable text region, similar to editing a memo
Proper documentation. Until then, use the source code for the PDGA Course Directory as an example, as well as the demo source code provided.
Providing source-code functions that take a single string of text and split it into multiple lines for GMultiText (you can find examples of this in the PDGA Course Directory, too.)

Free Software

This software is, and will always be free. If you feel the need to show your appreciation with money, here are some great alternatives:
Donate the money to the Red Cross or WTC Relief Fund (etc.)
Go buy flowers or candy for your receptionist or RA. Include a card saying why they deserve it.

Contact

Send email to rob at brain kandy dot org (Don't forget to turn that into a real address!)
This site is a member of WebRing. To browse visit here.