mirror of https://github.com/GNOME/gimp.git
started to add some more separator event handling.
2001-04-10 Michael Natterer <mitch@gimp.org> * app/gimpdock.c: started to add some more separator event handling. * app/gimppalettepreview.c: we don't want a popup if n_colors == 0. * app/test_commands.c: cleanup.
This commit is contained in:
parent
cca3497143
commit
0b33c2bdfc
|
@ -1,3 +1,11 @@
|
|||
2001-04-10 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/gimpdock.c: started to add some more separator event handling.
|
||||
|
||||
* app/gimppalettepreview.c: we don't want a popup if n_colors == 0.
|
||||
|
||||
* app/test_commands.c: cleanup.
|
||||
|
||||
2001-04-10 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/tools/posterize.c
|
||||
|
|
145
app/gimpdock.c
145
app/gimpdock.c
|
@ -33,29 +33,35 @@
|
|||
#include "gimpdockbook.h"
|
||||
|
||||
|
||||
static void gimp_dock_class_init (GimpDockClass *klass);
|
||||
static void gimp_dock_init (GimpDock *dock);
|
||||
static void gimp_dock_class_init (GimpDockClass *klass);
|
||||
static void gimp_dock_init (GimpDock *dock);
|
||||
|
||||
static void gimp_dock_destroy (GtkObject *object);
|
||||
static GtkWidget * gimp_dock_separator_new (GimpDock *dock);
|
||||
|
||||
static void gimp_dock_destroy (GtkObject *object);
|
||||
|
||||
static gboolean gimp_dock_separator_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data);
|
||||
static gboolean gimp_dock_separator_button_release (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data);
|
||||
|
||||
/*
|
||||
static gboolean gimp_dock_tab_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data);
|
||||
static void gimp_dock_tab_drag_begin (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gpointer data);
|
||||
static void gimp_dock_tab_drag_end (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gpointer data);
|
||||
static void gimp_dock_separator_drag_begin (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gpointer data);
|
||||
static void gimp_dock_separator_drag_end (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gpointer data);
|
||||
*/
|
||||
|
||||
static gboolean gimp_dock_separator_drag_drop (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gint x,
|
||||
gint y,
|
||||
guint time,
|
||||
gpointer data);
|
||||
static gboolean gimp_dock_separator_drag_drop (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gint x,
|
||||
gint y,
|
||||
guint time,
|
||||
gpointer data);
|
||||
|
||||
|
||||
static GtkWindowClass *parent_class = NULL;
|
||||
|
@ -105,31 +111,6 @@ gimp_dock_class_init (GimpDockClass *klass)
|
|||
object_class->destroy = gimp_dock_destroy;
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
gimp_dock_separator_new (GimpDock *dock)
|
||||
{
|
||||
GtkWidget *event_box;
|
||||
GtkWidget *frame;
|
||||
|
||||
event_box = gtk_event_box_new ();
|
||||
gtk_widget_set_usize (event_box, -1, 8);
|
||||
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
|
||||
gtk_container_add (GTK_CONTAINER (event_box), frame);
|
||||
gtk_widget_show (frame);
|
||||
|
||||
gtk_drag_dest_set (GTK_WIDGET (event_box),
|
||||
GTK_DEST_DEFAULT_ALL,
|
||||
dialog_target_table, n_dialog_targets,
|
||||
GDK_ACTION_MOVE);
|
||||
gtk_signal_connect (GTK_OBJECT (event_box), "drag_drop",
|
||||
GTK_SIGNAL_FUNC (gimp_dock_separator_drag_drop),
|
||||
dock);
|
||||
|
||||
return event_box;
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_dock_init (GimpDock *dock)
|
||||
{
|
||||
|
@ -165,6 +146,38 @@ gimp_dock_new (void)
|
|||
return GTK_WIDGET (gtk_type_new (GIMP_TYPE_DOCK));
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
gimp_dock_separator_new (GimpDock *dock)
|
||||
{
|
||||
GtkWidget *event_box;
|
||||
GtkWidget *frame;
|
||||
|
||||
event_box = gtk_event_box_new ();
|
||||
gtk_widget_set_usize (event_box, -1, 8);
|
||||
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
|
||||
gtk_container_add (GTK_CONTAINER (event_box), frame);
|
||||
gtk_widget_show (frame);
|
||||
|
||||
gtk_drag_dest_set (GTK_WIDGET (event_box),
|
||||
GTK_DEST_DEFAULT_ALL,
|
||||
dialog_target_table, n_dialog_targets,
|
||||
GDK_ACTION_MOVE);
|
||||
gtk_signal_connect (GTK_OBJECT (event_box), "drag_drop",
|
||||
GTK_SIGNAL_FUNC (gimp_dock_separator_drag_drop),
|
||||
dock);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (event_box), "button_press_event",
|
||||
GTK_SIGNAL_FUNC (gimp_dock_separator_button_press),
|
||||
dock);
|
||||
gtk_signal_connect (GTK_OBJECT (event_box), "button_release_event",
|
||||
GTK_SIGNAL_FUNC (gimp_dock_separator_button_release),
|
||||
dock);
|
||||
|
||||
return event_box;
|
||||
}
|
||||
|
||||
void
|
||||
gimp_dock_add (GimpDock *dock,
|
||||
GimpDockable *dockable,
|
||||
|
@ -291,36 +304,36 @@ gimp_dock_remove_book (GimpDock *dock,
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
static gboolean
|
||||
gimp_dock_tab_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data)
|
||||
gimp_dock_separator_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data)
|
||||
{
|
||||
GimpDockable *dockable;
|
||||
gint page_num;
|
||||
|
||||
dockable = GIMP_DOCKABLE (data);
|
||||
|
||||
switch (bevent->button)
|
||||
if (bevent->type == GDK_BUTTON_PRESS)
|
||||
{
|
||||
case 3:
|
||||
gtk_menu_popup (GTK_MENU (GTK_NOTEBOOK (dockable->dock->notebook)->menu),
|
||||
NULL, NULL,
|
||||
NULL, NULL, 3, bevent->time);
|
||||
break;
|
||||
|
||||
default:
|
||||
page_num = gtk_notebook_page_num (GTK_NOTEBOOK (dockable->dock->notebook),
|
||||
GTK_WIDGET (dockable));
|
||||
|
||||
gtk_notebook_set_page (GTK_NOTEBOOK (dockable->dock->notebook), page_num);
|
||||
break;
|
||||
if (bevent->button == 1)
|
||||
{
|
||||
gtk_grab_add (widget);
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gimp_dock_separator_button_release (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data)
|
||||
{
|
||||
if (bevent->button == 1)
|
||||
{
|
||||
gtk_grab_remove (widget);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
static void
|
||||
gimp_dock_tab_drag_begin (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
|
|
|
@ -157,6 +157,9 @@ gimp_palette_preview_needs_popup (GimpPreview *preview)
|
|||
|
||||
palette = GIMP_PALETTE (preview->viewable);
|
||||
|
||||
if (! palette->n_colors)
|
||||
return FALSE;
|
||||
|
||||
if (palette->n_columns)
|
||||
popup_width = palette->n_columns;
|
||||
else
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
|
||||
#include "apptypes.h"
|
||||
|
||||
#include "tools/tool_manager.h"
|
||||
|
||||
#include "context_manager.h"
|
||||
#include "gradient_editor.h"
|
||||
#include "gimpchannel.h"
|
||||
|
@ -685,8 +687,8 @@ test_palette_tab_func (GimpDockable *dockable,
|
|||
}
|
||||
|
||||
void
|
||||
test_list_dock_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
test_dock_new (GimpViewType view_type,
|
||||
GimpContext *context)
|
||||
{
|
||||
GtkWidget *dock;
|
||||
GtkWidget *dockbook;
|
||||
|
@ -701,10 +703,10 @@ test_list_dock_cmd_callback (GtkWidget *widget,
|
|||
|
||||
dockable = gimp_dockable_new ("Brush List", "Brushes",
|
||||
test_brush_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_LIST,
|
||||
view = gimp_data_factory_view_new (view_type,
|
||||
global_brush_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
context,
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
|
@ -714,10 +716,10 @@ test_list_dock_cmd_callback (GtkWidget *widget,
|
|||
|
||||
dockable = gimp_dockable_new ("Pattern List", "Patterns",
|
||||
test_pattern_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_LIST,
|
||||
view = gimp_data_factory_view_new (view_type,
|
||||
global_pattern_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
context,
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
|
@ -727,10 +729,10 @@ test_list_dock_cmd_callback (GtkWidget *widget,
|
|||
|
||||
dockable = gimp_dockable_new ("Gradient List", "Gradients",
|
||||
test_gradient_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_LIST,
|
||||
view = gimp_data_factory_view_new (view_type,
|
||||
global_gradient_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
context,
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
|
@ -740,10 +742,10 @@ test_list_dock_cmd_callback (GtkWidget *widget,
|
|||
|
||||
dockable = gimp_dockable_new ("Palette List", "Palettes",
|
||||
test_palette_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_LIST,
|
||||
view = gimp_data_factory_view_new (view_type,
|
||||
global_palette_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
context,
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
|
@ -751,75 +753,50 @@ test_list_dock_cmd_callback (GtkWidget *widget,
|
|||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
switch (view_type)
|
||||
{
|
||||
case GIMP_VIEW_TYPE_LIST:
|
||||
dockable = gimp_dockable_new ("Tool List", "Tools",
|
||||
NULL);
|
||||
view = gimp_container_list_view_new (global_tool_info_list,
|
||||
context,
|
||||
22,
|
||||
5, 3);
|
||||
break;
|
||||
|
||||
case GIMP_VIEW_TYPE_GRID:
|
||||
dockable = gimp_dockable_new ("Tool Grid", "Tools",
|
||||
NULL);
|
||||
view = gimp_container_grid_view_new (global_tool_info_list,
|
||||
context,
|
||||
22,
|
||||
5, 3);
|
||||
break;
|
||||
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
}
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
gtk_widget_show (view);
|
||||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
gtk_widget_show (dock);
|
||||
}
|
||||
|
||||
void
|
||||
test_list_dock_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
test_dock_new (GIMP_VIEW_TYPE_LIST,
|
||||
gimp_context_get_user ());
|
||||
}
|
||||
|
||||
void
|
||||
test_grid_dock_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
GtkWidget *dock;
|
||||
GtkWidget *dockbook;
|
||||
GtkWidget *dockable;
|
||||
GtkWidget *view;
|
||||
|
||||
dock = gimp_dock_new ();
|
||||
|
||||
dockbook = gimp_dockbook_new ();
|
||||
|
||||
gimp_dock_add_book (GIMP_DOCK (dock), GIMP_DOCKBOOK (dockbook), 0);
|
||||
|
||||
dockable = gimp_dockable_new ("Brush Grid", "Brushes",
|
||||
test_brush_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_GRID,
|
||||
global_brush_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
gtk_widget_show (view);
|
||||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
dockable = gimp_dockable_new ("Pattern Grid", "Patterns",
|
||||
test_pattern_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_GRID,
|
||||
global_pattern_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
gtk_widget_show (view);
|
||||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
dockable = gimp_dockable_new ("Gradient Grid", "Gradients",
|
||||
test_gradient_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_GRID,
|
||||
global_gradient_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
gtk_widget_show (view);
|
||||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
dockable = gimp_dockable_new ("Palette Grid", "Palettes",
|
||||
test_palette_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_GRID,
|
||||
global_palette_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
gtk_widget_show (view);
|
||||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
gtk_widget_show (dock);
|
||||
test_dock_new (GIMP_VIEW_TYPE_GRID,
|
||||
gimp_context_get_user ());
|
||||
}
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
|
||||
#include "apptypes.h"
|
||||
|
||||
#include "tools/tool_manager.h"
|
||||
|
||||
#include "context_manager.h"
|
||||
#include "gradient_editor.h"
|
||||
#include "gimpchannel.h"
|
||||
|
@ -685,8 +687,8 @@ test_palette_tab_func (GimpDockable *dockable,
|
|||
}
|
||||
|
||||
void
|
||||
test_list_dock_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
test_dock_new (GimpViewType view_type,
|
||||
GimpContext *context)
|
||||
{
|
||||
GtkWidget *dock;
|
||||
GtkWidget *dockbook;
|
||||
|
@ -701,10 +703,10 @@ test_list_dock_cmd_callback (GtkWidget *widget,
|
|||
|
||||
dockable = gimp_dockable_new ("Brush List", "Brushes",
|
||||
test_brush_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_LIST,
|
||||
view = gimp_data_factory_view_new (view_type,
|
||||
global_brush_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
context,
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
|
@ -714,10 +716,10 @@ test_list_dock_cmd_callback (GtkWidget *widget,
|
|||
|
||||
dockable = gimp_dockable_new ("Pattern List", "Patterns",
|
||||
test_pattern_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_LIST,
|
||||
view = gimp_data_factory_view_new (view_type,
|
||||
global_pattern_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
context,
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
|
@ -727,10 +729,10 @@ test_list_dock_cmd_callback (GtkWidget *widget,
|
|||
|
||||
dockable = gimp_dockable_new ("Gradient List", "Gradients",
|
||||
test_gradient_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_LIST,
|
||||
view = gimp_data_factory_view_new (view_type,
|
||||
global_gradient_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
context,
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
|
@ -740,10 +742,10 @@ test_list_dock_cmd_callback (GtkWidget *widget,
|
|||
|
||||
dockable = gimp_dockable_new ("Palette List", "Palettes",
|
||||
test_palette_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_LIST,
|
||||
view = gimp_data_factory_view_new (view_type,
|
||||
global_palette_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
context,
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
|
@ -751,75 +753,50 @@ test_list_dock_cmd_callback (GtkWidget *widget,
|
|||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
switch (view_type)
|
||||
{
|
||||
case GIMP_VIEW_TYPE_LIST:
|
||||
dockable = gimp_dockable_new ("Tool List", "Tools",
|
||||
NULL);
|
||||
view = gimp_container_list_view_new (global_tool_info_list,
|
||||
context,
|
||||
22,
|
||||
5, 3);
|
||||
break;
|
||||
|
||||
case GIMP_VIEW_TYPE_GRID:
|
||||
dockable = gimp_dockable_new ("Tool Grid", "Tools",
|
||||
NULL);
|
||||
view = gimp_container_grid_view_new (global_tool_info_list,
|
||||
context,
|
||||
22,
|
||||
5, 3);
|
||||
break;
|
||||
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
}
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
gtk_widget_show (view);
|
||||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
gtk_widget_show (dock);
|
||||
}
|
||||
|
||||
void
|
||||
test_list_dock_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
test_dock_new (GIMP_VIEW_TYPE_LIST,
|
||||
gimp_context_get_user ());
|
||||
}
|
||||
|
||||
void
|
||||
test_grid_dock_cmd_callback (GtkWidget *widget,
|
||||
gpointer client_data)
|
||||
{
|
||||
GtkWidget *dock;
|
||||
GtkWidget *dockbook;
|
||||
GtkWidget *dockable;
|
||||
GtkWidget *view;
|
||||
|
||||
dock = gimp_dock_new ();
|
||||
|
||||
dockbook = gimp_dockbook_new ();
|
||||
|
||||
gimp_dock_add_book (GIMP_DOCK (dock), GIMP_DOCKBOOK (dockbook), 0);
|
||||
|
||||
dockable = gimp_dockable_new ("Brush Grid", "Brushes",
|
||||
test_brush_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_GRID,
|
||||
global_brush_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
gtk_widget_show (view);
|
||||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
dockable = gimp_dockable_new ("Pattern Grid", "Patterns",
|
||||
test_pattern_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_GRID,
|
||||
global_pattern_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
gtk_widget_show (view);
|
||||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
dockable = gimp_dockable_new ("Gradient Grid", "Gradients",
|
||||
test_gradient_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_GRID,
|
||||
global_gradient_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
gtk_widget_show (view);
|
||||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
dockable = gimp_dockable_new ("Palette Grid", "Palettes",
|
||||
test_palette_tab_func);
|
||||
view = gimp_data_factory_view_new (GIMP_VIEW_TYPE_GRID,
|
||||
global_palette_factory,
|
||||
NULL,
|
||||
gimp_context_get_user (),
|
||||
32,
|
||||
5, 3);
|
||||
gtk_container_add (GTK_CONTAINER (dockable), view);
|
||||
gtk_widget_show (view);
|
||||
|
||||
gimp_dock_add (GIMP_DOCK (dock), GIMP_DOCKABLE (dockable), -1, -1);
|
||||
|
||||
gtk_widget_show (dock);
|
||||
test_dock_new (GIMP_VIEW_TYPE_GRID,
|
||||
gimp_context_get_user ());
|
||||
}
|
||||
|
|
|
@ -33,29 +33,35 @@
|
|||
#include "gimpdockbook.h"
|
||||
|
||||
|
||||
static void gimp_dock_class_init (GimpDockClass *klass);
|
||||
static void gimp_dock_init (GimpDock *dock);
|
||||
static void gimp_dock_class_init (GimpDockClass *klass);
|
||||
static void gimp_dock_init (GimpDock *dock);
|
||||
|
||||
static void gimp_dock_destroy (GtkObject *object);
|
||||
static GtkWidget * gimp_dock_separator_new (GimpDock *dock);
|
||||
|
||||
static void gimp_dock_destroy (GtkObject *object);
|
||||
|
||||
static gboolean gimp_dock_separator_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data);
|
||||
static gboolean gimp_dock_separator_button_release (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data);
|
||||
|
||||
/*
|
||||
static gboolean gimp_dock_tab_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data);
|
||||
static void gimp_dock_tab_drag_begin (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gpointer data);
|
||||
static void gimp_dock_tab_drag_end (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gpointer data);
|
||||
static void gimp_dock_separator_drag_begin (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gpointer data);
|
||||
static void gimp_dock_separator_drag_end (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gpointer data);
|
||||
*/
|
||||
|
||||
static gboolean gimp_dock_separator_drag_drop (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gint x,
|
||||
gint y,
|
||||
guint time,
|
||||
gpointer data);
|
||||
static gboolean gimp_dock_separator_drag_drop (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
gint x,
|
||||
gint y,
|
||||
guint time,
|
||||
gpointer data);
|
||||
|
||||
|
||||
static GtkWindowClass *parent_class = NULL;
|
||||
|
@ -105,31 +111,6 @@ gimp_dock_class_init (GimpDockClass *klass)
|
|||
object_class->destroy = gimp_dock_destroy;
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
gimp_dock_separator_new (GimpDock *dock)
|
||||
{
|
||||
GtkWidget *event_box;
|
||||
GtkWidget *frame;
|
||||
|
||||
event_box = gtk_event_box_new ();
|
||||
gtk_widget_set_usize (event_box, -1, 8);
|
||||
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
|
||||
gtk_container_add (GTK_CONTAINER (event_box), frame);
|
||||
gtk_widget_show (frame);
|
||||
|
||||
gtk_drag_dest_set (GTK_WIDGET (event_box),
|
||||
GTK_DEST_DEFAULT_ALL,
|
||||
dialog_target_table, n_dialog_targets,
|
||||
GDK_ACTION_MOVE);
|
||||
gtk_signal_connect (GTK_OBJECT (event_box), "drag_drop",
|
||||
GTK_SIGNAL_FUNC (gimp_dock_separator_drag_drop),
|
||||
dock);
|
||||
|
||||
return event_box;
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_dock_init (GimpDock *dock)
|
||||
{
|
||||
|
@ -165,6 +146,38 @@ gimp_dock_new (void)
|
|||
return GTK_WIDGET (gtk_type_new (GIMP_TYPE_DOCK));
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
gimp_dock_separator_new (GimpDock *dock)
|
||||
{
|
||||
GtkWidget *event_box;
|
||||
GtkWidget *frame;
|
||||
|
||||
event_box = gtk_event_box_new ();
|
||||
gtk_widget_set_usize (event_box, -1, 8);
|
||||
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
|
||||
gtk_container_add (GTK_CONTAINER (event_box), frame);
|
||||
gtk_widget_show (frame);
|
||||
|
||||
gtk_drag_dest_set (GTK_WIDGET (event_box),
|
||||
GTK_DEST_DEFAULT_ALL,
|
||||
dialog_target_table, n_dialog_targets,
|
||||
GDK_ACTION_MOVE);
|
||||
gtk_signal_connect (GTK_OBJECT (event_box), "drag_drop",
|
||||
GTK_SIGNAL_FUNC (gimp_dock_separator_drag_drop),
|
||||
dock);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (event_box), "button_press_event",
|
||||
GTK_SIGNAL_FUNC (gimp_dock_separator_button_press),
|
||||
dock);
|
||||
gtk_signal_connect (GTK_OBJECT (event_box), "button_release_event",
|
||||
GTK_SIGNAL_FUNC (gimp_dock_separator_button_release),
|
||||
dock);
|
||||
|
||||
return event_box;
|
||||
}
|
||||
|
||||
void
|
||||
gimp_dock_add (GimpDock *dock,
|
||||
GimpDockable *dockable,
|
||||
|
@ -291,36 +304,36 @@ gimp_dock_remove_book (GimpDock *dock,
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
static gboolean
|
||||
gimp_dock_tab_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data)
|
||||
gimp_dock_separator_button_press (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data)
|
||||
{
|
||||
GimpDockable *dockable;
|
||||
gint page_num;
|
||||
|
||||
dockable = GIMP_DOCKABLE (data);
|
||||
|
||||
switch (bevent->button)
|
||||
if (bevent->type == GDK_BUTTON_PRESS)
|
||||
{
|
||||
case 3:
|
||||
gtk_menu_popup (GTK_MENU (GTK_NOTEBOOK (dockable->dock->notebook)->menu),
|
||||
NULL, NULL,
|
||||
NULL, NULL, 3, bevent->time);
|
||||
break;
|
||||
|
||||
default:
|
||||
page_num = gtk_notebook_page_num (GTK_NOTEBOOK (dockable->dock->notebook),
|
||||
GTK_WIDGET (dockable));
|
||||
|
||||
gtk_notebook_set_page (GTK_NOTEBOOK (dockable->dock->notebook), page_num);
|
||||
break;
|
||||
if (bevent->button == 1)
|
||||
{
|
||||
gtk_grab_add (widget);
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gimp_dock_separator_button_release (GtkWidget *widget,
|
||||
GdkEventButton *bevent,
|
||||
gpointer data)
|
||||
{
|
||||
if (bevent->button == 1)
|
||||
{
|
||||
gtk_grab_remove (widget);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
static void
|
||||
gimp_dock_tab_drag_begin (GtkWidget *widget,
|
||||
GdkDragContext *context,
|
||||
|
|
|
@ -157,6 +157,9 @@ gimp_palette_preview_needs_popup (GimpPreview *preview)
|
|||
|
||||
palette = GIMP_PALETTE (preview->viewable);
|
||||
|
||||
if (! palette->n_colors)
|
||||
return FALSE;
|
||||
|
||||
if (palette->n_columns)
|
||||
popup_width = palette->n_columns;
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue