de.sciss.gui
Class AquaWindowBar

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by de.sciss.gui.AquaWindowBar
All Implemented Interfaces:
Disposable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.SwingConstants, javax.swing.WindowConstants

public class AquaWindowBar
extends javax.swing.JPanel
implements Disposable, javax.swing.SwingConstants, javax.swing.WindowConstants

An Aqua-LnF fake window bar to be used on the top or left border of frame. This bar can be used to drag the window around, plus it can display the window's title. in the small size version it can be used to simulate floating palette windows.

Version:
0.70, 03-Oct-07
Author:
Hanns Holger Rutz
See Also:
Serialized Form
Todo:
title should be abbreviated automatically if too long for display, font should be made resistant against GUIUtil.setDeepFont, DO_NOTHING_ON_CLOSE : windowClosing should be fired, all the window emulation stuff should be removed, as FloatingPalette should override methods in AppWindow itself

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int CLOSEGADGET
           
protected  int dco
           
protected  de.sciss.gui.AquaWindowBar.TripletButton[] ggTriplet
           
protected static TiledImage imgTriplet
           
protected  boolean isMac
           
static int MAXGADGET
           
static int MINGADGET
           
static int TRIPLET
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AquaWindowBar(AbstractWindow w, boolean small)
           
AquaWindowBar(AbstractWindow w, boolean small, int orient)
           
AquaWindowBar(AbstractWindow w, boolean small, int orient, int flags)
           
AquaWindowBar(AbstractWindow w, java.lang.String title, boolean small)
           
AquaWindowBar(AbstractWindow w, java.lang.String title, boolean small, int orient)
           
AquaWindowBar(AbstractWindow w, java.lang.String title, boolean small, int orient, int flags)
           
 
Method Summary
 void addCloseActionListener(java.awt.event.ActionListener l)
           
 void addMaxActionListener(java.awt.event.ActionListener l)
           
 void addMinActionListener(java.awt.event.ActionListener l)
           
 void dispose()
           
 int getDefaultCloseOperation()
           
 java.lang.String getTitle()
           
 boolean isAlwaysOnTop()
           
 void paintComponent(java.awt.Graphics g)
           
 void removeCloseActionListener(java.awt.event.ActionListener l)
           
 void removeMaxActionListener(java.awt.event.ActionListener l)
           
 void removeMinActionListener(java.awt.event.ActionListener l)
           
 void setAlwaysOnTop(boolean b)
           
 void setDefaultCloseOperation(int operation)
           
 void setResizable(boolean b)
           
 void setTitle(java.lang.String title)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ggTriplet

protected final de.sciss.gui.AquaWindowBar.TripletButton[] ggTriplet

imgTriplet

protected static TiledImage imgTriplet

CLOSEGADGET

public static final int CLOSEGADGET
See Also:
Constant Field Values

MINGADGET

public static final int MINGADGET
See Also:
Constant Field Values

MAXGADGET

public static final int MAXGADGET
See Also:
Constant Field Values

TRIPLET

public static final int TRIPLET
See Also:
Constant Field Values

dco

protected int dco

isMac

protected final boolean isMac
Constructor Detail

AquaWindowBar

public AquaWindowBar(AbstractWindow w,
                     java.lang.String title,
                     boolean small)

AquaWindowBar

public AquaWindowBar(AbstractWindow w,
                     java.lang.String title,
                     boolean small,
                     int orient)

AquaWindowBar

public AquaWindowBar(AbstractWindow w,
                     java.lang.String title,
                     boolean small,
                     int orient,
                     int flags)

AquaWindowBar

public AquaWindowBar(AbstractWindow w,
                     boolean small)

AquaWindowBar

public AquaWindowBar(AbstractWindow w,
                     boolean small,
                     int orient)

AquaWindowBar

public AquaWindowBar(AbstractWindow w,
                     boolean small,
                     int orient,
                     int flags)
Method Detail

setResizable

public void setResizable(boolean b)

addCloseActionListener

public void addCloseActionListener(java.awt.event.ActionListener l)

removeCloseActionListener

public void removeCloseActionListener(java.awt.event.ActionListener l)

addMinActionListener

public void addMinActionListener(java.awt.event.ActionListener l)

removeMinActionListener

public void removeMinActionListener(java.awt.event.ActionListener l)

addMaxActionListener

public void addMaxActionListener(java.awt.event.ActionListener l)

removeMaxActionListener

public void removeMaxActionListener(java.awt.event.ActionListener l)

getDefaultCloseOperation

public int getDefaultCloseOperation()

setDefaultCloseOperation

public void setDefaultCloseOperation(int operation)

paintComponent

public void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class javax.swing.JComponent

setAlwaysOnTop

public void setAlwaysOnTop(boolean b)

isAlwaysOnTop

public boolean isAlwaysOnTop()

setTitle

public void setTitle(java.lang.String title)

getTitle

public java.lang.String getTitle()

dispose

public void dispose()
Specified by:
dispose in interface Disposable