For Prerel 5.2.1: Gnats 4846 Fixed: ScalarSlot Dialog no longer has Ok/Apply/Cancel Buttons ================ CVS Notes 1 of 4 (12-Jan-2010) ================ Short Description: Scalar Slot Dlg redesign: Removal of Ok/Apply/Cancel Buts Bug Number: Gnats 4846 Release notes (y/n): Yes For Release Nums: 5.2.1 Gnats 4846: Scalar slot editing is awkward and sometimes misleading In both this and Gnats 4843 (same problem, but with the Open ListSlot dialog), the most significant problem was having a "Cancel" button in the dialog when it wasn't clear that a change had not yet been applied. In both cases, we removed the Ok/Apply/Cancel buttons. Also, in the ListSlot case, we removed the EditObj base class from ListSlot, which was needed only for the support of the effect of those buttons. For ScalarSlot however, the EditObj base class was still needed for the Account System Configuration dialog implementation. For the Open Scalar Slot dialog, this change also includes: (1) Hitting Enter in the value QLineEdit accepts the value. (2) Fix to the missing "Evaluation Time" field for Scalar Slots with Expression. (3) Improved real estate optimization, without added flicker. (Tricky!). (4) Better presentation and operation of the applied-value state. (5) Replacement of Qt3-compatibility widgets with Qt4 widgets. Note that the Scalar Slot dialog does need to support high-precision editing (not limited to the user display precision) -- (not having that was filed as a legitimate bug by Tim). But the dialog does also present the value in display precision (in part, to avoid the confusion that the display precision configuration wasn't having an effect). Important test permutations were: (1) the description panel being shown or not (for Scalar Slots on Data Objects) -- and the edit state of that panel, (2) the RPL Expression panel being shown or not (for Scalar Slots with a RPL Expression), and (3) the special unit type for Date/Time values (which has a different set of editor and display widgets). Also addressed were FLICKER ISSUES in response to various operations and state transitions (in regard to all the state permutations indicated above). The Open Scalar Slot dialog redesign was checked into 5.2.1 prerel and 5.3 builds. ================ CVS Notes 2 of 4 (13-Jan-2010) ================ Short Description: Additional changes to ScalarSlot Dialog: QLineEdit features Bug Number: 4846 - Scalar Slot Dialog changes Release notes (y/n): Yes, but additional changes are being considered. For Release Nums: 5.2.1 ScalarSlot Dialog changes to the dialog's two QLineEdit widgets: Slot Name (editable only on DataObjects) and Slot Value. (1) Losing focus applies the value (as does pressing Enter or Return, or clicking the Green check). This occurs also when closing the window. (2) Hitting the Escape key aborts the edit (reverting the value to the previously applied value). NOTE: With these two changes, it probably makes sense to REMOVE the newly added Green-Check and Red-X icon buttons presented with the value editor. ----------------------- Q3GUI/ScalarSlotDlg.hpp Q3GUI/ScalarSlotDlg.cpp ----------------------- The slotValueReturnPressed() Qt slot (Qt signal handler) was renamed to slotValueEditingFinished() and is now connected to the value QLineEdit's editingFinished() signal which is generated BOTH on lost-focus AND return-pressed (including enter-pressed) events. The remaining changes are for disgarding un-applied changes when the ESC (escape) key is pressed. This makes use of thew new RwQKeyEventFilter module (See next section). New method: initValueLineEdit(), broken out from initWidgets(). This is used to abort the edit (e.g. when ESC is pressed or the Red-X is clicked). New data members (QObjects): RwQKeyEventFilter* _slotNameEditKeyFilter; RwQKeyEventFilter* _valueLineEditKeyFilter; New Qt slots (signal handlers): void slotNameEditEscKeyPressed (QWidget*, QKeyEvent*); void valueLineEditEscKeyPressed (QWidget*, QKeyEvent*); ------------------------------- QtUtils/RwQKeyEventFilter.hpp -- NEW MODULE QtUtils/RwQKeyEventFilter.cpp -- NEW MODULE QtUtils/Make.package QtUtils/QtUtils.pro QtUtils/QtUtilsGenerated.pro QtUtils/QtUtils.vcproj QtUtils/QtUtilsGenerated.vcproj ------------------------------- This QObject event filter can be used with any QWidget (typically a QLineEdit) to intercept particular supported keys events (SEE BELOW) and generate particular Qt signals. The client must connect to at least one of the generated signals to receive the key press notification. Supported Keys (CURRENTLY ONLY ONE): Qt::Key_Escape Generated signal: void escapeKeyPressed (QWidget*, QKeyEvent*); void filteredKeyPressed (QWidget*, QKeyEvent*); ================ CVS Notes 3 of 4 (14-Jan-2010) ================ Short Description: Scalar Slot Dialog revisions. Bug Number: 4846 Release notes (y/n): Yes For Release Nums: 5.2.1 ----------------------- Q3GUI/ScalarSlotDlg.hpp Q3GUI/ScalarSlotDlg.cpp ----------------------- Revision of Scalar Slot Dialog: (1) Remove recently-added Green-Check and Red-X icon buttons. (2) Added a QDoubleValidator to the value QLineEdit (to filter key edits) (3) Centralized "Read-Only" logic for the two QLineEdit widgets (name & val) (4) Changed the "Show Description" icon button ICON. (5) Use RwQKeyEventFilter::connectEscPress feature for QLineEdit Esc aborts. ================================== Short Description: Qt4 QLineEdit features (initially for ScalarSlotDlg) Bug Number: n/a Release notes (y/n): No. For Release Nums: 5.2.1 ----------------------------- QtUtils/RwQKeyEventFilter.hpp QtUtils/RwQKeyEventFilter.cpp ----------------------------- Added static utility: static void connectEscPress (QWidget* watchedQWidget, QObject* escClientObj, const char* escClientObjQSlot); This static method can be used to connect an ESC pressed notification to the client's Qt slot -- to abort the edit operation by reinitializing the edit widget (typically a QLineEdit). First use: Q3GUI/ScalarSlotDlg.cpp *** READ MORE in RwQKeyEventFilter.cpp FILE HEADER *** ================================== Short Description: Added Three 16x16 Notepad Icons Bug Number: n/a Release notes (y/n): No. For Release Nums: 5.2.1 ----------------------- QtUtils/RwQPixmap16.hpp QtUtils/RwQPixmap16.cpp ----------------------- Three 16x16 Notepad Icons http://www.thirdtablet.com/cadswes/2010/icons/2010jan14/ const QPixmap& notepad1Green() // Green const QPixmap& notepad1Blue() // Blue (WITH PENCIL) const QPixmap& notepad1Red() // Red (WITH PENCIL) ================ CVS Notes 4 of 4 (14-Jan-2010) ================ Short Description: ScalarSlot Dialog: Remove "sunken" frame around Display val Bug Number: n/a Release notes (y/n): No. For Release Nums: 5.2.1 ----------------------- Q3GUI/ScalarSlotDlg.hpp Q3GUI/ScalarSlotDlg.cpp ----------------------- ScalarSlot Dialog revision: Remove "sunken" frame around the Display value. ---