Package com.biglybt.ui.swt
Class TorrentMenuFancy
- java.lang.Object
-
- com.biglybt.ui.swt.TorrentMenuFancy
-
public class TorrentMenuFancy extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
TorrentMenuFancy.FancyMenuRowInfo
private static interface
TorrentMenuFancy.FancyMenuRowInfoListener
private static class
TorrentMenuFancy.FancyRowInfo
private static class
TorrentMenuFancy.HeaderInfo
-
Field Summary
Fields Modifier and Type Field Description private TorrentMenuFancy.HeaderInfo
activatedHeader
private TableColumnCore
column
private org.eclipse.swt.widgets.Menu
currentMenu
private TorrentMenuFancy.FancyRowInfo
currentRowInfo
protected static boolean
DEBUG_MENU
private org.eclipse.swt.widgets.Composite
detailArea
private DownloadManager[]
dms
private boolean
hasSelection
private static java.lang.String
HEADER_MSG_PREFIX
private org.eclipse.swt.widgets.Listener
headerListener
private boolean
isSeedingView
private org.eclipse.swt.widgets.Listener
listenerForTrigger
private org.eclipse.swt.widgets.Listener
listenerRow
private org.eclipse.swt.events.PaintListener
listenerRowPaint
private java.util.List<TorrentMenuFancy.HeaderInfo>
listHeaders
private java.util.List<TorrentMenuFancy.FancyRowInfo>
listRowInfos
private org.eclipse.swt.graphics.Point
originalShellLocation
private org.eclipse.swt.events.PaintListener
paintListenerArrow
private org.eclipse.swt.widgets.Shell
parentShell
private org.eclipse.swt.widgets.Shell
shell
private static int
SHELL_MARGIN
private boolean
subMenuVisible
private java.lang.String
tableID
private org.eclipse.swt.widgets.Composite
topArea
private TableViewSWT<DownloadManager>
tv
-
Constructor Summary
Constructors Constructor Description TorrentMenuFancy(TableViewSWT<DownloadManager> tv, boolean isSeedingView, org.eclipse.swt.widgets.Shell parentShell, DownloadManager[] dms, java.lang.String tableID)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
activateHeader(TorrentMenuFancy.HeaderInfo header)
private TorrentMenuFancy.HeaderInfo
addHeader(java.lang.String id, java.lang.String title, AERunnable runnable)
protected void
addMenuItemListener(org.eclipse.swt.widgets.Menu menu, org.eclipse.swt.widgets.Listener l)
private void
addPluginItem(org.eclipse.swt.widgets.Composite detailArea, MenuItem item)
protected void
buildTorrentCustomMenu_Content(org.eclipse.swt.widgets.Composite detailArea, DownloadManager[] dms)
void
buildTorrentCustomMenu_Control(org.eclipse.swt.widgets.Composite cParent, DownloadManager[] dms)
void
buildTorrentCustomMenu_Organize(org.eclipse.swt.widgets.Composite detailArea, DownloadManager[] dms)
void
buildTorrentCustomMenu_Social(org.eclipse.swt.widgets.Composite detailArea)
private org.eclipse.swt.widgets.Control
createActionButton(DownloadManager[] dms, org.eclipse.swt.widgets.Composite cParent, java.lang.String keyToolTip, java.lang.String keyImage, boolean enable, boolean selected, org.eclipse.swt.widgets.Listener listener)
private org.eclipse.swt.widgets.Control
createActionButton(DownloadManager[] dms, org.eclipse.swt.widgets.Composite cParent, java.lang.String keyToolTip, java.lang.String keyImage, boolean enable, org.eclipse.swt.widgets.Listener listener)
private TorrentMenuFancy.FancyMenuRowInfo
createMenuRow(org.eclipse.swt.widgets.Composite cParent, java.lang.String keyTitle, java.lang.String keyImage, TorrentMenuFancy.FancyMenuRowInfoListener listener)
private TorrentMenuFancy.FancyRowInfo
createRow(org.eclipse.swt.widgets.Composite cParent, java.lang.String keyTitle, java.lang.String keyImage, boolean triggerOnUp, org.eclipse.swt.widgets.Listener triggerListener)
private TorrentMenuFancy.FancyRowInfo
createRow(org.eclipse.swt.widgets.Composite cParent, java.lang.String keyTitle, java.lang.String keyImage, boolean triggerOnUp, org.eclipse.swt.widgets.Listener triggerListener, TorrentMenuFancy.FancyRowInfo rowInfo)
private TorrentMenuFancy.FancyRowInfo
createRow(org.eclipse.swt.widgets.Composite cParent, java.lang.String keyTitle, java.lang.String keyImage, org.eclipse.swt.widgets.Listener triggerListener)
protected java.lang.Object
findData(org.eclipse.swt.widgets.Widget widget, java.lang.String id)
private TorrentMenuFancy.FancyRowInfo
findRowInfo(org.eclipse.swt.widgets.Widget widget)
private java.util.List<MenuItem>
getPluginItems(java.lang.String headerID)
private java.lang.Object[]
getTarget(MenuItem item)
void
showMenu(org.eclipse.swt.graphics.Point locationOnDiplay, TableColumnCore acolumn, org.eclipse.swt.widgets.Menu fallbackMenu)
private void
updateRowSpeed(TorrentMenuFancy.FancyRowInfo row, boolean isUpload)
-
-
-
Field Detail
-
HEADER_MSG_PREFIX
private static final java.lang.String HEADER_MSG_PREFIX
- See Also:
- Constant Field Values
-
DEBUG_MENU
protected static final boolean DEBUG_MENU
- See Also:
- Constant Field Values
-
SHELL_MARGIN
private static final int SHELL_MARGIN
- See Also:
- Constant Field Values
-
listRowInfos
private java.util.List<TorrentMenuFancy.FancyRowInfo> listRowInfos
-
listHeaders
private java.util.List<TorrentMenuFancy.HeaderInfo> listHeaders
-
topArea
private org.eclipse.swt.widgets.Composite topArea
-
detailArea
private org.eclipse.swt.widgets.Composite detailArea
-
headerListener
private org.eclipse.swt.widgets.Listener headerListener
-
tv
private TableViewSWT<DownloadManager> tv
-
isSeedingView
private boolean isSeedingView
-
parentShell
private org.eclipse.swt.widgets.Shell parentShell
-
dms
private DownloadManager[] dms
-
tableID
private java.lang.String tableID
-
hasSelection
private boolean hasSelection
-
shell
private org.eclipse.swt.widgets.Shell shell
-
listenerForTrigger
private org.eclipse.swt.widgets.Listener listenerForTrigger
-
listenerRow
private org.eclipse.swt.widgets.Listener listenerRow
-
listenerRowPaint
private org.eclipse.swt.events.PaintListener listenerRowPaint
-
column
private TableColumnCore column
-
activatedHeader
private TorrentMenuFancy.HeaderInfo activatedHeader
-
currentMenu
private org.eclipse.swt.widgets.Menu currentMenu
-
currentRowInfo
private TorrentMenuFancy.FancyRowInfo currentRowInfo
-
originalShellLocation
private org.eclipse.swt.graphics.Point originalShellLocation
-
subMenuVisible
private boolean subMenuVisible
-
paintListenerArrow
private org.eclipse.swt.events.PaintListener paintListenerArrow
-
-
Constructor Detail
-
TorrentMenuFancy
public TorrentMenuFancy(TableViewSWT<DownloadManager> tv, boolean isSeedingView, org.eclipse.swt.widgets.Shell parentShell, DownloadManager[] dms, java.lang.String tableID)
-
-
Method Detail
-
showMenu
public void showMenu(org.eclipse.swt.graphics.Point locationOnDiplay, TableColumnCore acolumn, org.eclipse.swt.widgets.Menu fallbackMenu)
-
getPluginItems
private java.util.List<MenuItem> getPluginItems(java.lang.String headerID)
-
activateHeader
protected void activateHeader(TorrentMenuFancy.HeaderInfo header)
-
buildTorrentCustomMenu_Control
public void buildTorrentCustomMenu_Control(org.eclipse.swt.widgets.Composite cParent, DownloadManager[] dms)
-
updateRowSpeed
private void updateRowSpeed(TorrentMenuFancy.FancyRowInfo row, boolean isUpload)
-
createMenuRow
private TorrentMenuFancy.FancyMenuRowInfo createMenuRow(org.eclipse.swt.widgets.Composite cParent, java.lang.String keyTitle, java.lang.String keyImage, TorrentMenuFancy.FancyMenuRowInfoListener listener)
-
addMenuItemListener
protected void addMenuItemListener(org.eclipse.swt.widgets.Menu menu, org.eclipse.swt.widgets.Listener l)
-
createRow
private TorrentMenuFancy.FancyRowInfo createRow(org.eclipse.swt.widgets.Composite cParent, java.lang.String keyTitle, java.lang.String keyImage, org.eclipse.swt.widgets.Listener triggerListener)
-
createRow
private TorrentMenuFancy.FancyRowInfo createRow(org.eclipse.swt.widgets.Composite cParent, java.lang.String keyTitle, java.lang.String keyImage, boolean triggerOnUp, org.eclipse.swt.widgets.Listener triggerListener)
-
createRow
private TorrentMenuFancy.FancyRowInfo createRow(org.eclipse.swt.widgets.Composite cParent, java.lang.String keyTitle, java.lang.String keyImage, boolean triggerOnUp, org.eclipse.swt.widgets.Listener triggerListener, TorrentMenuFancy.FancyRowInfo rowInfo)
-
findRowInfo
private TorrentMenuFancy.FancyRowInfo findRowInfo(org.eclipse.swt.widgets.Widget widget)
-
findData
protected java.lang.Object findData(org.eclipse.swt.widgets.Widget widget, java.lang.String id)
-
createActionButton
private org.eclipse.swt.widgets.Control createActionButton(DownloadManager[] dms, org.eclipse.swt.widgets.Composite cParent, java.lang.String keyToolTip, java.lang.String keyImage, boolean enable, org.eclipse.swt.widgets.Listener listener)
-
createActionButton
private org.eclipse.swt.widgets.Control createActionButton(DownloadManager[] dms, org.eclipse.swt.widgets.Composite cParent, java.lang.String keyToolTip, java.lang.String keyImage, boolean enable, boolean selected, org.eclipse.swt.widgets.Listener listener)
-
buildTorrentCustomMenu_Organize
public void buildTorrentCustomMenu_Organize(org.eclipse.swt.widgets.Composite detailArea, DownloadManager[] dms)
-
buildTorrentCustomMenu_Social
public void buildTorrentCustomMenu_Social(org.eclipse.swt.widgets.Composite detailArea)
-
getTarget
private java.lang.Object[] getTarget(MenuItem item)
-
addPluginItem
private void addPluginItem(org.eclipse.swt.widgets.Composite detailArea, MenuItem item)
-
buildTorrentCustomMenu_Content
protected void buildTorrentCustomMenu_Content(org.eclipse.swt.widgets.Composite detailArea, DownloadManager[] dms)
-
addHeader
private TorrentMenuFancy.HeaderInfo addHeader(java.lang.String id, java.lang.String title, AERunnable runnable)
-
-