2003-07-02 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-types.h: added GimpMenuPositionFunc typedef.
* app/widgets/gimpwidgets-utils.[ch]: made gimp_menu_position()
a GimpMenuPositionFunc.
* app/widgets/gimpitemfactory.[ch]
(gimp_item_factory_popup_with_data): added position_func and
position_data parameters. Use gimp_menu_position() if no
position_func is given.
* app/display/gimpdisplayshell-callbacks.c: removed
gimp_display_shell_origin_menu_popup() and call
gimp_item_factory_popup_with_data() directly from
gimp_display_shell_popup_menu(), using
gimp_display_shell_origin_menu_position() as position_func.
* app/widgets/gimpeditor.[ch]: added a GtkWidget::popup_menu()
implementation so all context menus are keyboard accessible.
Added "gpointer factory_data" member so the menu can be popped up
in the right context.
* app/gui/channels-menu.c
* app/gui/layers-menu.c
* app/gui/vectors-menu.c: make them work without an active image
since they can be popped up at any time now.
* app/gui/image-menu.c
* app/gui/toolbox-menu.c: cleanup.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpdockbook.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c: pass NULL, NULL as
position_func and position_data so the default implementation is
used.
2003-03-25 Sven Neumann <sven@gimp.org>
* Makefile.am
* gimpintl.h: removed this header file.
* gimpmiscui.c: include libgimp-intl.h.
* gimp.c (gimp_main): call setlocale() and bind to the libgimp
textdomain so that plug-ins don't need to do that explicitely.
* libgimp/stdplugins-intl.h: added the functionality that used to
live in gimpintl.h and removed the libgimp related stuff. Got rid
of the INIT_I18N_UI() macro.
* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
Plug-ins simply call INIT_I18N() once in their run() function.
* plug-ins/script-fu/script-fu-intl.h: added the functionality
that used to live in gimpintl.h and removed the libgimp related
stuff.
* app/Makefile.am
* app/gimp-intl.h: new file that defines the gettext macros for
the GIMP core.
* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.
* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-03-24 Michael Natterer <mitch@gimp.org>
* app/core/gimpimage.c: use GIMP_STOCK_IMAGE as default_stock_id.
* app/widgets/gimppreviewrendererimage.[ch]: use GimpChannelType
to specify the channel to render and convert it to the pixel index
using gimp_image_get_component_index() when needed. Use the new
red, green, blue, gray and alpha icons when layer_previews is
FALSE.
* app/widgets/gimpcomponenteditor.c: changed accordingly.
2003-03-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpeditor.[ch]: added a GimpItemFactory to the
GimpEditor struct. Added gimp_editor_create_menu().
* app/widgets/gimpcolormapeditor.[ch]
* app/widgets/gimpcomponenteditor.[ch]
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdataeditor.[ch]
* app/widgets/gimpitemtreeview.[ch]: removed item_factory pointers
and lots of inalizers which just unref'ed the item_factory. Use
gimp_editor_create_menu() instead.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimppaletteeditor.c: changed accordingly.
2003-03-19 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcomponenteditor.c: need to connect to the cell
renderer's "clicked" signal because "toggled" is not emitted any
longer.
* app/widgets/gimpdrawabletreeview.c: removed debugging output.
* app/widgets/gimpitemtreeview.[ch]: added "const gchar *reorder_desc"
to the class scruct and use it as undo_desc for DND reordering.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: set reorder_desc.
2003-03-16 Michael Natterer <mitch@gimp.org>
Added GtkTreeView versions of layers/channels/vectors:
* app/core/core-enums.[ch]: renamed GIMP_UNDO_GROUP_LAYER_PROPERTIES
to GIMP_UNDO_GROUP_ITEM_PROPERTIES.
* app/core/gimpcontainer.c (gimp_container_reorder): don't try
to reorder containers with num_children == 1.
* app/core/gimpmarshal.list: added VOID: STRING, UINT marshaller.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpchanneltreeview.[ch]
* app/widgets/gimpdrawabletreeview.[ch]
* app/widgets/gimpitemtreeview.[ch]
* app/widgets/gimplayertreeview.[ch]
* app/widgets/gimpvectorstreeview.[ch]: new widgets.
* app/widgets/gimpcellrenderertoggle.c: draw the frame only if the
cell is prelit.
* app/widgets/gimpcellrendererviewable.[ch]: added "clicked"
signal, unref the renderer in finalize(). Set the renderer's
border color to black if the cell is not selected (a hack that
saves tons of code in GimpLayerTreeView).
* app/widgets/gimpcomponenteditor.c: no need to gtk_list_store_set()
stuff we just got from the store.
* app/widgets/gimpcontainertreeview.[ch]: added lots of state used
by the new subclasses to the GimpContainerTreeView struct. Create
the GtkListStore/GtkTreeView in GObject::constructor() and only
collect parameters in init() so subclasses can modify store/view
creation. Do most of the button_press_event stuff manually and
return TRUE from the handler.
* app/widgets/gimpcontainerview.c: cleanup.
* app/widgets/gimpitemlistview.h
* app/widgets/gimpvectorslistview.h: temp hacks before they die.
* app/widgets/gimppreviewrenderer.[ch]: added
gimp_preview_renderer_update_idle() which idle-emits "update"
without invalidating.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: added constructors for the new dialogs.
* app/gui/channels-commands.c
* app/gui/channels-menu.c
* app/gui/layers-commands.c
* app/gui/layers-menu.c
* app/gui/vectors-commands.c
* app/gui/vectors-menu.c: accept tree views as callback data.
2003-03-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcomponenteditor.c: disable expensive column
auto-resizing and call gtk_tree_view_columns_autosize() in
gimp_component_editor_set_preview_size().
* app/widgets/gimpcontainertreeview.[ch]: ditto. Changed the
GtkListStore pointer in the GimpContainerTreeView struct to
GtkTreeModel.
2003-03-13 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcellrenderertoggle.c: fixed size calculation,
removed padding and the spacing between the icon and the frame
around it.
* app/widgets/gimpwidgets-utils.[ch]: added gimp_get_icon_size()
which returns the best matching icon size for a given allocation.
* app/widgets/gimpcomponenteditor.[ch]: adjust the eye icon's
size according to the preview_size.
* app/widgets/gimppreviewrenderer.c
(gimp_preview_renderer_default_render_stock): use gimp_get_icon_size()
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainertreeview.c: iterate the tree model
using a for() loop instead of nested if() { do { } while() }
stuff.
2003-03-12 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpcellrenderertoggle.[ch]: added a new cell_renderer
derived from GtkCellRendererToggle.
* app/widgets/gimpcomponenteditor.c: use the new cell_renderer.
* app/widgets/gimpcellrendererviewable.[ch]: fixed a few typos and
removed some redundant casts.
2003-03-12 Michael Natterer <mitch@gimp.org>
* app/core/core-enums.[ch]: added descriptions to the
GimpChannelType enum.
* app/core/gimpimage.[ch]: added gimp_image_get_component_index()
utility function which does the GIMP_RED_CHANNEL -> RED_PIX etc.
mapping. Use it in all component getters/setters.
* app/widgets/gimpcomponenteditor.[ch]: new widget implementing
the component list using GtkListStore/GtkTreeView. Still a bit
ugly because it uses the standard check instead of the eye icon.
* app/widgets/gimpcomponentlistitem.[ch]: removed.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpvectorslistview.c: changed accordingly.
* app/widgets/gimpchannellistview.[ch]: create a GimpComponentEditor
and removed the old GtkList based stuff.
* app/widgets/gimpitemlistview.[ch]: keep around a pointer to the
GimpMenuFactory passed to the constructor.
* app/gui/channels-menu.c (channels_menu_update): do the right
thing if "data" is a GimpComponentEditor.
* app/gui/channels-commands.[ch]: ditto. Implemented duplicating
of components and component to selection (bug #61018).