How to add components in existing intelliJ GUI screens

I am making an open source plugin and I want to add components in the existing interface i.e.
File ---> Settings ---> Version Control ---> Configure VCS (I have attached the screen shot for better understanding)

The screen which opens has on the left names of different VCSs listed and on clicking any of these it opens the settings corresponding to it.

I want to add a new item in this VCS list and also make settings interface for it.

But I'm new to plugin development and am unable to understand from where to access this screen through the openAPI.

Please help as I'm completely stuck here.



Attachment(s):
Screen to be modified.JPG
4 comments
Comment actions Permalink

Hello Kunjan,

The UI shown in this dialog is the configurable that you return from AbstractVcs.getConfigurable().

I am making an open source plugin and I want to add components in the
existing interface i.e.

File ---> Settings ---> Version Control ---> Configure VCS (I have
attached the screen shot for better understanding)

The screen which opens has on the left names of different VCSs listed
and on clicking any of these it opens the settings corresponding to
it.

I want to add a new item in this VCS list and also make settings
interface for it.

But I'm new to plugin development and am unable to understand from
where to access this screen through the openAPI.

Please help as I'm completely stuck here.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Hi ,
Thanks for reply. I still have one doubt.

How do I use the UI designer to modify this screen?
For that I think I would be needing something like .form extension file which would be having the GUI stored in it.

Basically, my question is, is there a way by which we can modify the screens already present in the intelliJ interface using UI Designer?

Using actions I am only able to add a new item for which then a separate new GUI Form opens. But what I want to do, like in this case, is to make a new interface screen right inside the Configuration screen i.e. I want that when a user clicks on the name of the new VCS on left panel then in the right panel new components should appear related to the configuration settings of this VCS.

So for that I was thinking of making a new panel containing the configuration settings of my VCS say newConfigPanel.
Then add name of the new VCS in the left hand side list of the Version Control Configuration Screen.
Add an action listener on this list so that whenever someone clicks on the name of my VCS then the right hand panel is cleared and newConfigPanel is added into it.

And I wanted to do it through the UI Designer.

Can you please suggest the best way to achieve this.



Attachment(s):
Screen to be modified.JPG
0
Comment actions Permalink

Hello Kunjan,

OK, let me explain my previous answer in more detail, as it seems like it
wasn't helpful at all.
- Create a new class extending AbstractVcs and register it as appropriate
(either as a project component or through the ]]> extension point).
- Create a new class implementing the Configurable interface with a bound
GUI form.
- Put whatever configuration options you need on the form.
- In the implementation of the getConfigurable() method in your class derived
from AbstractVcs, return a new instance of your class derived from Configurable.

That's how you get your settings to appear in that dialog.

Hi ,
Thanks for reply. I still have one doubt.
How do I use the UI designer to modify this screen?

For that I think I would be needing something like .form extension
file which would be having the GUI stored in it.

Basically, my question is, is there a way by which we can modify the
screens already present in the intelliJ interface using UI Designer?

Using actions I am only able to add a new item for which then a
separate new GUI Form opens. But what I want to do, like in this case,
is to make a new interface screen right inside the Configuration
screen i.e. I want that when a user clicks on the name of the new VCS
on left panel then in the right panel new components should appear
related to the configuration settings of this VCS.

So for that I was thinking of making a new panel containing the
configuration settings of my VCS say newConfigPanel.

Then add name of the new VCS in the left hand side list of the Version
Control Configuration Screen.

Add an action listener on this list so that whenever someone clicks on
the name of my VCS then the right hand panel is cleared and
newConfigPanel is added into it.

And I wanted to do it through the UI Designer.

Can you please suggest the best way to achieve this.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Thanks a lot.
It worked great.

Thanks for the detailed explanation.

Well you would have understood how poor my current plugin development skills are, so please don't mind because i'm sure i'm gonna keep you busy with more of such silly queries.

0

Please sign in to leave a comment.