RPL Global User-defined Functions -- 4-14-2009 http://cadswes2.colorado.edu/~philw/2009/GlobalRplFunctions/ User-Defined Utility Groups in Global RplSets are now shown in the list of RplGroups in other RplSets (in the RplSet Editor Dialog). Screenshots: http://cadswes2.colorado.edu/~philw/2009/GlobalRplFunctions/2009apr14/ ----------------- Rpl/RplSetMgr.cpp Rpl/RplSetMgr.hpp ----------------- New methods to retrieve Global RPL Utility Groups: (1) within the RplSet Manager instance, and (2) in all well-known RplSet Managers. public methods: // Get the groups in the open Global RPL sets managed by this manager, // optionally excluding the specified 'exclude' RplSet. void getGlobalGroups ( cwSlist& retList, bool clearFirst, const RplSet* excludeRplSet /*can be NULL*/ ) const; // Get the groups in all open Global RPL sets including rule and opt sets, // optionally excluding the specified 'exclude' RplSet. static void getAllGlobalGroups (cwSlist& retList, const RplSet* excludeRplSet = NULL); private support method: // Support method used in the getGlobalGroups methods. static void retrieveUtilityGroups (const RplSet*, cwSlist&, bool includePredefined = false); -------------- Rpl/RplSet.cpp Rpl/RplSet.hpp -------------- New public method: void getUtilityGroups (cwSlist& retList, bool inclGlobalGroups, bool inclPredefinedGroups) const; // Return Utility Groups in this order: // // (1) User-Defined Utility Groups in this RplSet // (2) Global Utility Groups (if requested) // (3) Predefined Utility Groups in the RplSet (if requested) This overloads (has the same name as) this existing public method: cwDlist *getUtilityGroups() { return (_utilityGroups); } Re-implementation of RplSet::populateNameSpace(): After populating the Name Space with the RplSet's own Utility Groups Namespaces, also add in those from accessible Global RplSets (currently, those managed by the same RplSet Manager). --------------------- QtRpl/RplListView.cpp --------------------- Enhancement to RplListView::addRplSetItem (RplSet*, RplQViewItem*): After creating list items for each of the Policy Groups in the RplSet, add items for the Utility Groups in the RplSet using the new RplSet:: getUtilityGroups() method which optionally includes also Global Utility Groups accessible from the RplSet. ------------------ QtRpl/RplIcons.cpp QtRpl/RplIcons.hpp ------------------ New icons were created for Global Utility Groups and Functions. These have Orange Letters over an Oval background (instead of rectangular). ---