extend platform/lang-impl/src/com/intellij/refactoring/ui/AbstractMemberSelectionTable.java

Dear all,

For a plugin development I try to add a column in the table in the pull-up refactoring dialog box.

That table is implemented by the following classes (standard Idea community):

platform/lang-impl/src/com/intellij/refactoring/ui/AbstractMemberSelectionTable.java
java/java-impl/src/com/intellij/refactoring/ui/MemberSelectionTable.java

In order to add a column, I would like to modify a bit these classes, by extending/subclassing them (add some fields, override some methods).

However, there is a protected field MyTableModel<T, M> myTableModel with the inner private class MyTableModel. I need to change some code in that private inner class, so I was thinking of declaring a subclass of AbstractMemberSelectionTable in which I redeclare the inner private class (copy/paste) and modify it. The problem is that the field myTableModel is declared with type MyTableModel which is private, so that I cannot link the new private class with that type.

What should I do? 1) Copy/paste the original code to new classes that I can change or 2) ask for making the inner class protected instead of private in the initial code (in community edition) or 3) ask for the protected field to have a public/protected type, maybe by the means of an interface (also change in the community edition).

Thanks.

Julien (for the improvement of the following plugin : http://plugins.intellij.net/plugin/?idea_ce&id=6889 )

2 comments
Comment actions Permalink

Julien,
I've changed the MyTableModel class to protected. The change will be included in IDEA 12.1.

0
Comment actions Permalink

Thanks Dmitry :-)

0

Please sign in to leave a comment.