aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-cell-spin-button.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-cell-spin-button.c')
-rw-r--r--widgets/table/e-cell-spin-button.c274
1 files changed, 137 insertions, 137 deletions
diff --git a/widgets/table/e-cell-spin-button.c b/widgets/table/e-cell-spin-button.c
index 7f04af9358..ea7f294cfa 100644
--- a/widgets/table/e-cell-spin-button.c
+++ b/widgets/table/e-cell-spin-button.c
@@ -7,9 +7,9 @@
* Authors:
* Mikael Hallendal <micke@codefactory.se>
*
- * Celltype for drawing a spinbutton in a cell.
+ * Celltype for drawing a spinbutton in a cell.
*
- * Used ECellPopup by Damon Chaplin <damon@ximian.com> as base for
+ * Used ECellPopup by Damon Chaplin <damon@ximian.com> as base for
* buttondrawings.
*
* This library is free software; you can redistribute it and/or
@@ -54,24 +54,24 @@ static ECellView * ecsb_new_view (ECell *ecell,
static void ecsb_realize (ECellView *ecv);
static void ecsb_kill_view (ECellView *ecv);
static void ecsb_unrealize (ECellView *ecv);
-static void ecsb_draw (ECellView *ecv,
- GdkDrawable *drawable,
- int model_col,
- int view_col,
- int row,
- ECellFlags flags,
- int x1,
- int y1,
- int x2,
- int y2);
-
-static gint ecsb_event (ECellView *ecv,
- GdkEvent *event,
- int model_col,
- int view_col,
+static void ecsb_draw (ECellView *ecv,
+ GdkDrawable *drawable,
+ int model_col,
+ int view_col,
+ int row,
+ ECellFlags flags,
+ int x1,
+ int y1,
+ int x2,
+ int y2);
+
+static gint ecsb_event (ECellView *ecv,
+ GdkEvent *event,
+ int model_col,
+ int view_col,
int row,
- ECellFlags flags,
- ECellActions *actions);
+ ECellFlags flags,
+ ECellActions *actions);
static gint ecsb_height (ECellView *ecv,
int model_col,
@@ -79,14 +79,14 @@ static gint ecsb_height (ECellView *ecv,
int row);
static void * ecsb_enter_edit (ECellView *ecv,
- int model_col,
- int view_col,
+ int model_col,
+ int view_col,
int row);
static void ecsb_leave_edit (ECellView *ecv,
- int model_col,
- int view_col,
- int row,
+ int model_col,
+ int view_col,
+ int row,
void *context);
static void ecsb_focus (ECellView *ecell_view,
int model_col,
@@ -99,15 +99,15 @@ static void ecsb_focus (ECellView *ecell_view,
static void ecsb_unfocus (ECellView *ecell_view);
static void ecsb_show_tooltip (ECellView *ecv,
- int model_col,
- int view_col,
- int row,
- int col_width,
+ int model_col,
+ int view_col,
+ int row,
+ int col_width,
ETableTooltip *tooltip);
typedef struct {
ECellView cell_view;
-
+
ECellView *child_view;
} ECellSpinButtonView;
@@ -118,12 +118,12 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-static void
+static void
e_cell_spin_button_class_init (ECellSpinButtonClass *klass)
{
ECellClass *ecc = E_CELL_CLASS (klass);
GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
+
object_class->dispose = ecsb_dispose;
ecc->realize = ecsb_realize;
@@ -151,20 +151,20 @@ e_cell_spin_button_class_init (ECellSpinButtonClass *klass)
NULL, NULL,
e_util_marshal_NONE__POINTER_INT_INT_INT,
G_TYPE_NONE,
- 4, G_TYPE_POINTER, G_TYPE_INT,
+ 4, G_TYPE_POINTER, G_TYPE_INT,
G_TYPE_INT, G_TYPE_INT);
}
-static void
+static void
e_cell_spin_button_init (ECellSpinButton *ecsb)
{
g_return_if_fail (M_IS_CELL_SPIN_BUTTON (ecsb));
-
+
ecsb->up_pressed = FALSE;
ecsb->down_pressed = FALSE;
}
-static ECellView *
+static ECellView *
ecsb_new_view (ECell *ecell,
ETableModel *etm,
void *eti_view)
@@ -187,23 +187,23 @@ ecsb_new_view (ECell *ecell,
return (ECellView *) ecsb_view;
}
-static void
+static void
ecsb_realize (ECellView *ecv)
-{
+{
ECellSpinButtonView *ecsb_view;
-
+
g_return_if_fail (ecv != NULL);
ecsb_view = (ECellSpinButtonView *) ecv;
e_cell_realize (ecsb_view->child_view);
-}
+}
-static void
+static void
ecsb_kill_view (ECellView *ecv)
{
ECellSpinButtonView *ecsb_view;
-
+
g_return_if_fail (ecv != NULL);
ecsb_view = (ECellSpinButtonView *) ecv;
@@ -211,15 +211,15 @@ ecsb_kill_view (ECellView *ecv)
if (ecsb_view->child_view) {
e_cell_kill_view (ecsb_view->child_view);
}
-
+
g_free (ecsb_view);
}
-static void
+static void
ecsb_unrealize (ECellView *ecv)
-{
+{
ECellSpinButtonView *ecsb_view;
-
+
g_return_if_fail (ecv != NULL);
ecsb_view = (ECellSpinButtonView *) ecv;
@@ -227,16 +227,16 @@ ecsb_unrealize (ECellView *ecv)
e_cell_unrealize (ecsb_view->child_view);
}
-static void
-ecsb_draw (ECellView *ecv,
- GdkDrawable *drawable,
- int model_col,
- int view_col,
- int row,
- ECellFlags flags,
- int x1,
- int y1,
- int x2,
+static void
+ecsb_draw (ECellView *ecv,
+ GdkDrawable *drawable,
+ int model_col,
+ int view_col,
+ int row,
+ ECellFlags flags,
+ int x1,
+ int y1,
+ int x2,
int y2)
{
ECellSpinButton *ecsb;
@@ -245,38 +245,38 @@ ecsb_draw (ECellView *ecv,
GtkWidget *canvas;
GtkShadowType shadow = GTK_SHADOW_OUT;
GdkRectangle rect;
-
+
g_return_if_fail (ecv != NULL);
-
+
ecsb_view = (ECellSpinButtonView *) ecv;
ecsb = E_CELL_SPIN_BUTTON (ecsb_view->cell_view.ecell);
-
+
eti = E_TABLE_ITEM (ecsb_view->cell_view.e_table_item_view);
canvas = GTK_WIDGET (GNOME_CANVAS_ITEM (eti)->canvas);
-
- if (eti->editing_col == view_col &&
+
+ if (eti->editing_col == view_col &&
eti->editing_row == row) {
/* Draw child (Whats shown under the buttons) */
- e_cell_draw (ecsb_view->child_view,
+ e_cell_draw (ecsb_view->child_view,
drawable, model_col, view_col,
- row, flags,
- x1, y1,
- x2 - E_CELL_SPIN_BUTTON_ARROW_WIDTH, y2);
+ row, flags,
+ x1, y1,
+ x2 - E_CELL_SPIN_BUTTON_ARROW_WIDTH, y2);
/* Draw down-arrow */
rect.x = x2 - E_CELL_SPIN_BUTTON_ARROW_WIDTH;
rect.y = y1 + (y2 - y1) / 2;
rect.width = E_CELL_SPIN_BUTTON_ARROW_WIDTH;
rect.height = (y2 - y1) / 2;
-
+
if (ecsb->down_pressed) {
shadow = GTK_SHADOW_IN;
} else {
shadow = GTK_SHADOW_OUT;
}
-
- gtk_paint_box (canvas->style, drawable,
+
+ gtk_paint_box (canvas->style, drawable,
GTK_STATE_NORMAL, shadow,
&rect, canvas, "ecellspinbutton_down",
rect.x, rect.y, rect.width, rect.height);
@@ -292,14 +292,14 @@ ecsb_draw (ECellView *ecv,
/* Draw up-arrow */
rect.y = y1;
-
+
if (ecsb->up_pressed) {
shadow = GTK_SHADOW_IN;
} else {
shadow = GTK_SHADOW_OUT;
}
- gtk_paint_box (canvas->style, drawable,
+ gtk_paint_box (canvas->style, drawable,
GTK_STATE_NORMAL, shadow,
&rect, canvas, "ecellspinbutton_up",
rect.x, rect.y, rect.width, rect.height);
@@ -314,34 +314,34 @@ ecsb_draw (ECellView *ecv,
rect.height);
} else {
/* Draw child */
- e_cell_draw (ecsb_view->child_view,
+ e_cell_draw (ecsb_view->child_view,
drawable, model_col, view_col,
- row, flags,
- x1, y1,
- x2, y2);
+ row, flags,
+ x1, y1,
+ x2, y2);
}
}
-static gint
-ecsb_event (ECellView *ecv,
- GdkEvent *event,
- int model_col,
- int view_col,
+static gint
+ecsb_event (ECellView *ecv,
+ GdkEvent *event,
+ int model_col,
+ int view_col,
int row,
- ECellFlags flags,
+ ECellFlags flags,
ECellActions *actions)
{
ECellSpinButton *ecsb;
ECellSpinButtonView *ecsb_view;
ETableItem *eti;
gint height, width;
-
+
g_return_val_if_fail (ecv != NULL, FALSE);
-
+
ecsb_view = (ECellSpinButtonView *) ecv;
ecsb = E_CELL_SPIN_BUTTON (ecsb_view->cell_view.ecell);
eti = E_TABLE_ITEM (ecsb_view->cell_view.e_table_item_view);
-
+
switch (event->type) {
case GDK_BUTTON_PRESS:
if (eti->editing_col == view_col &&
@@ -377,10 +377,10 @@ ecsb_event (ECellView *ecv,
row,
view_col,
row);
-
+
}
- }
-
+ }
+
break;
case GDK_BUTTON_RELEASE:
ecsb->up_pressed = FALSE;
@@ -401,29 +401,29 @@ ecsb_event (ECellView *ecv,
view_col, row, flags, actions);
}
-static gint
+static gint
ecsb_height (ECellView *ecv,
int model_col,
int view_col,
int row)
{
ECellSpinButtonView *ecsb_view;
-
+
g_return_val_if_fail (ecv != NULL, -1);
-
+
ecsb_view = (ECellSpinButtonView *) ecv;
return e_cell_height (ecsb_view->child_view, model_col, view_col, row);
}
-static void *
+static void *
ecsb_enter_edit (ECellView *ecv,
- int model_col,
- int view_col,
+ int model_col,
+ int view_col,
int row)
{
ECellSpinButtonView *ecsb_view;
-
+
g_return_val_if_fail (ecv != NULL, NULL);
ecsb_view = (ECellSpinButtonView *) ecv;
@@ -433,20 +433,20 @@ ecsb_enter_edit (ECellView *ecv,
}
-static void
+static void
ecsb_leave_edit (ECellView *ecv,
- int model_col,
- int view_col,
- int row,
+ int model_col,
+ int view_col,
+ int row,
void *context)
{
ECellSpinButtonView *ecsb_view;
-
+
g_return_if_fail (ecv != NULL);
-
+
ecsb_view = (ECellSpinButtonView *) ecv;
- e_cell_leave_edit (ecsb_view->child_view, model_col, view_col,
+ e_cell_leave_edit (ecsb_view->child_view, model_col, view_col,
row, context);
}
@@ -461,11 +461,11 @@ ecsb_focus (ECellView *ecell_view,
int y2)
{
ECellClass *klass;
-
+
klass = E_CELL_GET_CLASS (ecell_view->ecell);
if (klass->focus)
- klass->focus (ecell_view, model_col, view_col, row,
+ klass->focus (ecell_view, model_col, view_col, row,
x1, y1, x2, y2);
}
@@ -473,37 +473,37 @@ static void
ecsb_unfocus (ECellView *ecell_view)
{
ECellClass *klass;
-
+
klass = E_CELL_GET_CLASS (ecell_view->ecell);
if (klass->unfocus)
klass->unfocus (ecell_view);
}
-static void
+static void
ecsb_show_tooltip (ECellView *ecv,
- int model_col,
- int view_col,
- int row,
- int col_width,
+ int model_col,
+ int view_col,
+ int row,
+ int col_width,
ETableTooltip *tooltip)
{
ECellSpinButtonView *ecsb_view;
-
+
g_return_if_fail (ecv != NULL);
ecsb_view = (ECellSpinButtonView *) ecv;
-
- e_cell_show_tooltip (ecsb_view->child_view, model_col, view_col,
+
+ e_cell_show_tooltip (ecsb_view->child_view, model_col, view_col,
row, col_width, tooltip);
}
-static void
+static void
ecsb_dispose (GObject *object)
{
g_return_if_fail (object != NULL);
g_return_if_fail (M_IS_CELL_SPIN_BUTTON (object));
-
+
G_OBJECT_CLASS (e_cell_spin_button_parent_class)->dispose (object);
}
@@ -514,18 +514,18 @@ e_cell_spin_button_new (gint min,
ECell *child_cell)
{
ECellSpinButton *ecsb;
-
+
ecsb = g_object_new (E_CELL_SPIN_BUTTON_TYPE, NULL);
if (!child_cell) {
- child_cell = e_cell_number_new (NULL,
+ child_cell = e_cell_number_new (NULL,
GTK_JUSTIFY_LEFT);
-
+
g_signal_connect (ecsb, "step",
G_CALLBACK (e_cell_spin_button_step),
NULL);
}
-
+
ecsb->child = child_cell;
ecsb->min.i = min;
ecsb->max.i = max;
@@ -541,7 +541,7 @@ e_cell_spin_button_new_float (gfloat min,
ECell *child_cell)
{
ECellSpinButton *ecsb;
-
+
ecsb = g_object_new (E_CELL_SPIN_BUTTON_TYPE, NULL);
if (!child_cell) {
@@ -550,7 +550,7 @@ e_cell_spin_button_new_float (gfloat min,
G_CALLBACK (e_cell_spin_button_step_float),
NULL);
}
-
+
ecsb->child = child_cell;
ecsb->min.f = min;
ecsb->max.f = max;
@@ -566,30 +566,30 @@ e_cell_spin_button_step (ECellSpinButton *ecsb,
gint col,
gint row)
{
- ECellSpinButtonView *ecsb_view;
-
+ ECellSpinButtonView *ecsb_view;
+
ETableModel *etm;
gint value;
gint new_value;
gchar *str_value;
-
+
g_return_if_fail (ecsb != NULL);
g_return_if_fail (M_IS_CELL_SPIN_BUTTON (ecsb));
g_return_if_fail (ecv != NULL);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
+
+ ecsb_view = (ECellSpinButtonView *) ecv;
etm = ecsb_view->cell_view.e_table_model;
-
+
value = GPOINTER_TO_INT (e_table_model_value_at (etm, col, row));
new_value = value;
-
+
switch (direction) {
case STEP_UP:
- new_value = CLAMP (value + ecsb->step.i,
+ new_value = CLAMP (value + ecsb->step.i,
ecsb->min.i, ecsb->max.i);
break;
case STEP_DOWN:
- new_value = CLAMP (value - ecsb->step.i,
+ new_value = CLAMP (value - ecsb->step.i,
ecsb->min.i, ecsb->max.i);
break;
default:
@@ -610,40 +610,40 @@ e_cell_spin_button_step_float (ECellSpinButton *ecsb,
gint col,
gint row)
{
- ECellSpinButtonView *ecsb_view;
-
+ ECellSpinButtonView *ecsb_view;
+
ETableModel *etm;
gfloat value;
gfloat new_value;
gchar *str_value;
-
+
g_return_if_fail (ecsb != NULL);
g_return_if_fail (M_IS_CELL_SPIN_BUTTON (ecsb));
g_return_if_fail (ecv != NULL);
-
- ecsb_view = (ECellSpinButtonView *) ecv;
+
+ ecsb_view = (ECellSpinButtonView *) ecv;
etm = ecsb_view->cell_view.e_table_model;
-
+
value = *(gfloat *) e_table_model_value_at (etm, col, row);
switch (direction) {
case STEP_UP:
- new_value = CLAMP (value + ecsb->step.f,
+ new_value = CLAMP (value + ecsb->step.f,
ecsb->min.f, ecsb->max.f);
break;
case STEP_DOWN:
- new_value = CLAMP (value - ecsb->step.f,
+ new_value = CLAMP (value - ecsb->step.f,
ecsb->min.f, ecsb->max.f);
break;
default:
new_value = value;
break;
};
-
+
str_value = g_strdup_printf ("%f", new_value);
e_table_model_set_value_at (etm, col, row, str_value);
-
+
g_free (str_value);
}