swingwtx.custom
Class JClosableTabbedPane

java.lang.Object
  extended byswingwt.awt.Component
      extended byswingwt.awt.Container
          extended byswingwtx.swing.JComponent
              extended byswingwtx.custom.JClosableTabbedPane
All Implemented Interfaces:
ImageObserver, MenuContainer, SwingConstants

public class JClosableTabbedPane
extends JComponent
implements SwingConstants

Not really a swing component, but I map it here because I use it for JInternalFrame/JDesktopPane. It's basically JTabbedPane, but with closable buttons - something that Swing really ought to offer!


Nested Class Summary
 
Nested classes inherited from class swingwtx.swing.JComponent
JComponent.InternalFrameSelectionListener
 
Field Summary
protected  java.util.Vector changeListeners
           
protected  org.eclipse.swt.custom.CTabFolder ppeer
           
protected  int pSelectedIndex
           
protected  int pTabPlacement
           
protected  java.util.Vector tabCloseListeners
           
protected  java.util.Vector tabs
          Tab item cache until added to parent
 
Fields inherited from class swingwtx.swing.JComponent
accessibleContext, actionMap, ancestorInputMap, border, clientProperties, descendantHasPeer, focusInputMap, internalFrameAdapter, internalFrameParent, opaque, propertyChangeListeners, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, windowInputMap
 
Fields inherited from class swingwt.awt.Container
composite, comps, containerListeners, layout, queuedValidateRequest
 
Fields inherited from class swingwt.awt.Component
actionCommand, actionListeners, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, componentListeners, componentName, consumeAvailableHeight, consumeAvailableWidth, focusable, focusListeners, graphicsConfig, inputMethodListeners, isUserSetFont, keyListeners, layoutModifier, LEFT_ALIGNMENT, LOCK, mouseListeners, mouseMotionListeners, mouseWheelListeners, parent, pBackground, pCursor, pDoubleBuffered, peer, pEnabled, pFont, pForeground, pLayoutData, pLocation, pMaxSize, pMinSize, pPrefSize, pSize, pToolTipText, pVisible, RIGHT_ALIGNMENT, swingWTDefaultActionEventAdapter, swingWTEventAdapter, TOP_ALIGNMENT
 
Fields inherited from interface swingwtx.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 swingwt.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JClosableTabbedPane()
           
 
Method Summary
 void addChangeListener(ChangeListener l)
           
 void addTab(java.lang.String title, Component component)
           
 void addTab(java.lang.String title, Icon icon, Component component)
           
 void addTab(java.lang.String title, Icon icon, Component component, java.lang.String tip)
           
 void addTab(java.lang.String title, Icon icon, Component component, java.lang.String tip, boolean enabled)
           
 void addTab(java.lang.String title, Icon icon, Component component, java.lang.String tip, boolean enabled, boolean fromcache)
           
 void addTabCloseListener(TabCloseListener l)
           
protected  boolean checkTabEnabled(org.eclipse.swt.events.SelectionEvent e)
          Returns true if the tab is enabled according to the data set on it.
 Icon getIconAt(int index)
           
 Component getSelectedComponent()
           
 int getSelectedIndex()
           
 org.eclipse.swt.widgets.Control getSWTPeer()
          Returns the SWT peer
 int getTabCount()
           
 int getTabPlacement()
           
 java.lang.String getTitleAt(int index)
           
protected  void layoutTab()
           
protected  void postponeLayout()
           
protected  void processChangeEvent(ChangeEvent e)
          Process change events - fired when the tab changes
protected  void processTabClosing(org.eclipse.swt.custom.CTabFolderEvent e)
           
 void removeChangeListener(ChangeListener l)
           
 void removeTabAt(int index)
           
 void removeTabCloseListener(TabCloseListener l)
           
 void setEnabledAt(int index, boolean b)
           
 void setIconAt(int index, Icon icon)
           
 void setSelectedIndex(int index)
           
 void setSwingWTParent(Container parent)
          Callback for when this JComponent is added to a container.
 void setTabPlacement(int place)
           
 void setTitleAt(int index, java.lang.String title)
           
 
Methods inherited from class swingwtx.swing.JComponent
add, add, add, add, add, addPropertyChangeListener, addPropertyChangeListener, checkInternalFrameChild, dispose, getAccessibleContext, getActionMap, getAutoscrolls, getBorder, getClientProperty, getInputMap, getInsets, getToolTipLocation, getToolTipText, getTopLevelAncestor, getVisibleRect, isDoubleBuffered, isOpaque, isOptimizedDrawingEnabled, isValidateRoot, paint, paintBackground, paintChildren, paintComponent, paintImmediately, paintImmediately, putClientProperty, remove, remove, removePropertyChangeListener, removePropertyChangeListener, repaint, revalidate, scrollRectToVisible, setActionMap, setAutoscrolls, setBorder, setDoubleBuffered, setInputMap, setMargin, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled
 
Methods inherited from class swingwt.awt.Container
addComponentToLayout, addContainerListener, debug_showContainmentTree, doAdd, doLayout, getComponent, getComponentCount, getComponentOrientation, getComponents, getComposite, getLayout, getMaximumSize, getMinimumSize, getParent, getPreferredSize, invalidate, minimumSize, preferredSize, processContainerEvent, processEvent, queuedValidate, removeAll, removeComponentFromCache, removeContainerListener, setLayout, setLayoutImpl, validate
 
Methods inherited from class swingwt.awt.Component
add, addActionListener, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, calculatePreferredSize, componentOnlyDispose, computePreferredSize, contains, contains, createImage, createListenerArrayFromVector, createVolatileImage, dispatchEvent, getActionCommand, getAlignmentX, getAlignmentY, getBackground, getBounds, getCursor, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getListeners, getLocation, getLocationOnScreen, getName, getPeer, getPeerSize, getSize, getSize, getToolkit, getToolTipText, getTreeLock, getWidth, getX, getY, grabFocus, hasFocus, hasSetFont, hide, imageUpdate, inside, isEnabled, isFocusable, isMinimumSizeSet, isShowing, isVisible, processActionEvent, processComponentEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, processTraverseEvent, registerActionEvents, registerComponentEvents, registerEvents, registerExtendedModifyEvents, registerFocusEvents, registerKeyEvents, registerModifyEvents, registerMouseEvents, registerPaintEvents, registerTraversalEvents, remove, removeActionListener, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, repaint, repaint, repaint, requestFocus, setActionCommand, setAlignmentX, setAlignmentY, setBackground, setBounds, setBounds, setCachedProperties, setComponentOrientation, setComponentRemoved, setCursor, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setFont, setForeground, setHeight, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setSize, setSize, setToolTipText, setVisible, setWidth, show, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ppeer

protected org.eclipse.swt.custom.CTabFolder ppeer

tabs

protected java.util.Vector tabs
Tab item cache until added to parent


tabCloseListeners

protected java.util.Vector tabCloseListeners

pTabPlacement

protected int pTabPlacement

changeListeners

protected java.util.Vector changeListeners

pSelectedIndex

protected int pSelectedIndex
Constructor Detail

JClosableTabbedPane

public JClosableTabbedPane()
Method Detail

addChangeListener

public void addChangeListener(ChangeListener l)

removeChangeListener

public void removeChangeListener(ChangeListener l)

addTab

public void addTab(java.lang.String title,
                   Component component)

addTab

public void addTab(java.lang.String title,
                   Icon icon,
                   Component component)

addTab

public void addTab(java.lang.String title,
                   Icon icon,
                   Component component,
                   java.lang.String tip)

addTab

public void addTab(java.lang.String title,
                   Icon icon,
                   Component component,
                   java.lang.String tip,
                   boolean enabled)

addTab

public void addTab(java.lang.String title,
                   Icon icon,
                   Component component,
                   java.lang.String tip,
                   boolean enabled,
                   boolean fromcache)

getIconAt

public Icon getIconAt(int index)

setIconAt

public void setIconAt(int index,
                      Icon icon)

addTabCloseListener

public void addTabCloseListener(TabCloseListener l)

removeTabCloseListener

public void removeTabCloseListener(TabCloseListener l)

setEnabledAt

public void setEnabledAt(int index,
                         boolean b)

getTabCount

public int getTabCount()

getSelectedIndex

public int getSelectedIndex()

getSelectedComponent

public Component getSelectedComponent()

setSelectedIndex

public void setSelectedIndex(int index)

removeTabAt

public void removeTabAt(int index)

getTitleAt

public java.lang.String getTitleAt(int index)

setTitleAt

public void setTitleAt(int index,
                       java.lang.String title)

getTabPlacement

public int getTabPlacement()

setTabPlacement

public void setTabPlacement(int place)

getSWTPeer

public org.eclipse.swt.widgets.Control getSWTPeer()
Description copied from class: Component
Returns the SWT peer

Overrides:
getSWTPeer in class Component

processTabClosing

protected void processTabClosing(org.eclipse.swt.custom.CTabFolderEvent e)

processChangeEvent

protected void processChangeEvent(ChangeEvent e)
Process change events - fired when the tab changes


postponeLayout

protected void postponeLayout()

layoutTab

protected void layoutTab()

setSwingWTParent

public void setSwingWTParent(Container parent)
                      throws java.lang.Exception
Description copied from class: JComponent
Callback for when this JComponent is added to a container.

Overrides:
setSwingWTParent in class JComponent
Throws:
java.lang.Exception

checkTabEnabled

protected boolean checkTabEnabled(org.eclipse.swt.events.SelectionEvent e)
Returns true if the tab is enabled according to the data set on it. This should be called from a selection event, determining whether the user is allowed to go to it or not.