app: move more API to gimpcontainerview-cruft.[ch] and make
gimpcontainerview.c cruft-free.
This commit is contained in:
parent
d58b17cb10
commit
8766a228af
15 changed files with 65 additions and 65 deletions
|
|
@ -38,6 +38,7 @@
|
|||
#include "gimpcontainertreestore.h"
|
||||
#include "gimpcontainericonview.h"
|
||||
#include "gimpcontainerview.h"
|
||||
#include "gimpcontainerview-cruft.h"
|
||||
#include "gimpdnd.h"
|
||||
#include "gimpviewrenderer.h"
|
||||
#include "gimpwidgets-utils.h"
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@
|
|||
#include "gimpcellrendererviewable.h"
|
||||
#include "gimpcontainertreestore.h"
|
||||
#include "gimpcontainerview.h"
|
||||
#include "gimpcontainerview-cruft.h"
|
||||
#include "gimpviewrenderer.h"
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@
|
|||
#include "gimpcontainertreeview.h"
|
||||
#include "gimpcontainertreeview-private.h"
|
||||
#include "gimpcontainerview.h"
|
||||
#include "gimpcontainerview-cruft.h"
|
||||
#include "gimpdnd.h"
|
||||
#include "gimpviewrenderer.h"
|
||||
#include "gimpwidgets-utils.h"
|
||||
|
|
|
|||
|
|
@ -113,6 +113,45 @@ _gimp_container_view_real_clear_items (GimpContainerView *view)
|
|||
g_hash_table_remove_all (private->item_hash);
|
||||
}
|
||||
|
||||
gpointer
|
||||
_gimp_container_view_lookup (GimpContainerView *view,
|
||||
GimpViewable *viewable)
|
||||
{
|
||||
GimpContainerViewPrivate *private;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_CONTAINER_VIEW (view), NULL);
|
||||
g_return_val_if_fail (viewable == NULL || GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
|
||||
/* we handle the NULL viewable here as a workaround for bug #149906 */
|
||||
if (! viewable)
|
||||
return NULL;
|
||||
|
||||
private = GIMP_CONTAINER_VIEW_GET_PRIVATE (view);
|
||||
|
||||
return g_hash_table_lookup (private->item_hash, viewable);
|
||||
}
|
||||
|
||||
gboolean
|
||||
_gimp_container_view_contains (GimpContainerView *view,
|
||||
GList *viewables)
|
||||
{
|
||||
GimpContainerViewPrivate *private;
|
||||
GList *iter;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_CONTAINER_VIEW (view), FALSE);
|
||||
g_return_val_if_fail (viewables, FALSE);
|
||||
|
||||
private = GIMP_CONTAINER_VIEW_GET_PRIVATE (view);
|
||||
|
||||
for (iter = viewables; iter; iter = iter->next)
|
||||
{
|
||||
if (! g_hash_table_contains (private->item_hash, iter->data))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/* private functions */
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,12 @@
|
|||
#pragma once
|
||||
|
||||
|
||||
void _gimp_container_view_connect_cruft (GimpContainerView *view);
|
||||
void _gimp_container_view_disconnect_cruft (GimpContainerView *view);
|
||||
void _gimp_container_view_connect_cruft (GimpContainerView *view);
|
||||
void _gimp_container_view_disconnect_cruft (GimpContainerView *view);
|
||||
|
||||
void _gimp_container_view_real_clear_items (GimpContainerView *view);
|
||||
void _gimp_container_view_real_clear_items (GimpContainerView *view);
|
||||
|
||||
gpointer _gimp_container_view_lookup (GimpContainerView *view,
|
||||
GimpViewable *viewable);
|
||||
gboolean _gimp_container_view_contains (GimpContainerView *view,
|
||||
GList *viewables);
|
||||
|
|
|
|||
|
|
@ -81,10 +81,11 @@ _gimp_container_view_get_private (GimpContainerView *view)
|
|||
|
||||
private->view_border_width = 1;
|
||||
|
||||
private->item_hash = g_hash_table_new_full (g_direct_hash,
|
||||
g_direct_equal,
|
||||
NULL,
|
||||
view_iface->insert_data_free);
|
||||
if (! GIMP_CONTAINER_VIEW_GET_IFACE (view)->use_list_model)
|
||||
private->item_hash = g_hash_table_new_full (g_direct_hash,
|
||||
g_direct_equal,
|
||||
NULL,
|
||||
view_iface->insert_data_free);
|
||||
|
||||
g_object_set_qdata_full ((GObject *) view, private_key, private,
|
||||
(GDestroyNotify)
|
||||
|
|
|
|||
|
|
@ -32,8 +32,6 @@ struct _GimpContainerViewPrivate
|
|||
GimpContainer *container;
|
||||
GimpContext *context;
|
||||
|
||||
GHashTable *item_hash;
|
||||
|
||||
gint view_size;
|
||||
gint view_border_width;
|
||||
gboolean reorderable;
|
||||
|
|
@ -42,6 +40,8 @@ struct _GimpContainerViewPrivate
|
|||
/* initialized by subclass */
|
||||
GtkWidget *dnd_widget;
|
||||
|
||||
/* cruft */
|
||||
GHashTable *item_hash;
|
||||
GimpTreeHandler *name_changed_handler;
|
||||
GimpTreeHandler *expanded_changed_handler;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -488,45 +488,6 @@ gimp_container_view_is_item_selected (GimpContainerView *view,
|
|||
|
||||
/* protected functions, only to be used by implementors */
|
||||
|
||||
gpointer
|
||||
_gimp_container_view_lookup (GimpContainerView *view,
|
||||
GimpViewable *viewable)
|
||||
{
|
||||
GimpContainerViewPrivate *private;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_CONTAINER_VIEW (view), NULL);
|
||||
g_return_val_if_fail (viewable == NULL || GIMP_IS_VIEWABLE (viewable), NULL);
|
||||
|
||||
/* we handle the NULL viewable here as a workaround for bug #149906 */
|
||||
if (! viewable)
|
||||
return NULL;
|
||||
|
||||
private = GIMP_CONTAINER_VIEW_GET_PRIVATE (view);
|
||||
|
||||
return g_hash_table_lookup (private->item_hash, viewable);
|
||||
}
|
||||
|
||||
gboolean
|
||||
_gimp_container_view_contains (GimpContainerView *view,
|
||||
GList *viewables)
|
||||
{
|
||||
GimpContainerViewPrivate *private;
|
||||
GList *iter;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_CONTAINER_VIEW (view), FALSE);
|
||||
g_return_val_if_fail (viewables, FALSE);
|
||||
|
||||
private = GIMP_CONTAINER_VIEW_GET_PRIVATE (view);
|
||||
|
||||
for (iter = viewables; iter; iter = iter->next)
|
||||
{
|
||||
if (! g_hash_table_contains (private->item_hash, iter->data))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
_gimp_container_view_selection_changed (GimpContainerView *view)
|
||||
{
|
||||
|
|
@ -734,11 +695,6 @@ gimp_container_view_real_set_container (GimpContainerView *view,
|
|||
if (private->context)
|
||||
gimp_container_view_disconnect_context (view);
|
||||
|
||||
#if 0
|
||||
/* needed? */
|
||||
gimp_container_view_set_selected (view, NULL);
|
||||
#endif
|
||||
|
||||
if (! GIMP_CONTAINER_VIEW_GET_IFACE (view)->use_list_model)
|
||||
_gimp_container_view_disconnect_cruft (view);
|
||||
}
|
||||
|
|
@ -892,10 +848,8 @@ gimp_container_view_button_viewables_dropped (GtkWidget *widget,
|
|||
{
|
||||
GimpContainerView *view = GIMP_CONTAINER_VIEW (data);
|
||||
|
||||
if (viewables)
|
||||
if (viewables && gimp_container_view_set_selected (view, viewables))
|
||||
{
|
||||
gimp_container_view_set_selected (view, viewables);
|
||||
|
||||
gtk_button_clicked (GTK_BUTTON (widget));
|
||||
}
|
||||
}
|
||||
|
|
@ -909,10 +863,8 @@ gimp_container_view_button_viewable_dropped (GtkWidget *widget,
|
|||
{
|
||||
GimpContainerView *view = GIMP_CONTAINER_VIEW (data);
|
||||
|
||||
if (viewable && _gimp_container_view_lookup (view, viewable))
|
||||
if (viewable && gimp_container_view_set_1_selected (view, viewable))
|
||||
{
|
||||
gimp_container_view_set_1_selected (view, viewable);
|
||||
|
||||
gtk_button_clicked (GTK_BUTTON (widget));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,12 +137,6 @@ gboolean gimp_container_view_is_item_selected (GimpContainerView *v
|
|||
|
||||
/* protected */
|
||||
|
||||
gpointer _gimp_container_view_lookup (GimpContainerView *view,
|
||||
GimpViewable *viewable);
|
||||
gboolean _gimp_container_view_contains (GimpContainerView *view,
|
||||
GList *viewables);
|
||||
|
||||
|
||||
void _gimp_container_view_selection_changed (GimpContainerView *view);
|
||||
void _gimp_container_view_item_activated (GimpContainerView *view,
|
||||
GimpViewable *item);
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
#include "core/gimplist.h"
|
||||
|
||||
#include "gimpcontainerview.h"
|
||||
#include "gimpcontainerview-cruft.h"
|
||||
#include "gimpcontainertreestore.h"
|
||||
#include "gimpcontainertreeview.h"
|
||||
#include "gimpdeviceeditor.h"
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
|
||||
#include "gimpcontainertreestore.h"
|
||||
#include "gimpcontainerview.h"
|
||||
#include "gimpcontainerview-cruft.h"
|
||||
#include "gimpdrawabletreeview.h"
|
||||
#include "gimpdrawabletreeview-filters.h"
|
||||
#include "gimpviewrenderer.h"
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@
|
|||
|
||||
#include "gimpcontainertreestore.h"
|
||||
#include "gimpcontainerview.h"
|
||||
#include "gimpcontainerview-cruft.h"
|
||||
#include "gimpdnd.h"
|
||||
#include "gimpdrawabletreeview.h"
|
||||
#include "gimpdrawabletreeview-filters.h"
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
#include "gimpaction.h"
|
||||
#include "gimpcontainertreestore.h"
|
||||
#include "gimpcontainerview.h"
|
||||
#include "gimpcontainerview-cruft.h"
|
||||
#include "gimpdnd.h"
|
||||
#include "gimpdocked.h"
|
||||
#include "gimpitemtreeview.h"
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@
|
|||
#include "gimpcellrendererviewable.h"
|
||||
#include "gimpcontainertreestore.h"
|
||||
#include "gimpcontainerview.h"
|
||||
#include "gimpcontainerview-cruft.h"
|
||||
#include "gimpdnd.h"
|
||||
#include "gimphelp-ids.h"
|
||||
#include "gimplayermodebox.h"
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
|
||||
#include "gimpcontainertreestore.h"
|
||||
#include "gimpcontainerview.h"
|
||||
#include "gimpcontainerview-cruft.h"
|
||||
#include "gimpdnd.h"
|
||||
#include "gimpviewrenderer.h"
|
||||
#include "gimptooleditor.h"
|
||||
|
|
|
|||
Loading…
Reference in a new issue