This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 179431
Collapse All | Expand All

(-)a/core.windows/src/org/netbeans/core/windows/resources/layer.xml (+9 lines)
Lines 222-227 Link Here
222
                    <attr name="settings.instanceClass" stringvalue="org.netbeans.core.windows.view.ui.toolbars.ToolbarConfiguration"/>
222
                    <attr name="settings.instanceClass" stringvalue="org.netbeans.core.windows.view.ui.toolbars.ToolbarConfiguration"/>
223
                    <attr name="settings.instanceOf" stringvalue="org.openide.awt.ToolbarPool.Configuration"/>
223
                    <attr name="settings.instanceOf" stringvalue="org.openide.awt.ToolbarPool.Configuration"/>
224
                </file>
224
                </file>
225
                <file name="DTD_toolbar_1_2.instance">
226
                    <attr name="instanceCreate" methodvalue="org.netbeans.api.settings.Factory.create"/>
227
                    <attr name="settings.convertor" methodvalue="org.netbeans.core.windows.view.ui.toolbars.ToolbarConvertor.create"/>
228
                    <attr name="settings.instanceClass" stringvalue="org.netbeans.core.windows.view.ui.toolbars.ToolbarConfiguration"/>
229
                    <attr name="settings.instanceOf" stringvalue="org.openide.awt.ToolbarPool.Configuration"/>
230
                </file>
225
            </folder>
231
            </folder>
226
        </folder>
232
        </folder>
227
233
Lines 233-238 Link Here
233
                <file name="DTD_toolbar_1_1" url="nbres:/org/netbeans/core/windows/resources/toolbar1_1.dtd">
239
                <file name="DTD_toolbar_1_1" url="nbres:/org/netbeans/core/windows/resources/toolbar1_1.dtd">
234
                    <attr name="hint.originalPublicID" stringvalue="-//NetBeans IDE//DTD toolbar 1.1//EN"/>
240
                    <attr name="hint.originalPublicID" stringvalue="-//NetBeans IDE//DTD toolbar 1.1//EN"/>
235
                </file>
241
                </file>
242
                <file name="DTD_toolbar_1_2" url="nbres:/org/netbeans/core/windows/resources/toolbar1_2.dtd">
243
                    <attr name="hint.originalPublicID" stringvalue="-//NetBeans IDE//DTD toolbar 1.2//EN"/>
244
                </file>
236
            </folder>
245
            </folder>
237
246
238
            <folder name="NetBeans">
247
            <folder name="NetBeans">
(-)a/core.windows/src/org/netbeans/core/windows/resources/toolbar1_2.dtd (+18 lines)
Line 0 Link Here
1
 <!-- Document Type Declaration for toolbar configuration xml files. -->
2
3
  <!-- Root element of toolbar configuration. It's a list of Rows. -->
4
  <!ELEMENT Configuration (Row+)>
5
6
  <!-- Toolbar configuration row. It's a list of Toolbars. -->
7
  <!ELEMENT Row (Toolbar*)>
8
9
  <!-- Toolbar configuration Toolbar. It contains name of toolbar,
10
  it's position and switch of toolbar visibility. -->
11
  <!ELEMENT Toolbar EMPTY>
12
  <!ATTLIST Toolbar
13
    name CDATA #REQUIRED
14
    visible (true | false) #IMPLIED
15
    align (left | right) #IMPLIED
16
    draggable (true | false) #IMPLIED
17
    closeable (true | false) #IMPLIED
18
  >
(-)a/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/ToolbarConfiguration.java (-2 / +2 lines)
Lines 154-160 Link Here
154
            ToolbarConstraints tc = name2constr.get(tbName);
154
            ToolbarConstraints tc = name2constr.get(tbName);
155
155
156
156
157
            if (tc != null && tb != null) {
157
            if (tc != null && tb != null && tc.isCloseable()) {
158
                //May be null if a toolbar has been renamed
158
                //May be null if a toolbar has been renamed
159
                JCheckBoxMenuItem mi = new JCheckBoxMenuItem (
159
                JCheckBoxMenuItem mi = new JCheckBoxMenuItem (
160
                    tb.getDisplayName(), tc.isVisible()
160
                    tb.getDisplayName(), tc.isVisible()
Lines 440-446 Link Here
440
            boolean isQuickSearch = "QuickSearch".equals(toolbarName); //NOI18N
440
            boolean isQuickSearch = "QuickSearch".equals(toolbarName); //NOI18N
441
            tc = new ToolbarConstraints(toolbarName,
441
            tc = new ToolbarConstraints(toolbarName,
442
                    isQuickSearch ? ToolbarConstraints.Align.right : ToolbarConstraints.Align.left,
442
                    isQuickSearch ? ToolbarConstraints.Align.right : ToolbarConstraints.Align.left,
443
                    true, true);
443
                    true, true, true);
444
            ToolbarRow row = null; //TODO find / add row with the best available space
444
            ToolbarRow row = null; //TODO find / add row with the best available space
445
            if( rows.isEmpty() ) {
445
            if( rows.isEmpty() ) {
446
                row = new ToolbarRow();
446
                row = new ToolbarRow();
(-)a/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/ToolbarConstraints.java (-1 / +8 lines)
Lines 68-78 Link Here
68
68
69
    private final boolean draggable;
69
    private final boolean draggable;
70
70
71
    public ToolbarConstraints( String name, Align align, boolean visible, boolean draggable ) {
71
    private final boolean closeable;
72
73
    public ToolbarConstraints( String name, Align align, boolean visible, boolean draggable, boolean closeable ) {
72
        this.name = name;
74
        this.name = name;
73
        this.draggable = draggable;
75
        this.draggable = draggable;
74
        this.align = align;
76
        this.align = align;
75
        this.visible = visible;
77
        this.visible = visible;
78
        this.closeable = closeable;
76
    }
79
    }
77
80
78
    public Align getAlign() {
81
    public Align getAlign() {
Lines 83-88 Link Here
83
        this.align = align;
86
        this.align = align;
84
    }
87
    }
85
88
89
    public boolean isCloseable() {
90
        return closeable;
91
    }
92
86
    public boolean isDraggable() {
93
    public boolean isDraggable() {
87
        return draggable;
94
        return draggable;
88
    }
95
    }
(-)a/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/ToolbarConvertor.java (-2 / +8 lines)
Lines 78-83 Link Here
78
    private static final String ATT_TOOLBAR_VISIBLE = "visible"; // NOI18N
78
    private static final String ATT_TOOLBAR_VISIBLE = "visible"; // NOI18N
79
    /** xml attribute for toolbar draggable */
79
    /** xml attribute for toolbar draggable */
80
    private static final String ATT_TOOLBAR_DRAGGABLE = "draggable"; // NOI18N
80
    private static final String ATT_TOOLBAR_DRAGGABLE = "draggable"; // NOI18N
81
    /** xml attribute for toolbar closeable */
82
    private static final String ATT_TOOLBAR_CLOSEABLE = "closeable"; // NOI18N
81
83
82
    public static ToolbarConvertor create() {
84
    public static ToolbarConvertor create() {
83
        return new ToolbarConvertor();
85
        return new ToolbarConvertor();
Lines 112-118 Link Here
112
        w.write("<?xml version=\"1.0\"?>"); //NOI18N
114
        w.write("<?xml version=\"1.0\"?>"); //NOI18N
113
        w.newLine();
115
        w.newLine();
114
116
115
        w.write("<!DOCTYPE Configuration PUBLIC \"-//NetBeans IDE//DTD toolbar 1.1//EN\" \"http://www.netbeans.org/dtds/toolbar1_1.dtd\">"); //NOI18N
117
        w.write("<!DOCTYPE Configuration PUBLIC \"-//NetBeans IDE//DTD toolbar 1.2//EN\" \"http://www.netbeans.org/dtds/toolbar1_2.dtd\">"); //NOI18N
116
        w.newLine();
118
        w.newLine();
117
119
118
        w.write("<"); w.write(TAG_CONFIGURATION); w.write(">"); //NOI18N
120
        w.write("<"); w.write(TAG_CONFIGURATION); w.write(">"); //NOI18N
Lines 131-136 Link Here
131
                w.write(" "); //NOI18N
133
                w.write(" "); //NOI18N
132
                w.write(ATT_TOOLBAR_DRAGGABLE); w.write("=\""); w.write(tc.isDraggable() ? "true" : "false"); w.write("\""); //NOI18N
134
                w.write(ATT_TOOLBAR_DRAGGABLE); w.write("=\""); w.write(tc.isDraggable() ? "true" : "false"); w.write("\""); //NOI18N
133
                w.write(" "); //NOI18N
135
                w.write(" "); //NOI18N
136
                w.write(ATT_TOOLBAR_CLOSEABLE); w.write("=\""); w.write(tc.isCloseable() ? "true" : "false"); w.write("\""); //NOI18N
137
                w.write(" "); //NOI18N
134
                w.write(ATT_TOOLBAR_ALIGNMENT); w.write("=\""); w.write(tc.getAlign().toString()); w.write("\""); //NOI18N
138
                w.write(ATT_TOOLBAR_ALIGNMENT); w.write("=\""); w.write(tc.getAlign().toString()); w.write("\""); //NOI18N
135
                w.write("/>"); //NOI18N
139
                w.write("/>"); //NOI18N
136
                w.newLine();
140
                w.newLine();
Lines 180-191 Link Here
180
184
181
                boolean draggable = !"false".equals( attributes.getValue(ATT_TOOLBAR_DRAGGABLE) ); //NOI18N
185
                boolean draggable = !"false".equals( attributes.getValue(ATT_TOOLBAR_DRAGGABLE) ); //NOI18N
182
186
187
                boolean closeable = !"false".equals( attributes.getValue(ATT_TOOLBAR_CLOSEABLE) ); //NOI18N
188
183
                //#154332 - HACK always dock quick search toolbar to the right
189
                //#154332 - HACK always dock quick search toolbar to the right
184
                //needed when importing toolbar settings from nb 6.5
190
                //needed when importing toolbar settings from nb 6.5
185
                if( "QuickSearch".equals( barName ) ) {
191
                if( "QuickSearch".equals( barName ) ) {
186
                    align = ToolbarConstraints.Align.right;
192
                    align = ToolbarConstraints.Align.right;
187
                }
193
                }
188
                ToolbarConstraints tc = new ToolbarConstraints(barName, align, visible, draggable);
194
                ToolbarConstraints tc = new ToolbarConstraints(barName, align, visible, draggable, closeable);
189
                if( null != currentRow )
195
                if( null != currentRow )
190
                    currentRow.addConstraint(tc);
196
                    currentRow.addConstraint(tc);
191
            }
197
            }
(-)a/core.windows/src/org/netbeans/core/windows/view/ui/toolbars/ToolbarRow.java (-2 / +2 lines)
Lines 156-162 Link Here
156
     * visualize toolbar drop feedback.
156
     * visualize toolbar drop feedback.
157
     */
157
     */
158
    private void addDropConstraints() {
158
    private void addDropConstraints() {
159
        dropConstraints = new ToolbarConstraints(FAKE_NAME, ToolbarConstraints.Align.left, false, true);
159
        dropConstraints = new ToolbarConstraints(FAKE_NAME, ToolbarConstraints.Align.left, false, true, true);
160
        dropReplacement = new JLabel();
160
        dropReplacement = new JLabel();
161
        dropReplacement.setName(dropConstraints.getName());
161
        dropReplacement.setName(dropConstraints.getName());
162
        add( dropReplacement );
162
        add( dropReplacement );
Lines 319-325 Link Here
319
            constraints.add( constraints.indexOf(dropConstraints), dragConstraints );
319
            constraints.add( constraints.indexOf(dropConstraints), dragConstraints );
320
        } else {
320
        } else {
321
            //we've got a new toolbar, create new constraints for it
321
            //we've got a new toolbar, create new constraints for it
322
            ToolbarConstraints newConstraints = new ToolbarConstraints( dropContainter.getName(), dropConstraints.getAlign(), true, true);
322
            ToolbarConstraints newConstraints = new ToolbarConstraints( dropContainter.getName(), dropConstraints.getAlign(), true, true, true);
323
            add( dropContainter );
323
            add( dropContainter );
324
            constraints.add( constraints.indexOf(dropConstraints), newConstraints );
324
            constraints.add( constraints.indexOf(dropConstraints), newConstraints );
325
            name2constraint.put(newConstraints.getName(), newConstraints);
325
            name2constraint.put(newConstraints.getName(), newConstraints);

Return to bug 179431