| <!-- |
| The contents of this file are subject to the terms of the Common Development |
| and Distribution License (the License). You may not use this file except in |
| compliance with the License. |
| |
| You can obtain a copy of the License at https://netbeans.org/cddl.html |
| or https://netbeans.org/cddl.txt. |
| |
| When distributing Covered Code, include this CDDL Header Notice in each file |
| and include the License file at https://netbeans.org/cddl.txt. |
| If applicable, add the following below the CDDL Header, with the fields |
| enclosed by brackets [] replaced by your own identifying information: |
| "Portions Copyrighted [year] [name of copyright owner]" |
| |
| The Original Software is NetBeans. The Initial Developer of the Original |
| Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun |
| Microsystems, Inc. All Rights Reserved. |
| --> |
| |
| <!-- |
| -//NetBeans//DTD Mode Properties 2.2//EN |
| --> |
| |
| <!-- The root element for mode properties. Consists of name, optional |
| module information and several property sets for various types of |
| user interface. |
| Attribute "version" is versioning attribute which in fact specifies |
| version of this DTD. Attribute is used to perform simple versioning |
| without the need to use time-consuming xml validation using this DTD. |
| --> |
| <!ELEMENT mode (module?, name, kind, state, constraints?, (bounds | relative-bounds)?, frame?, active-tc?, empty-behavior?, slidingSide?, slideInSize*) > |
| <!ATTLIST mode |
| version CDATA #REQUIRED |
| > |
| |
| <!-- Optional element for module information. Attribute name specifies name of |
| module which defines this xml description. Module information is used for |
| automatic removal of mode defined by module if module is disabled. |
| If you want your module's mode to be removed automatically when |
| your module is disabled, fill this element. When this element is missing, |
| no automatic removal will be done. |
| 1) "name" code name of the module, can be either base code name or full code |
| name with slash and release number. Examples for core module are: |
| "org.netbeans.core" or "org.netbeans.core/1" |
| 2) "spec" is specification version of the module which defines this xml description. |
| --> |
| <!ELEMENT module EMPTY > |
| <!ATTLIST module |
| name CDATA #REQUIRED |
| spec CDATA #IMPLIED |
| > |
| |
| <!-- Element name |
| "unique" represents unique ID of mode |
| --> |
| <!ELEMENT name EMPTY > |
| <!ATTLIST name |
| unique CDATA #REQUIRED |
| > |
| |
| <!-- Element kind |
| "type" kind of mode "editor" or "view" or "sliding". |
| --> |
| <!ELEMENT kind EMPTY > |
| <!ATTLIST kind |
| type (editor | view | sliding) #REQUIRED |
| > |
| |
| <!-- Element sliding side |
| "side" direction of slide |
| --> |
| <!ELEMENT slidingSide EMPTY > |
| <!ATTLIST slidingSide |
| side (left | right | bottom) #REQUIRED |
| > |
| |
| |
| <!-- Element slide-in size |
| "tc-id" TopComponent's ID |
| "size" the size of the TopComponent (width or height) when it is slided-in |
| --> |
| <!ELEMENT slideInSize EMPTY > |
| <!ATTLIST slideInSize |
| tc-id CDATA #REQUIRED |
| size CDATA #REQUIRED |
| > |
| |
| <!-- Element state |
| "type" state of mode "joined" (is inside of main window) or "separated" |
| (is in its own native window separated from main window). |
| --> |
| <!ELEMENT state EMPTY > |
| <!ATTLIST state |
| type (joined | separated) #REQUIRED |
| > |
| |
| <!-- Absolute bounds rectangle of the mode, stored in attributes |
| x, y, width, height, where x, y is location of left top point of bounds |
| rectangle. |
| Relevant only for separate mode (window). |
| --> |
| <!ELEMENT bounds EMPTY > |
| <!ATTLIST bounds |
| x CDATA #REQUIRED |
| y CDATA #REQUIRED |
| width CDATA #REQUIRED |
| height CDATA #REQUIRED |
| > |
| |
| <!-- Relative (percentage) bounds rectangle of the mode, stored in attributes |
| x, y, width, height, where x, y is location of left top point of bounds |
| rectangle, it is relative to width of main window and height of area below |
| main window. |
| Relevant only for separate mode (window). |
| --> |
| <!ELEMENT relative-bounds EMPTY > |
| <!ATTLIST relative-bounds |
| x CDATA #REQUIRED |
| y CDATA #REQUIRED |
| width CDATA #REQUIRED |
| height CDATA #REQUIRED |
| > |
| |
| <!-- Frame properties. |
| Relevant only for separate mode (window). |
| Attribute "state" represents current state of frame. |
| It is represented as bitwise mask - integer value. |
| See java.awt.Frame for possible values. |
| Default value is Frame.NORMAL (0). |
| --> |
| <!ELEMENT frame EMPTY > |
| <!ATTLIST frame |
| state CDATA #IMPLIED |
| > |
| |
| <!-- Constraints describes path of mode in model tree. |
| Path consists of array of values to describe path eg. [H1;V2]. |
| Relevant only for mode inside desktop |
| --> |
| <!ELEMENT constraints (path*) > |
| <!ATTLIST constraints |
| > |
| |
| <!-- Path describe path to mode in model tree. |
| "orientation" sets orientation of splitter. "horizontal" means splitting |
| along x axis - components are from left to right. "vertical" means splitting |
| along y axis - components are from top to bottom. |
| "number" sets number of cell in given split cell. It is integer number. Number defines |
| position of given cell in array of cells. It is possible to define for example |
| 20 for first cell and 40 for second cell. Later it is possible to insert third cell between |
| first and second by using 30 for third cell. It is usefull for platform to allow third party |
| modules to modify (insert) their own modes to existing layout. |
| Cells are counted from left to right in case of vertical split and |
| from top to bottom in case of horizontal split. |
| "weight" is double number from 0 to 1. It sets relative size of cell |
| in given splitter. Default value is 0.5. |
| --> |
| <!ELEMENT path EMPTY > |
| <!ATTLIST path |
| orientation (horizontal | vertical) #REQUIRED |
| number CDATA #REQUIRED |
| weight CDATA #IMPLIED |
| > |
| |
| <!-- Active TopComponent. |
| "id" stores unique ID of active TopComponent |
| --> |
| <!ELEMENT active-tc EMPTY > |
| <!ATTLIST active-tc |
| id CDATA #IMPLIED |
| > |
| |
| <!-- Element "empty-behavior" describes behavior of mode when it is empty ie. does not contain |
| any opened TopComponent. |
| Attribute "permanent" can be "true" of "false". "true" means that mode remains in window |
| system when it is empty ie. it does not contain any opened TopComponent. "false" means that |
| mode is completely destroyed when it is empty. |
| Optional attribute, default value is "true". |
| When mode is defined in module layer it is usually permanent ie. "true" is used. |
| --> |
| <!ELEMENT empty-behavior EMPTY > |
| <!ATTLIST empty-behavior |
| permanent (true | false) #IMPLIED |
| > |