Package com.biglybt.ui.swt.mdi
Class BaseMdiEntry
- java.lang.Object
-
- com.biglybt.ui.swt.pifimpl.UISWTViewImpl
-
- com.biglybt.ui.swt.mdi.BaseMdiEntry
-
- All Implemented Interfaces:
AEDiagnosticsEvidenceGenerator
,UIToolBarActivationListener
,UIToolBarEnablerBase
,UIPluginView
,UIPluginViewToolBarListener
,ViewTitleInfoListener
,MdiEntry
,ObfuscateImage
,MdiEntrySWT
,UISWTView
,UISWTViewCore
- Direct Known Subclasses:
SideBarEntrySWT
,TabbedEntry
public abstract class BaseMdiEntry extends UISWTViewImpl implements MdiEntrySWT, ViewTitleInfoListener, AEDiagnosticsEvidenceGenerator, ObfuscateImage
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
closeable
private boolean
collapseDisabled
private boolean
hasBeenOpened
private org.eclipse.swt.graphics.Image
imageLeft
private java.lang.String
imageLeftID
private static java.util.Set<java.lang.String>
installing_pids
private java.lang.Boolean
isExpanded
private long
lastUpdateUI
private java.util.List<MdiChildCloseListener>
listChildCloseListeners
private java.util.List<MdiCloseListener>
listCloseListeners
private java.util.List<MdiEntryDatasourceListener>
listDatasourceListeners
private java.util.List<MdiEntryDropListener>
listDropListeners
private java.util.List<MdiSWTMenuHackListener>
listMenuHackListners
private java.util.List<MdiEntryOpenListener>
listOpenListeners
private java.util.List<MdiEntryVitalityImageSWT>
listVitalityImages
protected BaseMDI
mdi
private java.lang.String
parentEntryID
Parent MDIEntry.private java.lang.String
preferredAfterID
private java.lang.String
skinRef
protected static java.lang.String
SO_ID_ENTRY_WRAPPER
private SWTSkinObject
soMaster
protected static long
uniqueNumber
protected ViewTitleInfo
viewTitleInfo
-
Fields inherited from class com.biglybt.ui.swt.pifimpl.UISWTViewImpl
CFG_PREFIX, composite, datasource, id, skin, skinObject
-
Fields inherited from interface com.biglybt.ui.swt.pif.UISWTView
CONTROLTYPE_AWT, CONTROLTYPE_SWT
-
Fields inherited from interface com.biglybt.ui.swt.pifimpl.UISWTViewCore
CONTROLTYPE_SKINOBJECT
-
Fields inherited from interface com.biglybt.pif.ui.toolbar.UIToolBarActivationListener
ACTIVATIONTYPE_HELD, ACTIVATIONTYPE_NORMAL, ACTIVATIONTYPE_RIGHTCLICK
-
-
Constructor Summary
Constructors Constructor Description BaseMdiEntry(BaseMDI mdi, java.lang.String id)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addListener(MdiChildCloseListener l)
void
addListener(MdiCloseListener l)
void
addListener(MdiEntryDatasourceListener l)
void
addListener(MdiEntryDropListener l)
void
addListener(MdiEntryOpenListener l)
void
addListener(MdiSWTMenuHackListener l)
void
addListeners(java.lang.Object objectWithListeners)
MdiEntryVitalityImageSWT
addVitalityImage(java.lang.String imageID)
abstract void
build()
static SkinnedDialog
buildSkinnedDialog(java.lang.String id, java.lang.Object ds, UISWTViewBuilderCore builder)
SWTSkinObjectContainer
buildStandAlone(SWTSkinObjectContainer soParent)
static SWTSkinObjectContainer
buildStandAlone(SWTSkinObjectContainer soParent, java.lang.String skinRef, SWTSkin skin, java.lang.String id, java.lang.Object datasource, int controlType, UISWTViewBuilderCore originalBuilder)
Either skinRef or original_builder must be non-nullboolean
canBuildStandAlone()
boolean
close(boolean forceClose)
Closes this entry.void
closeView()
Closes the viewvoid
closeView(boolean userInitiated)
protected void
destroyEntry(boolean userInitiated)
protected void
destroyEntryAlways()
java.util.Map<java.lang.String,java.lang.Object>
exportStandAlone()
void
generate(IndentWriter writer)
java.util.Map<java.lang.String,java.lang.Object>
getAutoOpenInfo()
java.lang.Object
getDatasource()
java.lang.Object
getDatasourceCore()
java.lang.Object
getExportableDatasource()
Return an exportable version of the datasource.java.lang.String
getId()
org.eclipse.swt.graphics.Image
getImageLeft(java.lang.String suffix)
Don't forget toreleaseImageLeft(String)
java.lang.String
getImageLeftID()
BaseMDI
getMDI()
MdiSWTMenuHackListener[]
getMenuHackListeners()
java.lang.String
getParentID()
ID of Parent MdiEntryjava.lang.String
getPreferredAfterID()
SWTSkinObject
getSkinObject()
SWTSkinObject
getSkinObjectMaster()
java.lang.String
getSkinRef()
java.lang.String
getTitle()
ViewTitleInfo
getViewTitleInfo()
java.util.List<MdiEntryVitalityImageSWT>
getVitalityImages()
boolean
hasDropListeners()
void
hide()
static SWTSkinObjectContainer
importStandAlone(SWTSkinObjectContainer soParent, java.util.Map<java.lang.String,java.lang.Object> map, java.lang.Runnable callback)
boolean
isCloseable()
boolean
isExpanded()
static void
popoutStandAlone(java.lang.String title, java.util.Map<java.lang.String,java.lang.Object> state, java.lang.String configPrefix)
void
releaseImageLeft(java.lang.String suffix)
void
removeListener(MdiChildCloseListener l)
void
removeListener(MdiCloseListener l)
void
removeListener(MdiEntryDatasourceListener l)
void
removeListener(MdiEntryDropListener l)
void
removeListener(MdiEntryOpenListener l)
void
removeListener(MdiSWTMenuHackListener l)
void
requestAttention()
void
setCloseable(boolean closeable)
void
setDatasource(java.lang.Object datasource)
void
setDefaultExpanded(boolean defaultExpanded)
void
setEventListener(UISWTViewEventListener newEventListener, UISWTViewBuilderCore builder, boolean doCreate)
void
setExpanded(boolean expanded)
void
setImageLeft(org.eclipse.swt.graphics.Image imageLeft)
void
setImageLeftID(java.lang.String id)
protected void
setMasterComposite(org.eclipse.swt.widgets.Composite masterComposite)
void
setParentEntryID(java.lang.String parentEntryID)
Set this entries belonging under another MdiEntryvoid
setPluginSkinObject(PluginUISWTSkinObject skinObject)
void
setPreferredAfterID(java.lang.String preferredAfterID)
void
setSkinObjectMaster(SWTSkinObject soMaster)
void
setSkinRef(java.lang.String configID, java.lang.Object params)
void
setTitle(java.lang.String title)
Override the default title with a new one.void
setTitleID(java.lang.String id)
void
setViewTitleInfo(ViewTitleInfo viewTitleInfo)
void
show()
protected void
swt_hide()
void
triggerChildCloseListeners(MdiEntry child, boolean user)
void
triggerCloseListeners(boolean userInitiated)
void
triggerDatasourceListeners()
boolean
triggerDropListeners(java.lang.Object o)
void
triggerEvent(int eventType, java.lang.Object data)
Trigger an event for this viewvoid
triggerOpenListeners()
private static void
tryInstallPlugin(java.lang.String plugin_id, java.lang.String plugin_name, java.lang.Runnable callback)
void
updateLanguage()
void
updateUI(boolean force)
void
viewTitleInfoRefresh(ViewTitleInfo titleInfoToRefresh)
-
Methods inherited from class com.biglybt.ui.swt.pifimpl.UISWTViewImpl
addToolbarEnabler, buildStandAlone, create, getComposite, getControlType, getDataSource, getEventListener, getEventListenerBuilder, getFullTitle, getInitialDataSource, getParentView, getPluginInterface, getPluginSkinObject, getTitleID, getToolbarEnablers, getToolBarListener, getUserData, getViewID, hasToolbarEnableers, initialize, isContentDisposed, isDelayInitializeToFirstActivate, isDestroyOnDeactivate, refreshTitle, refreshToolBarItems, removeToolbarEnabler, setControlType, setDelayInitializeToFirstActivate, setDestroyOnDeactivate, setParentView, setTitleIDSupport, setTitleSupport, setToolBarListener, setToolbarVisibility, setUseCoreDataSource, setUserData, toolBarItemActivated, triggerEventRaw, useCoreDataSource
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.biglybt.ui.mdi.MdiEntry
addToolbarEnabler, getToolbarEnablers, getUserData, isContentDisposed, isEntryDisposed, isSelectable, redraw, removeToolbarEnabler, setSelectable, setUserData
-
Methods inherited from interface com.biglybt.ui.swt.mdi.MdiEntrySWT
redraw
-
Methods inherited from interface com.biglybt.ui.swt.debug.ObfuscateImage
obfuscatedImage
-
Methods inherited from interface com.biglybt.pif.ui.UIPluginView
getToolBarListener, getViewID, setToolBarListener
-
Methods inherited from interface com.biglybt.pif.ui.UIPluginViewToolBarListener
isActive
-
Methods inherited from interface com.biglybt.ui.swt.pif.UISWTView
getControlType, getInitialDataSource, getParentView, getPluginInterface, isContentDisposed, isDestroyOnDeactivate, setControlType, setDestroyOnDeactivate
-
Methods inherited from interface com.biglybt.ui.swt.pifimpl.UISWTViewCore
getComposite, getDataSource, getEventListener, getEventListenerBuilder, getFullTitle, getPluginSkinObject, getTitleID, getUserData, initialize, setParentView, setUseCoreDataSource, setUserData, useCoreDataSource
-
-
-
-
Field Detail
-
SO_ID_ENTRY_WRAPPER
protected static final java.lang.String SO_ID_ENTRY_WRAPPER
- See Also:
- Constant Field Values
-
uniqueNumber
protected static long uniqueNumber
-
mdi
protected final BaseMDI mdi
-
skinRef
private java.lang.String skinRef
-
listCloseListeners
private java.util.List<MdiCloseListener> listCloseListeners
-
listChildCloseListeners
private java.util.List<MdiChildCloseListener> listChildCloseListeners
-
listOpenListeners
private java.util.List<MdiEntryOpenListener> listOpenListeners
-
listDropListeners
private java.util.List<MdiEntryDropListener> listDropListeners
-
listDatasourceListeners
private java.util.List<MdiEntryDatasourceListener> listDatasourceListeners
-
listMenuHackListners
private java.util.List<MdiSWTMenuHackListener> listMenuHackListners
-
viewTitleInfo
protected ViewTitleInfo viewTitleInfo
-
parentEntryID
private java.lang.String parentEntryID
Parent MDIEntry. Doesn't mean that this view is embedded inside the parentID
-
closeable
private boolean closeable
-
isExpanded
private java.lang.Boolean isExpanded
-
imageLeftID
private java.lang.String imageLeftID
-
imageLeft
private org.eclipse.swt.graphics.Image imageLeft
-
collapseDisabled
private boolean collapseDisabled
-
soMaster
private SWTSkinObject soMaster
-
preferredAfterID
private java.lang.String preferredAfterID
-
hasBeenOpened
private boolean hasBeenOpened
-
listVitalityImages
private java.util.List<MdiEntryVitalityImageSWT> listVitalityImages
-
lastUpdateUI
private long lastUpdateUI
-
installing_pids
private static final java.util.Set<java.lang.String> installing_pids
-
-
Constructor Detail
-
BaseMdiEntry
public BaseMdiEntry(BaseMDI mdi, java.lang.String id)
-
-
Method Detail
-
addVitalityImage
public MdiEntryVitalityImageSWT addVitalityImage(java.lang.String imageID)
- Specified by:
addVitalityImage
in interfaceMdiEntry
-
getVitalityImages
public java.util.List<MdiEntryVitalityImageSWT> getVitalityImages()
- Specified by:
getVitalityImages
in interfaceMdiEntry
-
close
public boolean close(boolean forceClose)
Description copied from interface:MdiEntry
Closes this entry. Disposes this entry and its contents.
-
closeView
public void closeView()
Description copied from interface:UIPluginView
Closes the view- Specified by:
closeView
in interfaceMdiEntry
- Specified by:
closeView
in interfaceUIPluginView
- Overrides:
closeView
in classUISWTViewImpl
-
closeView
public void closeView(boolean userInitiated)
-
destroyEntry
protected void destroyEntry(boolean userInitiated)
-
destroyEntryAlways
protected void destroyEntryAlways()
-
getDatasourceCore
public java.lang.Object getDatasourceCore()
-
getExportableDatasource
public java.lang.Object getExportableDatasource()
Description copied from interface:MdiEntry
Return an exportable version of the datasource. Usually String, but can be Map and List- Specified by:
getExportableDatasource
in interfaceMdiEntry
-
getDatasource
public java.lang.Object getDatasource()
- Specified by:
getDatasource
in interfaceMdiEntry
-
getParentID
public java.lang.String getParentID()
Description copied from interface:MdiEntry
ID of Parent MdiEntry- Specified by:
getParentID
in interfaceMdiEntry
-
setParentEntryID
public void setParentEntryID(java.lang.String parentEntryID)
Description copied from interface:MdiEntry
Set this entries belonging under another MdiEntry- Specified by:
setParentEntryID
in interfaceMdiEntry
- Parameters:
parentEntryID
- Parent Entry ID to place under (if MDI supports it)
-
isCloseable
public boolean isCloseable()
- Specified by:
isCloseable
in interfaceMdiEntry
-
addListeners
public void addListeners(java.lang.Object objectWithListeners)
- Specified by:
addListeners
in interfaceMdiEntry
-
addListener
public void addListener(MdiCloseListener l)
- Specified by:
addListener
in interfaceMdiEntry
-
removeListener
public void removeListener(MdiCloseListener l)
- Specified by:
removeListener
in interfaceMdiEntry
-
triggerCloseListeners
public void triggerCloseListeners(boolean userInitiated)
-
addListener
public void addListener(MdiChildCloseListener l)
- Specified by:
addListener
in interfaceMdiEntry
-
removeListener
public void removeListener(MdiChildCloseListener l)
- Specified by:
removeListener
in interfaceMdiEntry
-
triggerChildCloseListeners
public void triggerChildCloseListeners(MdiEntry child, boolean user)
-
addListener
public void addListener(MdiEntryOpenListener l)
- Specified by:
addListener
in interfaceMdiEntry
-
removeListener
public void removeListener(MdiEntryOpenListener l)
- Specified by:
removeListener
in interfaceMdiEntry
-
triggerOpenListeners
public void triggerOpenListeners()
-
addListener
public void addListener(MdiEntryDatasourceListener l)
- Specified by:
addListener
in interfaceMdiEntry
-
removeListener
public void removeListener(MdiEntryDatasourceListener l)
- Specified by:
removeListener
in interfaceMdiEntry
-
triggerDatasourceListeners
public void triggerDatasourceListeners()
-
addListener
public void addListener(MdiEntryDropListener l)
- Specified by:
addListener
in interfaceMdiEntry
-
removeListener
public void removeListener(MdiEntryDropListener l)
- Specified by:
removeListener
in interfaceMdiEntry
-
hasDropListeners
public boolean hasDropListeners()
-
triggerDropListeners
public boolean triggerDropListeners(java.lang.Object o)
- Parameters:
o
-- Returns:
- true: handled; false: not handled
-
getViewTitleInfo
public ViewTitleInfo getViewTitleInfo()
- Specified by:
getViewTitleInfo
in interfaceMdiEntry
-
setViewTitleInfo
public void setViewTitleInfo(ViewTitleInfo viewTitleInfo)
- Specified by:
setViewTitleInfo
in interfaceMdiEntry
-
setPluginSkinObject
public void setPluginSkinObject(PluginUISWTSkinObject skinObject)
- Specified by:
setPluginSkinObject
in interfaceUISWTViewCore
- Overrides:
setPluginSkinObject
in classUISWTViewImpl
-
setSkinObjectMaster
public void setSkinObjectMaster(SWTSkinObject soMaster)
-
getSkinObject
public SWTSkinObject getSkinObject()
-
getSkinObjectMaster
public SWTSkinObject getSkinObjectMaster()
-
setSkinRef
public void setSkinRef(java.lang.String configID, java.lang.Object params)
-
getSkinRef
public java.lang.String getSkinRef()
-
updateLanguage
public void updateLanguage()
-
triggerEvent
public void triggerEvent(int eventType, java.lang.Object data)
Description copied from interface:UISWTView
Trigger an event for this view- Specified by:
triggerEvent
in interfaceUISWTView
- Overrides:
triggerEvent
in classUISWTViewImpl
- Parameters:
eventType
- Event to triggerUISWTViewEvent
}data
- data to send with trigger
-
show
public void show()
-
requestAttention
public void requestAttention()
- Specified by:
requestAttention
in interfaceMdiEntry
-
swt_hide
protected void swt_hide()
-
getAutoOpenInfo
public java.util.Map<java.lang.String,java.lang.Object> getAutoOpenInfo()
- Specified by:
getAutoOpenInfo
in interfaceMdiEntry
-
setCloseable
public void setCloseable(boolean closeable)
-
setDefaultExpanded
public void setDefaultExpanded(boolean defaultExpanded)
- Specified by:
setDefaultExpanded
in interfaceMdiEntry
-
isExpanded
public boolean isExpanded()
- Specified by:
isExpanded
in interfaceMdiEntry
-
setExpanded
public void setExpanded(boolean expanded)
- Specified by:
setExpanded
in interfaceMdiEntry
-
setMasterComposite
protected void setMasterComposite(org.eclipse.swt.widgets.Composite masterComposite)
- Overrides:
setMasterComposite
in classUISWTViewImpl
-
setImageLeftID
public void setImageLeftID(java.lang.String id)
- Specified by:
setImageLeftID
in interfaceMdiEntry
-
getImageLeftID
public java.lang.String getImageLeftID()
- Specified by:
getImageLeftID
in interfaceMdiEntry
-
setImageLeft
public void setImageLeft(org.eclipse.swt.graphics.Image imageLeft)
- Specified by:
setImageLeft
in interfaceMdiEntrySWT
- Parameters:
imageLeft
- the imageLeft to set
-
getImageLeft
public org.eclipse.swt.graphics.Image getImageLeft(java.lang.String suffix)
Don't forget toreleaseImageLeft(String)
-
releaseImageLeft
public void releaseImageLeft(java.lang.String suffix)
-
viewTitleInfoRefresh
public void viewTitleInfoRefresh(ViewTitleInfo titleInfoToRefresh)
- Specified by:
viewTitleInfoRefresh
in interfaceViewTitleInfoListener
-
build
public abstract void build()
-
setPreferredAfterID
public void setPreferredAfterID(java.lang.String preferredAfterID)
- Specified by:
setPreferredAfterID
in interfaceMdiEntry
-
getPreferredAfterID
public java.lang.String getPreferredAfterID()
- Specified by:
getPreferredAfterID
in interfaceMdiEntry
-
generate
public void generate(IndentWriter writer)
- Specified by:
generate
in interfaceAEDiagnosticsEvidenceGenerator
-
setEventListener
public void setEventListener(UISWTViewEventListener newEventListener, UISWTViewBuilderCore builder, boolean doCreate) throws UISWTViewEventCancelledException
- Overrides:
setEventListener
in classUISWTViewImpl
- Throws:
UISWTViewEventCancelledException
-
setDatasource
public void setDatasource(java.lang.Object datasource)
- Specified by:
setDatasource
in interfaceMdiEntry
- Overrides:
setDatasource
in classUISWTViewImpl
-
setTitle
public void setTitle(java.lang.String title)
Description copied from interface:UISWTView
Override the default title with a new one. After setting this, you should use theUISWTViewEvent.TYPE_LANGUAGEUPDATE
to update your title to the new language.
-
setTitleID
public void setTitleID(java.lang.String id)
- Specified by:
setTitleID
in interfaceMdiEntry
- Overrides:
setTitleID
in classUISWTViewImpl
-
addListener
public void addListener(MdiSWTMenuHackListener l)
- Specified by:
addListener
in interfaceMdiEntrySWT
-
removeListener
public void removeListener(MdiSWTMenuHackListener l)
- Specified by:
removeListener
in interfaceMdiEntrySWT
-
getMenuHackListeners
public MdiSWTMenuHackListener[] getMenuHackListeners()
-
canBuildStandAlone
public boolean canBuildStandAlone()
- Specified by:
canBuildStandAlone
in interfaceUISWTViewCore
- Overrides:
canBuildStandAlone
in classUISWTViewImpl
-
exportStandAlone
public java.util.Map<java.lang.String,java.lang.Object> exportStandAlone()
-
buildStandAlone
public SWTSkinObjectContainer buildStandAlone(SWTSkinObjectContainer soParent)
- Specified by:
buildStandAlone
in interfaceUISWTViewCore
- Overrides:
buildStandAlone
in classUISWTViewImpl
-
buildSkinnedDialog
public static SkinnedDialog buildSkinnedDialog(java.lang.String id, java.lang.Object ds, UISWTViewBuilderCore builder)
-
popoutStandAlone
public static void popoutStandAlone(java.lang.String title, java.util.Map<java.lang.String,java.lang.Object> state, java.lang.String configPrefix)
-
importStandAlone
public static SWTSkinObjectContainer importStandAlone(SWTSkinObjectContainer soParent, java.util.Map<java.lang.String,java.lang.Object> map, java.lang.Runnable callback)
-
tryInstallPlugin
private static void tryInstallPlugin(java.lang.String plugin_id, java.lang.String plugin_name, java.lang.Runnable callback)
-
buildStandAlone
public static SWTSkinObjectContainer buildStandAlone(SWTSkinObjectContainer soParent, java.lang.String skinRef, SWTSkin skin, java.lang.String id, java.lang.Object datasource, int controlType, UISWTViewBuilderCore originalBuilder)
Either skinRef or original_builder must be non-null
-
-