Gimp/tools/pdbgen/pdb/help.pdb
Michael Natterer 1f2c75e507 Completed the new help infrastructure. Needs some polishing but basically
2003-08-28  Michael Natterer  <mitch@gimp.org>

	Completed the new help infrastructure. Needs some polishing but
	basically works as proposed:

	* tools/pdbgen/pdb/plug_in.pdb: changed gimp_plugin_help_register()
	to take a "domain_name" (which is the XML namespace) and a
	"domain_uri" (which is the root of the plug-in's help pages).

	* tools/pdbgen/pdb/help.pdb: changed gimp_help() to take help_id
	instead of a non-UTF-8 help_path.

	* app/plug-in/plug-in-def.[ch]
	* app/plug-in/plug-in-proc.[ch]
	* app/plug-in/plug-in-rc.c
	* app/plug-in/plug-ins.[ch]: remember the plug-ins' help_domain
	and help_uri instead of just help_path. Changed all plug-in APIs
	to reflect this change.

	* app/widgets/gimphelp.[ch]: on helpbrowser startup, pass it the
	whole list of help domains. The actual help request is now made
	using the browser's temporary procedure.

	* app/core/gimp.h
	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/plug-in-menus.[ch]
	* app/widgets/gimpitemfactory.c: changed accordingly.

	* app/pdb/help_cmds.c
	* app/pdb/plug_in_cmds.c
	* libgimp/gimphelp_pdb.[ch]
	* libgimp/gimpplugin_pdb.[ch]: regenerated.

	Changed the help broser to load the pages according to the
	new system:

	- moved the browser window stuff to dialog.[ch]
	- moved help domain handling to domain.[ch]
	- added gimp-help.xml parsing to domain.c
	- tons of cleanup

	* plug-ins/helpbrowser/Makefile.am
	* plug-ins/helpbrowser/dialog.[ch]
	* plug-ins/helpbrowser/domain.[ch]: new files.
	* plug-ins/helpbrowser/helpbrowser.c: chopped.
2003-08-28 18:49:11 +00:00

60 lines
2 KiB
Text

# The GIMP -- an image manipulation program
# Copyright (C) 1995 Spencer Kimball and Peter Mattis
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# "Perlized" from C source by Sven Neumann <sven@gimp.org>
sub pdb_misc {
$author = $copyright = 'Michael Natterer <mitch@gimp.org>';
$date = '2000';
}
sub help {
$blurb = "Load a help page.";
$help = <<HELP;
This procedure loads the specified help page into the helpbrowser or what ever
is configured as help viewer. The location of the help page is given relative
to the help rootdir. The help rootdir is determined from the prog_name: if
prog_name is NULL, we use the help rootdir of the main GIMP installation,
if the plug-in's full executable name is passed as prog_name, the GIMP
will use this information to look up the help path the plug-in has registered
before with gimp-plugin-help-register.
HELP
&pdb_misc;
@inargs = (
{ name => 'prog_name', type => 'string', no_validate => 1,
desc => "The plug-in's executable name or an empty string" },
{ name => 'help_id', type => 'string',
desc => 'The help page\'s ID' }
);
%invoke = (
success => 'TRUE',
code => 'gimp_help (gimp, plug_ins_help_domain (gimp, prog_name, NULL), help_id);'
);
}
@headers = qw(<sys/types.h> "plug-in/plug-ins.h" "widgets/gimphelp.h");
@procs = qw(help);
%exports = (app => [@procs], lib => [@procs]);
$desc = 'Help procedures';
1;