Re: [Gimp-developer] When writing a GIMP Plugin using Python, can the Plugin display a GIMP based Dialog box informing the user if they haven't provided an argument?
When you write a Gimp plugin in Python, either you do your whole interactive UI with PyGTK, or you let Gimp auto-generate a dialog to collect parameters from the user before calling you. Of course the second solution is a bit less user-friendly(*) but in many scripts, doing the whole UI would represent the larger and most complex part of the code. (*) though not as bad as it looks, you can normally expect passed image/layers/files/colors to exist since they have been specified using specific dialogs. On 5/12/19 5:50 PM, Michal Vašut wrote: You should IMHO prevent performing an operation when the input is invalid. Yes, it's definitely easier to throw an exception, but those are IMHO rather to deal with some unexpected errors. On Sat, May 11, 2019, 23:44 Ofnuts mailto:ofn...@gmx.com>> wrote: If the plugin is for public use, gimp.message() is a better solution because it will display in a dialog box or in the Gimp message console depending on user preferences. You don't really need to drag in all the GTK support just to display an error message. On the other hand, I don't see how you pass a list of files to a plugin.. If this is a batch script, things are a bit different, but then there may be no UI at all, and the message would be better printed to the console. ___ gimp-developer-list mailing list List address:gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list
Re: [Gimp-developer] When writing a GIMP Plugin using Python, can the Plugin display a GIMP based Dialog box informing the user if they haven't provided an argument?
You should IMHO prevent performing an operation when the input is invalid. Yes, it's definitely easier to throw an exception, but those are IMHO rather to deal with some unexpected errors. On Sat, May 11, 2019, 23:44 Ofnuts wrote: > If the plugin is for public use, gimp.message() is a better solution > because it will display in a dialog box or in the Gimp message console > depending on user preferences. You don't really need to drag in all the > GTK support just to display an error message. > > On the other hand, I don't see how you pass a list of files to a > plugin.. If this is a batch script, things are a bit different, but then > there may be no UI at all, and the message would be better printed to > the console. > > On 5/9/19 1:32 AM, Craig Sanders via gimp-developer-list wrote: > > Ahhh. I didn't even think that it might be able to be done that way - but > > your solution is exactly what I was looking for. Thankyou very much. > > > > I was thinking that there might be a GIMP Procedure such as; > > > > pdb.display_dialog(...) > > > > or something similar. > > > > After I submitted my question, I found a snippet of Python code on the > > Internet which did what I needed, but nowhere near as nicely as your > > answer. When I modified this snippet of Python code, it looked as > follows; > > > > import gtk > > > > # A whole lot of code has been left out here!!! > > > > errDialog = gtk.MessageDialog( > > > > None, > > > > 0, > > > > gtk.MESSAGE_ERROR, > > > > gtk.BUTTONS_OK, > > > > "You must specify at least one file." > > > > ) > > > > errDialog.show_all() > > > > errDialog.run() > > > > # And a whole lot of code has been left out here!!! > > > > Thanks once again for your assistance. It is most appreciated. > > > > On Thu, May 9, 2019 at 1:22 AM Carol Spears > wrote: > > > >> > >> On Wednesday, May 8, 2019, Craig Sanders via gimp-developer-list < > >> gimp-developer-list@gnome.org> wrote: > >> > >>> Hello. > >>> > >>> I am writing a GIMP Plugin using Python, and this Plugin expects to > >>> receive > >>> a list of files as one of its arguments. My question is, if the user > >>> doesn't provide any files as arguments, can my Plugin display a GIMP > based > >>> Dialog box informing them of this? > >>> > >> gimp.message(You did not provide files) > >> > >> The message part should be in quotes probably > >> > > ___ > > gimp-developer-list mailing list > > List address:gimp-developer-list@gnome.org > > List membership: > https://mail.gnome.org/mailman/listinfo/gimp-developer-list > > List archives: https://mail.gnome.org/archives/gimp-developer-list > > > ___ > gimp-developer-list mailing list > List address:gimp-developer-list@gnome.org > List membership: > https://mail.gnome.org/mailman/listinfo/gimp-developer-list > List archives: https://mail.gnome.org/archives/gimp-developer-list > ___ gimp-developer-list mailing list List address:gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list
Re: [Gimp-developer] When writing a GIMP Plugin using Python, can the Plugin display a GIMP based Dialog box informing the user if they haven't provided an argument?
If the plugin is for public use, gimp.message() is a better solution because it will display in a dialog box or in the Gimp message console depending on user preferences. You don't really need to drag in all the GTK support just to display an error message. On the other hand, I don't see how you pass a list of files to a plugin.. If this is a batch script, things are a bit different, but then there may be no UI at all, and the message would be better printed to the console. On 5/9/19 1:32 AM, Craig Sanders via gimp-developer-list wrote: Ahhh. I didn't even think that it might be able to be done that way - but your solution is exactly what I was looking for. Thankyou very much. I was thinking that there might be a GIMP Procedure such as; pdb.display_dialog(...) or something similar. After I submitted my question, I found a snippet of Python code on the Internet which did what I needed, but nowhere near as nicely as your answer. When I modified this snippet of Python code, it looked as follows; import gtk # A whole lot of code has been left out here!!! errDialog = gtk.MessageDialog( None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "You must specify at least one file." ) errDialog.show_all() errDialog.run() # And a whole lot of code has been left out here!!! Thanks once again for your assistance. It is most appreciated. On Thu, May 9, 2019 at 1:22 AM Carol Spears wrote: On Wednesday, May 8, 2019, Craig Sanders via gimp-developer-list < gimp-developer-list@gnome.org> wrote: Hello. I am writing a GIMP Plugin using Python, and this Plugin expects to receive a list of files as one of its arguments. My question is, if the user doesn't provide any files as arguments, can my Plugin display a GIMP based Dialog box informing them of this? gimp.message(You did not provide files) The message part should be in quotes probably ___ gimp-developer-list mailing list List address:gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list ___ gimp-developer-list mailing list List address:gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list
Re: [Gimp-developer] When writing a GIMP Plugin using Python, can the Plugin display a GIMP based Dialog box informing the user if they haven't provided an argument?
Ahhh. I didn't even think that it might be able to be done that way - but your solution is exactly what I was looking for. Thankyou very much. I was thinking that there might be a GIMP Procedure such as; pdb.display_dialog(...) or something similar. After I submitted my question, I found a snippet of Python code on the Internet which did what I needed, but nowhere near as nicely as your answer. When I modified this snippet of Python code, it looked as follows; import gtk # A whole lot of code has been left out here!!! errDialog = gtk.MessageDialog( None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "You must specify at least one file." ) errDialog.show_all() errDialog.run() # And a whole lot of code has been left out here!!! Thanks once again for your assistance. It is most appreciated. On Thu, May 9, 2019 at 1:22 AM Carol Spears wrote: > > > On Wednesday, May 8, 2019, Craig Sanders via gimp-developer-list < > gimp-developer-list@gnome.org> wrote: > >> Hello. >> >> I am writing a GIMP Plugin using Python, and this Plugin expects to >> receive >> a list of files as one of its arguments. My question is, if the user >> doesn't provide any files as arguments, can my Plugin display a GIMP based >> Dialog box informing them of this? >> > > gimp.message(You did not provide files) > > The message part should be in quotes probably > ___ gimp-developer-list mailing list List address:gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list
Re: [Gimp-developer] When writing a GIMP Plugin using Python, can the Plugin display a GIMP based Dialog box informing the user if they haven't provided an argument?
On Wednesday, May 8, 2019, Craig Sanders via gimp-developer-list < gimp-developer-list@gnome.org> wrote: > Hello. > > I am writing a GIMP Plugin using Python, and this Plugin expects to receive > a list of files as one of its arguments. My question is, if the user > doesn't provide any files as arguments, can my Plugin display a GIMP based > Dialog box informing them of this? > gimp.message(You did not provide files) The message part should be in quotes probably ___ gimp-developer-list mailing list List address:gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list
[Gimp-developer] When writing a GIMP Plugin using Python, can the Plugin display a GIMP based Dialog box informing the user if they haven't provided an argument?
Hello. I am writing a GIMP Plugin using Python, and this Plugin expects to receive a list of files as one of its arguments. My question is, if the user doesn't provide any files as arguments, can my Plugin display a GIMP based Dialog box informing them of this? My Plugin is working as I expect, however I currently have it implemented so that it throws an Exception if it doesn't receive a list of files as one of its arguments. GIMP catches this Exception and displays its own Dialog box informing the user that an Exception has been thrown and caught. However, I would like to catch this Exception within my Plugin, and present a Dialog box which is slightly more user-friendly than the one I am currently seeing from GIMP. After all, not all users know (or even care to know) what an Exception is. Any help on this matter would be immensely appreciated. Thanks in advance. ___ gimp-developer-list mailing list List address:gimp-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list List archives: https://mail.gnome.org/archives/gimp-developer-list