mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EditorEx: permanent header API
This commit is contained in:
@@ -298,6 +298,16 @@ public class EditorWindow extends UserDataHolderBase implements EditorEx {
|
||||
return highlighter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JComponent getPermanentHeaderComponent() {
|
||||
return myDelegate.getPermanentHeaderComponent();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPermanentHeaderComponent(JComponent component) {
|
||||
myDelegate.setPermanentHeaderComponent(component);
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public JComponent getContentComponent() {
|
||||
|
||||
@@ -57,6 +57,10 @@ public interface EditorEx extends Editor {
|
||||
|
||||
EditorHighlighter getHighlighter();
|
||||
|
||||
JComponent getPermanentHeaderComponent();
|
||||
|
||||
void setPermanentHeaderComponent(JComponent component);
|
||||
|
||||
void setHighlighter(@NotNull EditorHighlighter highlighter);
|
||||
|
||||
void setColorsScheme(@NotNull EditorColorsScheme scheme);
|
||||
|
||||
@@ -1930,7 +1930,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi
|
||||
@Override
|
||||
public void setHeaderComponent(JComponent header) {
|
||||
myHeaderPanel.removeAll();
|
||||
header = header == null ? getUserData(PERMANENT_HEADER) : header;
|
||||
header = header == null ? getPermanentHeaderComponent() : header;
|
||||
if (header != null) {
|
||||
myHeaderPanel.add(header);
|
||||
}
|
||||
@@ -1940,13 +1940,23 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi
|
||||
|
||||
@Override
|
||||
public boolean hasHeaderComponent() {
|
||||
return myHeaderPanel.getComponentCount() > 0;
|
||||
JComponent header = getHeaderComponent();
|
||||
return header != null && header != getPermanentHeaderComponent();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public JComponent getPermanentHeaderComponent() {
|
||||
return getUserData(PERMANENT_HEADER);
|
||||
}
|
||||
|
||||
public void setPermanentHeaderComponent(@Nullable JComponent component) {
|
||||
putUserData(PERMANENT_HEADER, component);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public JComponent getHeaderComponent() {
|
||||
if (hasHeaderComponent()) {
|
||||
if (myHeaderPanel.getComponentCount() > 0) {
|
||||
return (JComponent)myHeaderPanel.getComponent(0);
|
||||
}
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user