+2008-08-14 Alejandro G. Castro <alex@igalia.com>
+
+ * src/hildon-pannable-area.c:
+ (hildon_pannable_area_refresh),
+ (hildon_pannable_area_motion_notify_cb),
+ (hildon_pannable_area_class_init):
+ * src/hildon-pannable-area.h:
+ * src/hildon-touch-selector.c
+ (_create_new_column):
+ * examples/hildon-pannable-area-example-4.c:
+ (horizontal_movement),
+ (vertical_movement),
+ (main):
+ Replaced the names of enums in the HildonPannableArea:
+ - HILDON_PANNABLE_AREA_MOV_MODE_* ->
+ HILDON_MOVEMENT_MODE_*
+ - HILDON_PANNABLE_AREA_MOV_* ->
+ HILDON_MOVEMENT_*
+ - Removed HildonPannableAreaIndicatorMode, now we
+ use GtkPolicyType
+
2008-08-14 Alberto Garcia <agarcia@igalia.com>
* examples/hildon-pannable-area-touch-grid-example.c
static void
horizontal_movement (HildonPannableArea *area,
- HildonPannableAreaMovDirection direction,
+ HildonMovementDirection direction,
gdouble x, gdouble y, gpointer user_data)
{
GtkTreePath *path;
g_print ("widget %p treeview %p\n", child, ctx->treeview);
if (child == ctx->treeview) {
- if (direction == HILDON_PANNABLE_AREA_MOV_LEFT){
+ if (direction == HILDON_MOVEMENT_LEFT){
path = gtk_tree_path_new_first ();
static void
vertical_movement (HildonPannableArea *area,
- HildonPannableAreaMovDirection direction,
+ HildonMovementDirection direction,
gdouble x, gdouble y,
gpointer user_data)
{
/* Put everything in a pannable area */
panarea = hildon_pannable_area_new ();
- g_object_set (panarea, "mov_mode", HILDON_PANNABLE_AREA_MOV_MODE_VERT,
+ g_object_set (panarea, "mov_mode", HILDON_MOVEMENT_MODE_VERT,
"hovershoot_max", 0,
- "hindicator_mode", HILDON_PANNABLE_AREA_INDICATOR_MODE_HIDE, NULL);
+ "hindicator_mode", GTK_POLICY_NEVER, NULL);
hildon_pannable_area_add_with_viewport (HILDON_PANNABLE_AREA (panarea), GTK_WIDGET (vbox));
gtk_container_add (GTK_CONTAINER (window), panarea);
struct _HildonPannableAreaPrivate {
HildonPannableAreaMode mode;
- HildonPannableAreaMovMode mov_mode;
+ HildonMovementMode mov_mode;
GdkWindow *event_window;
gdouble x; /* Used to store mouse co-ordinates of the first or */
gdouble y; /* previous events in a press-motion pair */
guint event_mode;
- HildonPannableAreaIndicatorMode vindicator_mode;
- HildonPannableAreaIndicatorMode hindicator_mode;
-
+ GtkPolicyType vindicator_mode;
+ GtkPolicyType hindicator_mode;
};
/*signals*/
enum {
PROP_ENABLED = 1,
PROP_MODE,
- PROP_MOV_MODE,
+ PROP_MOVEMENT_MODE,
PROP_VELOCITY_MIN,
PROP_VELOCITY_MAX,
PROP_VELOCITY_FAST_FACTOR,
gtk_widget_size_request (widget, NULL);
switch (priv->hindicator_mode) {
- case HILDON_PANNABLE_AREA_INDICATOR_MODE_SHOW:
+ case GTK_POLICY_ALWAYS:
hscroll = TRUE;
break;
- case HILDON_PANNABLE_AREA_INDICATOR_MODE_HIDE:
+ case GTK_POLICY_NEVER:
hscroll = FALSE;
break;
default:
}
switch (priv->vindicator_mode) {
- case HILDON_PANNABLE_AREA_INDICATOR_MODE_SHOW:
+ case GTK_POLICY_ALWAYS:
vscroll = TRUE;
break;
- case HILDON_PANNABLE_AREA_INDICATOR_MODE_HIDE:
+ case GTK_POLICY_NEVER:
vscroll = FALSE;
break;
default:
g_signal_emit (area,
pannable_area_signals[VERTICAL_MOVEMENT],
0, (priv->click_y > event->y) ?
- HILDON_PANNABLE_AREA_MOV_UP :
- HILDON_PANNABLE_AREA_MOV_DOWN,
+ HILDON_MOVEMENT_UP :
+ HILDON_MOVEMENT_DOWN,
priv->click_x, priv->click_y);
vscroll = (priv->vadjust->upper - priv->vadjust->lower >
priv->vadjust->page_size) ? TRUE : FALSE;
if (!((vscroll)&&
- (priv->mov_mode&HILDON_PANNABLE_AREA_MOV_MODE_VERT)))
+ (priv->mov_mode&HILDON_MOVEMENT_MODE_VERT)))
priv->moved = FALSE;
} else {
g_signal_emit (area,
pannable_area_signals[HORIZONTAL_MOVEMENT],
0, (priv->click_x > event->x) ?
- HILDON_PANNABLE_AREA_MOV_LEFT :
- HILDON_PANNABLE_AREA_MOV_RIGHT,
+ HILDON_MOVEMENT_LEFT :
+ HILDON_MOVEMENT_RIGHT,
priv->click_x, priv->click_y);
hscroll = (priv->hadjust->upper - priv->hadjust->lower >
priv->hadjust->page_size) ? TRUE : FALSE;
if (!((hscroll)&&
- (priv->mov_mode&HILDON_PANNABLE_AREA_MOV_MODE_HORI)))
+ (priv->mov_mode&HILDON_MOVEMENT_MODE_HORIZ)))
priv->moved = FALSE;
}
}
delta = event->time - priv->last_time;
- if (priv->mov_mode&HILDON_PANNABLE_AREA_MOV_MODE_HORI) {
+ if (priv->mov_mode&HILDON_MOVEMENT_MODE_HORIZ) {
rawvel_x = (((event->x - priv->x) / ABS (delta)) *
(gdouble) priv->sps) * FORCE;
/* we store the direction and after the calculation we
priv->vel_x = 0;
}
- if (priv->mov_mode&HILDON_PANNABLE_AREA_MOV_MODE_VERT) {
+ if (priv->mov_mode&HILDON_MOVEMENT_MODE_VERT) {
rawvel_y = (((event->y - priv->y) / ABS (delta)) *
(gdouble) priv->sps) * FORCE;
direction_y = rawvel_y < 0 ? -1 : 1;
hildon_pannable_area_scroll (area, x, y);
- if (priv->mov_mode&HILDON_PANNABLE_AREA_MOV_MODE_HORI)
+ if (priv->mov_mode&HILDON_MOVEMENT_MODE_HORIZ)
priv->x = event->x;
- if (priv->mov_mode&HILDON_PANNABLE_AREA_MOV_MODE_VERT)
+ if (priv->mov_mode&HILDON_MOVEMENT_MODE_VERT)
priv->y = event->y;
break;
case PROP_MODE:
g_value_set_enum (value, priv->mode);
break;
- case PROP_MOV_MODE:
+ case PROP_MOVEMENT_MODE:
g_value_set_flags (value, priv->mov_mode);
break;
case PROP_VELOCITY_MIN:
case PROP_MODE:
priv->mode = g_value_get_enum (value);
break;
- case PROP_MOV_MODE:
+ case PROP_MOVEMENT_MODE:
priv->mov_mode = g_value_get_flags (value);
break;
case PROP_VELOCITY_MIN:
g_param_spec_enum ("vindicator_mode",
"vindicator mode",
"Mode of the vertical scrolling indicator",
- HILDON_TYPE_PANNABLE_AREA_INDICATOR_MODE,
- HILDON_PANNABLE_AREA_INDICATOR_MODE_AUTO,
+ GTK_TYPE_POLICY_TYPE,
+ GTK_POLICY_AUTOMATIC,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
g_param_spec_enum ("hindicator_mode",
"hindicator mode",
"Mode of the horizontal scrolling indicator",
- HILDON_TYPE_PANNABLE_AREA_INDICATOR_MODE,
- HILDON_PANNABLE_AREA_INDICATOR_MODE_AUTO,
+ GTK_TYPE_POLICY_TYPE,
+ GTK_POLICY_AUTOMATIC,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class,
- PROP_MOV_MODE,
+ PROP_MOVEMENT_MODE,
g_param_spec_flags ("mov_mode",
"Scroll movement mode",
"Controls if the widget can scroll vertically, horizontally or both",
- HILDON_TYPE_PANNABLE_AREA_MOV_MODE,
- HILDON_PANNABLE_AREA_MOV_MODE_BOTH,
+ HILDON_TYPE_MOVEMENT_MODE,
+ HILDON_MOVEMENT_MODE_BOTH,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
} HildonPannableAreaMode;
/**
- * HildonPannableAreaMovDirection:
- * @HILDON_PANNABLE_AREA_MOV_MODE_HORIZ:
- * @HILDON_PANNABLE_AREA_MOV_MODE_VERT:
+ * HildonMovementMode:
+ * @HILDON_MOVEMENT_MODE_HORIZ:
+ * @HILDON_MOVEMENT_MODE_VERT:
+ * @HILDON_MOVEMENT_MODE_BOTH:
*
* Used to control the movement of the pannable, we can allow or
* disallow horizontal or vertical movement. This way the applications
* can control the movement using scroll_to and jump_to functions
*/
typedef enum {
- HILDON_PANNABLE_AREA_MOV_MODE_HORI = 1 << 1,
- HILDON_PANNABLE_AREA_MOV_MODE_VERT = 1 << 2,
- HILDON_PANNABLE_AREA_MOV_MODE_BOTH = 0x000006
-} HildonPannableAreaMovMode;
+ HILDON_MOVEMENT_MODE_HORIZ = 1 << 1,
+ HILDON_MOVEMENT_MODE_VERT = 1 << 2,
+ HILDON_MOVEMENT_MODE_BOTH = 0x000006
+} HildonMovementMode;
/**
- * HildonPannableAreaMovDirection:
- * @HILDON_PANNABLE_AREA_MOV_UP:
- * @HILDON_PANNABLE_AREA_MOV_DOWN:
- * @HILDON_PANNABLE_AREA_MOV_LEFT:
- * @HILDON_PANNABLE_AREA_MOV_RIGHT:
+ * HildonMovementDirection:
+ * @HILDON_MOVEMENT_UP:
+ * @HILDON_MOVEMENT_DOWN:
+ * @HILDON_MOVEMENT_LEFT:
+ * @HILDON_MOVEMENT_RIGHT:
*
* Used to point out the direction of the movement
*/
typedef enum {
- HILDON_PANNABLE_AREA_MOV_UP,
- HILDON_PANNABLE_AREA_MOV_DOWN,
- HILDON_PANNABLE_AREA_MOV_LEFT,
- HILDON_PANNABLE_AREA_MOV_RIGHT
-} HildonPannableAreaMovDirection;
-
-typedef enum {
- HILDON_PANNABLE_AREA_INDICATOR_MODE_AUTO,
- HILDON_PANNABLE_AREA_INDICATOR_MODE_SHOW,
- HILDON_PANNABLE_AREA_INDICATOR_MODE_HIDE
-} HildonPannableAreaIndicatorMode;
+ HILDON_MOVEMENT_UP,
+ HILDON_MOVEMENT_DOWN,
+ HILDON_MOVEMENT_LEFT,
+ HILDON_MOVEMENT_RIGHT
+} HildonMovementDirection;
/**
* HildonPannableArea:
GtkBinClass parent_class;
void (* horizontal_movement) (HildonPannableArea *area,
- HildonPannableAreaIndicatorMode direction,
+ HildonMovementDirection direction,
gdouble x, gdouble y);
void (* vertical_movement) (HildonPannableArea *area,
- HildonPannableAreaIndicatorMode direction,
+ HildonMovementDirection direction,
gdouble x, gdouble y);
};
panarea = hildon_pannable_area_new ();
g_value_init (&val, G_TYPE_INT);
- g_value_set_int (&val, HILDON_PANNABLE_AREA_INDICATOR_MODE_HIDE);
+ g_value_set_int (&val, GTK_POLICY_NEVER);
g_object_set_property (G_OBJECT (panarea), "vindicator-mode", &val);
g_value_unset (&val);