Commit graph

10 commits

Author SHA1 Message Date
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.
2003-04-08 12:39:02 +00:00
Michael Natterer ff0ce48cdc removed tree_view->preview_border_width.
2003-04-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainertreeview.[ch]: removed
	tree_view->preview_border_width.

	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainerview.[ch]: and added it here so it is
	configurable in all views. Synced the changes in both classes.

	* app/widgets/gimpcontainermenuimpl.[ch]
	* app/widgets/gimpmenuitem.[ch]: made preview_border_size
	configurable here, too.

	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpimagedock.c
	* app/gui/palette-import-dialog.c: changed accordingly.

	* app/gui/file-new-dialog.c: Removed the border from the template
	menu previews.
2003-04-04 21:16:58 +00:00
Michael Natterer af37e71b80 added the scrolled_win to the GimpContainerView struct. Create it in
2003-03-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerview.[ch]: added the scrolled_win
	to the GimpContainerView struct. Create it in init().
	Added gimp_container_view_set_size_request() which adds the
	scrolled_window's scrollbar and frames sizes correctly.

	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainertreeview.[ch]: removed scrolled windows
	here and use the one from the parent_instance. Use the new utility
	function.

	* app/widgets/gimpcontainertreeview.c: enable searching in the
	name column. Grab the focus in button_press.

	* app/widgets/gimpcontainerpopup.[ch]: added a button_box containing
	zoom in/out, view as list/grid and a button to show the permanently
	open dialog. Added more parameters to gimp_container_popup_new().

	* app/tools/gimpblendoptions.c
	* app/tools/gimpbucketfilloptions.c
	* app/tools/gimptextoptions.c
	* app/tools/paint_options.c: changed accordingly.
2003-03-26 14:56:10 +00:00
Michael Natterer d1c99beeb4 allow to create a GimpContainerEditor without a popup menu.
2003-03-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainereditor.c: allow to create a
	GimpContainerEditor without a popup menu.

	* app/widgets/gimpcellrendererviewable.c: free the event we
	got from gdk_get_current_event().

	* app/widgets/gimpcontainerview.c: check view->hash_table for
	being non-NULL before using it. Be prepared to be destroyed by as
	a result of calling gimp_context_set_foo(view->context, foo).

	* app/widgets/gimpcontainertreeview.[ch]: added
	tree_view->editable_cells and handle *all* mouse clicks in
	gimp_container_tree_view_button_press() (by returning TRUE). Start
	editing on double-click only. Use gtk_tree_view_set_cursor()
	instead of gtk_tree_selection_select_path() to avoid
	selected/focus confusion when the focus enters the widget. Be
	prepeared to be destroyed as a result of item selection.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainerpopup.[ch]: new GtkWindow derived
	widget which pops up a selection of any GimpContainer/GimpContext
	combo.

	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpitemtreeview.c: add the name cell to
	tree_view->editable_cells so it becomes editable.

	* app/tools/gimpblendoptions.c
	* app/tools/paint_options.c: use the new container popup for
	selecting brushes and gradients.
2003-03-22 16:26:11 +00:00
Michael Natterer 0b401af44f app/widgets/gimpcellrenderertoggle.[ch] added public functions to emit the
2003-03-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcellrenderertoggle.[ch]
	* app/widgets/gimpcellrendererviewable.[ch]: added public
	functions to emit the "clicked" signal.

	* app/widgets/gimpcontainertreeview.c: use them instead of
	g_signal_emit_by_name().

	* app/widgets/Makefile.am
	* app/widgets/gimpcontainertreeview-dnd.[ch]: new files
	implementing DND for tree views.

	* app/widgets/gimpcontainertreeview.[ch]: added virtual
	functions drop_possible() and drop().

	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c: implement drop_possible()
	and drop().
2003-03-19 15:17:13 +00:00
Michael Natterer 8c9c5a2006 added utility function gimp_container_tree_view_find_click_cell(). Don't
2003-03-16  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainertreeview.[ch]: added utility function
	gimp_container_tree_view_find_click_cell(). Don't select the
	row if one of tree_view->toggle_cells was clicked. Removed
	"GList *toggle_columns" from the struct.

	* app/widgets/gimpdrawabletreeview.[ch]: added a
	GtkTreeSelectionFunc which ensures that nothing but the floating
	selection can be selected. Removed the "eye_column" from the
	struct.

	* app/widgets/gimpitemtreeview.[ch]: added virtual function
	rename_item() and a default implementation.

	* app/widgets/gimplayertreeview.[ch]: implement rename_item() and
	special case floating selections. Added
	gimp_layer_tree_view_mask_update() utility function to factor out
	duplicated code. Removed "chain_column" from the struct. Cleanup.
2003-03-16 13:19:43 +00:00
Michael Natterer 205cdf1353 Added GtkTreeView versions of layers/channels/vectors:
2003-03-16  Michael Natterer  <mitch@gimp.org>

	Added GtkTreeView versions of layers/channels/vectors:

	* app/core/core-enums.[ch]: renamed GIMP_UNDO_GROUP_LAYER_PROPERTIES
	to GIMP_UNDO_GROUP_ITEM_PROPERTIES.

	* app/core/gimpcontainer.c (gimp_container_reorder): don't try
	to reorder containers with num_children == 1.

	* app/core/gimpmarshal.list: added VOID: STRING, UINT marshaller.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpchanneltreeview.[ch]
	* app/widgets/gimpdrawabletreeview.[ch]
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimplayertreeview.[ch]
	* app/widgets/gimpvectorstreeview.[ch]: new widgets.

	* app/widgets/gimpcellrenderertoggle.c: draw the frame only if the
	cell is prelit.

	* app/widgets/gimpcellrendererviewable.[ch]: added "clicked"
	signal, unref the renderer in finalize(). Set the renderer's
	border color to black if the cell is not selected (a hack that
	saves tons of code in GimpLayerTreeView).

	* app/widgets/gimpcomponenteditor.c: no need to gtk_list_store_set()
	stuff we just got from the store.

	* app/widgets/gimpcontainertreeview.[ch]: added lots of state used
	by the new subclasses to the GimpContainerTreeView struct.  Create
	the GtkListStore/GtkTreeView in GObject::constructor() and only
	collect parameters in init() so subclasses can modify store/view
	creation. Do most of the button_press_event stuff manually and
	return TRUE from the handler.

	* app/widgets/gimpcontainerview.c: cleanup.

	* app/widgets/gimpitemlistview.h
	* app/widgets/gimpvectorslistview.h: temp hacks before they die.

	* app/widgets/gimppreviewrenderer.[ch]: added
	gimp_preview_renderer_update_idle() which idle-emits "update"
	without invalidating.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: added constructors for the new dialogs.

	* app/gui/channels-commands.c
	* app/gui/channels-menu.c
	* app/gui/layers-commands.c
	* app/gui/layers-menu.c
	* app/gui/vectors-commands.c
	* app/gui/vectors-menu.c: accept tree views as callback data.
2003-03-16 11:14:29 +00:00
Michael Natterer 9af8448dfd disable expensive column auto-resizing and call
2003-03-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcomponenteditor.c: disable expensive column
	auto-resizing and call gtk_tree_view_columns_autosize() in
	gimp_component_editor_set_preview_size().

	* app/widgets/gimpcontainertreeview.[ch]: ditto. Changed the
	GtkListStore pointer in the GimpContainerTreeView struct to
	GtkTreeModel.
2003-03-13 22:17:31 +00:00
Michael Natterer 0806aad654 added "GDestroyNotify insert_data_free" to the GimpContainerViewClass
2003-02-24  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerview.[ch]: added "GDestroyNotify
	insert_data_free" to the GimpContainerViewClass struct. Pass it as
	"value_destroy_func" to g_hash_table_new_full().

	* app/widgets/gimpcontainertreeview.[ch]: set g_free() as
	insert_data_free, so we don't leak the GtkTreeIters used as
	insert_data. Added DND stuff (you can drag any item without
	selecting it using mouse button 2). Cleanup.

	* app/widgets/gimpcontainereditor.c: cosmetic.
2003-02-24 20:31:14 +00:00
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.
2003-02-21 19:03:19 +00:00