plug-ins: port python-console to new API.
This commit is contained in:
@ -21,6 +21,8 @@ gi.require_version('Gimp', '3.0')
|
|||||||
from gi.repository import Gimp
|
from gi.repository import Gimp
|
||||||
gi.require_version('Gtk', '3.0')
|
gi.require_version('Gtk', '3.0')
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
|
from gi.repository import GObject
|
||||||
|
from gi.repository import Gio
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import pyconsole
|
import pyconsole
|
||||||
@ -240,30 +242,46 @@ def run(name, n_params, params):
|
|||||||
Gtk.main()
|
Gtk.main()
|
||||||
|
|
||||||
ConsoleDialog().run()
|
ConsoleDialog().run()
|
||||||
retval = [Gimp.param_from_status (Gimp.PDBStatusType.SUCCESS)]
|
|
||||||
return len(retval), retval
|
|
||||||
|
|
||||||
def query():
|
return procedure.new_return_values(Gimp.PDBStatusType.SUCCESS, GLib.Error())
|
||||||
param = Gimp.ParamDef()
|
|
||||||
param.type = Gimp.PDBArgType.INT32
|
|
||||||
param.name = "run-mode"
|
|
||||||
param.description = _("Run mode")
|
|
||||||
|
|
||||||
Gimp.install_procedure(
|
class PythonConsole (Gimp.PlugIn):
|
||||||
PROC_NAME,
|
## Properties: parameters ##
|
||||||
N_("Interactive GIMP Python interpreter"),
|
@GObject.Property(type=Gimp.RunMode,
|
||||||
"Type in commands and see results",
|
default=Gimp.RunMode.NONINTERACTIVE,
|
||||||
"James Henstridge",
|
nick="Run mode", blurb="The run mode")
|
||||||
"James Henstridge",
|
def run_mode(self):
|
||||||
"1997-1999",
|
"""Read-write integer property."""
|
||||||
N_("_Console"),
|
return self.runmode
|
||||||
"",
|
|
||||||
|
@run_mode.setter
|
||||||
|
def run_mode(self, runmode):
|
||||||
|
self.runmode = runmode
|
||||||
|
|
||||||
|
## GimpPlugIn virtual methods ##
|
||||||
|
def do_query_procedures(self):
|
||||||
|
# Localization
|
||||||
|
self.set_translation_domain ("gimp30-python",
|
||||||
|
Gio.file_new_for_path(Gimp.locale_directory()))
|
||||||
|
|
||||||
|
return [ PROC_NAME ]
|
||||||
|
|
||||||
|
def do_create_procedure(self, name):
|
||||||
|
if name == PROC_NAME:
|
||||||
|
procedure = Gimp.Procedure.new(self, name,
|
||||||
Gimp.PDBProcType.PLUGIN,
|
Gimp.PDBProcType.PLUGIN,
|
||||||
[ param ],
|
run, None)
|
||||||
[])
|
procedure.set_menu_label(N_("_Console"))
|
||||||
Gimp.plugin_menu_register(PROC_NAME, "<Image>/Filters/Languages/Python-Fu")
|
procedure.set_documentation(N_("Interactive GIMP Python interpreter"),
|
||||||
Gimp.plugin_domain_register("gimp30-python", Gimp.locale_directory())
|
"Type in commands and see results",
|
||||||
|
"")
|
||||||
|
procedure.set_attribution("James Henstridge",
|
||||||
|
"James Henstridge",
|
||||||
|
"1997-1999")
|
||||||
|
procedure.add_argument_from_property(self, "run-mode")
|
||||||
|
procedure.add_menu_path ("<Image>/Filters/Languages/Python-Fu")
|
||||||
|
|
||||||
info = Gimp.PlugInInfo ()
|
return procedure
|
||||||
info.set_callbacks (None, None, query, run)
|
return None
|
||||||
Gimp.main_legacy (info, sys.argv)
|
|
||||||
|
Gimp.main(PythonConsole.__gtype__, sys.argv)
|
||||||
|
Reference in New Issue
Block a user