Index: apichanges.xml =================================================================== RCS file: /cvs/debuggercore/viewmodel/apichanges.xml,v retrieving revision 1.14 diff -u -r1.14 apichanges.xml --- apichanges.xml 26 Jul 2005 16:34:46 -0000 1.14 +++ apichanges.xml 19 Aug 2005 15:40:02 -0000 @@ -183,6 +183,23 @@ + + + CompoundModel enhanced with a possibility to set help ID. + + + + + + In order to have a help ID defined for the GUI component that is + created from the compound model, it's necessary to be able to set + that help ID on the compound model instance. + Two methods are added for that purpose: + void setHelpId(String) and String getHelpId(). + + + + Index: manifest.mf =================================================================== RCS file: /cvs/debuggercore/viewmodel/manifest.mf,v retrieving revision 1.12 diff -u -r1.12 manifest.mf --- manifest.mf 26 Jul 2005 16:34:46 -0000 1.12 +++ manifest.mf 19 Aug 2005 15:40:02 -0000 @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.spi.viewmodel/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/viewmodel/Bundle.properties -OpenIDE-Module-Specification-Version: 1.6 +OpenIDE-Module-Specification-Version: 1.7 Index: src/org/netbeans/modules/viewmodel/TreeModelNode.java =================================================================== RCS file: /cvs/debuggercore/viewmodel/src/org/netbeans/modules/viewmodel/TreeModelNode.java,v retrieving revision 1.38 diff -u -r1.38 TreeModelNode.java --- src/org/netbeans/modules/viewmodel/TreeModelNode.java 16 Aug 2005 09:19:28 -0000 1.38 +++ src/org/netbeans/modules/viewmodel/TreeModelNode.java 19 Aug 2005 15:40:03 -0000 @@ -84,6 +84,16 @@ this.model = model; this.treeModelRoot = treeModelRoot; this.object = object; + + // + // Use the modified CompoundModel class's field to set the + // propertiesHelpID for properties sheets if the model's helpID + // has been set + if (model.getHelpId() != null) { + this.setValue("propertiesHelpID", model.getHelpId()); // NOI18N + } + // + treeModelRoot.registerNode (object, this); refreshNode (); initProperties (); Index: src/org/netbeans/spi/viewmodel/Models.java =================================================================== RCS file: /cvs/debuggercore/viewmodel/src/org/netbeans/spi/viewmodel/Models.java,v retrieving revision 1.23 diff -u -r1.23 Models.java --- src/org/netbeans/spi/viewmodel/Models.java 26 Jul 2005 16:34:49 -0000 1.23 +++ src/org/netbeans/spi/viewmodel/Models.java 19 Aug 2005 15:40:05 -0000 @@ -118,6 +118,19 @@ * @return {@link CompoundModel} encapsulating given list of models */ public static CompoundModel createCompoundModel (List models) { + return createCompoundModel(models, null); + } + + /** + * Creates one {@link CompoundModel} from given list of models. + * + * @param models a list of models + * @param propertiesHelpID The help ID, which is set for the properties + * sheets created from this model. + * @return {@link CompoundModel} encapsulating given list of models + * @since 1.7 + */ + public static CompoundModel createCompoundModel (List models, String propertiesHelpID) { List treeModels; List treeModelFilters; List treeExpansionModels; @@ -242,7 +255,8 @@ createCompoundTableModel ( new DelegatingTableModel (tableModels), tableModelFilters - ) + ), + propertiesHelpID ); } @@ -2093,8 +2107,13 @@ private ColumnModel[] columnModels; private TableModel tableModel; private TreeExpansionModel treeExpansionModel; - - + + // + // New field, setter/getter for propertiesHelpID, which is used + // for property sheet help + private String propertiesHelpID = null; + // + // init .................................................................... /** @@ -2111,7 +2130,8 @@ NodeModel nodeModel, NodeActionsProvider nodeActionsProvider, List columnModels, - TableModel tableModel + TableModel tableModel, + String propertiesHelpID ) { if (treeModel == null) throw new NullPointerException (); if (treeModel == null) throw new NullPointerException (); @@ -2127,8 +2147,20 @@ this.columnModels = (ColumnModel[]) columnModels.toArray ( new ColumnModel [columnModels.size ()] ); + this.propertiesHelpID = propertiesHelpID; } + // + /** + * Get a help ID for this model. + * @return The help ID defined for the properties sheets, + * or null. + * @since 1.7 + */ + public String getHelpId() { + return propertiesHelpID; + } + // // TreeModel ............................................................... Index: test/unit/src/org/netbeans/api/viewmodel/BasicTest.java =================================================================== RCS file: /cvs/debuggercore/viewmodel/test/unit/src/org/netbeans/api/viewmodel/BasicTest.java,v retrieving revision 1.9 diff -u -r1.9 BasicTest.java --- test/unit/src/org/netbeans/api/viewmodel/BasicTest.java 19 Aug 2005 14:27:37 -0000 1.9 +++ test/unit/src/org/netbeans/api/viewmodel/BasicTest.java 19 Aug 2005 15:40:05 -0000 @@ -40,6 +40,7 @@ */ public class BasicTest extends NbTestCase { + private String helpID = "A test help ID"; // NOI18N public BasicTest (String s) { super (s); @@ -49,8 +50,8 @@ ArrayList l = new ArrayList (); CompoundModel cm = new CompoundModel (); l.add (cm); - TreeTable tt = (TreeTable) Models.createView - (Models.createCompoundModel (l)); + Models.CompoundModel mcm = Models.createCompoundModel(l, helpID); + TreeTable tt = (TreeTable) Models.createView(mcm); waitFinished (); Node n = tt.getExplorerManager (). getRootContext (); @@ -61,6 +62,7 @@ // TODO: Expansion test does not work - probably written in a bad way... //assertEquals ("nodeExpanded notification number", 3, cm.expandedTest.size ()); //assertEquals ("nodeExpanded ", cm.toBeExpandedTest, cm.expandedTest); + assertEquals(n.getValue("propertiesHelpID"), helpID); } private void checkNode (Node n, String name) {