mirror of https://github.com/GNOME/gimp.git
29 Commits
Author | SHA1 | Message | Date |
---|---|---|---|
Michael Natterer | 6fabca2e17 |
Added configurable styles for dockable tabs (fixes bug #87376):
2003-07-08 Michael Natterer <mitch@gimp.org> Added configurable styles for dockable tabs (fixes bug #87376): * app/widgets/widgets-enums.[ch]: added new enum GimpTabStyle which can be one on { ICON, NAME, ICON_NAME, ICON_BLURB }. * app/widgets/gimpdockable.[ch]: added a GimpTabStyle member to the GimpDockable struct which defaults to GIMP_TAB_STYLE_ICON. Renamed "short_name" to "name" and "name" to "blurb". Renamed GimpDockableGetTabFunc to GimpDockableGetIconFunc. Implemented all tab styles in gimp_dockable_real_get_tab_widget() and use the "get_icon_func" only for creating the tab's icon, not the entire tab widget. * app/widgets/gimpdockbook.[ch]: changed accordingly. Create the menu widgets and the DND icon using gimp_dockable_get_tab_widget() with tab_style == GIMP_TAB_STYLE_ICON_BLURB instead of duplicating tons of code. Made gimp_dockbook_get_tab_widget() public because it's needed for exchanging tabs on-the-fly. * app/widgets/gimpimagedock.c: changed accordingly. * app/widgets/gimpdialogfactory.c: remember the dockables' tab style in sessionrc. * app/gui/dialogs-menu.c: added a submenu to select the tab style for each dockable. * app/gui/dialogs-commands.[ch]: new callback dialogs_tab_style_cmd_callback(). * app/gui/dialogs-constructors.[ch]: added stock_ids to all dockables, swapped the "name" and "blurb" parameters, reordered functions, cleanup. * app/gui/dialogs-menu.c * app/gui/image-menu.c * app/gui/toolbox-menu.c: use GIMP_STOCK_DEFAULT_COLORS for the color editor dockable and renamed it to "FG/BG Color". |
|
Michael Natterer | ef30cf315d |
app/gui/image-menu.c moved the convenience items which create new docks
2003-06-06 Michael Natterer <mitch@gimp.org> * app/gui/image-menu.c * app/gui/toolbox-menu.c: moved the convenience items which create new docks from the "Dialogs/" level to a new "Dialogs/Create New Dock/" sub-menu. Fixes bug #111278. * app/gui/dialogs-commands.[ch] (dialogs_create_data_cmd_callback): new convenience constructor callback. Factored out duplicated code to the new dialogs_create_dock() utility function. |
|
Michael Natterer | f20e559bbf |
app/widgets/gimpbrushfactoryview.[ch] app/widgets/gimpbufferview.[ch]
2003-04-08 Michael Natterer <mitch@gimp.org> * app/widgets/gimpbrushfactoryview.[ch] * app/widgets/gimpbufferview.[ch] * app/widgets/gimpcontainereditor.[ch] * app/widgets/gimpcontainergridview.[ch] * app/widgets/gimpcontainertreeview.[ch] * app/widgets/gimpcontainerview.[ch] * app/widgets/gimpdatafactoryview.[ch] * app/widgets/gimpdocumentview.[ch] * app/widgets/gimpimageview.[ch] * app/widgets/gimpitemtreeview.[ch] * app/widgets/gimptemplateview.[ch]: removed "min_item_x" and "min_item_y" parameters all over the place. Added "preview_border_width" instead. * app/widgets/gimpmenuitem.c: ensure that all menu items have the same height. * app/widgets/gimpcontainerpopup.c * app/widgets/gimplayertreeview.c * app/widgets/gimpundoeditor.c * app/gui/brush-select.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/font-select.c * app/gui/gradient-select.c * app/gui/palette-select.c * app/gui/pattern-select.c: changed accordingly. * app/gui/dialogs-constructors.c: removed the borders from the tool and template lists. |
|
Michael Natterer | c1dffc05e0 |
Removed deprecated and broken list views based on GtkList[Item] (fixes bug
2003-03-20 Michael Natterer <mitch@gimp.org> Removed deprecated and broken list views based on GtkList[Item] (fixes bug #90965): * app/widgets/gimpchannellistitem.[ch] * app/widgets/gimpchannellistview.[ch] * app/widgets/gimpcontainerlistview.[ch] * app/widgets/gimpdrawablelistitem.[ch] * app/widgets/gimpdrawablelistview.[ch] * app/widgets/gimpitemlistitem.[ch] * app/widgets/gimpitemlistview.[ch] * app/widgets/gimplayerlistitem.[ch] * app/widgets/gimplayerlistview.[ch] * app/widgets/gimplistitem.[ch] * app/widgets/gimpvectorslistview.[ch]: removed. * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/widgets-enums.h * app/widgets/gimpcontainereditor.c * app/widgets/gimpcontainerview-utils.c * app/widgets/gimpdatafactoryview.c * app/gui/channels-commands.c * app/gui/channels-menu.c * app/gui/drawable-commands.c * app/gui/layers-commands.c * app/gui/layers-menu.c * app/gui/palettes-commands.c * app/gui/test-commands.c * app/gui/vectors-commands.c * app/gui/vectors-menu.c: changed accordingly. * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.[ch] * app/gui/dialogs-menu.c * app/gui/dialogs.c: removed the term "tree" from all user visible places and create tree views when lists are requested. 2003-03-20 Michael Natterer <mitch@gimp.org> * POTFILES.in: app/widgets/*list* -> *tree* |
|
Michael Natterer | 034d9d3e49 |
fixed strstr() call so we can switch back from tree views again.
2003-02-24 Michael Natterer <mitch@gimp.org> * app/gui/dialogs-commands.c (dialogs_toggle_view_cmd_callback): fixed strstr() call so we can switch back from tree views again. |
|
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 | 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. |
|
Michael Natterer | b1ebd9cddf |
The unbelievable happened: a menu bar per display (optionally)
2002-12-10 Michael Natterer <mitch@gimp.org> The unbelievable happened: a menu bar per display (optionally) * app/widgets/gimpitemfactory.[ch]: Added the possibility to have more than one item factory per <Prefix>. Added gimp_item_factories_set_foobar() variants of all functions which set menu item properties (label, sensitive, ...). Removed the #ifndef ENABLE_NLS code since that's no longer possible. * app/widgets/gimptoolbox.c: made it robust againt the <Image> factory not existing at the time of toolbox creation. * app/config/gimpconfig-blurbs.h * app/config/gimpdisplayconfig.[ch]: added boolean "menu_bar_per_display" property. * app/gui/preferences-dialog.c: added a toggle for the new option. * app/gui/menus.[ch]: added menus_get_new_image_factory() as temporary solution. Will add a GimpMenuFactory which creates the item factories soon. * app/display/gimpdisplayshell.c: add the menu bar if requested. Changed widget packing slightly for the menu bar case. * app/display/gimpdisplayshell-callbacks.c: changed accordingly. Currently there is no right-click popup menu when we have a menu bar. This will change soon. * app/gui/file-dialog-utils.c * app/gui/gui.c: use gimp_item_factories_set_foo(). * app/gui/channels-commands.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/plug-in-commands.c * app/gui/select-commands.c * app/gui/tools-commands.c * app/gui/vectors-commands.c * app/gui/view-commands.c: per-display item factories pass the GimpDisplay as user_data to callbacks, not a Gimp. Changed all return_if_no_foo() macros to handle both cases. Cleaned up the plug-in menu stuff: * app/plug-in/plug-in-types.h: removed PlugInMenuEntry type. * app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as counterpart to plug_ins_proc_def_remove(). Added plug_ins_locale_domain() as counterpart to plug_ins_help_path(). Remember the locale domains just as the help paths. Changed plug-in initialization so that their menus can be created multiple times. * app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of doing it manually. * app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which just registers the locale domains. Changed plug_in_make_menu() to take a list of proc_defs, not plug_ins_defs so it can be used after plug-in query. |
|
Michael Natterer | b5d27fc4ac |
app/display/gimpdisplayshell.c app/gui/about-dialog.c
2002-10-25 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplayshell.c * app/gui/about-dialog.c * app/gui/convert-dialog.c * app/gui/dialogs-commands.c * app/gui/file-commands.c * app/gui/palette-import-dialog.c * app/tools/gimptexttool.c * app/widgets/gimpdialogfactory.c * app/widgets/gimpdocumentview.c * app/widgets/gimpwidgets-utils.c * libgimpwidgets/gimpfileselection.c * plug-ins/FractalExplorer/Dialogs.c * plug-ins/FractalExplorer/FractalExplorer.c * plug-ins/common/AlienMap.c * plug-ins/common/AlienMap2.c * plug-ins/common/spheredesigner.c * plug-ins/flame/flame.c * plug-ins/gfig/gfig.c * plug-ins/gimpressionist/general.c * plug-ins/gimpressionist/gimpressionist.c: replaced all sorts of gtk_widget_show()/gdk_window_rise() combinations by gtk_window_present(). |
|
Michael Natterer | 359990db33 |
added a read-only property for the display's image, so it can be retreived
2002-05-10 Michael Natterer <mitch@gimp.org> * app/display/gimpdisplay.c: added a read-only property for the display's image, so it can be retreived by the core, which treats displays as simple GimpObjects. * app/core/gimpcontext.c: made context->display an object property, not just gpointer. Connect to the "remove" signal of gimp->displays to get notified of disappearing displays. Removed the EEKWrapper and get the display's gimage with g_object_get(). * app/widgets/gimpimagedock.[ch]: added image_dock->display_container and require it being passed in the constructor. Do voodoo things in the "image_changed" and "display_changed" callbacks to ensure that the dock doesn't end up with no display even if the active image has one. Added a style property for the image menu's preview size. * app/gui/dialogs-commands.c (dialogs_menu_update): set the "View as List" and "View as Grid" items insensitive if the other view type doesn't exist. Hide them if the view cannot be classified as "list" or "grid" at all. Also hide the "Preview Size" submenu if it's pointless for the view. * app/gui/dialogs-constructors.c: added a special tab for the navigation dialog. Will propbaby add dockable->stock_id to generalize this kind of tab. Pass gimp->displays to gimp_image_dock_new(). * app/gui/menus.c: reordered the "<Dialogs>" factory entries, added more stock icons, cleanup. * etc/gtkrc_user * themes/Default/gtkrc: document usage of GimpImageDock's "menu_preview_height" property. |
|
Michael Natterer | ffcb0bfa3f |
./mitch --sanitize-identifier-namespace
2002-03-20 Michael Natterer <mitch@gimp.org> ./mitch --sanitize-identifier-namespace * app/core/gimpcontext.c * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-dnd.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/dialogs.c * app/gui/edit-commands.c * app/gui/gui.c * app/gui/menus.c * app/gui/vectors-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/gimpclonetool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcolorpickertool.c * app/tools/gimpconvolvetool.c * app/tools/gimpcroptool.c * app/tools/gimpcurvestool.c * app/tools/gimpdodgeburntool.c * app/tools/gimpellipseselecttool.c * app/tools/gimperasertool.c * app/tools/gimpfliptool.c * app/tools/gimpfreeselecttool.c * app/tools/gimpfuzzyselecttool.c * app/tools/gimphistogramtool.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/gimppaintbrushtool.c * app/tools/gimppathtool.c * app/tools/gimppenciltool.c * app/tools/gimpperspectivetool.c * app/tools/gimpposterizetool.c * app/tools/gimprectselecttool.c * app/tools/gimprotatetool.c * app/tools/gimpscaletool.c * app/tools/gimpsheartool.c * app/tools/gimpsmudgetool.c * app/tools/gimptexttool.c * app/tools/gimpthresholdtool.c * app/tools/gimpvectortool.c * app/widgets/gimpdnd.c * app/widgets/gimptoolbox-indicator-area.c * app/widgets/gimptoolbox.c: s/gimp:/gimp-/g and s/_/-/g for all identifier strings (e.g. gimp:eraser_tool -> gimp-eraser-tool, gimp:layer-list -> gimp-layer-list, ...) * plug-ins/tools/common/gimpbrushselecttool.c: s/gimp:brush_select_tool/gimp-brush-select-tool-module/ Don't quite remember why I introduced the "gimp:" prefix in the first place, but we can always add it back if we need it (for whatever reason) You may want to edit your ~/.gimp-1.3/sessionrc and devicerc or all session settings will be lost due to parse errors. |
|
Michael Natterer | b879840890 |
g_strdup() the stock_id passed to gimp_tool_info_new() because the
2002-03-14 Michael Natterer <mitch@gimp.org> * app/core/gimptoolinfo.c: g_strdup() the stock_id passed to gimp_tool_info_new() because the caller's memory may disappear after registering the tool (tool modules). Made a GimpDock out of the toolbox: * app/gui/Makefile.am * app/gui/color-area.[ch] * app/gui/indicator-area.[ch] * app/gui/toolbox.[ch]: removed... * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimptoolbox-color-area.[ch] * app/widgets/gimptoolbox-indicator-area.[ch] * app/widgets/gimptoolbox.[ch]: ...and added here. * app/widgets/gimpdock.[ch]: don't set a minimal width. Added a "destroy_if_empty" boolean so we can prevent destruction of the toolbox if it's last dockable is removed. Added gimp_dock_construct() which is called from GimpImageDock and GimpToolbox. * app/widgets/gimpimagedock.[ch]: Default to not showing the image menu, set a minimal width here, misc. minor cleanup. * app/widgets/gimpdockbook.c: some more GIMP_IS_IMAGE_DOCK() checks, fixed dnd widget creation. * app/widgets/gimpdialogfactory.[ch]: changed gimp_dialog_factories_toggle() to take just the toolbox_factory as parameter. When restoring the session use the created dock's dialog factory to create dockables, not the the factory we created the dock from (for the toolbox). * app/display/gimpdisplayshell-callbacks.c: changed accordingly. * app/gui/dialogs.[ch]: create an own dialog factory for the toolbox and set dialogs_toolbox_new() as it's new_dock_func. * app/gui/dialogs-constructors.[ch]: changed dialogs_toolbox_get() accordingly. * app/gui/dialogs-commands.[ch]: added dialogs_show_toolbox(), ckeck if a dock is really a GimpImageDock before casting. * app/gui/gui.c * app/gui/menus.c * app/widgets/gimppaletteeditor.c: changed accordingly. * app/gui/color-notebook.c * app/gui/color-select.c * app/gui/colormap-dialog.c * app/gui/palette-editor-commands.c: removed useless inclusion of "gui/color-area.h". * themes/Default/gtkrc: set "gimp-dock-style" for GimpToolbox widgets. |
|
Michael Natterer | 780b93d96e |
themes/Default/images/stock-button-stroke.png
2002-02-27 Michael Natterer <mitch@gimp.org> * themes/Default/images/stock-button-stroke.png * themes/Default/images/stock-button-to-path.png * themes/Default/images/stock-button-to-selection.png: removed. * themes/Default/images/stock-button-path-stroke.png * themes/Default/images/stock-button-selection-stroke.png * themes/Default/images/stock-button-selection-to-path.png: new ones. * themes/Default/Makefile.am * themes/Default/images/Makefile.am * libgimpwidgets/gimpstock.[ch]: changed accordingly. * themes/Default/images/stock-button-selection-add.png * themes/Default/images/stock-button-selection-intersect.png * themes/Default/images/stock-button-selection-replace.png * themes/Default/images/stock-button-selection-subtract.png: cropped. * themes/Default/images/tools/stock-tool-button-brightness-contrast.png: a nicer one from Ville Pätsi. * app/gui/menus.c * app/widgets/gimpvectorslistview.c: use the new stock items. * app/gui/dialogs-commands.c: create the new paths dialog, not the old one in dialogs_lc_cmd_callback(). * app/gui/vectors-commands.c: some more s/Vectors/Path/ in user-visible strings. * app/app_procs.c: some test code for the filename -> uri migration. |
|
Michael Natterer | bba8413773 |
app/core/Makefile.am new files: the QMask stuff stripped from GUI code.
2001-11-30 Michael Natterer <mitch@gimp.org> * app/core/Makefile.am * app/core/gimpimage-qmask.[ch]: new files: the QMask stuff stripped from GUI code. Added gimp_image_qmask_invert(). * app/core/gimpimage.[ch]: removed the QMask functions. * app/display/Makefile.am * app/display/gimpdisplayshell-qmask.[ch]: removed. * app/gui/Makefile.am * app/gui/qmask-commands.[ch]: new files for the new QMask item factory callbacks and the qmask query dialog. * app/gui/menus.c: added a context menu for the QMask button. * app/display/gimpdisplayshell.c * app/display/gimpdisplayshell-handlers.c: don't include the qmask stuff. * app/display/gimpdisplayshell-callbacks.[ch]: Moved the 2 qmask callbacks here. Don't popup the dialog on double_click. Show the contect menu on right-click. * app/display/gimpdisplayshell-callbacks.[ch]: gimp_display_shell_canvas_events(): removed the hack of conntecting "key_press_event" to gtk_true() while a tool is active. Instead, check for (event & GDK_BUTTON1_MASK) in the key_press and key_release handlers and stop signal emission. Save the modifier state on "button_press" and restore it after "button_release". Changed the way context menus are updated/shown: - removed GimpContainerContextFunc. - pass around item factory identifiers (e.g. "<Brushes>") - added voodoo to update the menus before showing them. * app/widgets/gimpitemfactory.[ch]: gimp_item_factory_new(): take a GimpItemFactoryUpdateFunc parameter, attach it as data to the factory and use it to update the menu in gimp_item_factory_popup_with_date(). * app/widgets/gimpwidgets-utils.[ch]: removed gimp_item_factory_popup_with_data() here. * app/widgets/gimpbrushfactoryview.[ch] * app/widgets/gimpbufferview.[ch] * app/widgets/gimpcontainereditor.[ch] * app/widgets/gimpdatafactoryview.[ch] * app/widgets/gimpdocumentview.[ch] * app/widgets/gimpdrawablelistview.[ch]: use item_factory identifier strings all over the place. * app/widgets/gimpdockbook.c: removed the menu update code, it's now in gui/dialogs-commands.c. * app/gui/brushes-commands.[ch] * app/gui/buffers-commands.[c] * app/gui/channels-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/layers-commands.[ch] * app/gui/palettes-commands.[ch] * app/gui/patterns-commands.[ch]: removed all show_context_menu() functions and made the update functions public. Changed all update functions to use the gimp_item_factory_set_foo() methods instead of gimp_menu_item_set_foo(). * app/gui/menus.c: pass the update functions to the gimp_item_factory_new(). * app/gui/dialogs-constructors.c: pass item factory identifiers to all view constructors. * app/gui/gradient-editor.c: show the context menu using the new method. * app/gui/toolbox.c: no need to include "dialogs-commands.h". |
|
Michael Natterer | b017fa1538 |
put the last_opened menu entries in a submenu called "Open Recent", added
2001-11-29 Michael Natterer <mitch@gimp.org> * app/gui/menus.c: put the last_opened menu entries in a submenu called "Open Recent", added items to create a dock with some useful tabs in it ("Brushes, Patterns & Stuff..."), * app/gui/dialogs-commands.[ch]: added a callback for the new "Stuff" menu entry. * app/gui/dialogs-constructors.h: removed dialogs_lc_get() declaration because it doesn't exist. |
|
Michael Natterer | d463a5efdf |
removed a useless g_return_if_fail().
2001-11-23 Michael Natterer <mitch@gimp.org> * app/core/gimpcontainer.c: removed a useless g_return_if_fail(). * app/widgets/gimpcontainereditor.h: removed GimpViewType enum. * app/widgets/widgets-types.h: added it here. * app/widgets/gimpcontainerview-utils.[ch]: added a utility function which gets the GimpContainerView out of a GimpDockable. * app/widgets/gimpdialogfactory.[ch]: added support for saving and loading of each GimpDockable's preview size. Store the dialog's default preview size in the GimpDialogFactoryEntry. Pass the preview_size to each created dialog. * app/gui/menus.c: added menu items for setting the preview_size and switching between list and grid view. Removed the item overkill in the "Add Tab" submenu. * app/gui/dialogs-commands.[ch]: added callbacks for the new items. * app/widgets/gimpdockbook.c: set the item's state before showing the menu. * app/errors.c * app/gui/dialogs-constructors.[ch] * app/gui/dialogs.c * app/gui/edit-commands.c * app/gui/gui.c * app/gui/indicator-area.c * app/gui/toolbox.c: changed accordingly. * app/tools/selection_options.[ch]: cleaned up the selection options and added some tooltips. Much more to do... |
|
Michael Natterer | 01b780d682 |
added app/display/ and app/plug-in/. Empty for now except for the types
2001-08-17 Michael Natterer <mitch@gimp.org> * configure.in: added app/display/ and app/plug-in/. Empty for now except for the types files. * app/Makefile.am * app/appenums.h * app/apptypes.h: removed. * app/display/Makefile.am * app/display/display-types.h * app/plug-in/Makefile.am * app/plug-in/plug-in-types.h * app/gui/Makefile.am * app/gui/gui-types.h * app/pdb/Makefile.am * app/pdb/pdb-types.h: new files for typedefs. * app/appenv.h: added MessageHandlerType and StackTraceMode here. * app/undo_types.h: moved undo struct typedefs here. * app/tools/tools-types.h * app/core/core-types.h: added some enums and Tattoo here (renamed to GimpTattoo). * app/gdisplay.h: temp_hack: #include "display/display-types.h" * app/gimphelp.c: s/gtk_idle_add/g_idle_add/ * app/gimprc.c: don't use "gimprc" in token handlers but the passed "val1p" and "val2p". * app/image_map.[ch]: cleanup in preparation of making a GObject out of it. * app/base/pixel-region.[ch]: no need to pass the PixelRegionIterator around as void pointer. * app/core/gimp.[ch] * app/core/gimpcontext.[ch] * app/core/gimptoolinfo.[ch] * app/tools/tool_manager.c * app/widgets/gimpdnd.c: added the standard_tool_info to the Gimp object. * app/batch.c * app/file-open.c * app/file-save.c * app/file-utils.c * app/interface.c * app/main.c * app/path.[ch] * app/pathP.h * app/plug_in.h * app/core/gimpdrawable.[ch] * app/core/gimpimage-mask.c * app/core/gimpimage.[ch] * app/core/gimplayer.c * app/gui/color-area.c * app/gui/color-notebook.c * app/gui/colormap-dialog.c * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.c * app/gui/error-console-dialog.c * app/gui/gradient-editor.c * app/gui/gradient-select.c * app/gui/indicator-area.c * app/gui/info-dialog.c * app/gui/palette-editor.c * app/gui/palette-select.c * app/gui/pattern-select.c * app/gui/session.c * app/gui/splash.c * app/gui/view-commands.c * app/tools/gimpinktool-blob.c * app/widgets/gimpcolorpanel.c * app/widgets/gimpdockbook.c * app/widgets/gimppreview.c * app/xcf/xcf-load.c * app/xcf/xcf-save.c * app/xcf/xcf.c: changed accordingly: s/Tattoo/GimpTattoo/, include the new types files, include <glib-object.h> instead of >gtk/gtk.h>. Bad hacks to get rid of SELECTION_OFF and friends in core/ (will be replaced ba a signal soon). * tools/pdbgen/Makefile.am: changed list of headers scanned for enums accordingly. * app/pdb/procedural_db.c * tools/pdbgen/app.pl * tools/pdbgen/pdb/channel.pdb * tools/pdbgen/pdb/display.pdb * tools/pdbgen/pdb/gradient_select.pdb * tools/pdbgen/pdb/image.pdb * tools/pdbgen/pdb/layer.pdb * tools/pdbgen/pdb/pattern_select.pdb: same fixes as above, added hacks to ensure that all foo-types.h files are included before all other gimp internal includes, include "pdb-types.h" unconditionally. * tools/pdbgen/enums.pl * app/pdb/*_cmds.c: regenerated. |
|
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 | b280b493c7 |
don't use the global "the_gimp" variable.
2001-07-15 Michael Natterer <mitch@gimp.org> * app/core/gimp.c: don't use the global "the_gimp" variable. * app/core/gimpimage-convert.c: don't update the display here. * app/gui/gui.c: connect to the images' "mode_changed" signal and update here. * app/gui/brush-editor.[ch] * app/gui/gradient-editor.[ch] * app/gui/palette-editor.[ch]: pass a "Gimp" pointer to all editors. Added an palette_name entry to the palette editor. * app/gui/colormap-dialog.[ch]: removed all the dialog stuff and made the constructor return a vbox so it can be integrated in a dockable. Lots of cleanup and removal of anqiuqe aretfacts. * app/gui/dialogs-constructors.[ch]: wrap the colormap dialog in a dockable. * app/gui/dialogs-commands.[ch] * app/gui/dialogs.c * app/gui/menus.c: integrate the new dockable, made the "Brushes.." etc. menu entries create dockbles. Moved the old dialogs and the test menu entries to "Old + Testing" and removed N_() so the .po files stay cruft-free. * app/gui/test-commands.[ch]: removed lots of stuff which is not "testing" any more. |
|
Michael Natterer | 8a6f5a104d |
app/gui/dialogs-commands.[ch] added dialogs_toggle_auto_cmd_callback()
2001-07-02 Michael Natterer <mitch@gimp.org> * app/gui/dialogs-commands.[ch] * app/gui/menus.c: added dialogs_toggle_auto_cmd_callback() which toggles GimpImageDock's "Auto" button. * app/gui/dialogs.c: ref/sink the global dialog factories. * app/widgets/gimpdialogfactory.[ch]: added some comments, some cleanups and additional checks. Factored out the "aux-info" stuff to separate functions. * app/widgets/gimpdockbook.c: set the state of the "Auto Follow Active Image" menu item. * app/widgets/gimpimagedock.[ch]: added a gboolean for "show_image_menu" so we don't need to fiddle around with the widgets to get this info. Added gimp_image_dock_set_auto_follow_active(). |
|
Michael Natterer | d81b47ce70 |
removed GimpFillType.
2001-06-29 Michael Natterer <mitch@gimp.org> * app/appenums.h: removed GimpFillType. * app/gimprc.c: parse the session-info's new "aux-info" field. * app/global_edit.[ch]: removed the old "Paste Named" dialog and prefixed all functions with "gimp_". * app/core/core-types.h: added GimpFillType. * app/core/gimpbrush.[ch]: new signal "spacing_changed". * app/gui/Makefile.am * app/gui/tools-commands.[ch]: one more file cut out of commands.[ch]. * app/gui/commands.[ch]: removed the tools stuff here. * app/gui/brush-select.[ch] * app/gui/dialogs-constructors.c: use the new GimpBrushFactoryView (see below). * app/gui/dialogs-commands.[ch] * app/gui/menus.[ch]: - Made it 64bit safe again by passing the dialog factory's identifiers as GQuarks, not as guints created by GPOINTER_TO_UINT(). - Added a "gchar *quark_string" field to GimpItemFactoryEntry which gets transformed into a GQuark by menus_create_item(). - Added SEPARATOR() and BRANCH() macros which make the *_entries[] arrays more readable. - Added a menu item to show/hide GimpImageDock's image menu. - Removed file_last_opened_cmd_callback(). * app/gui/edit-commands.c: the global_edit functions are "gimp_" prefixed now. * app/gui/file-commands.[ch]: added file_last_opened_cmd_callback() here. * app/widgets/Makefile.am * app/widgets/widgets-types.h * app/widgets/gimpbrushfactoryview.[ch]: new widget: a GimpDataFactory subclass with a "spacing" scale. * app/widgets/gimpcontainereditor.[ch]: - Connect to the GimpContainerView's "select_item", "activate_item" and "context_item" signals here once instead of in each subclass and dispatch them via new virtual functions. - Added a convenience function which makes DND to the buttons much less painful for subclasses. * app/widgets/gimpbufferview.c * app/widgets/gimpdatafactoryview.[ch]: changed accordingly. * app/widgets/gimpdialogfactory.[ch]: - Added gimp_dialog_factory_dialog_raise() which can raise toplevel dialogs _and_ dockables (and creates them if they are not open yet). - Keep track of all created dialogs (not only toplevels). - Added an "aux_info" field to GimpSessionInfo which is a GList of gchar* and is saved in sessionrc. - Remember if GimpImageDock's image menu is visible by using an aux_info string. - The code did not become nicer with all those new constraints. I have to add comments before I forget how it works. * app/widgets/gimpdockbook.c: set the state of the "Show Image Menu" menu item before popping up the item factory. * app/widgets/gimpimagedock.[ch]: added gimp_image_dock_set_show_image_meu(). * plug-ins/gdyntext/gdyntext.c * plug-ins/perl/examples/fit-text * plug-ins/perl/examples/terral_text * plug-ins/perl/examples/tex-to-float: register all text rendering plug-ins under <Image>/Filters/Text * app/pdb/brush_select_cmds.c * app/pdb/drawable_cmds.c * app/pdb/edit_cmds.c * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/edit.pdb * tools/pdbgen/enums.pl * po/POTFILES.in: changed according to all the stuff above. |
|
Michael Natterer | 3bd0b97ec3 |
app/Makefile.am taken behind the curtain and shot. (famous words of Seth
2001-05-11 Michael Natterer <mitch@gimp.org> * app/Makefile.am * app/lc_dialog.[ch]: taken behind the curtain and shot. (famous words of Seth Burgess on #gimp) * app/app_procs.c * app/gdisplay.c * app/gimage.c * app/gui/commands.c * app/gui/gui.c * app/gui/menus.c * app/gui/preferences-dialog.c: don't #include it or call it's functions any more. * app/gui/dialogs-commands.[ch]: added a constructor for a dock which looks like the old L&C dialog (taken from test-commands.*) * app/gui/test-commands.[ch]: removed here. * app/gui/dialogs-constructors.[ch]: wrapped the old paths-dialog.* stuff in a dockable which can be created only once. Will go away as soon as the new path stuff is there. * app/gui/dialogs.c: added the paths dockable, removed lc_dialog. * app/gui/paths-dialog.c: some changes to make it work without the lc_dialog around it. Will probably crash randomly and refuse to update it's contents properly (scheduled for removal). |
|
Michael Natterer | a229702dfe |
added ChannelType. removed ChannelType. regenerated.
2001-05-08 Michael Natterer <mitch@gimp.org> * app/appenums.h: added ChannelType. * app/gimpimage.h: removed ChannelType. * tools/pdbgen/enums.pl: regenerated. * app/apptypes.h: don't include libgimpwidgets/gimpwidgetstypes.h and widgets/widgets-types.h any more. * app/devices.c * app/gimpdnd.c * app/gimprc.c * app/lc_dialog.c * app/gui/[many].c: include widgets/widgets-types.h * app/tools/histogram_tool.h: include widgets/widgets-types.h here because of an ugly dependency from pdb/color_cmds.c * app/tools/tool_options_dialog.c * app/widgets/widgets-types.h: include libgimpwidgets/gimpwidgetstypes.h and apptypes.h so files in widgets/ only have to include this file. * app/widgets/*.c: include widgets-types.h instead of apptypes.h * app/gimpdrawable-preview.c * app/gui/gradient-editor.c: removed useless #includes. |
|
Michael Natterer | 714f4b14ea |
some minor fixes / cleanup.
2001-04-23 Michael Natterer <mitch@gimp.org> * app/gimpcontext.[ch]: some minor fixes / cleanup. * app/gimpdata.c: forgot to gtk_object_class_add_signals() in class_init(). * app/gui/dialogs-constructors.[ch]: added a tool_tab_func() so the notebook tab shows a tool preview, pass a GimpContext to all dialog constructors and added set_context() functions for all dockable based dialogs so they can be configured to use the context of the destination dock when dragging them around. * app/widgets/gimpcontainermenuimpl.c: removed debugging output. * app/widgets/gimpdialogfactory.[ch]: add a method to create dockables (which gets passed the dock the dockable will be added to) so the dockables can be created in the right context. * app/widgets/gimpdock.[ch]: added a GimpContext attribute, remove the dockbooks explicitely in destroy(). * app/widgets/gimpdockable.[ch]: dockables now know about their set_context_func() and can thus be dragged between different contexts. * app/widgets/gimpdockbook.c: gimp_dockbook_add(): refuse to add dockables to dockbooks which are not part of a dock, set the dockable's context after adding it. * app/widgets/gimpimagedock.[ch]: image docks now keep a pointer to the global image list which is passed to them on construction so they don't need to know about the global "image_context" variable, added an "Auto" button like in L&C. * app/gui/dialogs-commands.c: changed accordingly. |
|
Michael Natterer | f283b957b1 |
app/session.[ch] removed the old dialog session management code...
2001-04-17 Michael Natterer <mitch@gimp.org> * app/session.[ch] * app/gimprc.c: removed the old dialog session management code... * app/widgets/gimpdialogfactory.[ch]: ...and manage all dialogs here. * app/gui/dialogs-constructors.[ch]: dialog factory compliant constructors for all session managed toplevel dialogs. * app/brush_select.[ch] * app/devices.[ch] * app/docindex.[ch] * app/errorconsole.[ch] * app/gradient_select.[ch] * app/info_dialog.c * app/lc_dialog.[ch] * app/palette.[ch] * app/pattern_select.[ch] * app/toolbox.[ch] * app/tools/tool_options_dialog.[ch]: all dialog constructors have to return the dialog now (even the legacy ones that will go away). Removed the session management code as this is now done for the dialogs, not by them. * app/app_procs.c * app/color_select.c * app/commands.[ch] * app/indicator_area.c * app/menus.c * app/palette_select.c * app/preferences_dialog.c * app/gui/dialogs.c * app/gui/dialogs-commands.[ch] * app/gui/gui.c * app/tools/gimptool.c * app/widgets/gimpdock.c: changed accordingly. |
|
Michael Natterer | 059e7773ee |
First attempt to get the docks session managed:
2001-04-16 Michael Natterer <mitch@gimp.org> First attempt to get the docks session managed: * app/gimprc.c: new gimprc type "new-session-info" which will soon replace the original one. * app/menus.c * app/gui/dialogs.c: s/_/-/g in all dialog identifier strings. * app/session.[ch]: call the dialog factory's session functions. * app/test_commands.c: use the dialog factory to create the tabs. * app/gui/dialogs-commands.c * app/gui/dialogs-constructors.[ch]: the constructors return widgets, not dockables now. * app/widgets/gimpdialogfactory.[ch]: maintain a list of dialog factories in the class struct. Added ugly code to do the GimpDock session management. * app/gui/gui.c * app/widgets/gimpdock.c: changed accordingly. |
|
Michael Natterer | 3fafbbe1f2 |
added some more dialog types.
2001-04-14 Michael Natterer <mitch@gimp.org> * app/menus.c: added some more dialog types. * app/gui/Makefile.am * app/gui/gimpdialogfactory.[ch]: removed again... * app/widgets/Makefile.am * app/widgets/gimpdialogfactory.[ch]: ...and added where it belongs. * app/gui/dialogs.c * app/widgets/gimpdock.c: changed #include's * app/gui/dialogs-commands.c: dialogs can be removed via the menu now. * app/widgets/gimpdockbook.c: ref the dockbook while the item factory is active because an item factory callback may destroy it (we need to add the hijacked GtkNotebook menu back to the notebook). |
|
Michael Natterer | 517de92aa7 |
configure.in app/Makefile.am new directory which will contain all gui code
2001-04-14 Michael Natterer <mitch@gimp.org> * configure.in * app/Makefile.am * app/gui/Makefile.am: new directory which will contain all gui code except widgets (I was tired off adding new files to app/). * app/apptypes.h * app/gui/gimpdialogfactory.[ch]: factory which produces dialogs from string descriptions. Should maybe go to widgets/. * app/gui/dialogs-commands.[ch]: callbacks for the new menu factory below. * app/gui/dialogs-constructors.[ch]: dialog constructors which are registered with the dialog factory. * app/gui/dialogs.[ch]: register the dialogs with the factory. * app/app_procs.c: call dialogs_register(). * app/menus.[ch]: a new item factory for creating dialogs. * app/test_commands.c * app/widgets/gimpdock.[ch]: added a dialog factory pointer to the GimpDock struct. * app/widgets/gimpdockbook.[ch]: badly (badly!) fiddle around with GtkNotebook's menu to get it integrated in the GtkItemFactory which produces new dialogs. |