mirror of https://github.com/GNOME/gimp.git
55 Commits
Author | SHA1 | Message | Date |
---|---|---|---|
Michael Natterer | b36590e67f |
app/display/Makefile.am new files implementing canvas padding, fullscreen
2003-03-11 Michael Natterer <mitch@gimp.org> * app/display/Makefile.am * app/display/gimpdisplayshell-appearance.[ch]: new files implementing canvas padding, fullscreen toggling and utility functions to show/hide GimpDisplayShell components (menubar, statusbar, ...) Added the possibility to show/hide the scrollbars. * app/display/gimpdisplayshell.[ch]: added struct GimpDisplayShellVisibility which stores the GUI components' visibility. Added two such structs to the GimpDisplayShell struct: one for normal mode and one for fullscreen mode. Default to "everything invisible" for fullscreen. Fixes bug #74383. * app/display/gimpdisplayshell-callbacks.c: fiddle with the two visibility structs when toggling fullscreen. * app/display/gimpdisplayshell-handlers.c: #include "gimpdisplayshell-appearance.h" * app/gui/image-menu.c * app/gui/view-commands.[ch]: added a "Show Scrollbars" menu entry, use the new widget show/hide utility functions. |
|
Sven Neumann | 2553b3cab8 |
app/display/gimpdisplayshell-callbacks.c app/display/gimpdisplayshell.[ch]
2003-03-11 Sven Neumann <sven@gimp.org> * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell.[ch] * app/gui/image-menu.c * app/gui/view-commands.c: rewrote the fullscreen mode implementation so that it doesn't loop infinitely. |
|
Sven Neumann | 632b7f8ac6 |
app/display/gimpdisplayshell-callbacks.c app/display/gimpdisplayshell.[ch]
2003-03-11 Sven Neumann <sven@gimp.org> * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell.[ch] * app/gui/image-menu.c * app/gui/view-commands.[ch]: added a fullscreen mode for the image display by means of gtk_window_fullscreen/unfullscreen. Depends on the window manager implementing _NET_WM_STATE_FULLSCREEN. * app/tools/gimpcroptool.c: made gimp_crop_tool_draw() static. * app/tools/gimptexttool.[ch]: derive from GimpDrawTool, no real changes yet. |
|
Michael Natterer | f6a95200f2 |
replaced the "gboolean title_dirty" in GimpDisplayShell by "guint
2003-02-25 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplayshell.[ch]: replaced the "gboolean title_dirty" in GimpDisplayShell by "guint title_idle_id". (gimp_display_shell_flush): Call gimp_display_shell_update_title() unconditionally. Don't call info_window_update(). * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-scale.c: ditto. * app/display/gimpdisplayshell-title.c: update the title in an idle function. Call info_window_update() from the idle function. |
|
Michael Natterer | 5f5e0bf5d6 |
Refactored the GimpDisplayShell update/draw code:
2003-02-21 Michael Natterer <mitch@gimp.org> Refactored the GimpDisplayShell update/draw code: * app/display/gimpdisplayshell.[ch]: removed the display_areas list which used to hold the GimpAreas to update. Instead, simply queue draws using gtk_widget_queue_draw[_area]() in gimp_display_shell_expose_area(), _expose_full() and _expose_guide(). Made all _draw() functions public because they are now called from the "expose_event" handler. Removed rendering from gimp_display_shell_flush() because stuff is now flushed automatically by the gtk idle renderer. * app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_canvas_expose): draw everything here (the code removed from gimp_display_shell_flush() without the GimpArea list). (gimp_display_shell_canvas_tool_events): return "return_val", not TRUE if gimp->busy is TRUE. Fixes unupdated (windowk bg color) display areas. Fixes bug #106595. * app/display/gimpdisplay.c * app/display/gimpdisplayshell-cursor.c * app/display/gimpdisplayshell-filter-dialog.c * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-selection.c * app/gui/view-commands.c: changed accordingly. Removed calls to gimp_display_shell_flush() all over the place. * app/display/gimpdisplayshell-scroll.c: replaced lots of code by a single call to gdk_window_scroll(). |
|
Michael Natterer | 6f29b766e8 |
app/gui/brushes-menu.[ch] app/gui/buffers-menu.[ch]
2003-01-13 Michael Natterer <mitch@gimp.org> * app/gui/brushes-menu.[ch] * app/gui/buffers-menu.[ch] * app/gui/channels-menu.[ch] * app/gui/colormap-editor-menu.[ch] * app/gui/dialogs-menu.[ch] * app/gui/documents-menu.[ch] * app/gui/file-open-menu.[ch] * app/gui/file-save-menu.[ch] * app/gui/gradient-editor-menu.[ch] * app/gui/gradients-menu.[ch] * app/gui/image-menu.[ch] * app/gui/images-menu.[ch] * app/gui/layers-menu.[ch] * app/gui/palette-editor-menu.[ch] * app/gui/palettes-menu.[ch] * app/gui/patterns-menu.[ch] * app/gui/qmask-menu.[ch] * app/gui/toolbox-menu.[ch] * app/gui/vectors-menu.[ch]: new files, one per GimpItemFactory, containing the menu entries and their setup and update funcs. * app/gui/brushes-commands.[ch] * app/gui/patterns-commands.[ch]: removed because they contained only update funcs. * app/gui/Makefile.am: changed accordingly. Split the huge SOURCES list in smaller ones for menus and dialogs. * app/gui/menus.[ch]: removed the menu entries and setup funcs. Added MENU_SEPARATOR() and MENU_BRANCH() macros to the header. Made some utility functions public. * app/display/gimpdisplayshell.[ch] * app/gui/buffers-commands.[ch] * app/gui/channels-commands.[ch] * app/gui/colormap-editor-commands.[ch] * app/gui/dialogs-commands.[ch] * app/gui/documents-commands.[ch] * app/gui/gradient-editor-commands.[ch] * app/gui/gradients-commands.[ch] * app/gui/images-commands.[ch] * app/gui/layers-commands.[ch] * app/gui/palette-editor-commands.[ch] * app/gui/palettes-commands.[ch] * app/gui/qmask-commands.[ch] * app/gui/vectors-commands.[ch]: removed the update funcs. * app/gui/plug-in-menus.[ch]: renamed plug_in_set_menu_sensitivity() to plug_in_menus_update(). Cleanup. * app/gui/paths-dialog.[ch]: added the <Paths> entries here so they will go away together with these files. * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c: removed useless #includes. |
|
Michael Natterer | 8d86ec25e0 |
Move away from creating all item_factories statically in menus_init() but
2003-01-10 Michael Natterer <mitch@gimp.org> Move away from creating all item_factories statically in menus_init() but create a new one for each place where one is needed: * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpmenufactory.[ch]: new factory which creates and configures the GimpItemFactories it knows about on-the-fly. * app/widgets/gimpitemfactory.[ch]: added gimp_item_factory_update() which calls the "update_func". Added "gboolean update_on_popup" so item_factories can be configured to require manual updates (used for the <Image> factory). * app/gui/menus.[ch]: create a "global_menu_factory" and register all menus we have with it. Added various setup functions which do stuff like adding the "Open Recent" menu or reorder plug-in menu entries. Removed the debugging stuff... * app/gui/Makefile.am * app/gui/debug-commands.[ch]: ...and added it here. * app/gui/gui.c: create the <Toolbox>, the popup-<Image> and the <Paths> factories here because they are still global. * app/gui/plug-in-menus.[ch]: changed the "image_factory" parameters to "item_factory" and create/update the entries for the passed item_factory only. Makes the whole stuff much more straightforward. * app/plug-in/plug-ins.c: don't call plug_in_make_menu(). * app/display/gimpdisplay.[ch] * app/display/gimpdisplayshell.[ch]: added "menu_factory" and "popup_factory" parameters to gimp_display_new() and gimp_display_shell_new(). Create the menubar_factory and the qmask_factory dynamically. Pass the shell, not a Gimp to the QMask callbacks. Changed gimp_display_shell_set_menu_sensitivity() to gimp_display_shell_menu_update() and don't call it directly (it's a GimpItemFactory update_func now). Call gimp_item_factory_update() on the resp. factories instead. * app/gui/qmask-commands.c * app/display/gimpdisplayshell-callbacks.c * app/tools/gimpimagemaptool.c: changed accordingly. * app/widgets/gimpbrusheditor.c * app/widgets/gimpbrushfactoryview.[ch] * app/widgets/gimpbufferview.[ch] * app/widgets/gimpcolormapeditor.[ch] * app/widgets/gimpcontainereditor.[ch] * app/widgets/gimpdataeditor.[ch] * app/widgets/gimpdatafactoryview.[ch] * app/widgets/gimpdialogfactory.[ch] * app/widgets/gimpdock.c * app/widgets/gimpdockbook.[ch] * app/widgets/gimpdocumentview.[ch] * app/widgets/gimpgradienteditor.[ch] * app/widgets/gimpimageview.[ch] * app/widgets/gimpitemlistview.[ch] * app/widgets/gimppaletteeditor.[ch]: pass around lots of GimpMenuFactory pointers and menu_identifiers so all views can create their item_factories themselves. Unref the factories when they are no longer needed because they belong to the views now. * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/dialogs.c * app/gui/brush-select.c * app/gui/gradient-select.c * app/gui/palette-select.c * app/gui/pattern-select.c: changed accordingly. * app/gui/file-dialog-utils.[ch] (file_dialog_new): require menu_factory and menu_identifier parameters. * app/gui/file-open-dialog.[ch] * app/gui/file-save-dialog.[ch]: removed file_*_dialog_menu_init() (they went to menus.c as setup_funcs). Added file_*_dialog_set_type() and moved the <Load> and <Save> factory callbacks to file-commands.c * app/gui/file-commands.[ch]: changed accordingly. * app/gui/view-commands.c: changed the statusbar, menubar, rulers and guides callbacks to do their job only if the setting has actually changed. Don't update whole item factories afterwards. Instead, just change the state of the items that actually need update. Unrelated: * app/core/gimpchannel.c (gimp_channel_init): set "bounds_known" and friends to FALSE since we don't know that the new channel will be empty (fixes QMask and probably other stuff). * app/gui/image-commands.c * app/gui/vectors-commands.c: cleanup. |
|
Sven Neumann | ec6c98656e |
bumped the version number to 1.3.12.
2003-01-03 Sven Neumann <sven@gimp.org> * configure.in: bumped the version number to 1.3.12. * app/display/Makefile.am * app/display/gimpdisplayshell-cursor.[ch] * app/display/gimpdisplayshell-title.[ch] * app/display/gimpdisplayshell-transform.[ch]: new files with code that used to live in gimpdisplayshell.c. * app/display/gimpdisplay-foreach.c * app/display/gimpdisplay.c * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-selection.c * app/display/gimpdisplayshell.[ch] * app/tools/gimpbezierselecttool.c * app/tools/gimpcroptool.c * app/tools/gimpdrawtool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpfuzzyselecttool.c * app/tools/gimpmovetool.c * app/tools/gimptool.c: changed accordingly. |
|
Michael Natterer | 4c39ac3337 |
renamed paramater "update_popup" to "popup_only" because it's less
2002-12-14 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplayshell.[ch] (gimp_display_shell_set_menu_sensitivity): renamed paramater "update_popup" to "popup_only" because it's less confusing. Fixed the function to update the popup correctly for shell = NULL. |
|
Michael Natterer | f03b6b6d75 |
Changed menubar showing/hiding to work like rulers and statusbar:
2002-12-14 Michael Natterer <mitch@gimp.org> Changed menubar showing/hiding to work like rulers and statusbar: * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: renamed "menu_bar_per_display" to "show_menubar". Removed GIMP_PARAM_RESTART flag. * app/display/gimpdisplayshell.[ch]: chaged shell->item_factory to shell->menubar_factory plus shell->popup_factory and always create both of them. Added "gboolean update_popup" to gimp_display_shell_set_menu_sensitivity() and call it recursively with update_popup == TRUE if the display it is called for is the active one. * app/display/gimpdisplay.c * app/display/gimpdisplayshell-callbacks.c: changed accordinly. * app/gui/gui.c: ditto. Set the menu sensitivity of new displays. * app/gui/menus.c: added "<Image>/View/Toggle Menubar" menu item. Moved some factory initialization code from gimpdisplayshell.c here. * app/gui/view-commands.[ch]: added view_toggle_menubar_cmd_callback(). Update the menu sensitivity manually in all callbacks which don't call gimp_image_flush(). * app/gui/preferences-dialog.c (prefs_dialog_new): moved the "Show Menubar" toggle to the "Appearance" frame of the "Image Windows" page. Added an own frame for the display zoom/scaling settings. (preferences_dialog_create): Attach config_copy and config_orig using g_object_set_data_full() instead of just g_object_set_data() plus a g_object_weak_ref(). (prefs_default_resolution_callback): set the resolution for both fields of the "size_sizeentry" instead of setting it for "x" twice. |
|
Michael Natterer | 4ce4adf87d |
removed gimp_config_values_equal().
2002-11-23 Michael Natterer <mitch@gimp.org> * app/config/gimpconfig-utils.[ch]: removed gimp_config_values_equal(). * app/config/gimpconfig-serialize.c * app/config/gimpconfig.c: use g_param_values_cmp() instead so our registered compare methods are used. * app/config/gimpdisplayconfig.[ch]: added "canvas_padding_mode" and "canvas_padding_color" properties. * app/display/display-enums.[ch]: added enum GimpDisplayPaddingMode which can be one of { theme, light check, dark check, custom }. * app/display/gimpdisplay.h * app/display/gimpdisplay-handlers.c: removed cached monitor resolution values... * app/display/gimpdisplayshell.[ch]: ...and added them here. Added padding state as in GimpDisplayConfig. Added utility function gimp_display_shell_set_padding() which hides all the details. Added the new padding modes to the padding color button's context menu. * app/display/gimpdisplayshell-callbacks.[ch]: don't fiddle with colors manually but use gimp_display_shell_set_padding() in realize() and in the color button callbacks. * app/display/gimpdisplayshell-handlers.c: connect to notify::monitor-[xy]resolution and notify::canvas-padding-[mode|color] and update accordingly. * app/widgets/gimppropwidgets.[ch]: added gimp_prop_color_button_new(). * app/widgets/gimpdialogfactory.[ch]: added gimp_dialog_factories_session_clear() (unimplemented). * app/gui/preferences-dialog.c: added widgets for padding mode and color. Removed some callbacks by connecting the functions they called directly. Cleanup. |
|
Michael Natterer | 72d496e637 |
keep a pointer to the nav_ebox in the GimpDisplayShell struct.
2002-11-22 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplayshell.[ch]: keep a pointer to the nav_ebox in the GimpDisplayShell struct. * app/display/gimpdisplayshell-handlers.c: connect to notify::navigation-preview-size and set the button insensitive for GIMP_PREVIEW_SIZE_NONE. Also destroy an existing nav_popup so it will be automatically re-created on the next click. Connect to notify::image-title-format and notify::image-status-format and update them accordingly. * app/display/gimpnavigationview.c: don't try any voodoo in gimp_navigation_view_init(). Removed the notify handler. Set the popup's size in gimp_navigation_view_new_private(). * app/gui/preferences-dialog.c: removed the #if 0'ed combo boxes and added an own sub-page for the image title and status format. Select the possible values using a GtkTreeView. Some more cleanup. |
|
Sven Neumann | 073e533a8a |
Finally landed the new GimpConfig based gimprc parser. It's not finished
2002-11-18 Sven Neumann <sven@gimp.org> Finally landed the new GimpConfig based gimprc parser. It's not finished yet but we need to start somewhere. This release removes the old gimprc.[ch] files. The gimprc format changes slightly, but the changes are minimal. The Preferences dialog is temporarily disabled since it still needs to be ported. If you are are afraid, stay away from CVS for a few days ;-) * app/Makefile.am * app/gimprc.[ch]: removed the old gimprc system. * app/base/Makefile.am * app/base/base-config.[ch]: removed these files in favor of config/gimpbaseconfig.[ch]. * app/core/Makefile.am * app/core/gimpcoreconfig.[ch]: removed these files in favor of config/gimpcoreconfig.[ch]. * app/config/Makefile.am * app/config/config-types.h: moved typedefs into this new file. * app/config/gimpbaseconfig.[ch] * app/config/gimpcoreconfig.[ch] * app/config/gimpdisplayconfig.[ch] * app/config/gimpguiconfig.[ch] * app/config/gimprc.[ch] * app/config/test-config.c: brought into shape for real use. * app/base/base-types.h: include config/config-types.h here. Added a global GimpBaseConfig *base_config variable to ease migration. * app/gui/Makefile.am: temporarily disabled the preferences dialog. * app/app_procs.c * app/undo.c * app/undo_history.c * app/base/base.[ch] * app/base/gimphistogram.c * app/base/pixel-processor.c * app/base/temp-buf.c * app/base/tile-cache.c * app/core/core-types.h * app/core/gimp-documents.c * app/core/gimp.c * app/core/gimpbrush.c * app/core/gimpbrushgenerated.c * app/core/gimpcontext.c * app/core/gimpdrawable-transform.c * app/core/gimpimage-new.c * app/core/gimpimage.c * app/core/gimpimagefile.c * app/core/gimpmodules.c * app/core/gimppattern.c * app/display/Makefile.am * app/display/gimpdisplay-handlers.c * app/display/gimpdisplay.[ch] * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-layer-select.c * app/display/gimpdisplayshell-render.c * app/display/gimpdisplayshell-scale.c * app/display/gimpdisplayshell-scroll.c * app/display/gimpdisplayshell-selection.c * app/display/gimpdisplayshell.[ch] * app/display/gimpnavigationview.c * app/file/file-save.c * app/gui/device-status-dialog.c * app/gui/dialogs-constructors.c * app/gui/file-commands.c * app/gui/file-new-dialog.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/gui.c * app/gui/menus.c * app/gui/paths-dialog.c * app/gui/resize-dialog.c * app/gui/session.c * app/gui/test-commands.c * app/gui/tips-dialog.c * app/gui/tips-dialog.h * app/gui/user-install-dialog.c * app/gui/view-commands.c * app/paint/gimppaintcore.c * app/plug-in/plug-in.c * app/plug-in/plug-ins.c * app/tools/gimpbezierselecttool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpcroptool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpfuzzyselecttool.c * app/tools/gimpinktool.c * app/tools/gimpmagnifytool.c * app/tools/gimpmeasuretool.c * app/tools/gimppainttool.c * app/tools/gimppathtool.c * app/tools/gimptexttool.[ch] * app/tools/selection_options.c * app/tools/tools.c * app/tools/transform_options.c * app/widgets/gimphelp.c * app/widgets/gimpitemfactory.c * app/widgets/gimpselectioneditor.c * app/xcf/xcf-load.c * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/gimprc.pdb * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/transform_tools.pdb: use the new config system instead of the old gimprc stuff. * etc/gimprc.in * etc/gimprc_user.in: adapted to the new gimprc format. Will update the man-page later... * app/pdb/fileops_cmds.c * app/pdb/gimprc_cmds.c * app/pdb/image_cmds.c * app/pdb/layer_cmds.c * app/pdb/transform_tools_cmds.c * libgimp/gimpgimprc_pdb.c: regenerated. |
|
Michael Natterer | fb092e7f88 |
added new signal "reconnect" which is emitted when the underlying image
2002-09-27 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplayshell.[ch]: added new signal "reconnect" which is emitted when the underlying image changes (happens on "Revert"). Set the sensitivity of the new "Toggle QuickMask" menu item. Don't configure the QMask button in gimp_display_shell_new(). * app/display/gimpdisplayshell-handlers.c (gimp_display_shell_connect): configure the QMask button here so it's consistent after "Revert". * app/display/gimpnavigationview.c: connect to the shell's "reconnect" signal and update accordingly. |
|
Michael Natterer | fa537489d7 |
removed gdisp->scale, gdisp->dot_for_dot, the scaling marcos and the
2002-06-27 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplay.[ch]: removed gdisp->scale, gdisp->dot_for_dot, the scaling marcos and the gdisplay_[un]transform[_f]() functions. * app/display/gimpdisplayshell.[ch]: added them here. Named the transform functions gimp_display_shell_[un]transform_xy[_f](). Made the gimp_display_shell_[un]transform_coords() functions copy all values of the GimpCoords struct, not just x and y. * app/display/gimpstatusbar.[ch]: keep a pointer to GimpDisplayShell, not GimpDisplay. * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-render.c * app/display/gimpdisplayshell-scale.c * app/display/gimpdisplayshell-scroll.c * app/display/gimpdisplayshell-selection.c * app/display/gimpnavigationview.c * app/gui/image-commands.c * app/gui/info-window.c * app/gui/select-commands.c * app/gui/view-commands.c * app/tools/gimpbezierselecttool.c * app/tools/gimpcroptool.c * app/tools/gimpdrawtool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpmagnifytool.c * app/tools/gimpmeasuretool.c * app/tools/gimpmovetool.c * app/tools/gimppainttool.c * app/tools/gimppathtool.c * app/tools/gimprotatetool.c * app/tools/gimpscaletool.c * app/tools/gimpvectortool.c: changed accordingly. * app/gui/layers-commands.c: if(gimage->selection_mask) is always TRUE, use if(!gimp_image_mask_is_empty(gimage)) instead. * app/tools/gimpfuzzyselecttool.[ch]: moved global variables to the object struct. |
|
Michael Natterer | 7cc03fd30d |
New feature: pressing <space> in the image window temporary switches to
2002-05-15 Michael Natterer <mitch@gimp.org> New feature: pressing <space> in the image window temporary switches to the move tool (so that releasing <space> switches back to the old tool). * app/display/gimpdisplayshell.[ch]: added booleans shell->space_pressed and shell->space_release_pending. Connect more events to gimp_display_shell_events() so they can be blocked there if needed. * app/display/gimpdisplayshell-callbacks.c: beautified and uglified at the same time: beauty: - moved the checks if gimp is busy or button1 is down to gimp_display_shell_events() so they don't clutter gimp_display_shell_canvas_tool_events(). - factored tool modifer updating out to a separate function. - indentation/spacing cleanup. ugly: - added more static variables to track the state of <space> - added the actual move tool toggling code. |
|
Michael Natterer | b6c56ff9ac |
app/Makefile.am removed.
2002-05-07 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/nav_window.[ch]: removed. * app/display/Makefile.am * app/display/display-types.h * app/display/gimpnavigationview.[ch]: new widget partially based on the removed nav_window. * libgimpproxy/gimpproxytypes.h: regnenerated. * app/display/gimpdisplay-foreach.[ch]: removed gdisplays_nav_preview_resized(). The new config system will allow us to get notified of changes. * app/display/gimpdisplayshell.[ch]: added "scaled" and "scrolled" signals. * app/display/gimpdisplayshell-scale.c * app/display/gimpdisplayshell-scroll.c: emit "scaled" and "scrolled" appropriately. Removed nav_window stuff. * app/display/gimpdisplay.c * app/display/gimpdisplayshell-callbacks.c: changed accordingly. * app/gui/dialogs-constructors.[ch] * app/gui/dialogs.c * app/gui/menus.c: made the navigation dialog dockable. * app/gui/view-commands.c: changed the nav_dialog callback accordingly. * app/gui/preferences-dialog.c * app/gimprc.[ch] * app/config/gimpguiconfig.[ch]: removed "nav_window_per_display" as it's now a dockable and it's state is saved in sessionrc. * app/widgets/gimpnavigationpreview.[ch]: added context sensitive mouse cursors. * app/widgets/gimpimagedock.c: made it capable of holding display-related dialogs (like GimpNavigationView) by connecting to the context's "display_changed" signal. * app/widgets/widgets-types.h: removed inclusion of "display/display-types.h". * app/widgets/gimpbufferview.c * app/widgets/gimpchannellistview.c * app/widgets/gimpcolormapeditor.c * app/widgets/gimpcomponentlistitem.c * app/widgets/gimpdocumentview.c * app/widgets/gimpdrawablelistitem.c * app/widgets/gimpdrawablelistview.c * app/widgets/gimpitemlistitem.c * app/widgets/gimpitemlistview.c * app/widgets/gimplayerlistitem.c * app/widgets/gimplayerlistview.c * app/widgets/gimppreview.c * app/widgets/gimpvectorslistview.c: warn about inclusion of "display/display-types.h". |
|
Michael Natterer | e302aeb17d |
pass an additional "Gimp" pointer to
2002-03-20 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplayshell.[ch]: pass an additional "Gimp" pointer to gimp_display_shell_set_menu_sensitivity() so we can correctly set the state of some items even without a display. Set the sensitivity of much more items. Never set submenus insensitive so the user can always browse the whole menu (according to the GNOME HIG). * app/image_map.c * app/display/gimpdisplay.c * app/gui/gui.c: changed accordingly. * app/gui/view-commands.[ch]: added a callback for the display filters dialog because display releted dialogs are going to be handled different soon. * app/gui/menus.c: use the new callback. |
|
Michael Natterer | 1b2008567a |
renamed shell->cd_list to shell->filters and shell->cd_ui to
2002-03-15 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplayshell.[ch]: renamed shell->cd_list to shell->filters and shell->cd_ui to shell->filters_dialog. * app/display/gimpdisplayshell-filter-dialog.c * app/display/gimpdisplayshell-filter.c * app/display/gimpdisplayshell-render.c * app/gui/dialogs-constructors.c: changed accordingly. * app/display/gimpdisplayshell-filter-dialog.c: cleaned up the GUI. Still deprecated GtkCLists around... * app/widgets/gimpeditor.[ch]: added gimp_editor_new(). * app/gui/image-commands.[ch] * app/gui/menus.c: added "<Image>/Image/Crop Image" because i was sick of clicking 20 times just to crop to the current selection. * themes/Default/gtkrc: removed "gimp-dock-style" and changed "gimp-gtk-icons" to "gimp-default-style". Set our widget class style property defaults there. |
|
Michael Natterer | 5e17408c84 |
Re-enabled the display filters. They work exactly the same way as before
2002-03-14 Michael Natterer <mitch@gimp.org> Re-enabled the display filters. They work exactly the same way as before except for the color_area pseudo-display. More stuff to come... * app/display/Makefile.am: build them again. * app/display/gimpdisplayshell-filter-dialog.[ch] * app/display/gimpdisplayshell-filter.[ch]: changed to the new namespace, work on GimpDisplayShell instead of GimpDisplay. * app/display/gimpdisplayshell-render.c * app/display/gimpdisplayshell.[ch]: changed accordingly. * app/gui/dialogs-constructors.c: enabled the dialog constructor. * app/gui/gui.c: call the init() function. * app/gui/menus.c: enabled the menu entry, but moved it to <Image>/View. Moved "Undo History..." to <Image>/Image. * modules/Makefile.am: build and install the modules. * modules/cdisplay_gamma.c * modules/cdisplay_highcontrast.c: made them compile with minimal changes. Unrelated: * app/undo_history.c: connect to the image's "disconnect", not "destroy" signal. * app/tools/gimpselectiontool.c: mask out the irrelevant parts of the "state" passed to the modifier_key() func, so tool_options button toggling works with other modifiers (e.g. num_lock) pressed. |
|
Michael Natterer | 91ada34484 |
made gimp_display_shell_update_icon() public, removed the update_icon
2002-02-17 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplayshell.[ch]: made gimp_display_shell_update_icon() public, removed the update_icon signal handler and idle function. * app/display/gimpdisplayshell-handlers.c: added the update_icon stuff here so it get's properly dis- and reconnected. |
|
Michael Natterer | 758de05b72 |
made the gimp_object_get_memsize() debugging output configurable by a
2002-02-06 Michael Natterer <mitch@gimp.org> * app/core/gimpobject.c: made the gimp_object_get_memsize() debugging output configurable by a global "gimp_debug_memsize" boolean. * app/display/gimpdisplay.c: removed duplicated prototype. * app/display/gimpdisplayshell.[ch]: renamed the various cursor functions to be more consistent and shorter. Compress window title updates by adding a "gboolean title_dirty" and updating the title in gimp_display_shell_flush(). Added "%m" (memory size) to the possible title string substitutions. * app/display/gimpdisplay-foreach.c * app/display/gimpdisplayshell-handlers.c * app/tools/gimpfuzzyselecttool.c * app/tools/gimptool.c: changed accordingly. * app/display/gimpdisplayshell-callbacks.c: forgot to grab the pointer when dragging guides from the rulers. Coincidentially, this also fixes the buggy offset between guide and mouse pointer... Cleaned up the main tool event callback a but more. * app/widgets/gimppreview.c * app/gui/commands.c: set the new global "gimp_debug_memsize" toggle to TRUE while calling gimp_object_get_memsize(). * app/gui/preferences-dialog.c: added a image title example containing the new "%m" feature. * docs/gimprc-1.3.5.in: document "%m" in the manpage. * app/tools/gimpbezierselecttool.c: reordered some statements. * app/tools/gimpdrawtool.[ch]: store the GimpDisplay passed to gimp_draw_tool_start() in draw_tool->gdisp and use it for coordinate transfomration. This way we can paint on a display which is not tool->gdisp. * app/tools/gimppainttool.c: changed the gimp_draw_tool_foo() calls needed to make the straight_line preview work in a way that does not interfere with paint_tool subclasses which want to do their own drawing (like the clone tool). Also changed the paint_tools PRETRACE_PAINT and POSTTRACE_PAINT flags usage in a way that subclasses can use them without major hackery: don't simply wrap gimp_display_flush_now() with PRETRACE/POSTTRACE calls, but wrap the actual painting calls, so subclasses are able to do useful things with paint_tool->*_coords. * app/tools/gimpclonetool.c: removed poking around in draw_tool internals and simply suspend()/resume() it in PRETRACE_PAINT/POSTTRACE_PAINT to get the clone_src indicator drawn correctly. |
|
Michael Natterer | 0440bbbf5a |
app/display/Makefile.am app/display/display-types.h new widget derived
2002-02-03 Michael Natterer <mitch@gimp.org> * app/display/Makefile.am * app/display/display-types.h * app/display/gimpstatusbar.[ch]: new widget derived from GtkStatusbar. Contains the coordinates display, a progress bar which is also used for status message display and a cancel button. Added a simplified API for pushing/popping messages which takes a string as context_id and does the conversion to guint internally on each call. * app/display/gimpdisplayshell.[ch]: removed the status bar code. * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-scale.c * app/gui/view-commands.c * app/gimpprogress.c: changed accordingly. Removed knowledge about GimpDisplayShell from tools: * app/tools/gimptool.[ch]: added gimp_tool_push_status() and gimp_tool_pop_status() so tools don't need to fiddle with display details. * app/tools/gimpdrawtool.[ch]: pass a GimpDisplay instead of a GdkWindow to gimp_draw_tool_start() (the window passed was always gdisp->shell->canvas->window). * app/tools/gimpbezierselecttool.c * app/tools/gimpblendtool.[ch] * app/tools/gimpclonetool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpcroptool.[ch] * app/tools/gimpeditselectiontool.c * app/tools/gimpfreeselecttool.c * app/tools/gimpfuzzyselecttool.c * app/tools/gimpiscissorstool.c * app/tools/gimpmagnifytool.c * app/tools/gimpmeasuretool.[ch] * app/tools/gimpmovetool.c * app/tools/gimppainttool.[ch] * app/tools/gimppathtool.c * app/tools/gimprectselecttool.[ch] * app/tools/gimptransformtool.c: changed accordingly: - pass GimpDisplay to gimp_draw_tool_start(). - use GimpTool's new status push/pop functions. - removed the statusbar context_id from all tool structs. * app/gui/dialogs-constructors.[ch]: a bit cleanup in preparation of dockable editor dialogs. |
|
Michael Natterer | 9dd403f7b2 |
CPPFLAGS: added -DGTK_DISABLE_DEPRECATED
2002-01-25 Michael Natterer <mitch@gimp.org> * configure.in: CPPFLAGS: added -DGTK_DISABLE_DEPRECATED * libgimpwidgets/gimpdialog.c: still use the deprecated gtk_window_set_policy() but spit out a #warning. * app/widgets/widgets-types.h * app/widgets/gimpitemfactory.[ch]: made it a GtkItemFactory subclass. This way we can reproduce the effect of gtk_item_factory_get_from_path() which is deprectated for good reasons. For GIMP, using it its perfectly OK since we only have one item factory per "<prefix>". * app/widgets/gimpbrushfactoryview.[ch] * app/widgets/gimpbufferview.[ch] * app/widgets/gimpcontainereditor.[ch] * app/widgets/gimpdatafactoryview.[ch] * app/widgets/gimpdialogfactory.[ch] * app/widgets/gimpdock.c * app/widgets/gimpdockbook.c * app/widgets/gimpdocumentview.[ch] * app/widgets/gimpdrawablelistview.[ch] * app/widgets/gimppreview.c * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell.[ch]: pass around GimpItemFactory pointers instead of "const gchar *" item factory identifiers. Replaced gtk_window_set_policy() by gtk_window_set_resizable() and other recommended stuff. * app/gui/about-dialog.c * app/gui/dialogs-constructors.c * app/gui/dialogs.c * app/gui/file-open-dialog.c * app/gui/file-save-dialog.c * app/gui/gradient-editor.c * app/gui/menus.c * app/gui/offset-dialog.c * app/gui/splash.c * app/gui/tips-dialog.c * app/gui/toolbox.c: lots of s/gtk_item_factory_from_path/gimp_item_factory_from_path/, gtk_window_set_policy() replacements, misc fixes. * plug-ins/gdyntext/charmap_window.c * plug-ins/gdyntext/gdyntext_ui.c * plug-ins/gdyntext/message_window.c * plug-ins/imagemap/imap_main.c: replaced gtk_window_set_policy(). |
|
Sven Neumann | 4ba6db4e94 |
Michael Natterer <mitch@gimp.org>
2001-12-03 Sven Neumann <sven@gimp.org> Michael Natterer <mitch@gimp.org> * app/paint-funcs/paint-funcs-mmx.h: removed redefiniton of HAS_ALPHA macro. * app/core/gimp.c: reverted Daniel's change; it doesn't make the code simpler, only more error-prone. * app/gui/info-dialog.h * app/gui/resize-dialog.h * app/core/gimp.h * app/core/gimpbrushgenerated.h * app/core/gimpbrushpipe.h * app/core/gimpchannel.[ch] * app/core/gimpcontainer.h * app/core/gimpcoreconfig.h * app/core/gimpdata.h * app/core/gimpdatafactory.[ch] * app/core/gimpdrawable-blend.c * app/core/gimpdrawable.[ch] * app/core/gimpimage.h * app/core/gimpimagefile.h * app/core/gimplayer.h * app/core/gimplayermask.h * app/core/gimpmoduleinfo.h * app/core/gimppalette.h * app/core/gimpundo.h * app/widgets/gimpbrushfactoryview.h * app/widgets/gimpconstrainedhwrapbox.h * app/widgets/gimpcontainermenu.h * app/widgets/gimpcontainerview.h * app/widgets/gimpdialogfactory.h * app/widgets/gimpimagedock.h * app/widgets/gimplistitem.h * app/widgets/gimpmenuitem.h * app/widgets/gimpnavigationpreview.h * app/widgets/gimppreview.h * app/gimprc.h * app/pathP.h * app/tools/gimpbezierselecttool.h * app/tools/gimpcolorbalancetool.h * app/tools/gimpcurvestool.h * app/tools/gimpdodgeburntool.c * app/tools/gimpfreeselecttool.h * app/tools/gimphuesaturationtool.h * app/tools/gimpinktool-blob.h * app/tools/gimpinktool.h * app/tools/gimpiscissorstool.h * app/tools/gimpmagnifytool.h * app/tools/gimpmeasuretool.h * app/tools/gimppainttool.h * app/tools/gimppathtool.h * app/tools/gimprectselecttool.h * app/tools/gimpthresholdtool.h * app/tools/gimptool.h * app/tools/gimptransformtool.h * app/base/base-config.h * app/base/gimplut.[ch] * app/base/pixel-region.h * app/base/pixel-surround.[ch] * app/base/temp-buf.[ch] * app/base/tile-manager-private.h * app/base/tile-manager.[ch] * app/base/tile-private.h * app/base/tile.[ch] * app/display/gimpdisplay.h * app/display/gimpdisplayshell-selection.h * app/display/gimpdisplayshell.h * app/gui/brush-select.h * app/gui/gradient-editor.h * app/gui/gradient-select.h: reverted most of Daniel's changes. There's no reason to use unsigned integers here and in lots of places it is even wrong. Then it's way too early to convert gbooleans into bitfields. This change may make sense in a few places but can happen later when the API has settled and the code is more stable. * app/gimprc.c: reverted Daniel's change. This is a GCC-ism and this code is about to die soon anyway. |
|
Daniel Egger | 1ed9180112 |
Convert ugly comments into named structure fields. Much cleaner and less
2001-12-02 Daniel Egger <degger@fhm.edu> * app/gimprc.c: Convert ugly comments into named structure fields. Much cleaner and less errorprone though may cause troubles on older compilers and then needs to be reverted. Please report! * app/base/base-types.h: Add FIXME reminder. * app/base/gimplut.c: Use CLAMP macro instead of if-cascade. * app/base/temp-buf.c: Remove duplicated calculations and simplify checks. * app/base/tile-manager.c: - (tile_manager_get_tile_num): Return success and take an additional pointer for the tilenumber. - Simplify logic in the rest of the file as a result. - Remove rotten debugging cruft. * app/core/gimpbrushgenerated.c: Fix two stylistic nits. * app/app_procs.c: Include <stdlib.h> for exit () prototype. * app/core/gimpdrawable-blend.c: Include <stdlib.h> for abs () prototype. * app/display/gimpdisplay.c: Include <string.h> for memcpy () prototype. * app/core/gimpimage-convert.c: (HIST_RGB): First parameter is not const. Fixes a gcc warning for a wrong return value. * libgimpwidgets/gimpunitmenu.c * app/core/gimpunit.c: Add suggested (by gcc 3.1 cvs) parentheses to group correct logic tests together. * app/paint-funcs/paint-funcs-generic.h: Fix my HAS_ALPHA macro to avoid gcc 3.1 cvs warning. * app/gimprc.h * pathP.h * base-config.h * app/base/boundary.h * app/base/gimplut.[ch] * app/base/pixel-region.h * app/base/pixel-surround.[ch] * app/base/temp-buf.[ch] * app/base/tile-manager-private.h * app/base/tile-manager.c * app/base/tile-private.h * app/base/tile.[ch] * app/core/gimp.h * app/core/gimpbrushgenerated.h * app/core/gimpbrushpipe.h * app/core/gimpchannel.[ch] * app/core/gimpcontainer.h * app/core/gimpcoreconfig.h * app/core/gimpdata.h * app/core/gimpdatafactory.[ch] * app/core/gimpdrawable-blend.c * app/core/gimpdrawable.[ch] * app/core/gimpimage.h * app/core/gimpimagefile.h * app/core/gimplayer.h * app/core/gimplayermask.h * app/core/gimpmoduleinfo.h * app/core/gimppalette.h * app/core/gimpundo.h * app/display/gimpdisplay.h * app/display/gimpdisplayshell-selection.h * app/display/gimpdisplayshell.h * app/gui/brush-select.h * app/gui/gradient-editor.h * app/gui/gradient-select.h * app/gui/info-dialog.h * app/gui/resize-dialog.h * app/tools/gimpbezierselecttool.h * app/tools/gimpcolorbalancetool.h * app/tools/gimpcolorpickertool.h * app/tools/gimpcurvestool.h * app/tools/gimpdodgeburntool.c * app/tools/gimpfreeselecttool.h * app/tools/gimpfuzzyselecttool.h * app/tools/gimphuesaturationtool.h * app/tools/gimpinktool-blob.h * app/tools/gimpinktool.h * app/tools/gimpiscissorstool.h * app/tools/gimpmagnifytool.h * app/tools/gimpmeasuretool.h * app/tools/gimppainttool.h * app/tools/gimppathtool.h * app/tools/gimprectselecttool.h * app/tools/gimpthresholdtool.h * app/tools/gimptool.h * app/tools/gimptransformtool.h * app/tools/path_toolP.h * app/widgets/gimpbrushfactoryview.h * app/widgets/gimpconstrainedhwrapbox.h * app/widgets/gimpcontainermenu.h * app/widgets/gimpcontainerview.h * app/widgets/gimpdialogfactory.h * app/widgets/gimpimagedock.h * app/widgets/gimplistitem.h * app/widgets/gimpmenuitem.h * app/widgets/gimpnavigationpreview.h * app/widgets/gimppreview.h: Unsignify lots of variables and parameters and use bitfields in structs where possible. First part of a huge cleanup all over the code... |
|
Michael Natterer | 57157b4041 |
app/display/Makefile.am removed. It was a wrapper around nothing since we
2001-11-30 Michael Natterer <mitch@gimp.org> * app/display/Makefile.am * app/display/gximage.[ch]: removed. It was a wrapper around nothing since we use GdkRGB. * app/display/gimpdisplayshell-render.[ch]: added the render buf size defines here, added the #if 0'ed display filter stuff and the actual GdkRGB render stuff here too. * app/display/gimpdisplayshell.[ch]: added shell->render_buf as replacement for the global gximage buffer, renamed shell->scroll_gc to shell->render_gc and use it all over the place when rendering image data. * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-scroll.c: changed accordingly. * app/gui/gui.c: don't call gximage init/exit stuff. |
|
Michael Natterer | bf6e5a4b9d |
replaced the QMask radio buttons ba a single check button. Still needs
2001-11-29 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplayshell.[ch]: replaced the QMask radio buttons ba a single check button. Still needs some tuning. * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-qmask.[ch]: changed accordingly. * app/tools/gimptool.[ch]: added "gboolean handle_empty_image" to the GimpTool structure. * app/tools/gimpmovetool.c: set it to TRUE. * app/tools/gimpfuzzyselecttool.c: don't gimp_[set|unset]_busy() while calculating the selection but set the busy cursor on the display manually (we have the pointer grabbed anyway). * app/display/gimpdisplayshell-callbacks.c: don't check for GIMP_IS_MODE_TOOL(active_tool) but look at active_tool->handle_empty_image. Removed the checks for GIMP_IS_FUZZY_SELECT_TOOL(active_tool) because fuzzy_select doesn't set GIMP busy while it's active any more. * app/tools/transform_options.[ch] * app/tools/gimptransformtool.c * app/tools/gimprotatetool.c * app/tools/gimpscaletool.c: added widgets for the transform tools' constraints (one more #51108 issue fixed). * app/tools/gimperasertool.c: cosmetic. * app/widgets/gimpdockbook.c: don't hardcode GtkNotebook's tab_border to 0 but add a style property for it... * themes/Default/gtkrc: ...and set it to 0 here. |
|
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 | 4403d58a62 |
Wishlist item #57669:
2001-11-16 Michael Natterer <mitch@gimp.org> Wishlist item #57669: * app/gimprc.[ch]: replaced gimprc option "allow-resize-windows" by "resize-windows-on-zoom" and "resize-windows-on-resize". * app/gui/preferences-dialog.c: added a toggle for "resize-windows-on-resize". * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-scale.c * app/tools/gimpmagnifytool.c * docs/gimprc.5.in * etc/gimprc.in * etc/gimprc.win32: changed accordingly. * app/display/gimpdisplay-area.[ch]: added gimp_area_new(). * app/display/gimpdisplay.c: cleanup usage of GimpArea. * app/display/gimpdisplayshell.[ch]: added configurable canvas padding color and a small color_panel to change it in the upper right corner of the window. * app/display/gimpdisplayshell-callbacks.[ch]: added a callback for the color_panel, initialize the color in the "realize" callback. Wishlist item #51548. * app/display/gimpdisplayshell-selection.[ch] * app/gui/menus.c * app/gui/view-commands.[ch]: made the layer boundary toggleable separately from the selection. * app/gui/color-notebook.c: #if 0'ed a debugging g_print(). |
|
Michael Natterer | 8dac894966 |
app/display/gimpdisplay-marching-ants.h removed...
2001-11-10 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplay-marching-ants.h * app/display/gimpdisplay-selection.[ch]: removed... * app/display/gimpdisplayshell-marching-ants.h * app/display/gimpdisplayshell-selection.[ch]: ...new names. * app/display/gimpdisplay.[ch] * app/display/gimpdisplayshell.[ch]: moved the Selection stuff from GimpDisplay to GimpDisplayShell. Renamed all functions which will stay in GimpDisplay from gdisplay_foo() to gimp_display_foo(). Added gimp_display_get_ID(), cleaned up the idle renderer. * app/image_map.c * app/plug_in.c * app/display/Makefile.am * app/display/gimpdisplay-foreach.[ch] * app/display/gimpdisplay-handlers.c * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-handlers.c * app/display/gimpdisplayshell-scroll.c * app/gui/gui.c * app/gui/view-commands.c * app/tools/gimpeditselectiontool.c * app/tools/gimpinktool.c * app/tools/gimpmovetool.c * app/tools/gimppainttool.c * tools/pdbgen/pdb.pl: changed accordingly, cleanup. * app/pdb/display_cmds.c: regenerated. |
|
Michael Natterer | 7125fdbc43 |
fixed qmask callbacks to check if the toggle is active before performing
2001-11-10 Michael Natterer <mitch@gimp.org> * app/qmask.c: fixed qmask callbacks to check if the toggle is active before performing any action. * app/core/core-types.h: added the GimpCoords type here because it will be used by core functions as soon as the painting stuff is separated from the painting tools. * app/core/gimpdrawable-bucket-fill.c: fixed g_return_if_fail()s to not disable any useful operation :-) Still didn't figure out how I broke display color and pattern dropping :-( * app/display/gimpdisplayshell.[ch]: added gimp_display_shell_[un]transform_coords() which work on two GimpCoords pointers. * app/display/gimpdisplayshell-callbacks.c: use the new functions instead of the gdisplay_* ones. * app/gui/image-commands.c: GimpImage emits "disconnect", not "destroy". * app/tools/tools-types.h * app/tools/gimptool.h: removed GimpCoords here. * app/tools/gimpconvolvetool.c: fixed modifier_key() implementation. * app/tools/gimpcroptool.c: cleanup. * app/tools/paint_options.c: don't need a separator in the ink tool options. * app/tools/gimprectselecttool.c * app/tools/selection_options.[ch]: implemented wish #50352: Added "Auto Shrink Selection" and "Sample Merged" toggles to the rect_select and ellipse_select tools. Put the "Fixed size" widgets in a frame. Removed the separators after the common selection tool options because I didn't like them any more (feel free to comment ;) |
|
Michael Natterer | 02fde14c95 |
build display/ before tools/.
2001-11-08 Michael Natterer <mitch@gimp.org> * app/Makefile.am: build display/ before tools/. * app/devices.c: devices_check_change(): added all events which have a GdkDevice pointer. * app/gimpprogress.c: include "display-types.h" instead of "core-types.h". * app/core/Makefile.am * app/core/gimpdrawable-bucket-fill.[ch]: new files: the bucket_fill stuff taken from tools/gimpbucketfilltool.[ch]. * app/core/core-types.h: added "BucketFillMode". * app/core/gimpimage-mask-select.[ch]: cleanup. * app/core/gimpmarshal.list: added more marshallers for GimpTool's new signal signatures. * app/core/gimpmarshal.[ch]: regenerated. * app/display/Makefile.am * app/display/gimpdisplayshell-dnd.[ch] * app/display/gimpdisplayshell-layer-select.[ch]: new files: the canvas drop callbacks from gimpdisplayshell-callbacks.[ch] and the stuff formerly knows as gui/layer-select.[ch]. * app/display/gimpdisplay.h: don't include "gui/gui-types.h". * app/display/gximage.c: include "display-types.h". * app/display/gimpdisplay-foreach.c * app/display/gimpdisplayshell.[ch]: call gdsplay_delete(), don't destroy the shell widget. * app/gui/Makefile.am * app/gui/layer-select.[ch]: removed. * app/gui/gradients-commands.c: fixed "Save as POV" fprintf()s. * app/gui/preferences-dialog.c: removed the layer_select stuff because it is useless with the new preview system. * app/gui/tool-options-dialog.c: send the correct data to the close_callback. * app/gui/tools-commands.c: changed to follow the new gimp_tool_initialize() semantics (see below). Tool & canvas event handling chainsawing: * app/tools/tools-types.h: new struct GimpCoords which contains x, y, pressure, tilt etc. * app/display/gimpdisplayshell-callbacks.[ch]: added utility functions which transparently retreive the current event's GimpCoords or take it from the device directly if the event has none. Pass GimpCoords _in_image_coordinates_ to all tool functions. Most important: don't pass GdkEvents and display coordinates to tools any more. * app/tools/gimptool.[ch]: changed virtual functions to take GimpCoords, time and state separately instead of GdkEvents. * app/tools/gimpbezierselecttool.c * app/tools/gimpblendtool.c * app/tools/gimpbucketfilltool.[ch] * app/tools/gimpbycolorselecttool.c * app/tools/gimpclonetool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpconvolvetool.c * app/tools/gimpcroptool.[ch] * app/tools/gimpcurvestool.c * app/tools/gimpdodgeburntool.c * app/tools/gimpdrawtool.c * app/tools/gimpeditselectiontool.[ch] * app/tools/gimperasertool.c * app/tools/gimpfliptool.c * app/tools/gimpfreeselecttool.[ch] * app/tools/gimpfuzzyselecttool.c * app/tools/gimpinktool.c * app/tools/gimpiscissorstool.c * app/tools/gimpmagnifytool.c * app/tools/gimpmeasuretool.c * app/tools/gimpmovetool.c * app/tools/gimppainttool.c * app/tools/gimppathtool.[ch] * app/tools/gimprectselecttool.c * app/tools/gimprotatetool.c * app/tools/gimpselectiontool.[ch] * app/tools/gimpsmudgetool.c * app/tools/gimptexttool.c * app/tools/gimptransformtool.[ch] * app/tools/path_tool.[ch] * app/tools/selection_options.c: tons and tons of changes: - changed to use the new virtual function parameters. - removed zillions of gdisplay_untransform_coords(). - get the active drawable's offsets manually in many cases. (questionable, but IMHO ok because it's obvious and not simply a "TRUE" passed to some function) - reordered some functions to be consistent across tools. - some tools had to be changed to work on image coords, not display ones (esp. crop). - fixed strange rotate tool behaviour which should be backported to stable. - some stuff i came across. - indentation and other paranoia. - rounding of coordinated may be broken in some tools. - new bugs guaranteed. * app/tools/tool_manager.[ch]: new semantic of tool_manager_initialize_active() (looked at the places where it was used from and put common code together). Should be a bit better now :) * app/tools/gimpblendtool.c * app/tools/transform_options.c: use the new GTK+ feature that a widget (toggle button) can be a frame's title for this tools' tool options. * app/widgets/widgets-types.h: stuff. * themes/Default/gtkrc: s/GtkDialog/GimpDialog/. * tools/pdbgen/Makefile.am: don't scan tools/gimpbucketfilltool.h any more. * tools/pdbgen/enums.pl: regenerated. * tools/pdbgen/pdb/tools.pdb: changed bucket_fill wrapper. * app/pdb/tools_cmds.c: regenerated. |
|
Michael Natterer | d162376d47 |
app/display/Makefile.am app/display/gimpdisplay-callbacks.[ch]
2001-11-01 Michael Natterer <mitch@gimp.org> * app/display/Makefile.am * app/display/gimpdisplay-callbacks.[ch] * app/display/gimpdisplay-render.[ch] * app/display/gimpdisplay-scale.[ch] * app/display/gimpdisplay-scroll.[ch]: removed and added as gimpdisplayshell-foo.[ch] because they are all methods of the shell. * app/display/gimpdisplay.[ch] * app/display/gimpdisplayshell.[ch]: moved the "offset" and "size" variables from GimpDisplay to GimpDisplayShell. GimpDisplay should know nothing about screen coordinates. The gdisplay_[un]transform_foo() methods are still part of GimpDisplay but will be moved to GimpDisplayShell as soon as the tools' vitrual functions speak in image coordinates instead of GdkEvents. * app/display/gimpdisplayshell-callbacks.[ch]: prefixed all functions with gimp_display_shell_*. Moved some stuff to a "realize" callback File still has to be renamed. * app/display/gimpdisplay-foreach.[ch]: removed gdisplays_shrink_wrap(). * app/gui/menus.c * app/gui/view-commands.[ch] * app/display/gimpdisplayshell-scale.[ch]: implemented "Zoom to Fit Window" function (#57670). * app/nav_window.c * app/display/gimpdisplay-handlers.c * app/display/gimpdisplayshell-render.[ch] * app/display/gimpdisplayshell-scale.[ch] * app/display/gimpdisplayshell-scroll.[ch] * app/gui/colormap-dialog.c * app/gui/gui.c * app/gui/preferences-dialog.c * app/tools/gimpmagnifytool.c * app/tools/gimpmovetool.c * app/widgets/gimppreview.c: changed according to variable and filename changes. * app/tools/tool_manager.c: tool_manager_select_tool(): send the active tool a "HALT" command before selecting the new one. Fixes stale tool dialogs which were there because some other hack was removed (This is IMHO the right place to shut down the active tool). * app/tools/gimpcroptool.c: don't shrink wrap after cropping but let gimprc.allow_resize_windows decide. * app/tools/gimpselectiontool.c: gimage_mask_value() takes image, not screen coordinates. A good example of how braindead it is to pass GdkEvents to tools :-) Fixes incorrect cursor and oper update of the selection tools. * app/tools/gimptransformtool.c * app/undo.c: removed (#if 0 for now) some strange code which did manual exposing of GimpDisplayShell areas. This was definitely a hack and should not be there given the image emits correct "update" signals. |
|
Michael Natterer | cbce339039 | fscking broken pipe... | |
Michael Natterer | 859e9c4117 |
gdk_pixbuf_new_from_stream -> _from_inline
2001-10-13 Michael Natterer <mitch@gimp.org> * RELEASE-TO-CVS.patch: gdk_pixbuf_new_from_stream -> _from_inline * app/display/Makefile.am * app/display/gimpdisplay-foreach.[ch]: new files for functions operating on all displays (will go away as soon as the display behaves like a proper view which doesn't need to be updated explicitly). * app/display/gimpdisplay-callbacks.c * app/display/gimpdisplay-scale.[ch] * app/display/gimpdisplay-scroll.[ch] * app/display/gimpdisplay.[ch]: "scale" and "scroll" namespace cleanup, moved bounds_checking() to gimpdisplay-scroll.[ch], lots of unfinished, intermediate stuff. * app/display/gimpdisplayshell.[ch]: added some GObject framework for the GimpDisplayShell object (not used yet). * app/app_procs.c * app/docindex.c * app/image_map.c * app/nav_window.c * app/path.c * app/qmask.c * app/undo.c * app/gui/channels-commands.c * app/gui/convert-dialog.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/gui.c * app/gui/image-commands.c * app/gui/layer-select.c * app/gui/layers-commands.c * app/gui/offset-dialog.c * app/gui/paths-dialog.c * app/gui/preferences-dialog.c * app/gui/select-commands.c * app/gui/view-commands.c * app/tools/gimpairbrushtool.c * app/tools/gimpbezierselecttool.c * app/tools/gimpblendtool.c * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpbycolorselecttool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcroptool.c * app/tools/gimpcurvestool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpfreeselecttool.c * app/tools/gimpfuzzyselecttool.c * app/tools/gimphuesaturationtool.c * app/tools/gimpinktool.c * app/tools/gimpiscissorstool.c * app/tools/gimplevelstool.c * app/tools/gimpmagnifytool.c * app/tools/gimpmeasuretool.c * app/tools/gimpmovetool.c * app/tools/gimppainttool.c * app/tools/gimpposterizetool.c * app/tools/gimprectselecttool.c * app/tools/gimptexttool.c * app/tools/gimpthresholdtool.c * app/tools/gimptransformtool.c * app/widgets/gimpbufferview.c * app/widgets/gimpchannellistview.c * app/widgets/gimpcomponentlistitem.c * app/widgets/gimpdrawablelistitem.c * app/widgets/gimpdrawablelistview.c * app/widgets/gimplayerlistitem.c * app/widgets/gimplayerlistview.c * app/widgets/gimplistitem.c * tools/pdbgen/pdb/display.pdb * app/pdb/display_cmds.c: changed accordingly (mostly including "gimpdisplay-foreach.h" instead of "gimpdisplay.h") |
|
Michael Natterer | afebbc2f86 |
app/Makefile.am new files containing most of the code from
2001-01-22 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/toolbox.[ch]: new files containing most of the code from app/interface.[ch] * app/interface.[ch]: only contains create_display_shell() now. Needs to be somehow merged with other arbitrarily named display files around. * app/app_procs.c * app/menus.c * po/POTFILES.in: changed accordingly. * app/asupsample.c * app/gradient.c * app/tile.c: cleanup. |
|
Michael Natterer | 8d6c335f8f |
app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h
2000-12-29 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/channel_pvt.h * app/drawable_pvt.h * app/gdisplayF.h * app/gimpdrawableP.h * app/gimpimageP.h * app/layer_pvt.h * app/toolsF.h: removed these files. * app/apptypes.h * tools/pdbgen/enums.pl: added tons of opaque typedefs and enums. * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/brushes.pdb * tools/pdbgen/pdb/channel.pdb * tools/pdbgen/pdb/color.pdb * tools/pdbgen/pdb/convert.pdb * tools/pdbgen/pdb/display.pdb * tools/pdbgen/pdb/drawable.pdb * tools/pdbgen/pdb/fileops.pdb * tools/pdbgen/pdb/gradient_select.pdb * tools/pdbgen/pdb/gradients.pdb * tools/pdbgen/pdb/help.pdb * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/pattern_select.pdb * tools/pdbgen/pdb/patterns.pdb * tools/pdbgen/pdb/selection.pdb * tools/pdbgen/pdb/tools.pdb * app/*: chainsaw #include cleanup: - Never (never!!) include stuff in header files except where we need access to structures' contents (like derived objects). - Added prototypes and proper formating in many files. - The #include order in *all* *.c files is as follows: #include "config.h" #include <system stuff> #include <gtk/gtk.h> #include "apptypes.h" #include "gimp stuff" #include "libgimp stuff" #include "libgimp/gimpintl.h" By following this scheme we can easily see a file's dependencies from it's #include's and can grep for the inclusion to find out where a file is used. * tools/pdbgen/app.pl: changed to follow the include scheme above. * libgimp/Makefile.am * libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h and from app/apptypes.h. * libgimp/gimpcolorbutton.[ch] * libgimp/gimpdialog.[ch] * libgimp/gimphelpui.[ch] * libgimp/gimpparasite.[ch] * libgimp/gimppatheditor.[ch] * libgimp/gimpprotocol.c * libgimp/gimpquerybox.[ch] * libgimp/gimpsizeentry.[ch] * libgimp/gimptypes.h * libgimp/gimpui.h * libgimp/gimpunit.h * libgimp/gimpunitmenu.[ch] * libgimp/gimpwidgets.[ch]: changed accordingly. * plug-ins/FractalExplorer/Dialogs.c * plug-ins/gdyntext/message_window.c * plug-ins/imagemap/imap_default_dialog.c * plug-ins/imagemap/imap_file.c: these files used to include "libgimp/gimpui.h" without including "libgimp/gimp.h". This is no longer possible because the libgimpui headers don't inlcude "libgimp/gimpunit.h" any more. |
|
Sven Neumann | d517927260 |
Use static GdkPixmaps in the image_window and for the tool icons.
--Sven |
|
Michael Natterer | 0302ed0a10 |
app/brush_select.[ch] app/gradient.c app/gradient_select.[ch]
1999-11-03 Michael Natterer <mitch@gimp.org> * app/brush_select.[ch] * app/gradient.c * app/gradient_select.[ch] * app/interface.[ch] * app/palette.c * app/pattern_select.[ch]: allow dragging a brush/pattern/... from the selections with mouse2 without changing the active element in the dialog. * app/channels_dialog.c * app/color_area.c * app/color_panel.c * app/color_select.c * app/colormap_dialog.i.c * app/devices.c * app/gimpcontextpreview.[ch] * app/gimphelp.[ch] * app/gimpui.[ch] * app/indicator_area.c * app/interface.[ch] * app/layers_dialog.c * app/lc_dialog.c * app/ops_buttons.[ch] * app/paths_dialog.c * app/preferences_dialog.c * app/tools.[ch]: wrapped gtk_tooltips_set_tip() with gimp_help_set_help_data() and moved it to gimphelp.[ch]. This should (hopefully) be the final state of the help system. The New function allows a "private tip" to be set without a visible tooltip. This way the tooltips inspector (shift+F1) can search for help data in the parent containers of the clicked widget. E.g. the ops buttons in the layers dialog have private tips like "#new_layer" which gets composed with the help data of the layers dialog notebook page resulting in a complete help path. Allow mouse2 for all dnd operations. Mouse1 still works like before. |
|
Michael Natterer | 002aa905db |
app/Makefile.am app/gimphelp.[ch] new files
1999-09-27 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/gimphelp.[ch] * app/gimpui.[ch]: new files * app/interface.[ch] * app/preferences_dialog.[ch] The GIMP Help System part 1: Press "F1" in any dialog to pop up the help page for this dialog. Moved the widget constructors from preferences_dialog.[ch] and the query boxes from interface.[ch] to gimpui.[ch]. The dialog constructors take a help_func and a help_data parameter and install the "F1" accelerator which emits the new "help" signal. The "help" signal callback calls help_func(help_data) which finally has to call gimp_help() which in turn invokes the help browser. Still have to find a proper way to (1) prevent "F1" being assigned to some menu item and (2) to catch "F1" while browsing the menu trees in order to pop up the help for the selected item. * app/menus.c: a <Toolbox>/File/Help... menu item. * app/commands.[ch]: a command callback for the "Help..." menu item. * app/gimprc.[ch]: new boolean gimprc variable "use_help". * app/info_dialog.[ch]: pass a help function and data to the info dialog constructor. * app/tools.[ch]: store the tools help page names in the tool info structure. Export a special tools_help_func() which shows the help page for the active tool. * app/[all files calling a dialog constructor]: pass the dialog's help page to the constructor. Most dialogs are now created by gimp_dialog_new() which also sets up the action_area and the WM delete event callback, so I removed the resp. code from these files. Fixed some minor bugs and did some other stuff but didn't change any logic except dialog creation. * plug-ins/helpbrowser/helpbrowser.c: don't try to call a running help browser and don't install any menu path (all done in app/gimphelp.[ch] now). |
|
Michael Natterer | a4c1e8a557 |
new ui for the "Layer Offset" dialog.
1999-07-22 Michael Natterer <mitschel@cs.tu-berlin.de> * app/channel_ops.[ch]: new ui for the "Layer Offset" dialog. * app/channels_dialog.c * app/layers_dialog.c: major code cleanup: Folded some callbacks into common ones, "widget" instead of "w", indentation, ... * app/commands.c * app/interface.[ch] * app/global_edit.c: the query boxes must be shown by the caller now. There's no need to split up the string for the message box manually as the Gtk 1.2 label widget handles newlines corectly. Added the "edge_lock" toggle to the "Shrink Selection" dialog. Nicer spacings for the query and message boxes. * app/ink.c: tried to grab the pointer in the blob preview but failed. Left the code there as a reminder (commented out). * app/menus.c: reordered <Image>/Select. I was bored and grep-ed the sources for ancient or deprecated stuff: * app/about_dialog.[ch] * app/actionarea.[ch] * app/app_procs.c * app/brush_edit.c * app/brush_select.c * app/color_select.c * app/convert.c * app/devices.c * app/gdisplay.c * app/gdisplay_ops.c * app/histogram_tool.[ch] * app/info_window.c * app/install.c * app/ops_buttons.c * app/palette.c * app/palette_select.c * app/paths_dialog.c * app/pattern_select.c * app/resize.c * app/scale_toolc.c * app/text_tool.c: s/container_border_width/container_set_border_width/g, s/sprintf/g_snprintf/g, replaced some constant string lengths with strlen(x). * app/bezier_select.c * app/blend.c * app/boundary.c * app/errors.[ch] * app/free_select.c * app/gimpbrushlist.c * app/gimprc.c * app/iscissors.c * app/main.c * app/patterns.[ch] * app/text_tool.c: namespace fanaticism: prefixed all gimp error functions with "gimp_" and formated the messages more uniformly. * app/gradient.c * app/gradient_select.c: same stuff as above for the ui code. There are still some sub-dialogs which need cleanup. Did some cleanup in most of these files: prototypes, removed tons of #include's, i18n fixes, s/w/widget/ as above, indentation, ... |
|
Michael Natterer | a72dbe86b4 |
connect to the user context's "display_changed" and to the image context's
1999-06-21 Michael Natterer <mitschel@cs.tu-berlin.de> * app/context_manager.c: connect to the user context's "display_changed" and to the image context's "remove" signal to avoid dangling references and to set the menu sensitivity on display change. * app/disp_callbacks.c * app/file_new_dialog.c * app/fileops.c * app/gdisplay.c * app/gdisplay_ops.c * app/gimpcontext.c * app/interface.[ch]: entirely moved the active display stuff to the user context: - The active display is set by any event in the display shell, by File/New and File/Open. - gdisplay_delete() resets the active display to NULL if we deleted the active display. - Reduced gdisplay_active() to a single statement returning the context's active display. Should replace it by a macro. - gdisplay_flush_whenever() sets the menu sensitivity for the active display. - Removed global variable popup_shell since it was only set all the time but never used. I guess it's original job is now done by the context anyway. - gdisplay_set_menu_sensitivity() works with gdisp == NULL. - There are mysterious Gdk-CRITICALs if both <Image> and one of it's sub-menus are teared-off. Probably a gtk+ bug. To do all this stuff at a central place, there needs to be a GimpSet of displays (and ideally, GDisplay should be a GtkObject). * app/commands.c * app/lc_dialog.c: fixed segfaults happening with teared-off menus. |
|
Michael Natterer | dcfb450b25 |
app/[all files with resolution info] libgimp/gimp.h libgimp/gimpimage.c
1999-05-22 Michael Natterer <mitschel@cs.tu-berlin.de> * app/[all files with resolution info] * libgimp/gimp.h * libgimp/gimpimage.c * libgimp/gimpsizeentry.[ch] * libgimp/gimpunit.[ch] * plug-ins/newsprint/newsprint.c * plug-ins/pgn/png.c * plug-ins/tiff/tiff.c: double instead of float for all resolution and unit-factor variables. * app/commands.c * app/crop.c * app/interface.c * app/layers_dialog.c * app/move_tool.c * app/resize.c * app/rotate_tool.c * app/scale_tool.c: pass the image's unit *and* gdisp->dot_for_dot to all functions which create sizeentries. Never create a sizeentry with UNIT_PIXEL but with the image's unit and set it's unit to UNIT_PIXEL after creation if dot_for_dot is on. This way the image's unit can always be picked from the menu without selecting "More...". * app/interface.c: made the query_*_box() functions use the ActionArea. * plug-ins/gimpunitmenu.c: GTK_WIN_POS_MOUSE for the unit selection dialog. |
|
Michael Natterer | 737aa1a0de |
corrected a typo
1999-03-25 Michael Natterer <mitschel@cs.tu-berlin.de> * unitrc: corrected a typo * app/commands.c * app/global_edit.c * app/gradient.c * app/interface.[ch] * app/palette.c * app/paths_dialog.c: the query_[string|..]_boxes connect their close callback to a user provided signal now. * libgimp/gimpimage.c: gimp_image_get_unit() doesn't need a g_return_if_fail() * libgimp/gimpunitmenu.c: memory leak & compiler warning * configure.in * gimprc.in * user_install * user_install.bat * plug-ins/Makefile.am * plug-ins/FractalExplorer/*: added the FractalExplorer plugin. * app/install.c: ditto and made the install help text more editable by moving it to an array. |
|
Michael Natterer | 7fd5b7c18e |
This is mostly unit stuff and code cleanup
1999-03-12 Michael Natterer <mitschel@cs.tu-berlin.de> This is mostly unit stuff and code cleanup * libgimp/gimpi.def: add some functions * libgimp/gimpsizeentry.[ch]: new function gimp_size_entry_set_refval_digits() which allows for float pixel input. SIGFPE bugfix from Yasuhiro Shirasaki <yasuhiro@awa.tohoku.ac.jp>, minor bugfixes. * libgimp/gimpunitmenu.[ch]: add a separator after "pixels", bugfixes. * app/interface.[ch]: split up the old query_string_box() into query_[string|int|float|size]_box(). All functions take an optional GtkObject* parameter and connect to that object's "destroy" signal, this fixes some segfaults. And a global s/container_border_width/container_set_border_width/ * app/commands.s: grow, shrink, border, feather now use the query_size_box. Used MIN(xres,yres) for now for the pixel<->unit calculations. Fixed some memory leaks. * app/global_edit.c * app/gradient.c * app/palette.c * app/paths_dialog.c: changed the query_string_box() calls |
|
GMT 1999 Austin Donnelly | d8be79f036 |
Bit of a large checkin this - it's basically three things: 1 - GimpModules
Sun Jan 11 00:24:21 GMT 1999 Austin Donnelly <austin@greenend.org.uk> Bit of a large checkin this - it's basically three things: 1 - GimpModules using gmodules to dynamically load and initialise modules at gimp start of day. 2 - Color selectors now register themselves with a color notebook. 3 - progress bars have been cleaned up a bit, so now have progress indictations on all transform tool and gradient fill operations. Not done bucket fill, but that seems to be the next candidate. New directories: * modules/: new directory for dynamically loadable modules. New files: * modules/.cvsignore * modules/Makefile.am * modules/colorsel_gtk.c: GTK color selector wrapped up as a color selector the gimp can use. * app/gimpprogress.[ch]: progress bars within gimp core, either as popups, or in the status bar. This is mainly code moved out of plug-in.c * app/color_notebook.[ch]: color selector notebook, implementing very similar interface to color_select.h so it can be used as a drop-in replacement for it. * libgimp/color_selector.h: API color selectors need to implement to become a page in the color_notebook. * libgimp/gimpmodule.h: API gimp modules need to implement to be initialised by gimp at start of day. Modified files: * Makefile.am: add modules/ to SUBDIRS * libgimp/Makefile.am: install gimpmodule.h and color_selector.h * app/gimprc.[ch]: recognise module-path variable. * gimprc.in: set module-path variable to something sensible (currently "${gimp_dir}/modules:${gimp_plugin_dir}/modules"). * app/Makefile.am: build color notebook and gimpprogress * app/app_procs.c: register internal GIMP color selector with color notebook. * app/asupsample.c: call progress function less frequently for better performance. * app/asupsample.h: progress_func_t typedef moved to gimpprogress.h * app/blend.c: make callbacks to a progress function * app/color_area.c: use a color notebook rather than a color selector * app/color_panel.c: ditto * app/color_select.c: export color selector interface for notebook * app/color_select.h: color_select_init() prototype * app/flip_tool.c: flip the image every time, rather than every second click. * app/interface.c: move progress bar stuff out to gimpprogress.c. Make the code actually work while we're at it. * app/interface.h: move prototypes for progress functions out to gimpprogress.h * app/plug_in.c: load and initialise modules (if possible). Move progress bar handling code out to gimpprogress.c * app/plug_in.h: keep only a gimp_progress * for each plugin, not a whole bunch of GtkWidgets. * app/scale_tool.c * app/rotate_tool.c * app/shear_tool.c * app/perspective_tool.c: progress bar during operation. De-sensitise the dialog to discourage the user from running two transforms in parallel. * app/transform_core.c: recalculate grid coords when bounding box changes. Only initialise the action area of the dialog once, to avoid multiple "ok" / "reset" buttons appearing. Undraw transform tool with correct matrix to get rid of handle remains on screen. Call a progress function as we apply the transform matrix. A few new i18n markups. Invalidate floating selection marching ants after applying matrix. * app/transform_core.h: transform_core_do() takes an optional progress callback argument (and data). * plug-ins/oilify/oilify.c: send progress bar updates after every pixel region, not only if they processed a multiple of 5 pixels (which was quite unlikely, and therefore gave a jerky progress indication). |
|
scott | fe6720432b |
Header file tweaks. Now changing tile.h doesn't force about_dialog to
recompile! :) |
|
Lauri Alanko | ef3e162eae |
start collecting some core stuff to libgimpim.a
Started separating crud out of drawables. Isolated the id system of images entirely within pdb. Even the window titles and menus use pointers instead of ids. Should at least remind people that this is a developers' version. :) |