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):
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).
Julien (for the improvement of the following plugin : http://plugins.intellij.net/plugin/?idea_ce&id=6889 )