blob: db1fa8de38992cd3105218f6936f538a843b8072 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.netbeans.core.windows;
import java.awt.Dimension;
import javax.swing.JSplitPane;
import org.netbeans.swing.tabcontrol.TabbedContainer;
import org.openide.windows.TopComponent;
/**
* Constants in window system.
*
* @author Peter Zavadsky
*/
public abstract class Constants {
/** Constant that identifies state of editor area */
public static final int EDITOR_AREA_JOINED = 0;
public static final int EDITOR_AREA_SEPARATED = 1;
/** Constant that identifies mode state. */
public static final int MODE_STATE_JOINED = 0;
public static final int MODE_STATE_SEPARATED = 1;
/** Constant that identifies mode kind */
public static final int MODE_KIND_EDITOR = TabbedContainer.TYPE_EDITOR;
public static final int MODE_KIND_VIEW = TabbedContainer.TYPE_VIEW;
public static final int MODE_KIND_SLIDING = TabbedContainer.TYPE_SLIDING;
/** Vertical orientation constant used in constraint. */
public static final int VERTICAL = JSplitPane.VERTICAL_SPLIT;
/** Horizontal orientation constant used in constraint. */
public static final int HORIZONTAL = JSplitPane.HORIZONTAL_SPLIT;
/** Sides of attaching, used both for regular modes and sliding modes */
public static final String TOP = JSplitPane.TOP;
public static final String BOTTOM = JSplitPane.BOTTOM;
public static final String LEFT = JSplitPane.LEFT;
public static final String RIGHT = JSplitPane.RIGHT;
/** Default value when value is not provided by UIManager */
public static final int DIVIDER_SIZE_VERTICAL = 4;
/** Default value when value is not provided by UIManager */
public static final int DIVIDER_SIZE_HORIZONTAL = 4;
/** Sets size of drop area (when splitting mode and around area). */
public static final int DROP_AREA_SIZE = 20;
/** How many pixels is necessary to drag to start the DnD. */
public static final int DRAG_GESTURE_START_DISTANCE = 10;
/** What time in milliseconds is necessary to hold dragging mouse button for
& DnD to be started */
public static final int DRAG_GESTURE_START_TIME = 200;
// DnD drop ratios.
/** How big portion of the original mode has to be taken (range from 0.0 to 1.0). */
public static final double DROP_TO_SIDE_RATIO = 0.5D;
/** How big portion of the editor area has to be taken (range from 0.0 to 1.0). */
public static final double DROP_AROUND_EDITOR_RATIO = 0.25D;
/** How big portion should take the new mode from each one (between which is dropped) (range from 0.0 to 1.0). */
public static final double DROP_BETWEEN_RATIO = 1.0D/3;
/** How big portion of entire area should take the dropped mode (range from 0.0 to 1.0). */
public static final double DROP_AROUND_RATIO = 0.25D;
// XXX
/** Size of new separated mode when creating during DnD (separated mode). */
public static final Dimension DROP_NEW_MODE_SIZE = new Dimension(300, 200);
/** Name of client property (of Boolean type) which says whether the TopComponent is allowed
* to be docked anywhere (even crossing view-editor border). */
public static final String TOPCOMPONENT_ALLOW_DOCK_ANYWHERE = "TopComponentAllowDockAnywhere"; // NOI18N
/** Name of client property (of Boolean type) which says whether position in model
* of the TopComponent which is nonpersistent when closed should be kept. */
public static final String KEEP_NON_PERSISTENT_TC_IN_MODEL_WHEN_CLOSED = "KeepNonPersistentTCInModelWhenClosed"; // NOI18N
/**
* Name of TopComponent's Boolean client property which forces the window system
* to respect TopComponent's preferred size when it is slided-in from left/right/bottom
* sliding bar when set to Boolean.TRUE. Otherwise the slided-in TopComponent
* will fill the entire width/length of the IDE window (the default behavior).
* This switch is intended for tools/palette windows like e.g. color chooser,
* tool picker etc.
*
* @since 6.22
*/
public static final String KEEP_PREFERRED_SIZE_WHEN_SLIDED_IN = TopComponent.PROP_KEEP_PREFERRED_SIZE_WHEN_SLIDED_IN;
/**
* Name of TopComponent's Boolean client property which instructs the window system to activate
* the given TopComponent at startup time regardless which TopComponent was active at
* shutdown time. So it's usuable for welcome screen-like behavior.
* If more than one TopComponent has this property set to Boolean.TRUE then
* an arbitrary one will be selected and activated.
* @since 6.22
*/
public static final String ACTIVATE_AT_STARTUP = "netbeans.winsys.tc.activate_at_startup"; //NOI18N
/** Client property to distinguish JWindows/JDialogs used as ui elements
* for separate modes - floating windows.
*/
public static final String SEPARATE_WINDOW_PROPERTY = "SeparateWindow";
// System properties (switches):
/** Allows user to move <code>TopComponent</code>S between document and view modes,
* which is restricted otherwise. */
public static final boolean SWITCH_MODE_ADD_NO_RESTRICT = Boolean.getBoolean("netbeans.winsys.allow.dock.anywhere"); // NOI18N
/** Disables DnD of <code>TopComponent</code>S. */
public static final boolean SWITCH_DND_DISABLE = Boolean.getBoolean("netbeans.winsys.disable_dnd"); // NOI18N
/** During DnD it provides nicer feedback (fading of possible drop), however performance is worsen in that case. */
public static final boolean SWITCH_DROP_INDICATION_FADE = Boolean.getBoolean("netbeans.winsys.dndfade.on"); //NOI18N
/** Shows the status line at the end of menu bar instead of at the bottom of main window. */
public static final boolean SWITCH_STATUSLINE_IN_MENUBAR = Boolean.getBoolean("netbeans.winsys.statusLine.in.menuBar"); // NOI18N
/** Gets the image resource to be used in the empty editor area. */
public static final String SWITCH_IMAGE_SOURCE = System.getProperty("netbeans.winsys.imageSource"); // NOI18N
// XXX #37999
/** For view, do not show emty documents area, i.e. when no document is opened. */
public static final boolean SWITCH_HIDE_EMPTY_DOCUMENT_AREA = Boolean.getBoolean("netbeans.winsys.hideEmptyDocArea"); // NOI18N
/** Allowing complete removal of toolbars. */
public static final boolean NO_TOOLBARS = Boolean.getBoolean("netbeans.winsys.no_toolbars"); // NOI18N
/** File name whose InstanceCookie can contain custom menu bar component.*/
public static final String CUSTOM_MENU_BAR_PATH = System.getProperty("netbeans.winsys.menu_bar.path"); // NOI18N
/** File name whose InstanceCookie can contain custom status line component.*/
public static final String CUSTOM_STATUS_LINE_PATH = System.getProperty("netbeans.winsys.status_line.path"); // NOI18N
/** If set to true the help button will not be shown in the dialogs.*/
public static final boolean DO_NOT_SHOW_HELP_IN_DIALOGS = Boolean.getBoolean("netbeans.winsys.no_help_in_dialogs"); // NOI18N
/** True means automatic iconification/deiconification of all separate frames if main window is iconified/deiconified */
public static final boolean AUTO_ICONIFY = Boolean.getBoolean("netbeans.winsys.auto_iconify"); // NOI18N
/** Determines whether windows should receive focus when being shown or when moved to the front.
* By default, auto-focus is true, compatible with Java default.
* When JDK-8163591 is fixed, the default may be revisited.
* @see java.awt.Window#isAutoRequestFocus() */
public static final boolean AUTO_FOCUS = System.getProperty("netbeans.winsys.auto_focus") == null || Boolean.getBoolean("netbeans.winsys.auto_focus"); // NOI18N
private Constants() {}
}