--- a/openide.windows/apichanges.xml
+++ a/openide.windows/apichanges.xml
@@ -50,6 +50,21 @@
Window System API
+
+
+ Added optional role
parameter to TopComponent
Registration
annotation.
+
+
+
+
+
+ Since the window system now supports multiple window layouts - roles -
+ the annotation for TopComponent registration needs an optional parameter
+ to specify the role the window should belong to.
+
+
+
+
Added more attributes to Mode DTD to support new winsys features.
--- a/openide.windows/manifest.mf
+++ a/openide.windows/manifest.mf
@@ -1,6 +1,6 @@
Manifest-Version: 1.0
OpenIDE-Module: org.openide.windows
-OpenIDE-Module-Specification-Version: 6.43
+OpenIDE-Module-Specification-Version: 6.45
OpenIDE-Module-Localizing-Bundle: org/openide/windows/Bundle.properties
AutoUpdate-Essential-Module: true
--- a/openide.windows/src/org/netbeans/modules/openide/windows/TopComponentProcessor.java
+++ a/openide.windows/src/org/netbeans/modules/openide/windows/TopComponentProcessor.java
@@ -84,13 +84,20 @@
Description info = findInfo(e);
String id = info.preferredID().replace('.', '-');
+ String role = reg.role();
+ if( role.trim().isEmpty() )
+ role = null;
+ String rootFolder = "Windows2";
+ if( null != role )
+ rootFolder += "/Roles/" + role;
+
File settingsFile = layer(e).
- file("Windows2/Components/" + id + ".settings").
+ file(rootFolder+"/Components/" + id + ".settings").
contents(settingsFile(e));
settingsFile.write();
File modeFile = layer(e).
- file("Windows2/Modes/" + reg.mode() + "/" + id + ".wstcref").
+ file(rootFolder+"/Modes/" + reg.mode() + "/" + id + ".wstcref").
position(reg.position()).
contents(modeFile(info.preferredID(), reg.openAtStartup()));
modeFile.write();
--- a/openide.windows/src/org/openide/windows/TopComponent.java
+++ a/openide.windows/src/org/openide/windows/TopComponent.java
@@ -1430,6 +1430,12 @@
int position() default Integer.MAX_VALUE;
/** Shall the component be opened at start */
boolean openAtStartup();
+ /**
+ * Window layout role or an empty string for the default layout
+ * @see WindowManager#setRole(java.lang.String)
+ * @since 6.45
+ */
+ String role() default "";
}
/** Creates an action that can open the component.