Sqlkit Publisher's description
from Sandro Dentella
Sqlkit provides 2 widgets to edit data as form or table.
Sqlkit provides 2 widgets to edit data as form or table. It's based on PyGTK and sqlalchemy to provide maximum flexibility.
Key points are the way to design form layout with relationship, completions, validation and filter capabilities that can be done w/o any effort. More than 80 examples ready to use! Read more...
What's New in This Release:В· support: * support for sqlalchemy 0.6 has been added
В· sqlwidget: * syntax change: now the first argument is not a keywork. It's the table_name/table/class/mapper. keyword args table, mapper class_ are now deprecated * improved handling of ForeignKey when the model has a backref that prevents orphans * added django-like syntax to .reload() * mapper: now the mapper can have a function * get_title() * now decimal from the keypad works nicely (inserts "." or "," according to locale) * fixed 'delete-event' callback: self.current needed to be cleaned and session-extensions needed to be cleaned to prevent several calls to hooks on commit/flush * now NumLock is ignored when using hot keys (Control-n, Tab...) was totally misleading * fixed 'set_mode' * added documentation on using UIManager proficiently * format: keywork format is handled over to related table too, as for col_width. * added hook 'on_pre_layout' to be able to set a mapping fields in hooks * now any char can be used for 'title' as is process by gobject.markup_escape_text * refresh after save. Now after each save a refresh is done so that any db-computed field is correctly displayed. This is propagated to the possibly existing parent widgets.
В· filters: * fixed filtering an integer with value 0 (previously was ignored) * filter for boolean: added IS NOT TRUE/ IS NOT FALSE * selection of widgets now reflects widget displayed * the filter_panel is now a view, you can highly customize the appearence, creating new fields or displaying fields from the record. Methods add_column and replace_column help you customize it. The possiblity to have grouped lines in the filter panel (as in a 2 level tree) is now supported. You can eve have totals in the filter panel * added notnull filter (tat was already documented)
В· completion: * added possibility to add attributes to completion result. That opens new possibility to on_completion hook
В· fields: * internal important restructure. * now imported from sqlkit.fields * fixed import loop. No gtk is implied when importing sqlkit.fields
В· Now attributes nullable and editable are propertyies and affect the widget, if any * now fields in a widget can be calculated from other fields. you can add a field just inheriting a sqlkit.field.Field and overwriting cleaned_value(). A field that is not persisted will be turned into read-only and will not be validated on saving. * now you can pass a mapping that forces which field will be used, a signal has been added to be able to do that in Hooks. * slightly changed behaviour of BLANK_OK in fields. Now no change is proposed on fields that are not edited.
В· table: * views have been added. The same model can now be represented in differet TreeViews displaying possibly different columns. Views have the selection sincronized so that get_selected_obj() point to the same object. (Note that 'button-press-event' call back now needs one more arg, the view).
В· added possibility to sort locally (w/o hitting the database). This also adds the possibility to sort related tables.
В· Control-x is now an alias for Control-k
В· Improved RecordInMask (minor fixes). Added Control-m to start it.
В· FKeyRecord now can use a custom layout/nick
В· fix in get_value()
В· better edit experience (no more vanishing text if not saving)
В· several minor fixes
В· totals: added possibility to hide the grand-total
В· totals: added the local sort tat is faster as it's done in the treeview, w/o fetching from the database.
В· Total and sorting in tables works for not persisted fields as well.
В· subtotal can be toggled using the letter 'b' on a focused treeview (record...)
В· export is now different for each view
В· record_in_mask now checks for usaved record in session
В· record_in_mask/fkey_record_in_mask can be called programmatically
В· hooks: added on_activate that was not implemented for tables
В· self.current now points to the currently edited OR SELECTED record. previously was only on currently edited on None. This makes it much more usable.
В· demo: * Fixed demo (opt -g)
В· tests: * added some tests
В· mask: * added signal 'pre-display'
В· fixed BooleanNullRenderer that occasionally failed to set correctly the values
В· layout: fixed alignment problem that prevented from being able to set entry length
System Requirements:В· Python
Program Release Status: Minor Update
Program Install Support: Install and Uninstall