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) {