RPL Statement Model Report Items / CoeAbq 5.5 Bug Number: n/a Release notes (y/n): Yes For Release Nums: 7.1 Squash merge of completed development / Jan 23-26, 2017 (see also the prior commit, some preparation). Addition of new model report item type to show a single top-level RPL Statement within a RPL Block (Rule/Goal/Method/Init-Rule). See DOCUMENT (to be completed soon): R:\doc\Output\ModelReport\2017\CoeAbq55-RplStmt-ModelReportItem.docx http://cadswes2.colorado.edu/~philw/2017/CoeAbq5p5/CoeAbq55-RplStmtModel-ReportItem.html SCREENSHOTS: http://cadswes2.colorado.edu/~philw/2017/CoeAbq5p5/images1/ TECHNICAL NOTES: (1) New rwTextSetting Value Type: rwSetting::RPL_STATEMENT_LABEL The rwSettingTree incell editor is a QComboBox with the set of top-level statement labels from the RplBlock identified from sibling RplSet and RplBlock rwSettings. (2) New rwTextSetting Value Type: rwSetting::SINGLE_LINE_RESET new Incell editor class: class rwSettingTree::LEditWithResetEditor : public QWidget This new rwSettingTree incell editor is a QLineEdit with a "reset" icon button (counter-clockwise circle arrow icon) which assigns the application-level default value for the incell editor. This is used for the "Title" setting of a Rpl Statement model report item. http://cadswes2.colorado.edu/~philw/2017/CoeAbq5p5/images1/04_RplStmtItem-Settings2b.png (3) rwSetting IDs for a RPL Statement Model Report item RPL_STATEMENT_SET_NAME RPL_STATEMENT_APPL_TYPE RPL_STATEMENT_RULE_NAME RPL_STATEMENT_GOAL_NAME RPL_STATEMENT_METHOD_NAME RPL_STATEMENT_INIT_RULE_NAME RPL_STATEMENT_STMT_LABEL RPL_STATEMENT_TITLE (4) New RplBlock accessors to provide label strings for the block's top-level RPL Statements. The label format is ": " where the statement name defaults to the statement type, but can be edited by by the user -- from the RplSet dialog's treeview (when "Show Statements" is on) See: http://cadswes2.colorado.edu/~philw/2017/CoeAbq5p5/images1/05_EditStatementName1.png // RplBlock statement enumerations for model report statement items. static QString statementReportLabel (int inx, const RplStatement*); QList getStatementsForReports (QStringList& labels) const; RplStatement* statementFromReportLabel (const QString& label) const; QString reportLabelForStatement (const RplStatement*) const; (5) RplFrame's first constructor was modified for special handling of a RplStatement passed into the RplObj parameter. This is put aside in a new ancillary field, and the RplObj parameter is assigned the containing RplBlock (e.g. Rule). Right in the constructor, the list of VisualTokens for the block's statements is limited to the single specified statement (in the case that that's what original RplObj parameter was). Also in this case 'setViewOnly' is set to 'true'. ---