gdl-dock-tablabel.c revision d19de0ff8b0793e74e98429ded50868ce7e9f75c
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
*
* This file is part of the GNOME Devtools Libraries.
*
* Copyright (C) 2002 Gustavo Gir�ldez <gustavo.giraldez@gmx.net>
*
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "gdl-i18n.h"
#include "gdl-dock-tablabel.h"
#include "gdl-dock-item.h"
#include "libgdlmarshal.h"
/* ----- Private prototypes ----- */
GParamSpec *pspec);
GParamSpec *pspec);
/* ----- Private data types and variables ----- */
#define DEFAULT_DRAG_HANDLE_SIZE 10
#define HANDLE_RATIO 1.0
enum {
};
enum {
};
/* ----- Private interface ----- */
static void
{
_("Dockitem which 'owns' this tablabel"),
g_signal_new ("button_pressed_handle",
1,
}
static void
{
}
static void
{
switch (prop_id) {
case PROP_ITEM:
};
tablabel);
tablabel);
tablabel);
"locked", &locked,
"long-name", &long_name,
NULL);
if (locked)
tablabel->drag_handle_size = 0;
};
break;
default:
break;
}
}
static void
{
switch (prop_id) {
case PROP_ITEM:
break;
default:
break;
}
}
static void
{
(void)pspec;
"locked", &locked,
"long-name", &label,
NULL);
if (locked)
tablabel->drag_handle_size = 0;
}
static void
{
requisition->height = 0;
if (gtk_bin_get_child (bin))
else
//gtk_widget_size_request (widget, requisition);
}
static void
{
if (gtk_widget_get_realized (widget))
allocation->x,
allocation->y,
allocation->height);
(int) tablabel->drag_handle_size);
}
}
static void
{
};
}
static gint
{
};
return FALSE;
}
static gboolean
{
return FALSE;
case GDK_BUTTON_PRESS:
/* Check if user clicked on the drag handle. */
(rel_x > 0);
}
else {
0,
event);
}
}
break;
case GDK_BUTTON_RELEASE:
break;
default:
break;
}
if (!event_handled) {
/* propagate the event to the parent's gdkwindow */
e = *event;
e.x += widget_allocation.x;
e.y += widget_allocation.y;
gdk_event_put ((GdkEvent *) &e);
};
return event_handled;
}
static gboolean
{
return FALSE;
event->x,
event->y)) {
0,
}
}
if (!event_handled) {
/* propagate the event to the parent's gdkwindow */
e = *event;
e.x += widget_allocation.x;
e.y += widget_allocation.y;
gdk_event_put ((GdkEvent *) &e);
};
return event_handled;
}
static void
{
int attributes_mask;
attributes.x = widget_allocation.x;
attributes.y = widget_allocation.y;
}
static void
{
if (tablabel->event_window) {
}
}
static void
{
}
static void
{
}
/* ----- Public interface ----- */
{
"item", item,
NULL));
return GTK_WIDGET (tablabel);
}
void
{
}
void
{
/* yeah, i know it contradictive */
}