See: Description
Interface | Description |
---|---|
BaseDockableFactory | |
Dockable |
A Dockable interface.
|
DockableContainer |
Internal use only.
|
DockableDragContext | |
DockableDragSource | |
DockableDropTarget |
DockableDropTarget is a marker for components that accept dockable drops.
|
DockableFactory |
The DockableFactory is responsible for translating a dockable name found in a layout file
into an instance of
Dockable . |
DockableFactory2 |
specifies if a dockable factory can be
re-installed (e.g. |
DockableFactory3 |
is a subinterface of Dockable/Dockable2. |
DockableHolder | |
DockableListener |
Interface to support notification of visibility changes on a dockable.
|
DrawerEntry | |
DrawerHostProvider |
is a class which allows DockStation to
recognize Dockable as a drawer. |
LazyDrawerUpdateProvider |
Interface provides method which is executed after laze drawer is added.
|
TitleChangeListener |
An interface that clients that want to be notified of docking changes
in a docking port must implement.
|
Class | Description |
---|---|
DockableEvent |
The class describes events on Dockable objects.
Although it might seem similar to a ComponentListener on the UI, it is different because when two dockable are tabbed together, ComponentListener considers the visibility of the windows (the selected page is visible and the others are hidden) while the DockableEvent will be sent for each Dockable corresponding to a tab in the tab pane. |
DockableView | |
DockableWindow | |
DockingParam |
This class is used to specify how to dock a dockable
|
DockStation |
The singleton for docking operations.
|
DockUtil | |
DrawerBundle | |
DrawerBundle_de | |
DrawerBundle_en | |
DrawerBundle_es | |
DrawerBundle_fr | |
DrawerBundle_it | |
DrawerBundle_ja | |
DrawerBundle_ko | |
DrawerBundle_pt_BR | |
DrawerBundle_zh_CN | |
DrawerBundle_zh_TW | |
DrawerConfig | |
DrawerDockableWindow | |
DrawerElement | |
DrawerEvent | |
DrawerLabel |
A
DrawerLabel is a simple subclass of JLabel that
allows automated tests to consistently expand and collapse the drawer
irrespective of the current expansion state. |
DrawerLayoutUtil | |
DrawerListener | |
DrawerModel | |
DrawerPanel | |
DrawerWindow | |
DrawerWindowConfig |
Configuration options for drawer windows.
|
Site |
This class is used to store the sizes of a dockable window.
|
TabbedPageContainer |
A common class that can be used as the GUI of a dockable window that supports
tabs at the bottom.
|
TitleChangeEvent |
The TileChangeEvent contains the new title.
|
WindowManagerStartingController |
This class is workaround to run both windowow managers using same IDE booting sequence.
|
Enum | Description |
---|---|
DrawerConfig.State | |
DrawerModel.State |
In general, addins developers will extend DockableWindow
for
each of dockable windows and write one DockableFactory
for the whole addin.
In the following example, our addin has only one dockable.
In our Addin class, we register our DockableFactory:
import oracle.ide.addin.*; import oracle.ide.docking.*; public class TestAddin implements Addin { public void initialize() { DockStation.getDockStation().registerDockableFactory("MYADDIN", new MyDockableFactory()); } ... }
Our factory only knows one Dockable.
It returns it when asked through getDockable()
and installs it at a default location in install()
the first
time a layout is loaded, or more precisely the first time the layout is loaded since the addin has been installed.
import oracle.ide.docking.*; import oracle.ide.layout.*; public class MyDockableFactory implements DockableFactory { public final String VIEW_TYPE = "MyDockables"; private ViewOne _viewOne; public Dockable getDockable(ViewId viewId) { String name = viewId.getName(); if (name.equals(ViewOne.NAME)) { return getViewOne(); } return null; } public void install() { DockingParam dockingParam = new DockingParam(); dockingParam.setPosition(DockStation.EAST); DockStation.getDockStation().dock(getViewOne(), dockingParam); } private ViewOne getViewOne() { if (_viewOne == null) { _viewOne = new ViewOne(null, VIEW_TYPE + "." + ViewOne.NAME); } return _viewOne; } }
And our Dockable window is just a button. You can customize the dockable further by overriding Dockable
methods but for
this example, we only define the minimum.
import java.awt.*; import java.util.*; import javax.swing.*; import oracle.ide.addin.*; import oracle.ide.docking.*; public class ViewOne extends DockableWindow { public static final String NAME = "ViewOne"; private JComponent _ui; ViewOne(View owner, String viewId) { super(owner, viewId); } public Context getContext(EventObject e ) { Context context = Context.newIdeContext(this, e); context.setView(this); return context; } public String getTitleName() { return getId(); } public String getTabName() { return getId(); } public Component getGUI() { if (_ui == null) { _ui = new JButton("This is ViewOne"); } return _ui; } }
Related Documentation
See Extending JDeveloper Using the Addin API for detailed information.