blob: 3a38aa9bb4e533ec5f1e68f7d29f72c881b81f35 [file] [log] [blame]
<!--
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 1.0//EN
-->
<!-- The root element for mode properties. Consists of name, optional
module information and several property sets for various types of
user interface.
Atribute "version" is optional 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 (name, description?, module?, ui-type+) >
<!ATTLIST mode
version CDATA #IMPLIED
>
<!-- User interface type element, holds mode property set for specific type
of user interface. UI type is identified by its only attribute "type",
Value "any" is special value which is reserved for default setting set which
is used when property set for specific ui-type is not found. Thus, simplest variant is to
define only one property set with type "any", which means that for all
types of user interface mode will have same properties. -->
<!ELEMENT ui-type ((bounds | relative-bounds), frame, container, icon?, other?) >
<!ATTLIST ui-type
type (sdi | mdi | any) #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 unistalled.
If you want your module's mode to be unistalled automatically when
your module is deinstalled, 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 has four attributes
1) "unique" represents UID of mode unique in context of surrounding workspace
2) "display" represents optional display name of the mode.
If display name is not specified, unique name is used as display name
too. If "from-bundle" flag is enabled, this attribute must contain
bundle key where to find localized display name. (example value: "CTL_MyModeName")
3) "from-bundle" flag to control if display name is taken from bundle or not
4) "bundle" identifies bundle from which localized display name will be read.
Format is the same like for fully qualified classes. For example,
localization bundle named "Bundle" in package "my.package" can be pointed
to by value "my.package.Bundle".
Attributes "bundle" and "display" together give fully qualified bundle
pointer. This attribute is optional, has no meaning if "from-bundle" is false
-->
<!ELEMENT name EMPTY >
<!ATTLIST name
unique CDATA #REQUIRED
display CDATA #IMPLIED
from-bundle (true | false) #IMPLIED
bundle CDATA #IMPLIED
>
<!-- Optional element description has two attributes
1) "display" represents bundle key where to find localized
mode description. (example value: "CTL_MyModeDescription")
2) "bundle" identifies bundle from which localized description will be read.
Format is the same like for fully qualified classes. For example,
localization bundle named "Bundle" in package "my.package" can be pointed
to by value "my.package.Bundle".
Attributes "bundle" and "display" together give fully qualified bundle
pointer.
-->
<!ELEMENT description EMPTY >
<!ATTLIST description
display CDATA #REQUIRED
bundle 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 desktopi: size of main window (mdi) or width
of main window and height of area bellow main window.
-->
<!ELEMENT relative-bounds EMPTY >
<!ATTLIST relative-bounds
x CDATA #REQUIRED
y CDATA #REQUIRED
width CDATA #REQUIRED
height CDATA #REQUIRED
>
<!-- Frame properties. Attribute "type" represents type of frame, possible values:
"window" = standalone frame, used in SDI ui mode
"internal" = frame floating in MDI desktop
"desktop" = frame attached to side of main window in MDI mode
"dialog" = standalone dialog (for future, not implemented yet)
Attribute "state" represents iconfified, maximized or normal state of frame,
attribute "constraints" stores position of frame inside main window,
to which side is attached, valid only for desktop type of frames
-->
<!ELEMENT frame EMPTY >
<!ATTLIST frame
type (window | internal | desktop | dialog) #REQUIRED
constraints (center | left | right | top | bottom) #IMPLIED
state (normal | iconified | maximized) #IMPLIED
>
<!-- Container properties. Required attribute "type" represents type of container,
"active" stores reference to top component which was active (should receive
focus when frame is activated)
-->
<!ELEMENT container (area*) >
<!ATTLIST container
type (split | tabbed) #REQUIRED
active-tc CDATA #IMPLIED
>
<!-- Area properties describe properties of panes in split frame.
"constraint" gives location of pane,
"x","y","width","height" relative bounds of area in mode (frame), valid values
are from 0 to 100 because areas are always inside of frame.
-->
<!ELEMENT area EMPTY >
<!ATTLIST area
constraint (center | left | right | top | bottom) #REQUIRED
relative-x CDATA #REQUIRED
relative-y CDATA #REQUIRED
relative-width CDATA #REQUIRED
relative-height CDATA #REQUIRED
>
<!-- Icon properties, just url, not required. -->
<!ELEMENT icon EMPTY >
<!ATTLIST icon
url CDATA #IMPLIED
>
<!-- Other, now used only for distinction between modes created by user and
created by modules, optional.
"mode-state" is "visible" when mode contains at least one opened top component
and "hidden" when mode is empty or contains only closed top components -->
<!ELEMENT other EMPTY >
<!ATTLIST other
defined-by (module | user) #IMPLIED
mode-state (visible | hidden) #IMPLIED
>