Description
The Supercharged Canvas with Database Binding!
Canvas based UI control for Desktop Xojo developers (Lite, Desktop, Pro and Pro Plus); both for 32 and 64 Bits deployments on macOS, Windows and Linux.
This Class is available as Standard Edition and Database Edition. You can work with the AXImageCanvas class from the IDE without restrictions when running your own apps in Debug Mode; but a license is needed when you’re ready to Build any project containing this class.
AXImageCanvas greately simplifies the task of displaying a Picture into the containing control area (Width and Height), with the ability to correctly display the image maintaining its original aspect ratio whitout touching the original picture. This can be done from any dropped image from inside the app, via a Picture File dropped from the Desktop, or another Picture dropped from another AXImageCanvas control or executing App, plus any copied picture from another app or source. Of course, the displayed image can be set programmatically, just passing the desired Picture Object (instance).
If the dropped image comes from a File, then the AXImageCanvas instance will keep a reference to the original FolderItem, so it is possible to do additional operations on it.
AXImageCanvas supports the Copy, Paste, Cut, Clear (Delete) and Undo actions selected from the app menu or using the equivalent keyboard shortcuts.
How to use AXImageCanvas in your own projects (Install)
- Open the AXImageCanvas Demo Xojo project.
- Copy the AXImageCanvas Folder from the Project Browser.
- Paste it into your own Xojo Project.
Supported Picture Formats
AXImageCanvas supports the following picture formats:
- GIF (first frame)
- JPEG
- PNG
- TIFF
AXImageCanvas and Databases
AXImageCanvas instances can be used in combination of any of the currently supported database engines (Database Edition):
- SQLite.
- MySQL / MariaDB.
- PostgreSQL.
In these cases, and in addition of the previously described features, it will take care of the usual CRUD operations; getting the picture for the specified record, creating new records, updating the current record or deleting the current displayed record (more on this a bit later).
This class also brings methods and capture keyboard events allowing navigation throught the records: first record, last record, next record, previous record; even if their ID are not consecutives.
By default the navigation between records works in Loop Cycle mode, so if the user is displaying the picture for the first record and invokes the Previous record action, then it will display the last picture on the table database. Otherwhise, if the user is displaying the picture of the last record and invokes the Next record action, then the AXImageCanvas instance will display the first record of the table database. This behaviour can be changed setting the LoopThroughRecords Property, in combination with the NavigateRecords property.
The database engine used by the control instances can be changed on the fly!