public class MemoryIndicatorWidgetFactory extends java.lang.Object implements StatusBarWidgetFactory
EP_NAME
Constructor and Description |
---|
MemoryIndicatorWidgetFactory() |
Modifier and Type | Method and Description |
---|---|
boolean |
canBeEnabledOn(StatusBar statusBar)
Memory indicator is controlled by UISettings
|
StatusBarWidget |
createWidget(Project project)
Creates a widget to be added to the status bar.
|
void |
disposeWidget(StatusBarWidget widget) |
java.lang.String |
getDisplayName() |
java.lang.String |
getId() |
boolean |
isAvailable(Project project)
Returns availability of widget.
|
boolean |
isConfigurable()
Memory indicator is controlled by UISettings
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isEnabledByDefault
public java.lang.String getId()
getId
in interface StatusBarWidgetFactory
public java.lang.String getDisplayName()
getDisplayName
in interface StatusBarWidgetFactory
public boolean isAvailable(Project project)
StatusBarWidgetFactory
`False` means that IDE won't try to create a widget or will dispose it on StatusBarWidgetsManager.updateWidget(java.lang.Class<? extends com.intellij.openapi.wm.StatusBarWidgetFactory>)
call.
E.g. `false` can be returned for
Whenever availability is changed, you need to call StatusBarWidgetsManager.updateWidget(StatusBarWidgetFactory)
explicitly to get status bar updated.
isAvailable
in interface StatusBarWidgetFactory
public StatusBarWidget createWidget(Project project)
StatusBarWidgetFactory
Once the method is invoked on project initialization, the widget won't be recreated or disposed implicitly.
You may need to recreate it if:
StatusBarWidgetFactory.isAvailable(Project)
com.intellij.openapi.wm.impl.status.widget.StatusBarWidgetSettings
To do this, you need to explicitly invoke StatusBarWidgetsManager.updateWidget(StatusBarWidgetFactory)
to recreate the widget and re-add it to the status bar.
createWidget
in interface StatusBarWidgetFactory
public void disposeWidget(StatusBarWidget widget)
disposeWidget
in interface StatusBarWidgetFactory
public boolean isConfigurable()
isConfigurable
in interface StatusBarWidgetFactory
Some widgets are controlled by application-level settings (e.g., Memory indicator) or cannot be disabled (e.g., Write thread indicator) and thus shouldn't be configurable via status bar context menu or settings.
public boolean canBeEnabledOn(StatusBar statusBar)
canBeEnabledOn
in interface StatusBarWidgetFactory
It's better to have this method aligned with EditorBasedStatusBarPopup.WidgetState.HIDDEN
,
whenever state is HIDDEN, this method should return false.
Otherwise enabling widget via context menu won't take any visual effect.
E.g. EditorBasedWidget
are available if editor is opened in a frame that given status bar is attached to
For creating editor based widgets see also StatusBarEditorBasedWidgetFactory