Jump to content

[Question] Plugin development - custom window rather than effect?


Recommended Posts

I was looking for a way to organize layers by folders, and noticed it's a known feature.

I thought about implementing it in a custom window using a plugin, but looking at the guides I couldn't find a way to create a custom window such as the layers window.

 

Is there a way to do it and I just missed it?

If so, where?

If not, is there a way I can help with paint.net source code it self? If so, where is the right place to ask about it / get more info about it?

Link to post
Share on other sites
1 hour ago, TomFaj said:

Is there a way to do it and I just missed it?

 

No, it's not possible to implement that in a plugin.

 

1 hour ago, TomFaj said:

If not, is there a way I can help with paint.net source code it self?

 

Sorry, the source code is not available for open development.

Link to post
Share on other sites
  • 7 months later...
On 11/15/2019 at 8:33 AM, TomFaj said:

I was looking for a way to organize layers by folders, and noticed it's a known feature.

I thought about implementing it in a custom window using a plugin, but looking at the guides I couldn't find a way to create a custom window such as the layers window.

 

Is there a way to do it and I just missed it?

If so, where?

If not, is there a way I can help with paint.net source code it self? If so, where is the right place to ask about it / get more info about it?

I was told I can create a custom user control, which is what I am doing as I write this.

 

Why couldn't a custom user control display folders and layers?

 

As a user control developer I don't see any reason why not. 

 

Is not possible to operate a plug-in and operate Paint.Net's at the same time?, or multiple plug-ins at once?

 

Thanks, very new to Paint.Net extensibility, but been doing Visual Studio extensibility for a long time. 

 

 

Link to post
Share on other sites
1 hour ago, DataJuggler said:

Why couldn't a custom user control display folders and layers?

 

Assuming I correctly understand your question, plugins don't have access to layer information.

 

1 hour ago, DataJuggler said:

Is not possible to operate a plug-in and operate Paint.Net's at the same time?, or multiple plug-ins at once?

 

No. Plugins run within PDN as modal windows. When the plugin is active, everything else in PDN is disabled.

Link to post
Share on other sites
Just now, MJW said:

 

Assuming I correctly understand your question, plugins don't have access to layer information.

 

 

No. Plugins run within PDN as modal windows. When the plugin is active, everything else in PDN is disabled.

Thank you for the information. Plug-ins are fine for simple enhancements, but to be truly extensible they should expose an API. Oh well, that is why I wrote my own site, but I didn't see any reason to reinvent the wheel for things Paint.Net already does.

Link to post
Share on other sites
1 minute ago, DataJuggler said:

Plug-ins are fine for simple enhancements

 

I guess simple is a matter of degree. CodeLab is a plugin that I would hardly call a simple enhancement.

 

 

Link to post
Share on other sites

If there has to be extension to what PDN plugin supports, I would like to see plugins being able to access multiple layers. I may be biased as a inactive gmic-qt scripter that enjoys being able to work with multiple layers within GIMP/Krita. That would solve the group layer issue indirectly by temporarily treating layers as group layer, and enable batch filtering.

 

Edited by Reptillian
Link to post
Share on other sites
3 minutes ago, MJW said:

 

I guess simple is a matter of degree. CodeLab is a plugin that I would hardly call a simple enhancement.

 

 

Not Code Lab, the fact you can only run one plug - in at a time is a Paint.Net limitation, that has nothing to do with Code Lab. 

 

Code Lab has a code editor, so I am not knocking it. I prefer VS, but I understand what it takes to build something like that stand alone, much less as a plug-in, so I am sure it is the Michael Angelo of plug-ins.

 

Visual Studio is the king of extensibility, my package Regionizer that everyone hates but me, I dock in the same window as Solution Explorer and its always available to modify the current code window:

 

If I could write something like this that docks in Paint.Net, that would be better than a Plug-in model.

 

Is there a wish list for feature requests anywhere?

 

Thanks

 

 

 

 

Tool Window.png

Link to post
Share on other sites
3 minutes ago, DataJuggler said:

... my package Regionizer that everyone hates but me ...

 

The fact that its user-interface looks like it was designed by a child probably doesn't help. Seriously, get rid of those custom buttons. Human interface guidelines exist for a reason.

No offense; I'm not trying to be rude.

 

7 minutes ago, DataJuggler said:

Is there a wish list for feature requests anywhere?

 

That sort of plugin functionality has been requested many times already, so Rick is aware people want it. However, there are many other things to do with higher priority.

Link to post
Share on other sites
9 minutes ago, toe_head2001 said:

 

The fact that its user-interface looks like it was designed by a child probably doesn't help. Seriously, get rid of those custom buttons. Human interface guidelines exist for a reason.

No offense; I'm not trying to be rude.

 

 

That sort of plugin functionality has been requested many times already, so Rick is aware people want it. However, there are many other things to do with higher priority.

Well you were good at it.

Link to post
Share on other sites
21 minutes ago, toe_head2001 said:

 

"In the eye of the beholder."

That project is something I rarely ever work on. I wrote in around 2009 when I first learned WPF, then I quickly learned I hate WPF. I don't care if you don't like the buttons the project, it is just a project I use because:

1. It has a Document Formatter, that formats a C# code into regions for Private Variables, Methods, Events, Constructors and Properties.

2. It has code generation features for Add Methods and Events

3. An auto commenting system. You can have Visual Studio type comments for certain C# lines, so it saves having to write:

 

Put your mouse over this line and hit Ctrl + Shift

user = new User();

 

Comment gets written:

 

// Create a new instance of a User object

user = new User();

 

But that's not why I am here, I was just showing you a dockable window idea I wish Paint.Net has and you made fun of my buttons, which is actually the nicest thing anyone has said to me today.

 

 

Edited by DataJuggler
Link to post
Share on other sites
1 minute ago, DataJuggler said:

... you made fun of my buttons, which is actually the nicest thing anyone has said to me today.

 

I was trying to give you constructive criticism, so you can improve it. It sounds like you've realized my intention, since you think it was actually nice after all. :)

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...