gimp/plug-ins/dbbrowser
Michael Natterer 3fb934b2a4 Allow plug-ins to register menu icons. Fixes bug #120500.
2004-05-18  Michael Natterer  <mitch@gimp.org>

	Allow plug-ins to register menu icons. Fixes bug #120500.

	* app/core/core-enums.[ch]: added enum GimpIconType which can
	be one of { STOCK_ID, IMAGE_FILE, INLINE_PIXBUF }.

	* app/config/gimpconfigwriter.[ch] (gimp_config_writer_data)
	* app/config/gimpscanner.[ch] (gimp_scanner_parse_data): new
	functions which write/parse raw binary data. Needed for storing
	inline pixbufs in pluginrc.

	* app/config/gimpconfigwriter.[ch] (gimp_config_writer_identifier):
	new function which writes out an unquoted and unescaped string.

	* app/plug-in/plug-in-proc.[ch] (struct PlugInProcDef): added
	new members "icon_type", "icon_data_length" and "icon_data".
	Reordered members so file_proc specific stuff is at the end.

	(plug_in_proc_def_get_stock_id)
	(plug_in_proc_def_get_pixbuf): new functions to access the
	procedure's icon.

	* app/plug-in/plug-in-rc.c: save/restore the registered icons.

	* app/actions/file-dialog-actions.c
	* app/actions/plug-in-actions.c: set the action's stock ID from
	the procedure's stock ID.

	* app/widgets/gimppluginaction.c
	(gimp_plug_in_action_connect_proxy): if the procedure provides a
	pixbuf, set it as icon for the menu item.

	* app/menus/file-dialog-menu.[ch]
	* app/menus/file-open-menu.c
	* app/menus/file-save-menu.c
	* app/xcf/xcf.c: changed accordingly.

	* tools/pdbgen/pdb/plug_in.pdb (plugin_icon_register): new PDB
	function which can be called during query().

	* tools/pdbgen/enums.pl
	* app/pdb/internal_procs.c
	* app/pdb/plug_in_cmds.c
	* libgimp/gimpenums.h
	* libgimp/gimpplugin_pdb.c
	* libgimp/gimpplugin_pdb.h
	* plug-ins/pygimp/gimpenums.py
	* plug-ins/script-fu/script-fu-constants.c: regenerated.

	* plug-ins/common/plugindetails.c
	* plug-ins/common/uniteditor.c
	* plug-ins/print/print.c: register stock_id icons.

	* plug-ins/common/screenshot.c: register an inline_pixbuf icon for
	testing purposes (used emblem-camera.png from gnome-icon-theme).

	* app/actions/dialogs-actions.c
	* app/actions/file-actions.c: unrelated: added some more icons
	to menu items.
2004-05-18 21:19:43 +00:00
..
.cvsignore The .cvsignores should have .libs too 1998-01-09 09:53:59 +00:00
dbbrowser.c plug-ins/FractalExplorer/FractalExplorer.c 2004-05-07 13:15:52 +00:00
dbbrowser_utils.c added help IDs for the libgimp export and unit dialogs. 2004-01-20 17:10:16 +00:00
dbbrowser_utils.h removed our own action_area API and use GtkDialog's one. Create all 2003-11-06 15:27:05 +00:00
gimpprocbrowser.c added help IDs for the libgimp export and unit dialogs. 2004-01-20 17:10:16 +00:00
gimpprocbrowser.h removed our own action_area API and use GtkDialog's one. Create all 2003-11-06 15:27:05 +00:00
gimpprocview.c added help IDs for the libgimp export and unit dialogs. 2004-01-20 17:10:16 +00:00
Makefile.am modernized, made a lot of things m4 macros, and made versioning a lot more 2004-01-22 03:51:46 +00:00
plugin-browser.c Allow plug-ins to register menu icons. Fixes bug #120500. 2004-05-18 21:19:43 +00:00
procedure-browser.c plug-ins/FractalExplorer/FractalExplorer.c 2004-05-07 13:15:52 +00:00
README modernized, made a lot of things m4 macros, and made versioning a lot more 2004-01-22 03:51:46 +00:00

Well, this README is hopelessly outdated, we'll leave it in for laughs.
-Yosh

dbbrowser: a development tool for the GIMP
version 0.08 - 26th sept 1997

Programming by Thomas Noel <thomas@minet.net> (mail to him only, please)
Documentation and insane comments by Olivier Tharan <olive@minet.net>
Wise Comments And Good Laughs (TM) by Olivier Fontenelle <fonto@minet.net>



INSTALL, BUGS, TODO, CHANGELOG : see below


The actual and original README (c) Olivier Tharan (he's a friend of mine, yep)

Let me introduce myself... 
--------------------------
My name is dbbrowser, but I have been known in my youth as dblist, almost as
of version 0.05! I am an extension for the Gimp and my purpose is to display a
list of all the procedures that have registered themselves in the procedure
database. The main thing I do is a gimp_query_procedure and a pair of
gimp_query_database. 

What can this marvel do ? 
-------------------------
The dbbrowser window is divided into two parts. On the left, you have a
scrolling list containing the names of all the procedures registered within
Gimp. When you click on one of them, its name, description and author(s) are
displayed on the right side, altogether with the types and parameters the
procedure takes and what it returns. 

All this is rather brilliantly completed by two search buttons, one for a
by-name search, the other one for a by-blurb search. Just enter any regexp you
have in mind in the text widget beneath the list and click on the appropriate
button; the results of the search are automagically displayed in the scrolling
list. 

Even fancier: script-fu-console integration 
-------------------------------------------
dbbrowser comes handy with a patch for script-fu-console.c which adds a button
named ``Browse'' to the right of the console text widget. Clicking on the
button launches dbbrowser from which you still can choose any procedure. But
in the dbbrowser window, a fourth button has appeared, appropriately named
``Apply'', for its goal is to take the selected procedure and its arguments,
and insert them into the script-fu console command line. It would save
developers a great deal of pain to debug their scripts (or even to develop
some!)

More information : http://www.minet.net/~thomas/dbbrowser/
----------------


(the following had been written by me, so, it's not *really* in english :)

INSTALL

These files go to gimp-xx.xx.xx/plug-ins/dbbrowser. That does not
erase the files "Makefile*", so the plug-in is easy to re-compile : just
do a  "make" in this directory. Then, "make install" (as root)
to install the plug-in. 

If it breaks, wait for GIMP 1.0 :) (or mail to <thomas@minet.net>)

BUGS/TODO

- refresh problem for the scrolled list (as in gtkfileselection)
- add the "help" field (I wait for a "usable" gtk_text)
- arg... well... my english is too bad to explain my others ideas :)

CHANGELOG

26 Sept : 0.08
* delete all "gtk_widget_hide/destroy" sequences.
* change the internal list structure (use gtk_objet_get/set_user_data)
* try to optimize the first drawing (is it a success ?)

25 June : 0.07
* first public release (0.07)

--
Bon c'est pas tout ca les gars, mais j'ai mal a la tete, personne n'a
une aspirine ? Non ? Bon.