NPE in editor based widget 2 [anna.kozloava]

This commit is contained in:
Kirill Kalishev
2010-12-01 21:18:09 +03:00
parent 5c667269a2
commit 2abcfcb5a5
3 changed files with 9 additions and 14 deletions
@@ -301,7 +301,7 @@ public class IdeFrameImpl extends JFrame implements IdeFrame, DataProvider {
InsertOverwritePanel insertOverwritePanel = null;
if (!SystemInfo.isMac) {
insertOverwritePanel = new InsertOverwritePanel();
insertOverwritePanel = new InsertOverwritePanel(project);
statusBar.addWidget(insertOverwritePanel, "after Encoding");
statusBar.addWidget(readOnlyAttributePanel, "after InsertOverwrite");
} else {
@@ -35,7 +35,7 @@ import org.jetbrains.annotations.Nullable;
public abstract class EditorBasedWidget extends FileEditorManagerAdapter implements StatusBarWidget {
protected StatusBar myStatusBar;
protected Project myProject;
private Project myProject;
protected MessageBusConnection myConnection;
@@ -45,9 +45,6 @@ public abstract class EditorBasedWidget extends FileEditorManagerAdapter impleme
myConnection.subscribe(FileEditorManagerListener.FILE_EDITOR_MANAGER, this);
}
protected EditorBasedWidget() {
}
@Nullable
protected final Editor getEditor() {
final Project project = getProject();
@@ -55,7 +52,7 @@ public abstract class EditorBasedWidget extends FileEditorManagerAdapter impleme
if (project == null) return null;
DockContainer c = DockManager.getInstance(myProject).getContainerFor(myStatusBar.getComponent());
DockContainer c = DockManager.getInstance(project).getContainerFor(myStatusBar.getComponent());
EditorsSplitters splitters = null;
if (c instanceof DockableEditorTabbedContainer) {
splitters = ((DockableEditorTabbedContainer)c).getSplitters();
@@ -99,13 +96,7 @@ public abstract class EditorBasedWidget extends FileEditorManagerAdapter impleme
@Nullable
protected final Project getProject() {
if (myProject != null) return myProject;
if (myStatusBar != null && myStatusBar.getFrame() != null) {
return myStatusBar.getFrame().getProject();
} else {
return null;
}
return myProject;
}
@Override
@@ -36,6 +36,10 @@ import java.awt.event.MouseEvent;
*/
public class InsertOverwritePanel extends EditorBasedWidget implements StatusBarWidget.Multiframe, StatusBarWidget.TextPresentation {
public InsertOverwritePanel(Project project) {
super(project);
}
@NotNull
public String ID() {
return "InsertOverwrite";
@@ -47,7 +51,7 @@ public class InsertOverwritePanel extends EditorBasedWidget implements StatusBar
@Override
public StatusBarWidget copy() {
return new InsertOverwritePanel();
return new InsertOverwritePanel(getProject());
}