Module jEdit

Class GUIUtilities

java.lang.Object
org.gjt.sp.jedit.GUIUtilities

public class GUIUtilities extends Object
Version:
$Id: GUIUtilities.java 25221 2020-04-12 16:00:17Z kpouer $
Author:
Slava Pestov
  • Method Details

    • setIconPath

      public static void setIconPath(String iconPath)
      Sets the path where jEdit looks for icons.
      Parameters:
      iconPath - the icon path
      Since:
      jEdit 4.2pre5
    • loadIcon

      public static Icon loadIcon(String iconName)
      Loads an icon.
      Parameters:
      iconName - The icon name
      Returns:
      the icon
      Since:
      jEdit 2.6pre7
    • getEditorIcon

      public static Image getEditorIcon()
      Returns:
      the default editor window image.
    • getPluginIcon

      public static Image getPluginIcon()
      Returns:
      the default plugin window image.
    • loadMenuBar

      public static JMenuBar loadMenuBar(String name)
      Creates a menubar. Plugins should not need to call this method.
      Parameters:
      name - The menu bar name
      Returns:
      the menu bar
      Since:
      jEdit 3.2pre5
    • loadMenuBar

      public static JMenuBar loadMenuBar(ActionContext context, String name)
      Creates a menubar. Plugins should not need to call this method.
      Parameters:
      context - An action context
      name - The menu bar name
      Returns:
      the menu bar
      Since:
      jEdit 4.2pre1
    • loadMenu

      public static JMenu loadMenu(String name)
      Creates a menu. The menu label is set from the name.label property. The menu contents is taken from the name property, which is a whitespace separated list of action names. An action name of - inserts a separator in the menu.
      Parameters:
      name - The menu name
      Returns:
      a menu
      Since:
      jEdit 2.6pre2
      See Also:
    • loadMenu

      public static JMenu loadMenu(ActionContext context, String name)
      Creates a menu. The menu label is set from the name.label property. The menu contents is taken from the name property, which is a whitespace separated list of action names. An action name of - inserts a separator in the menu.
      Parameters:
      context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
      name - The menu name
      Returns:
      a menu
      Since:
      jEdit 4.2pre1
      See Also:
    • loadPopupMenu

      public static JPopupMenu loadPopupMenu(String name, JEditTextArea textArea, MouseEvent evt)
      Creates a popup menu.
      Parameters:
      name - The menu name
      evt - mouse event
      textArea - the text area
      Returns:
      a popup menu
      Since:
      jEdit 2.6pre2
    • loadPopupMenu

      public static JPopupMenu loadPopupMenu(String name)
      Parameters:
      name - The menu name
      Returns:
      a popup menu.
      Since:
      jEdit 2.6pre2
    • loadPopupMenu

      public static JPopupMenu loadPopupMenu(ActionContext context, String name)
      Creates a popup menu.
      Parameters:
      context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
      name - The menu name
      Returns:
      a popup menu
      Since:
      jEdit 4.2pre1
    • loadPopupMenu

      public static JPopupMenu loadPopupMenu(ActionContext context, String name, JEditTextArea textArea, MouseEvent evt)
      Creates a popup menu.
      Parameters:
      context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
      name - The menu name
      textArea - the textArea wanting to show the popup. If not null, include context menu items defined by services.
      evt - additional context info about where the mouse was when menu was requested
      Returns:
      the popup menu
      Since:
      jEdit 4.3pre15
    • getServiceContextMenuItems

      public static List<JMenuItem> getServiceContextMenuItems(JEditTextArea textArea, MouseEvent evt)
      Parameters:
      textArea - the TextArea desiring to display these menu items
      evt - a mouse event
      Returns:
      a list of menu items defined by services.
      Since:
      jEdit 4.3pre15
    • loadMenuItem

      public static JMenuItem loadMenuItem(String name)
      Creates a menu item. The menu item is bound to the action named by name with label taken from the return value of the EditAction.getLabel() method.
      Parameters:
      name - The menu item name
      Returns:
      the menu item
      Since:
      jEdit 2.6pre1
      See Also:
    • loadMenuItem

      public static JMenuItem loadMenuItem(String name, boolean setMnemonic)
      Creates a menu item.
      Parameters:
      name - The menu item name
      setMnemonic - True if the menu item should have a mnemonic
      Returns:
      a menu item
      Since:
      jEdit 3.1pre1
    • loadMenuItem

      public static JMenuItem loadMenuItem(ActionContext context, String name, boolean setMnemonic)
      Creates a menu item.
      Parameters:
      context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
      name - The menu item name
      setMnemonic - True if the menu item should have a mnemonic
      Returns:
      the menu item
      Since:
      jEdit 4.2pre1
    • loadMenuItem

      public static JMenuItem loadMenuItem(EditAction editAction, boolean setMnemonic)
    • loadToolBar

      public static Container loadToolBar(String name)
      Parameters:
      name - The toolbar name
      Returns:
      a toolbar.
      Since:
      jEdit 4.2pre2
    • loadToolBar

      public static Container loadToolBar(ActionContext context, String name)
      Creates a toolbar.
      Parameters:
      context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
      name - The toolbar name
      Returns:
      the toolbar
      Since:
      jEdit 4.2pre2
    • loadToolButton

      @Nonnull public static EnhancedButton loadToolButton(String name)
      Loads a tool bar button. The tooltip is constructed from the name.label and name.shortcut properties and the icon is loaded from the resource named '/org/gjt/sp/jedit/icons/' suffixed with the value of the name.icon property.
      Parameters:
      name - The name of the button
      Returns:
      a button
    • loadToolButton

      @Nonnull public static EnhancedButton loadToolButton(ActionContext context, String name)
      Loads a tool bar button. The tooltip is constructed from the name.label and name.shortcut properties and the icon is loaded from the resource named '/org/gjt/sp/jedit/icons/' suffixed with the value of the name.icon property.
      Parameters:
      context - An action context; either jEdit.getActionContext() or VFSBrowser.getActionContext().
      name - The name of the button
      Returns:
      the button
      Since:
      jEdit 4.2pre1
    • prettifyMenuLabel

      @Deprecated public static String prettifyMenuLabel(String label)
      `Prettifies' a menu item label by removing the `$' sign. This can be used to process the contents of an action.label property.
      Parameters:
      label - the label
      Returns:
      a pretty label
    • getPlatformShortcutLabel

      public static String getPlatformShortcutLabel(String label)
      Translates a shortcut description string (e.g. "CS+SEMICOLON") to a platform-localized description. On OS X this puts in the pretty unicode characters for Shift, Cmd, etc.
    • getShortcutLabel

      public static String getShortcutLabel(String action, Boolean platform)
      Returns a label string to show users what shortcut are assigned to the action.
      Parameters:
      platform - if true, show fancy platform-specific label for the modifiers.
    • setAutoMnemonic

      @Deprecated public static void setAutoMnemonic(AbstractButton button)
      Sets the mnemonic for the given button using jEdit convention, taking the letter after the dollar.
      Parameters:
      button - The button to set the mnemonic for.
      Since:
      jEdit 5.1
    • message

      public static void message(Component comp, String name, Object[] args)
      Displays a dialog box. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property. The message is formatted by the property manager with args as positional parameters.
      Parameters:
      comp - The component to display the dialog for
      name - The name of the dialog
      args - Positional parameters to be substituted into the message text
    • error

      public static void error(Component comp, String name, Object[] args)
      Displays an error dialog box. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property. The message is formatted by the property manager with args as positional parameters.
      Parameters:
      comp - The component to display the dialog for
      name - The name of the dialog
      args - Positional parameters to be substituted into the message text
    • input

      public static String input(Component comp, String name, Object def)
      Displays an input dialog box and returns any text the user entered. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
      Parameters:
      comp - The component to display the dialog for
      name - The name of the dialog
      def - The text to display by default in the input field
    • inputProperty

      public static String inputProperty(Component comp, String name, String def)
      Displays an input dialog box and returns any text the user entered. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
      Parameters:
      comp - The component to display the dialog for
      name - The name of the dialog
      def - The property whose text to display in the input field
    • input

      public static String input(Component comp, String name, Object[] args, Object def)
      Displays an input dialog box and returns any text the user entered. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
      Parameters:
      comp - The component to display the dialog for
      name - The name of the dialog
      def - The text to display by default in the input field
      args - Positional parameters to be substituted into the message text
      Since:
      jEdit 3.1pre3
    • inputProperty

      public static String inputProperty(Component comp, String name, Object[] args, String def)
      Displays an input dialog box and returns any text the user entered. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
      Parameters:
      comp - The component to display the dialog for
      name - The name of the dialog
      args - Positional parameters to be substituted into the message text
      def - The property whose text to display in the input field
      Since:
      jEdit 3.1pre3
    • confirm

      public static int confirm(Component comp, String name, Object[] args, int buttons, int type)
      Displays a confirm dialog box and returns the button pushed by the user. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
      Parameters:
      comp - The component to display the dialog for
      name - The name of the dialog
      args - Positional parameters to be substituted into the message text
      buttons - The buttons to display - for example, JOptionPane.YES_NO_CANCEL_OPTION
      type - The dialog type - for example, JOptionPane.WARNING_MESSAGE
      Since:
      jEdit 3.1pre3
    • option

      public static int option(Component comp, String name, Object[] args, int type, Object[] options, Object initialValue)
      Displays an option dialog dialog box and returns the button pushed by the user. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property.
      Parameters:
      comp - The component to display the dialog for
      name - The name of the dialog
      args - Positional parameters to be substituted into the message text
      type - The dialog type - for example, JOptionPane.WARNING_MESSAGE
      options - the buttons
      initialValue - the initial value
      Since:
      jEdit 4.5pre1
    • listConfirm

      public static int listConfirm(Component comp, String name, String[] args, Object[] listModel)
      Displays a confirm dialog box and returns the button pushed by the user. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property. The dialog also shows a list of entries given by the listModel parameter.
      Parameters:
      comp - the parent component
      name - the name of the confirm dialog
      args - the for the message
      listModel - the items in the list
      Returns:
      an integer indicating the option selected by the user
      Since:
      jEdit 4.3pre1
    • listConfirm

      public static int listConfirm(Component comp, String name, String[] args, Object[] listModel, List selectedItems)
      Displays a confirm dialog box and returns the button pushed by the user. The title of the dialog is fetched from the name.title property. The message is fetched from the name.message property. The dialog also shows a list of entries given by the listModel parameter.
      Parameters:
      comp - the parent component
      name - the name of the confirm dialog
      args - the for the message
      listModel - the items in the list
      selectedItems - give an empty list, it will contains in return the selected items
      Returns:
      an integer indicating the option selected by the user
      Since:
      jEdit 4.3pre12
    • showVFSFileDialog

      @Nonnull public static String[] showVFSFileDialog(View view, String path, int type, boolean multipleSelection)
      Displays a VFS file selection dialog box.
      Parameters:
      view - The view, should be non-null
      path - The initial directory to display. May be null
      type - The dialog type. One of VFSBrowser.OPEN_DIALOG, VFSBrowser.SAVE_DIALOG, or VFSBrowser.CHOOSE_DIRECTORY_DIALOG.
      multipleSelection - True if multiple selection should be allowed
      Returns:
      The selected file(s)
      Since:
      jEdit 2.6pre2
    • showVFSFileDialog

      @Nonnull public static String[] showVFSFileDialog(Dialog parent, View view, String path, int type, boolean multipleSelection)
      Displays a VFS file selection dialog box. This version can specify a dialog as the parent instead of the view.
      Parameters:
      view - The view, should be non-null
      path - The initial directory to display. May be null
      type - The dialog type. One of VFSBrowser.OPEN_DIALOG, VFSBrowser.SAVE_DIALOG, or VFSBrowser.CHOOSE_DIRECTORY_DIALOG.
      multipleSelection - True if multiple selection should be allowed
      Returns:
      The selected file(s)
      Since:
      jEdit 4.3pre10
    • showVFSFileDialog

      @Nonnull public static String[] showVFSFileDialog(Frame parent, View view, String path, int type, boolean multipleSelection)
      Displays a VFS file selection dialog box. This version can specify a frame as the parent instead of the view.
      Parameters:
      parent - The parent frame
      view - The view, should be non-null
      path - The initial directory to display. May be null
      type - The dialog type. One of VFSBrowser.OPEN_DIALOG, VFSBrowser.SAVE_DIALOG, or VFSBrowser.CHOOSE_DIRECTORY_DIALOG.
      multipleSelection - True if multiple selection should be allowed
      Returns:
      The selected file(s)
      Since:
      jEdit 4.3pre10
    • showVFSFileDialog

      @Nonnull public static String[] showVFSFileDialog(View parent, View view, String path, int type, boolean multipleSelection)
    • parseColor

      @Deprecated public static Color parseColor(String name)
      Converts a color name to a color object. The name must either be a known string, such as `red', `green', etc (complete list is in the java.awt.Color class) or a hex color value prefixed with `#', for example `#ff0088'.
      Parameters:
      name - The color name
    • parseStyle

      @Deprecated public static SyntaxStyle parseStyle(String str, String family, int size) throws IllegalArgumentException
      Converts a style string to a style object.
      Parameters:
      str - The style string
      family - Style strings only specify font style, not font family
      size - Style strings only specify font style, not font family
      Throws:
      IllegalArgumentException - if the style is invalid
      Since:
      jEdit 3.2pre6
    • getStyleString

      public static String getStyleString(SyntaxStyle style)
      Converts a style into it's string representation.
      Parameters:
      style - The style
    • loadGeometry

      public static void loadGeometry(Window win, Container parent, String name)
      Loads a windows's geometry from the properties. The geometry is loaded from the name.x, name.y, name.width and name.height properties.
      Parameters:
      win - The window to load geometry from
      parent - The parent frame to be relative to.
      name - The name of the window
    • loadGeometry

      public static void loadGeometry(Window win, String name)
      Loads a windows's geometry from the properties. The geometry is loaded from the name.x, name.y, name.width and name.height properties.
      Parameters:
      win - The window to load geometry from
      name - The name of the window
    • adjustForScreenBounds

      @Deprecated public static void adjustForScreenBounds(Rectangle desired)
      Gives a rectangle the specified bounds, ensuring it is within the screen bounds.
      Since:
      jEdit 4.2pre3
    • saveGeometry

      public static void saveGeometry(Window win, String name)
      Saves a window's geometry to the properties. The geometry is saved to the name.x, name.y, name.width and name.height properties.
      For Frame's and descendents use addSizeSaver(Frame,String) to save the sizes correct even if the Frame is in maximized or iconified state.
      Parameters:
      win - The window to load geometry from
      name - The name of the window
      See Also:
    • saveGeometry

      public static void saveGeometry(Window win, Container parent, String name)
      Saves a window's geometry to the properties. The geometry is saved to the name.x, name.y, name.width and name.height properties.
      For Frame's and descendents use addSizeSaver(Frame,Container,String) to save the sizes correct even if the Frame is in maximized or iconified state.
      Parameters:
      win - The window to load geometry from
      parent - The parent frame to be relative to.
      name - The name of the window
      See Also:
    • hideSplashScreen

      public static void hideSplashScreen()
      Ensures that the splash screen is not visible. This should be called before displaying any dialog boxes or windows at startup.
    • applyTextAreaColors

      public static void applyTextAreaColors(Container win)
      experimental - applies the text area colors on a Component (such as a dockable window) and its children.
      Since:
      jEdit 5.0pre1
    • createMultilineLabel

      public static JComponent createMultilineLabel(String str)
      Creates a component that displays a multiple line message. This is implemented by assembling a number of JLabels in a JPanel.
      Parameters:
      str - The string, with lines delimited by newline (\n) characters.
      Since:
      jEdit 4.1pre3
    • requestFocus

      @Deprecated public static void requestFocus(Window win, Component comp)
      Focuses on the specified component as soon as the window becomes active.
      Parameters:
      win - The window
      comp - The component
    • isPopupTrigger

      @Deprecated public static boolean isPopupTrigger(MouseEvent evt)
      Returns if the specified event is the popup trigger event. This implements precisely defined behavior, as opposed to MouseEvent.isPopupTrigger().
      Parameters:
      evt - The event
      Since:
      jEdit 3.2pre8
    • isMiddleButton

      @Deprecated public static boolean isMiddleButton(int modifiers)
      Parameters:
      modifiers - The modifiers flag from a mouse event
      Since:
      jEdit 4.1pre9
    • isRightButton

      @Deprecated public static boolean isRightButton(int modifiers)
      Parameters:
      modifiers - The modifiers flag from a mouse event
      Since:
      jEdit 4.1pre9
    • getScreenBounds

      @Deprecated public static Rectangle getScreenBounds()
      Returns the screen bounds, taking into account multi-screen environments.
      Since:
      jEdit 4.3pre18
    • showPopupMenu

      @Deprecated public static void showPopupMenu(JPopupMenu popup, Component comp, int x, int y)
      Shows the specified popup menu, ensuring it is displayed within the bounds of the screen.
      Parameters:
      popup - The popup menu
      comp - The component to show it for
      x - The x co-ordinate
      y - The y co-ordinate
      Since:
      jEdit 4.0pre1
      See Also:
    • showPopupMenu

      @Deprecated public static void showPopupMenu(JPopupMenu popup, Component comp, int x, int y, boolean point)
      Shows the specified popup menu, ensuring it is displayed within the bounds of the screen.
      Parameters:
      popup - The popup menu
      comp - The component to show it for
      x - The x co-ordinate
      y - The y co-ordinate
      point - If true, then the popup originates from a single point; otherwise it will originate from the component itself. This affects positioning in the case where the popup does not fit onscreen.
      Since:
      jEdit 4.1pre1
    • isAncestorOf

      @Deprecated public static boolean isAncestorOf(Component comp1, Component comp2)
      Returns if the first component is an ancestor of the second by traversing up the component hierarchy.
      Parameters:
      comp1 - The ancestor
      comp2 - The component to check
      Since:
      jEdit 4.1pre5
    • getParentDialog

      @Deprecated public static JDialog getParentDialog(Component c)
      Traverses the given component's parent tree looking for an instance of JDialog, and return it. If not found, return null.
      Parameters:
      c - The component
    • getComponentParent

      public static Component getComponentParent(Component comp, Class clazz)
      Finds a parent of the specified component.
      Parameters:
      comp - The component
      clazz - Looks for a parent with this class (exact match, not derived).
      Since:
      jEdit 4.2pre1
    • setEnabledRecursively

      @Deprecated public static void setEnabledRecursively(Container c, boolean enabled)
      Call setEnabled() recursively on the container and its descendants.
      Parameters:
      c - The container
      enabled - The enabled state to set
      Since:
      jEdit 4.3pre17
    • getView

      public static View getView(Component comp)
      Finds the view parent of the specified component.
      Parameters:
      comp - the component from which you want to get the parent view
      Returns:
      the parent view, or null if the component was not in a View.
      Since:
      jEdit 4.0pre2
    • setButtonContentMargin

      @Deprecated public static void setButtonContentMargin(AbstractButton button, Insets margin)
      Sets the content margin of a button (for Nimbus L&F).
      Parameters:
      button - the button to modify
      margin - the new margin
      Since:
      jEdit 5.3
    • makeSameSize

      @Deprecated public static void makeSameSize(Component... components)
      Makes components the same size by finding the largest width and height of the given components then setting all components to that width and height. This is especially useful for making JButtons the same size.
      Parameters:
      components - The components to make the same size.
    • defaultTableCellSize

      @Deprecated public static Dimension defaultTableCellSize()
      JTable cell size, based on global defaults.
    • defaultColumnWidth

      @Deprecated public static int defaultColumnWidth()
      Column width for JTable, based on global defaults.
    • defaultRowHeight

      @Deprecated public static int defaultRowHeight()
      Row height for JTable, based on global defaults.
    • addSizeSaver

      public static void addSizeSaver(@Nonnull Frame frame, @Nonnull String name)
      Adds a SizeSaver to the specified Frame. For non-Frame's use saveGeometry(Window,String)
      Parameters:
      frame - The Frame for which to save the size
      name - The prefix for the settings
      Since:
      jEdit 4.3pre6
      See Also:
    • addSizeSaver

      public static void addSizeSaver(@Nonnull Frame frame, Container parent, @Nonnull String name)
      Adds a SizeSaver to the specified Frame. For non-Frame's use saveGeometry(Window,Container,String)
      Parameters:
      frame - The Frame for which to save the size
      parent - The parent to be relative to
      name - The prefix for the settings
      Since:
      jEdit 4.3pre7
      See Also: