Short Description: Workspace SimObj List: Optimizations and Cleanup. Bug Number: n/a Release notes (y/n): no For Release Nums: 6.1 Workspace Object List: Performance Announcements, Documented Options and Added Comments. Two performance enhancements: (1) Horizontal Scrollbar Geom Updates deferred with a QTimer. (2) Account Item conditional selectability managed with an item QSet. Prepared and documented compile-time options -- SEE DETAILS BELOW. (1) TreeView ornamentation (Root Decoration) -- needs to be on. (2) Option to OPEN SimObj TreeItem when Accounting Workspace Account graphics item selected -- currently disabled. // TreeView ornamentation on top level items ("Root Decoration"). // Currently (RW 6.1, 1-2011), Root Decoration needs to be shown. The // root decoration shows the control to open and close the display of // child (Account) items. Without that decoration, the user needs to // DOUBLE CLICK to show and hide child items -- AND to see if there are // any (when the SimObj treeview is closed). Note that double-clicking // on an item currently shows a dialog for the item (Open Object or Edit // Account dialog). // static const bool SHOW_ROOT_DECORATION (true); // should be true; see note. // Selecting an Account Graphics Item in the Accounting View CAN be used // to force the Account's containing Object treeview item to be "expanded" // to show the Account list item (and to show it as selected). This // results in a lot of the Object treeviews to become open, so maybe isn't // desirable. The new "Hide Account Items" account item context menu // operation maybe helps mitigate that, but still, it's not clear that this // feature is desirable. // static const bool WS_ACCT_SELECTION_OPENS_OBJ_TREE (false); ----------------------------- Q3GUI/WorkspaceTreeWidget.hpp Q3GUI/WorkspaceTreeWidget.cpp ----------------------------- Added: QTimer* _updateScrollBarGeomTimer; QSet<AcctItem*> _selectEnabledAcctItems; public: // notifications from child items void objItemDeleted (ObjItem*); void acctItemDeleted (AcctItem*); void acctItemEnableSelect (AcctItem*, bool ena); private: void schedUpdateScrollBarGeom(); void cancelUpdateScrollBarGeom(); private slots: void updateScrollBarGeom_timeout(); ------------------- Q3GUI/Workspace.hpp Q3GUI/Workspace.cpp ------------------- Minor: simplification of the WorkspaceTreeWidget 'widgetResized' signal. --------------------------- Q3GUI/WorkspaceListView.hpp Q3GUI/WorkspaceListView.cpp --------------------------- Preparation for removal from Build and CVS. (To avoid problems in our incremental Solaris builds, modules need to be gradually removed). ---