9-05-2012 SEE: http://cadswes2.colorado.edu/~philw/2012/Qt4Port/ListsTables.html Qt4 Port: Rpl Block (and Function) Selector Bug Number: none Release notes (y/n): n For Release Nums: 6.3 QDialog class QtRpl/RplBlockSelectorDlg was ported from Qt3 and Qt4, notably this list widget and list item class: OLD: Q3ListView* _setListView; NEW: QTreeWidget* _setTreeWidget; OLD: class RplObjItem : public Q3CheckListItem NEW: class RplObjItem : public QTreeWidgetItem This list is a two-level treeview, with the first level being RplGroups items and the second level being _checkable_ RplBlock or RplFunction items. It supports both multiple-item selection (currently used for Blocks, Rules) and single-item selection (currently used for Functions). Some minor enhancements and fixes were implemented with this port to Qt4 widgets. (1) Completion of RplFunction-mode support: (a) Display "Function" (instead of "Rule") in window title and item-name column header. (b) Show columns for "Return Type" and "Arguments" in place of "Priority" and "Active" (icon). This was important because the single use of RplFunction mode (in DbDmi) required the user to pick a DATETIME function having no arguments. (2) Initialization behavior enhancement: the RplGroup (top-level) items having selected (checked) blocks or functions are initially _expanded_, and the selected items are scrolled into view (to the extent possible). (3) Added selection description label on the bottom (to the left of the "Ok" and "Cancel" buttons) indicating the NUMBER OF SELECTED ITEMS. This is helpful because it's difficult to know how many selected items there are, as they could be hidden in "collapses" (closed) RplGroup top-level items, or otherwise represented sparsely within a long list of many items. (4) Context menu enhancements: - Select All -- (no longer shown in single-selection mode). - Unselect All -- - Open All -- NEW - Close All -- NEW ---