Class PaletteSettingsDialog

java.lang.Object
org.eclipse.jface.window.Window
org.eclipse.jface.dialogs.Dialog
org.eclipse.gef.ui.palette.customize.PaletteSettingsDialog
All Implemented Interfaces:
IShellProvider

public class PaletteSettingsDialog extends Dialog
  • Field Details

    • settings

      protected HashMap settings
      A HashMap to cache the various settings displayed in this dialog
    • CACHE_LAYOUT

      protected static final String CACHE_LAYOUT
      HashMap keys used for caching the various settings displayed in this dialog.
      See Also:
    • CACHE_COLUMNS_ICON_SIZE

      protected static final String CACHE_COLUMNS_ICON_SIZE
      HashMap keys used for caching the various settings displayed in this dialog.
      See Also:
    • CACHE_LIST_ICON_SIZE

      protected static final String CACHE_LIST_ICON_SIZE
      HashMap keys used for caching the various settings displayed in this dialog.
      See Also:
    • CACHE_ICONS_ICON_SIZE

      protected static final String CACHE_ICONS_ICON_SIZE
      HashMap keys used for caching the various settings displayed in this dialog.
      See Also:
    • CACHE_DETAILS_ICON_SIZE

      protected static final String CACHE_DETAILS_ICON_SIZE
      HashMap keys used for caching the various settings displayed in this dialog.
      See Also:
    • CACHE_FONT

      protected static final String CACHE_FONT
      HashMap keys used for caching the various settings displayed in this dialog.
      See Also:
    • CACHE_COLLAPSE

      protected static final String CACHE_COLLAPSE
      HashMap keys used for caching the various settings displayed in this dialog.
      See Also:
    • LAYOUT_COLUMNS_VIEW_ID

      protected static final int LAYOUT_COLUMNS_VIEW_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • LAYOUT_LIST_VIEW_ID

      protected static final int LAYOUT_LIST_VIEW_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • LAYOUT_ICONS_VIEW_ID

      protected static final int LAYOUT_ICONS_VIEW_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • LAYOUT_COLUMNS_ICON_SIZE_ID

      protected static final int LAYOUT_COLUMNS_ICON_SIZE_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • LAYOUT_LIST_ICON_SIZE_ID

      protected static final int LAYOUT_LIST_ICON_SIZE_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • LAYOUT_ICONS_ICON_SIZE_ID

      protected static final int LAYOUT_ICONS_ICON_SIZE_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • LAYOUT_DETAILS_ICON_SIZE_ID

      protected static final int LAYOUT_DETAILS_ICON_SIZE_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • COLLAPSE_NEVER_ID

      protected static final int COLLAPSE_NEVER_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • COLLAPSE_ALWAYS_ID

      protected static final int COLLAPSE_ALWAYS_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • COLLAPSE_NEEDED_ID

      protected static final int COLLAPSE_NEEDED_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • APPLY_ID

      protected static final int APPLY_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • LAYOUT_DETAILS_VIEW_ID

      protected static final int LAYOUT_DETAILS_VIEW_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • FONT_CHANGE_ID

      protected static final int FONT_CHANGE_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • DEFAULT_FONT_ID

      protected static final int DEFAULT_FONT_ID
      The unique IDs for the various widgets. These IDs can be used to retrieve these widgets from the internal map (using getWidget(int)), or to identify widgets in buttonPressed(int).
      See Also:
    • CLIENT_ID

      protected static final int CLIENT_ID
      Sub - classes that need to create their own unique IDs should do so by adding to this ID.
      See Also:
  • Constructor Details

    • PaletteSettingsDialog

      public PaletteSettingsDialog(Shell parentShell, PaletteViewerPreferences prefs)
      Constructor
      Parameters:
      parentShell - The parent shell, or null to create a top - level shell
      prefs - The PaletteViewerPreferences object that can provide access to and allow modification of the palette's settings. It cannot be null.
  • Method Details

    • buttonPressed

      protected void buttonPressed(int buttonId)
      This method will be invoked whenever any Button created using createButton(Composite, int, String, int, ImageDescriptor) or Dialog.createButton(Composite, int, String, boolean) is selected.
      Overrides:
      buttonPressed in class Dialog
      See Also:
    • cacheSettings

      protected void cacheSettings()
      This method saves the various settings in this dialog, so that they can be restored later on if "Cancel" is pressed.
      See Also:
    • close

      public boolean close()
      Overrides:
      close in class Dialog
      See Also:
    • configureShell

      protected void configureShell(Shell newShell)
      Overrides:
      configureShell in class Window
      See Also:
    • createButton

      protected Button createButton(Composite parent, int id, String label, int stylebits, ImageDescriptor descriptor)
      This method should not be used to create buttons for the button bar. Use Dialog.createButton(Composite, int, String, boolean) for that. This method can be used to create any other button in the dialog. The parent Composite must have a GridLayout. These buttons will be available through getButton(int) and getWidget(int). Ensure that the various buttons created by this method are given unique IDs. Pass in a null image descriptor if you don't want the button to have an icon. This method will take care of disposing the images that it creates. buttonPressed(int) will be called when any of the buttons created by this method are clicked (selected).
      Parameters:
      parent - The composite in which the button is to be created
      id - The button's unique ID
      label - The button's text
      stylebits - The style bits for creating the button (eg., SWT.PUSH</code) or SWT.CHECK)
      descriptor - The ImageDescriptor from which the image/icon for this button should be created
      Returns:
      The newly created button for convenience
    • createDrawerCollapseOptions

      protected Control createDrawerCollapseOptions(Composite container)
      Creates and initializes (i.e., loads the current value from the PaletteViewerPreferences) the part of the dialog where the options to close drawers will be displayed.
      Parameters:
      container - The parent composite
      Returns:
      The newly created Control which has the drawer collapse options
    • createDetailsOptions

      protected Control createDetailsOptions(Composite parent)
      Creates and initializes (i.e. loads the current settings from PaletteViewerPreferences) the options for details layout.
      Parameters:
      parent - the parent composite
      Returns:
      the newly created Control
    • createDialogArea

      protected Control createDialogArea(Composite parent)
      Overrides:
      createDialogArea in class Dialog
      See Also:
    • createColumnsOptions

      protected Control createColumnsOptions(Composite parent)
      Creates and initializes (i.e. loads the current settings from PaletteViewerPreferences) the options for columns layout.
      Parameters:
      parent - the parent composite
      Returns:
      the newly created Control
    • createFontSettings

      protected Control createFontSettings(Composite parent)
      Creates and initializes (i.e. loads the current settings from PaletteViewerPreferences) the part of the dialog that displays the font settings.
      Parameters:
      parent - the parent composite
      Returns:
      the newly created Control
    • createIconsOnlyOptions

      protected Control createIconsOnlyOptions(Composite parent)
      Creates and initializes (i.e. loads the current settings from PaletteViewerPreferences) the options for icons layout.
      Parameters:
      parent - the parent composite
      Returns:
      the newly created Control
    • createLayoutOptions

      protected Control createLayoutOptions(Composite parent)
      Creates the part of the dialog that displays the various options for the selected layout.
      Parameters:
      parent - the parent composite
      Returns:
      the newly created Control
    • createLayoutSettings

      protected Control createLayoutSettings(Composite parent)
      Creates the part of the dialog that displays the lists the available layout modes.
      Parameters:
      parent - the parent composite
      Returns:
      the newly created Control
    • createListOptions

      protected Control createListOptions(Composite parent)
      Creates and initializes (i.e. loads the current settings from PaletteViewerPreferences) the options for list layout.
      Parameters:
      parent - the parent composite
      Returns:
      the newly created Control
    • createOptionsPage

      protected Control createOptionsPage(Composite parent, String title, int buttonId)
      This helper method is a result of code-factoring. It creates a Group displaying the given title and creates a "Use Large Icons" checkbox with the given buttonId in it. This method is used to create the options for the different layout modes.
      Parameters:
      parent - the parent composite
      title - The title for the group to be created.
      buttonId - The ID for the "Use Large Icons" checkbox to be created in the group.
      Returns:
      the newly created Group
    • getButton

      protected Button getButton(int id)
      Returns the Button with the given id; or null if none was found.
      Overrides:
      getButton in class Dialog
      See Also:
    • getWidget

      protected Widget getWidget(int id)
      The Widgets that were created with a unique ID and added to this class' internal map can be retrieved through this method.
      Parameters:
      id - The unique ID of the Widget that you wish to retrieve
      Returns:
      The Widget, if one with the given id exists. null otherwise.
    • handleAutoCollapseSettingChanged

      protected void handleAutoCollapseSettingChanged(int newSetting)
      Called when any one of the "Auto - Collapse" radio buttons is clicked. It changes the setting in the PaletteViewerPreferences object.
      Parameters:
      newSetting - The flag for the new setting
    • handleCancelPressed

      protected void handleCancelPressed()
      This method is invoked when "Cancel" is invoked on the dialog. It simply restores the settings, thus undoing any changes made in this Dialog.
    • handleChangeFontPressed

      protected void handleChangeFontPressed()
      This method is invoked when the user selects the "Change" font button. It opens the FontDialog to allow the user to change the font.
    • handleDefaultFontRequested

      protected void handleDefaultFontRequested()
      This method is invoked when the user selects the "Restore Default" font button. It changes the font, in case it was different, to the default one, which is the Workbench Dialog font.
    • handleIconSizeChanged

      protected void handleIconSizeChanged(boolean selection)
      This method is invoked when the "Use Large Icons" checkbox is selected/deselected for the currently active layout mode.
      Parameters:
      selection - indicates whether large icons are to be used or not.
    • handleLayoutSettingChanged

      protected void handleLayoutSettingChanged(int newSetting)
      This method is called when any one of the "Layout" radio buttons is clicked. It changes the setting in the PaletteViewerPreferences object.
      Parameters:
      newSetting - The flag for the new setting
    • restoreSettings

      protected void restoreSettings()
      Restores the cached settings, thus undoing any changes made since the last caching of settings.
      See Also:
    • showLayoutOptionsPage

      protected void showLayoutOptionsPage(Control page)
      This helper method is mainly a result of code-factoring. It shows the given page (which should be one of the controls showing the layout options) in the PageBook and grows the dialog if necessary.
      Parameters:
      page - One of the controls showing the layout options that already belongs to the PageBook book.
    • updateFontName

      protected void updateFontName()
      Updates the label showing the font's name to show the name of the current font.