mirror of https://github.com/GNOME/gimp.git
21 Commits
Author | SHA1 | Message | Date |
---|---|---|---|
Michael Natterer | 7abaab62e0 |
added virtual function GimpViewable::get_size() and public API
2005-05-25 Michael Natterer <mitch@gimp.org> * app/core/gimpviewable.[ch]: added virtual function GimpViewable::get_size() and public API gimp_viewable_get_size() which return width and height and a boolean indicating if the viewable has a size at all. Added default implementation of GimpViewable::get_popup_size() using the new get_size() API. * app/core/gimpbrush.c * app/core/gimpbuffer.c * app/core/gimpdrawable.c * app/core/gimpimage.c * app/core/gimppattern.c: implement GimpViewable::get_size(). * app/core/gimpbrush.c * app/core/gimppattern.c: removed GimpViewable::get_popup_size() implementations, the default one is good enough. * app/core/gimpbrushpipe.c (gimp_brush_pipe_get_popup_size): redirect to gimp_viewable_get_size() instead of duplicating its return values. * app/widgets/gimpcontainertreeview.c * app/widgets/gimpview.c: allow pixbuf dragging out of any viewable that has a size. * app/widgets/gimpdrawabletreeview.c: removed pixbuf dragging code here. * app/widgets/gimpdnd.c: set gimp busy around encoding/decoding pixbufs into/from GtkSelectionData, because it can be a time consuming operation. |
|
Michael Natterer | c9d31f6e97 |
corrected API docs and fixed function parameter names to silent gtk-doc
2004-07-15 Michael Natterer <mitch@gimp.org> * app/core/gimpviewable.[ch]: corrected API docs and fixed function parameter names to silent gtk-doc warnings. |
|
Michael Natterer | 68c6e93775 |
Added GimpViewable infrastructure which enables migrating from TempBuf to
2004-05-13 Michael Natterer <mitch@gimp.org> Added GimpViewable infrastructure which enables migrating from TempBuf to GdkPixbuf for both providing and getting previews: * app/core/gimpviewable.[ch]: added new virtual functions GimpViewable::get_pixbuf() and GimpViewable::get_new_pixbuf() which are implemented exactly as get_preview() and get_new_preview() except that get_new_pixbuf() has a default implementation which creates the pixbuf from a TempBuf. Renamed public functions _get_preview_pixbuf() and _get_new_preview_pixbuf() to _get_pixbuf() and _get_new_pixbuf(). Added gimp_viewable_get_dummy_pixbuf() and use it from gimp_viewable_get_dummy_preview(). * app/core/gimpimagefile.c (gimp_imagefile_save_thumb) * app/display/gimpdisplayshell.c (gimp_display_shell_update_icon) * app/gui/resize-dialog.c (resize_dialog_new): changed accordingly. |
|
Michael Natterer | c92bedb438 |
added new function gimp_viewable_get_dummy_preview() which currently
2004-02-10 Michael Natterer <mitch@gimp.org> * app/core/gimpviewable.[ch]: added new function gimp_viewable_get_dummy_preview() which currently returns a completely white and opaque TempBuf of the requested size. Added this useless function because this is the place where to implement a nicer preview if someone volunteers. * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/image.pdb: use the new function if gimp->config->layer_previews is FALSE instead of returning no preview at all. Fixes bug #112012. Cleaned up the preview functions a bit and raised the limit for drawable previews from 128x128 to 256x256. * app/pdb/drawable_cmds.c * app/pdb/image_cmds.c * libgimp/gimpdrawable_pdb.c: regenerated. |
|
Sven Neumann | dab006d51d |
removed the unused GimpViewable parameter from
2003-11-17 Sven Neumann <sven@gimp.org> * app/core/gimpviewable.[ch]: removed the unused GimpViewable parameter from gimp_viewable_calc_preview_size(). * app/core/gimpbuffer.c * app/core/gimpimage-preview.c * app/core/gimpimagefile.c * app/core/gimpitem-preview.c * app/core/gimpundo.c * app/widgets/gimppreview.c * app/widgets/gimppreviewrendererdrawable.c * app/widgets/gimppreviewrendererimage.c: changed accordingly. * app/widgets/gimppreviewrenderer.[ch]: store the viewable_type in the preview renderer and use its default stock_id if no viewable is set. * app/core/gimpbrush.c * app/core/gimpbuffer.c * app/core/gimpgradient.c * app/core/gimppalette.c * app/core/gimppattern.c * app/core/gimpundo.c: set a default stock_id. |
|
Michael Natterer | 482aa11bfb |
added GIMP_VIEWABLE_MAX_BUTTON_SIZE GIMP_VIEWABLE_MAX_MENU_SIZE.
2003-10-09 Michael Natterer <mitch@gimp.org> * app/core/gimpviewable.h: added GIMP_VIEWABLE_MAX_BUTTON_SIZE GIMP_VIEWABLE_MAX_MENU_SIZE. * app/core/gimpviewable.c (gimp_viewable_get_popup_size): smarter popup size limitation: limit each axis to 2 * MAX_POPUP_SIZE and the area to MAX_POPUP_SIZE ^ 2. * app/core/gimpbuffer.c * app/core/gimpimage-preview.c * app/core/gimpitem-preview.c * app/text/gimpfont.c (GimpViewable::get_popup_size): removed all limitations. * app/widgets/gimpcontainermenu.c * app/widgets/gimpcontainermenuimpl.c * app/widgets/gimpmenuitem.c * app/widgets/gimpviewablebutton.c: use the new button and menu size defines. |
|
Michael Natterer | 99d93b9255 |
added vitrual function GimpViewable::get_description() which returns the
2003-04-08 Michael Natterer <mitch@gimp.org> * app/core/gimpviewable.[ch]: added vitrual function GimpViewable::get_description() which returns the string that should be presented to the user plus an optional tooltip with more information. The default implementation just returns the object's name and no tooltip. * app/core/gimpbrush.c * app/core/gimpbuffer.c * app/core/gimpimage.c * app/core/gimppalette.c * app/core/gimppattern.c * app/core/gimptoolinfo.c: implement get_description(). * app/core/gimpimagefile.[ch]: ditto. Renamed gimp_imagefile_get_description() to gimp_imagefile_get_desc_string(). Well, um, gimme a better name... * app/gui/file-open-dialog.c: changed accordingly. * app/file/file-utils.[ch]: renamed readXVThumb() to file_utils_readXVThumb(). * tools/pdbgen/pdb/fileops.pdb: changed accordingly. * app/widgets/widgets-types.h: removed GimpItemGetNameFunc typedef. * app/widgets/gimpcontainerview-utils.[ch]: removed the the actual get_name_funcs. They now live in the core as GimpViewable::get_description() implementations. * app/widgets/gimpcontainermenu.[ch] * app/widgets/gimpcontainergridview.c * app/widgets/gimpcontainermenuimpl.c * app/widgets/gimpcontainertreeview.c * app/widgets/gimpcontainerview.[ch] * app/widgets/gimpmenuitem.[ch] * app/widgets/gimpviewabledialog.c: removed get_name_func stuff and use gimp_viewable_get_description(). * app/widgets/gimpcontainermenu.[ch]: added "preview_border_width" to gimp_container_menu_set_preview_size(). * app/widgets/gimpimagedock.c: changed accordingly. * app/pdb/fileops_cmds.c: regenerated. |
|
Michael Natterer | fdb7265a7c |
#define GIMP_VIEWABLE_MAX_PREVIEW_SIZE here.
2003-04-01 Michael Natterer <mitch@gimp.org> * app/core/gimpviewable.h: #define GIMP_VIEWABLE_MAX_PREVIEW_SIZE here. * app/widgets/gimppreview.h * app/widgets/gimppreviewrenderer.h: removed the #defines here. * app/core/gimpviewable.c (gimp_preview_get[_popup]_size): check the return values to be within bounds. * app/text/gimpfont.c * app/display/gimpdisplayshell-render.c: use the new constant instead of the magic "1024". * app/core/gimpdrawable-preview.c: #include our own header file. * app/widgets/gimpbrushfactoryview.c * app/widgets/gimpcomponenteditor.c * app/widgets/gimpcontainereditor.c * app/widgets/gimpcontainergridview.c * app/widgets/gimpcontainermenu.c * app/widgets/gimpcontainermenuimpl.c * app/widgets/gimpcontainertreeview.c * app/widgets/gimpcontainerview.c * app/widgets/gimpdatafactoryview.c * app/widgets/gimpitemtreeview.c * app/widgets/gimppreview.c * app/widgets/gimppreviewrenderer.c: changed accordingly. |
|
Michael Natterer | 0614aa5329 |
added virtual function get_popup_size() which returns a boolean indicating
2003-02-27 Michael Natterer <mitch@gimp.org> * app/core/gimpviewable.[ch]: added virtual function get_popup_size() which returns a boolean indicating if a popup is needed and its size. * app/core/gimpbrush.c * app/core/gimpbrushpipe.c * app/core/gimpbuffer.c * app/core/gimpdrawable-preview.[ch] * app/core/gimpdrawable.c * app/core/gimpgradient.c * app/core/gimpimage.c * app/core/gimppalette.c * app/core/gimppattern.c * app/core/gimpundo.c: implement it. * app/widgets/gimppreview.[ch]: removed virtual functions needs_popup() and create_popup(). Removed the code which creates the popup and the popup members of the GimpPreview struct. * app/widgets/gimppreview-popup.[ch]: new files providing the utility function gimp_preview_popup_show() which can show popups from any widget, not just from a GimpPreview. Checks if a popup is needed using gimp_viewable_get_popup_size(). * app/widgets/gimpcellrendererviewable.c: show popups here too. * app/widgets/gimpbrushpreview.c * app/widgets/gimpbufferpreview.c * app/widgets/gimpdrawablepreview.c * app/widgets/gimpimagepreview.c: removed needs_popup() and create_popup() implementations. * app/widgets/gimpnavigationpreview.c: removed empty render() implementation. * app/widgets/gimpundoeditor.c: use a tree instead of a list view. * app/widgets/gimpgradientpreview.[ch] * app/widgets/gimppalettepreview.[ch] * app/widgets/gimppatternpreview.[ch]: removed because they only implemented the removed popup functions. * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpmenuitem.c * app/widgets/gimppreview-utils.c: changed accordingly |
|
Sven Neumann | 0ceeeb0254 |
added a writeable field to GimpData and set it from
2003-02-26 Sven Neumann <sven@gimp.org> * app/core/gimpdata.[ch]: added a writeable field to GimpData and set it from gimp_data_set_filename(). * app/gui/brushes-menu.c * app/gui/gradients-menu.c * app/gui/palettes-menu.c * app/gui/patterns-menu.c * app/widgets/gimpbrushfactoryview.c * app/widgets/gimpdatafactoryview.c * app/widgets/gimpgradienteditor.c: look at data->writeable when setting widgets sensitivity. * app/gui/user-install-dialog.c (user_install_dialog_create): reduce some of the dialog clutter by not showing the directories created for plug-ins. * app/core/gimpviewable.[ch]: added a default_stock_id to GimpViewableClass so we don't need to hold a copy in each instance. Added accessor functions to set and get the stock_id. * app/core/gimptoolinfo.c * app/gui/dialogs-constructors.c * app/gui/image-menu.c * app/tools/gimpcroptool.c * app/tools/gimphistogramtool.c * app/tools/gimpimagemaptool.c * app/tools/gimpmeasuretool.c * app/tools/gimptransformtool.c * app/widgets/gimpcellrendererviewable.c * app/widgets/gimppreview.c * app/widgets/gimptoolbox.c: use gimp_viewable_get_stock_id(). * app/text/gimptextlayer.c: set a text icon as default stock_id. |
|
Michael Natterer | 2d5828ec2d |
added "gchar *stock_id" to the GimpViewable struct. It is used by the GUI
2003-02-25 Michael Natterer <mitch@gimp.org> * app/core/gimpviewable.[ch]: added "gchar *stock_id" to the GimpViewable struct. It is used by the GUI if the get_preview() functions return NULL. Default to GTK_STOCK_DIALOG_QUESTION. * app/core/gimptoolinfo.[ch]: set the tool's stock_id. Removed the cached GdkPixbuf. Don't implement any preview function so the GUI uses the stock_id. * app/tools/tool_manager.c: removed GdkPixbuf creation, removed the #warning about the buggy way we created the pixbuf. * app/gui/dialogs-constructors.c * app/gui/image-menu.c * app/tools/gimpcroptool.c * app/tools/gimphistogramtool.c * app/tools/gimpimagemaptool.c * app/tools/gimpmeasuretool.c * app/tools/gimptransformtool.c * app/widgets/gimptoolbox.c: use viewable->stock_id instead of tool_info->stock_id. * app/core/gimpbrush.c * app/core/gimpgradient.c * app/core/gimpimagefile.c * app/core/gimpundo.c: simplified get_preview() implementations: - never scale previews up, only down. - don't render white or checks backgrounds but simply return TempBufs with alpha and let the preview system do its job. - don't add padding but simply return previews smaller than requested. * app/display/gimpdisplayshell-render.[ch]: added "render_blend_white", a 2d lookup table for blending on white, just as the check lookup tables. Added "render_white_buf". * app/widgets/gimppreview.[ch]: changed a lot: - don't render the preview's border into the buffer. - added "GdkGC *border_gc" and draw the preview's border in expose() using gdk_draw_rectangle(). - added "GdkPixbuf *no_preview_pixbuf" and create it in gimp_preview_real_render() if gimp_viewable_get_preview() returned NULL. - factored the actual preview rendering out to gimp_preview_render_to_buffer(). Added configurable background rendering for the preview itself and it's padding area (the area the preview is larger than the buffer returned by gimp_viewable_get_preview()). - changed gimp_preview_render_and_flush() to gimp_preview_render_preview() and added "inside_bg" and "outside_bg" parameters. - use the new render buffers for blending on white. * app/widgets/gimpbrushpreview.c * app/widgets/gimpbufferpreview.c * app/widgets/gimpdrawablepreview.c * app/widgets/gimpgradientpreview.c * app/widgets/gimpimagepreview.c * app/widgets/gimppalettepreview.c * app/widgets/gimppatternpreview.c: don't create large white TempBufs to center the previews in but simply set the TempBuf's offsets to get them centered. Simplified & cleaned up many preview render functions. Pass the correct GimpPreviewBG modes to gimp_preview_render_preview(). * app/widgets/gimpcellrendererviewable.[ch]: new GtkCellRenderer class derived from GtkCellRendererPixbuf which knows how to use gimp_viewable_get_preview_size() and renders the viewable's stock item if no preview can be created. * app/widgets/gimpcontainertreeview.c: added a GtkTreeCellDataFunc which creates the preview pixbuf if needed so we don't create it unconditionally upon item insertion. Fixed preview size assertion to use GIMP_PREVIEW_MAX_SIZE, not "64". Block "selection_changed" while reordering the selected item. * app/widgets/gimpcontainerview.c: cosmetic. * app/widgets/gimpimagefilepreview.[ch] * app/widgets/gimptoolinfopreview.[ch] * app/widgets/gimpundopreview.[ch]: removed because the default implementation is good enough. * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimppreview-utils.c: changed accordingly. * app/gui/dialogs-constructors.[ch] * app/gui/dialogs-menu.c * app/gui/dialogs.c * app/gui/image-menu.c * app/gui/toolbox-menu.c: register grid and tree view variants of the document history. Unrelated: * app/gui/gui.c (gui_exit_finish_callback): disconnect from signals earlier. * app/gui/user-install-dialog.c: create the "tool-options" subdir of the user's ~/.gimp-1.3 directory. |
|
Michael Natterer | 9ee632a656 |
Started migration from GtkList to GtkTreeView:
2003-02-21 Michael Natterer <mitch@gimp.org> Started migration from GtkList to GtkTreeView: * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpcontainertreeview.[ch]; new GimpContainerView subclass using GtkListStore/GtkTreeView. * app/widgets/widgets-enums.h: added GIMP_VIEW_TYPE_TREE to thje GimpViewType enum. * app/widgets/gimpcontainereditor.c: added GimpContainerTreeView to the switch() which selects the view type. * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.[ch] * app/gui/dialogs-menu.c * app/gui/dialogs.c: added tree view versions of many dialogs. * app/widgets/gimppreview.[ch]: removed the get_size() virtual function and gimp_preview_calc_size(). * app/core/gimpviewable.[ch]: added virtual function get_preview_size() and gimp_viewable_calc_preview_size(). * app/core/gimpbuffer.c * app/core/gimpdrawable-preview.[ch] * app/core/gimpdrawable.c * app/core/gimpgradient.c * app/core/gimpimage.c * app/core/gimppalette.c: added get_preview_size() implementations. * app/widgets/gimpbufferpreview.c * app/widgets/gimpdrawablepreview.c * app/widgets/gimpgradientpreview.c * app/widgets/gimpimagepreview.c * app/widgets/gimppalettepreview.c * app/widgets/gimpselectioneditor.c * app/widgets/gimpundopreview.c * app/display/gimpnavigationview.c: changed accordingly, removed get_size() implementations. * app/widgets/widgets-types.h: changed the first param of GimpItemGetNameFunc from GtkWidget to GObject. * app/widgets/gimpcontainerview-utils.c: accept a GimpViewable as object in the built-in get_name funcs. * app/widgets/gimpcomponentlistitem.c * app/widgets/gimpcontainergridview.c * app/widgets/gimplistitem.c * app/widgets/gimpmenuitem.c: changed accordingly. |
|
Michael Natterer | 63ca433dce |
added "gchar *name_changed_signal" to GimpViewableClass which defaults to
2002-04-29 Michael Natterer <mitch@gimp.org> * app/core/gimpviewable.[ch]: added "gchar *name_changed_signal" to GimpViewableClass which defaults to "name_changed". * app/widgets/gimplistitem.c * app/widgets/gimpmenuitem.c: connect to viewable_class->name_changed_signal instead of just "name_changed". Fixed possible UI inconsistency where the previous viewable's tooltip would have been displayed. * app/core/gimpimagefile.[ch]: set name_changed_signal to "info_changed" so views can update their tooltips correctly. Merged the separate image_state and thumb_state states into one state variable and extended the state enum. Added description strings for all states. Show the file size for all files, not only for those with a thumbnail. Enabled display of outdated thumbnails. * app/gui/file-open-dialog.c: some changes because gimp_imagefile_get_description() returns 3 instead of 2 lines of text now. * app/widgets/gimpcontainerview-utils.c: show the imagefile's description in the tooltip. * app/gui/menus.c * app/gui/documents-commands.[ch] * app/widgets/gimpdocumentview.c: added functions to remove "dangling" document history entries. Updated the context menu so all functions can be accessed through it. |
|
Michael Natterer | 6cf34005af |
include the new "paint-funcs/paint-funcs-types.h".
2001-11-28 Michael Natterer <mitch@gimp.org> * app/base/base-types.h: include the new "paint-funcs/paint-funcs-types.h". * app/paint-funcs/Makefile.am * app/paint-funcs/paint-funcs-types.h: new file. Includes "base/base-types.h". * app/paint-funcs/paint-funcs.[ch]: removed the enums here, include "paint-funcs-types.h". * app/widgets/widgets-types.h: include "display/display-types.h" * app/display/display-types.h: include "widgets/widgets-types.h". * app/tools/tools-types.h: include "display/display-types.h" * app/gui/gui-types.h: include "tools/tools-types.h". The order of namespaces/dependencies should be (but is not): (base, paint-funcs) -> (core, file, xcf, pdb) -> (widgets, display) -> tools -> gui * app/path.c: include "tools/tools-types.h". * app/core/Makefile.am * app/core/gimpimage-guides.[ch] * app/core/gimpimage-merge.[ch] * app/core/gimpimage-resize.[ch] * app/core/gimpimage-scale.[ch]: new files. * app/core/gimpimage.[ch]: removed the stuff which is in the new files. Reordered all functions in both the .h and .c files, commented the groups of functions. * app/core/gimpcontainer.c: create the handler_id using a counter, not the address of a pointer, because the address *may* be the same twice, added debugging output. * app/core/gimpviewable.[ch]: added primitive support for getting a preview GdkPixbuf. * app/nav_window.c * app/undo.c * app/undo_history.c * app/core/gimpimage-duplicate.c * app/core/gimpimage-mask.[ch] * app/display/gimpdisplay.c * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-dnd.c * app/display/gimpdisplayshell-render.c * app/display/gimpdisplayshell-scale.c * app/display/gimpdisplayshell-scroll.c * app/gui/image-commands.c * app/gui/info-window.c * app/gui/layers-commands.c * app/gui/palette-import-dialog.c * app/tools/gimpbycolorselecttool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpmeasuretool.c * app/tools/gimpmovetool.c * app/widgets/gimpcontainerview-utils.c * app/xcf/xcf-load.c: changed accordingly, some cleanup. * tools/pdbgen/pdb/guides.pdb * tools/pdbgen/pdb/image.pdb: changed accordingly, reordered functions. * app/plug_in.c: set the labels of the "Repeat" and "Re-Show" menu items to the name of the last plug-in (Fixes #50986). * app/display/gimpdisplayshell.[ch]: set the labels of "Undo" and "Redo" to the resp. undo names. Much simplified the WM icon stuff by removing most code and using gimp_viewable_get_new_preview_pixbuf(). * app/widgets/gimpbrushfactoryview.c: forgot to assign the GQuark returned by gimp_container_add_handler(). * app/pdb/guides_cmds.c * app/pdb/image_cmds.c * libgimp/gimpimage_pdb.[ch]: regenerated. |
|
Sven Neumann | 757017a8e2 |
bumped version number to 1.3.1. Require Glib/GTK+-1.3.11 and Pango-0.22.
2001-11-23 Sven Neumann <sven@gimp.org> * configure.in: bumped version number to 1.3.1. Require Glib/GTK+-1.3.11 and Pango-0.22. Removed GDK_DISABLE_COMPAT_H and GTK_DISABLE_COMPAT_H from our default CFLAGS since they don't exist any longer. * RELEASE-TO-CVS.patch: removed since the glib/gtk+ API is supposed to be frozen now. * HACKING: removed reference to RELEASE-TO-CVS.patch * app/gui/menus.c * app/tools/gimptexttool.c: applied RELEASE-TO-CVS.patch to conform to the new GTK+/Pango API. * app/core/Makefile.am: generate marshallers with gimp_marshal prefix. * app/core/gimpmarshal.list: added all marshallers we use. * app/core/gimpmarshal.[ch]: regenerated. * app/[lots of .c files]: use gimp_marshal_* for all marshallers. * data/images/ * app/app_procs.c * app/gui/splash.c: * libgimpbase/Makefile.am * libgimpbase/gimpbase.h * libgimpbase/gimputils.[ch]: removed since they are no longer needed. * app/gimprc.c * plug-ins/common/ps.c * plug-ins/gdyntext/gdyntext.c * plug-ins/gdyntext/gdyntextcompat.c * plug-ins/gfig/gfig.c * plug-ins/gflare/gflare.c * plug-ins/script-fu/script-fu-scripts.c: use glib functions instead of gimp_strescape() and gimpstrcompress(). * cleaned up all header files: use G_BEGIN_DECLS/G_END_DECLS, declared all _get_type function as G_GNUC_CONST. * tools/pdbgen/enumcode.pl * tools/pdbgen/lib.pl: make them generate header files using G_BEGIN_DECLS/G_END_DECLS. * pixmaps/Makefile.am * pixmaps/wilber3.xpm: removed ... * data/images/tips_wilber.png: ... and added here as PNG * app/gui/tips-dialog.c: load the Wilber on demand using GdkPixbuf. * data/images/gimp_splash.ppm: removed ... * data/images/gimp_splash.png: ... and added as PNG * app/app_procs.c * app/gui/splash.[ch]: load the splash image using GdkPixbuf. * app/gui/about-dialog.c: sink the GtkPreview. |
|
Michael Natterer | 7de0a2cbdd |
removed a gdk_pointer_ungrab(), it was only there because of buggy gtk+
2001-08-07 Michael Natterer <mitch@gimp.org> * app/disp_callbacks.c: removed a gdk_pointer_ungrab(), it was only there because of buggy gtk+ 1.2.x. Cosmetic changes. * app/undo.c: use G_N_ELEMENTS() instead of sizeof(array)/sizeof(element). * app/gui/menus.c: more stock icons, moved the item_factory creation into the menus_get_foo_factory() functions, use G_N_ELEMENTS(). This file badly needs to be spit up... * app/core/gimpviewable.[ch] * app/widgets/gimpcontainermenu.[ch] * app/widgets/gimpcontainerview.[ch] * app/widgets/gimplistitem.[ch] * app/widgets/gimpmenuitem.[ch] * app/widgets/gimppreview.[ch]: replaced tons of signal emissions by virtual functions which are *much* faster. Moreover, all of them are private implementation bits of the specific class hierarchy and are useless or even dangerous to be exposed as signals. * app/widgets/gimpdrawablelistitem.c: removed the drag_motion() implementation as it's already done in the parent class. * app/widgets/gimplistitem.[ch] * app/widgets/gimplayerlistitem.c: redraw the widget when the drop_type has changed. Fixes drop_indicator drawing. |
|
Michael Natterer | 06b16890ba |
Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
2001-07-24 Michael Natterer <mitch@gimp.org> Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning) * configure.in: require glib/gtk+ >= 1.3.7, commented out the gtkxmhtml stuff. From now on, you will need glib, pango, atk and gtk+ HEAD from CVS to hack or use GIMP HEAD. Beware, it crashes randomly :) * app/core/Makefile.am * app/core/gimpmarshal.list: new file plus rules to generate gimpmarshal.[ch] from it. * app/core/* * app/tools/* * app/widgets/* * libgimpwidgets/*: started to use the glib object system. All core/ objects are still gtk objects however. All signals are created using g_signal_new(). There are many gtk+ artefacts left. Finally, we will _not_ use the gtk_signal_foo() wrappers and friends any more. * app/colormaps.c * app/devices.[ch] * app/disp_callbacks.c * app/errorconsole.c * app/file-save.[ch] * app/interface.c * app/module_db.c * app/nav_window.c * app/ops_buttons.c * app/scroll.c * app/user_install.c * app/gui/about-dialog.c * app/gui/brush-editor.c * app/gui/brushes-commands.c * app/gui/color-notebook.c * app/gui/colormap-dialog.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/file-commands.c * app/gui/file-dialog-utils.c * app/gui/file-new-dialog.c * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.c * app/gui/gradient-editor.c * app/gui/gradients-commands.c * app/gui/image-commands.c * app/gui/info-dialog.[ch] * app/gui/layer-select.c * app/gui/layers-commands.c * app/gui/menus.c * app/gui/offset-dialog.c * app/gui/palette-editor.c * app/gui/palettes-commands.c * app/gui/patterns-commands.c * app/gui/preferences-dialog.c * app/gui/resize-dialog.[ch] * app/gui/splash.c * app/gui/tips-dialog.c * app/gui/tool-options-dialog.c * app/gui/toolbox.c * app/gui/tools-commands.c * libgimp/gimpbrushmenu.c * libgimp/gimpmenu.c * libgimp/gimppatternmenu.c * libgimp/gimpui.c * libgimpbase/gimpenv.c: tons and tons of changes like "const gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete and currently disables), lots of s/gtk_signal/g_signal/, removal/replacement of deprecated stuff, s/GtkSignalFunc/GCallback/ and lots of small changes and fixes while I was on it, zillions of warnings left... * modules/Makefile.am: disabled the water color selector temporarily (XInput issues). * plug-ins/Makefile.am * plug-ins/common/.cvsignore * plug-ins/common/Makefile.am * plug-ins/common/plugin-defs.pl: simply excluded all plug-ins which did not build (including Script-Fu). They are trivial to fix. |
|
Michael Natterer | 3ef20cd842 |
major cleanup. After being finished, I decided that it needs to be
2001-06-18 Michael Natterer <mitch@gimp.org> * app/nav_window.[ch]: major cleanup. After being finished, I decided that it needs to be factored out to a widget (see below), so like 90% of this file will go away soon. * app/apptypes.h: added opaque NavigationDialog typedef. * app/gdisplay.[ch]: Added gdisplay_selection_visibility() which is called from gdisplays_selection_visibility(). Capitalized the SelectionControl enum values. Cleaned up the GDisplay struct and it's initialisation while i was on it. * app/gimage.c: gimage_size_changed_handler(): removed stuff which is now done by GimpImage itself. * app/scale.c * app/scroll.c: also update the navigation popup, not only the dialog. * app/selection.[ch]: major indentation & cleanup attack. Maybe found the "Selection vanishes" bug (the timeout id was assinged to a gint, not a _guint_). * app/undo.c: s/gimp_image_size_changed/gimp_viweable_size_changed/ * app/core/gimpdrawable.c: invalidate the image's preview from our "invalidate_preview" implementation. This means that the image's preview is invalidated way too often currently, which cries for some general freeze/thaw mechanism on the GimpViewable level. (Note that previews are rendered in the idle loop, so this is not really a major performance impact, it's just ugly). * app/core/gimpimage.[ch]: removed the "size_changed" signal... * app/core/gimpviewable.[ch]: ...and added it here. * app/core/gimplayer.c: invalidate_preview(): always chain up, also if it's a floating selection. * app/gui/info-dialog.[ch] * app/gui/info-window.c: minor cleanups. * app/gui/preferences-dialog.c: no need to invalidate the image after we have invalidated all it's layers. * app/core/gimpimage-mask.c * app/gui/commands.c * app/tools/gimpeditselectiontool.c * app/tools/gimpinktool.c * app/tools/gimpmovetool.c * app/tools/gimppainttool.c: capitalized the SelectionCommand enum values. * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpnavigationpreview.[ch]: new widget. * app/widgets/gimppreview.[ch]: added a non-working non-dot-for-dot mode. Added xres/yres params to the gimp_preview_calc_size() helper function. Cache the "size" value which was passed to the simple function variants (gimp_preview_new() and gimp_preview_set_size()) so we can re-calculate the preview's extents on the underlying viewable's "size_changed" signal and on gimp_preview_set_viewable(). * app/widgets/gimpdrawablepreview.c * app/widgets/gimpimagepreview.c: changed accordingly. |
|
Michael Natterer | 90e8b4d790 |
cleanup.
2001-04-22 Michael Natterer <mitch@gimp.org> * app/Makefile.am: cleanup. * app/interface.c: #include "gimpui.h" * app/gui/dialogs-constructors.[ch] * app/gui/dialogs.c * app/gui/menus.c * app/gui/test-commands.[ch]: changes for the image menu below. * app/apptypes.h * app/widgets/Makefile.am * app/widgets/gimpcontainermenu.[ch] * app/widgets/gimpcontainermenuimpl.[ch]: new widgets. The actual implemtation lives in a separate file because gimpcontainermenu.c's code is identical to gimpcontainerview.c's except for the base class. This will become an interface with Gtk 2.0. * app/widgets/gimpimagedock.[ch]: a dock with an image menu. The pages still don't follow the context correctly. * app/widgets/gimpmenuitem.[ch]: a menu item with a preview. * app/widgets/gimpdialogfactory.[ch]: pass a dock constructor to the constructor and provide a method to create a new dock within this factory's context. * app/widgets/gimpdock.[ch]: removed the constructor because we create only image docks now. Put the vbox into a main_vbox (which also contains the image menu). * app/widgets/gimpdockbook.[ch]: create new docks with the dialog factory. * app/gimpcontainer.[ch] * app/gimpdata.[ch] * app/gimpdatafactory.[ch] * app/gimpdatalist.[ch] * app/gimplist.[ch] * app/gimpviewable.[ch] * app/widgets/gimpbrushpreview.[ch] * app/widgets/gimpcontainergridview.[ch] * app/widgets/gimpcontainerlistview.[ch] * app/widgets/gimpcontainerview.[ch] * app/widgets/gimpdatafactoryview.[ch] * app/widgets/gimpdockable.[ch] * app/widgets/gimpdrawablelistitem.[ch] * app/widgets/gimpdrawablelistview.[ch] * app/widgets/gimpdrawablepreview.[ch] * app/widgets/gimplayerlistitem.[ch] * app/widgets/gimplayerlistview.[ch] * app/widgets/gimplistitem.[ch] * app/widgets/gimppalettepreview.[ch] * app/widgets/gimppatternpreview.[ch] * app/widgets/gimppreview.[ch]: ass-sign some copyrights. |
|
Michael Natterer | 5ffb34db38 |
V2001-02-07 Michael Natterer <mitch@gimp.org>
* app/Makefile.am * app/gimpdrawable-preview.[ch]: new files formerly known as gimpdrawablepreview.[ch]. This is a new naming scheme for methods of objects which live outside their object's file. The old name implied a derived object (and is in fact now taken by a GimpPreview subclass, see below). Further candidates for renaming are e.g. gimpdrawable-invert.[ch], gimpimage-convert.[ch] etc. Finaly, the main objects (image, drawable) will go to their own directories together with their subclasses. * app/apptypes.h: added typedefs for the new objects: * app/gimpbrushpreview.[ch] * app/gimppatternpreview.[ch]: new subclasses of GimpPreview. * app/gimpdrawablepreview.[ch]: contains a subclass of GimpPreview now. * app/gimpviewable.[ch]: renamed the virtual functions to "get_preview" and "get_new_preview" to avoid confusion with the new GimpPreview subclasses. * app/gimppreview.[ch]: virtualized "create_preview" and "create_popup". * app/gimpmarshal.[ch]: new marsaller for GimpPreview. * app/channels_dialog.c * app/fileops.c * app/gimpbrush.c * app/gimpdnd.c * app/gimpdrawable.c * app/gimpimage.c * app/gimppattern.c * app/layer_select.c * app/layers_dialog.c * app/lc_dialog.c * app/nav_window.c * app/palette_import.c * app/undo_history.c * app/pdb/drawable_cmds.c * app/pdb/image_cmds.c * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/image.pdb: changed accordingly. |
|
Michael Natterer | f029c6b59f |
app/Makefile.am app/apptypes.h new object. Everything that can have a
2001-02-04 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/apptypes.h * app/gimpviewable.[ch]: new object. Everything that can have a preview will be a GimpViewable. The virtual functions are "invalidate_preview", "preview" and "preview_new". * app/gimpmarshal.[ch]: new marshaller needed for the viewable. * app/gimpdrawable.[ch] * app/gimpimage.[ch]: derived from GimpViewable. Removed the preview stuff from the public interface. Made a single boolean out of GimpImage's "comp_preview_valid" array because we have only one copposite preview. * app/gimplayer.c: made the preview stuff private. * app/gimppreviewcache.[ch]: removed gimp_preview_scale()... * app/temp_buf.[ch]: ...and added it as temp_buf_scale() here. * app/gimpdrawablepreview.[ch]: is a private method of GimpDrawable now. * app/channels_dialog.c * app/convert.c * app/drawable.c * app/fileops.c * app/floating_sel.c * app/gimage.c * app/gimage_mask.c * app/gimpchannel.c * app/gimpcontainer.c * app/gimpdnd.c * app/layer_select.c * app/layers_dialog.c * app/lc_dialog.c * app/nav_window.c * app/palette_import.c * app/undo.c * app/undo_history.c * app/pdb/drawable_cmds.c * app/pdb/image_cmds.c * app/tools/crop.c * app/tools/edit_selection.c * app/tools/ink.c * app/tools/paint_core.c * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/image.pdb * po/POTFILES.in: changed accordingly. |