diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2016-03-26 21:21:24 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2016-03-26 21:21:24 (GMT) |
commit | 4bc86c5dc8d3cfa9780103b56f52024a49913c22 (patch) | |
tree | b71c0e7868441fa22067d6dc1bad0cfcc8bbec1d /src/gtkext | |
parent | 9895df71ae6ea14e09478cc243227b7b3a2139a3 (diff) |
Fixed various bugs and mistakes.
Diffstat (limited to 'src/gtkext')
-rw-r--r-- | src/gtkext/gtkbufferview.c | 43 | ||||
-rw-r--r-- | src/gtkext/gtkbufferview.h | 3 | ||||
-rw-r--r-- | src/gtkext/gtkgraphview.c | 24 | ||||
-rw-r--r-- | src/gtkext/gtkviewpanel-int.h | 4 | ||||
-rw-r--r-- | src/gtkext/gtkviewpanel.c | 14 |
5 files changed, 60 insertions, 28 deletions
diff --git a/src/gtkext/gtkbufferview.c b/src/gtkext/gtkbufferview.c index d54560c..f775de5 100644 --- a/src/gtkext/gtkbufferview.c +++ b/src/gtkext/gtkbufferview.c @@ -73,6 +73,9 @@ static void gtk_buffer_view_compute_scroll_inc(GtkBufferView *, gint, GtkOrienta /* Réagit à un défilement chez une barre associée au composant. */ static void gtk_buffer_view_adjust_scroll_value(GtkBufferView *, GtkAdjustment *, GtkOrientation); +/* Indique la position courante du curseur. */ +static const vmpa2t *gtk_buffer_view_get_caret_location(const GtkBufferView *); + /* Indique la position d'affichage d'une adresse donnée. */ static bool gtk_buffer_view_get_address_coordinates(const GtkBufferView *, const vmpa2t *, gint *, gint *, ScrollPositionTweak); @@ -145,6 +148,8 @@ static void gtk_buffer_view_class_init(GtkBufferViewClass *class) panel_class->compute_size = (compute_requested_size_fc)gtk_buffer_view_compute_requested_size; panel_class->compute_inc = (compute_scroll_inc_fc)gtk_buffer_view_compute_scroll_inc; panel_class->adjust = (adjust_scroll_value_fc)gtk_buffer_view_adjust_scroll_value; + + panel_class->get_caret_loc = (get_caret_location_fc)gtk_buffer_view_get_caret_location; panel_class->get_coordinates = (get_addr_coordinates_fc)gtk_buffer_view_get_address_coordinates; panel_class->get_position = (get_view_position_fc)gtk_buffer_view_get_position; panel_class->move_caret_to = (move_caret_to_fc)_gtk_buffer_view_move_caret_to; @@ -723,6 +728,25 @@ static void gtk_buffer_view_adjust_scroll_value(GtkBufferView *view, GtkAdjustme /****************************************************************************** * * +* Paramètres : view = composant GTK à manipuler. * +* * +* Description : Indique la position courante du curseur. * +* * +* Retour : Emplacement courant du curseur ou NULL si aucun. * +* * +* Remarques : - * +* * +******************************************************************************/ + +static const vmpa2t *gtk_buffer_view_get_caret_location(const GtkBufferView *view) +{ + return view->caret_addr; + +} + + +/****************************************************************************** +* * * Paramètres : view = composant GTK à consulter. * * addr = adresse à présenter à l'écran. * * x = position horizontale au sein du composant. [OUT] * @@ -1052,25 +1076,6 @@ static void gtk_buffer_view_relocate_caret(GtkBufferView *view, const GdkRectang * * * Paramètres : view = composant GTK à manipuler. * * * -* Description : Indique la position courante du curseur. * -* * -* Retour : Emplacement courant du curseur. * -* * -* Remarques : - * -* * -******************************************************************************/ - -const vmpa2t *gtk_buffer_view_get_caret_location(const GtkBufferView *view) -{ - return view->caret_addr; - -} - - -/****************************************************************************** -* * -* Paramètres : view = composant GTK à manipuler. * -* * * Description : Redémarre l'affichage du curseur à l'emplacement courant. * * * * Retour : - * diff --git a/src/gtkext/gtkbufferview.h b/src/gtkext/gtkbufferview.h index 6b5cf30..06249cf 100644 --- a/src/gtkext/gtkbufferview.h +++ b/src/gtkext/gtkbufferview.h @@ -65,9 +65,6 @@ GBufferView *gtk_buffer_view_get_buffer(const GtkBufferView *); /* Déplace le curseur à un emplacement en extrémité. */ bool gtk_buffer_view_move_caret_to(GtkBufferView *, bool, gint *); -/* Indique la position courante du curseur. */ -const vmpa2t *gtk_buffer_view_get_caret_location(const GtkBufferView *); - #endif /* _GTK_BUFFERVIEW_H */ diff --git a/src/gtkext/gtkgraphview.c b/src/gtkext/gtkgraphview.c index c10d9c1..a2c0cd3 100644 --- a/src/gtkext/gtkgraphview.c +++ b/src/gtkext/gtkgraphview.c @@ -83,6 +83,9 @@ static void gtk_graph_view_prepare_resize(GtkGraphView *); /* Réagit à la sélection externe d'une adresse. */ static void gtk_graph_view_define_main_address(GtkGraphView *, const vmpa2t *); +/* Indique la position courante du curseur. */ +static const vmpa2t *gtk_graph_view_get_caret_location(const GtkGraphView *); + /* Indique la position d'affichage d'une adresse donnée. */ static bool gtk_graph_view_get_address_coordinates(const GtkGraphView *, const vmpa2t *addr, gint *x, gint *y, ScrollPositionTweak tweak); @@ -131,6 +134,8 @@ static void gtk_graph_view_class_init(GtkGraphViewClass *class) panel_class->compute_size = (compute_requested_size_fc)gtk_graph_view_compute_requested_size; panel_class->adjust = (adjust_scroll_value_fc)gtk_graph_view_adjust_scroll_value; panel_class->define = (define_address_fc)gtk_graph_view_define_main_address; + + panel_class->get_caret_loc = (get_caret_location_fc)gtk_graph_view_get_caret_location; panel_class->get_coordinates = (get_addr_coordinates_fc)gtk_graph_view_get_address_coordinates; panel_class->move_caret_to = (move_caret_to_fc)gtk_graph_view_move_caret_to; panel_class->cache_glance = (cache_glance_fc)gtk_graph_view_cache_glance; @@ -380,6 +385,25 @@ static void gtk_graph_view_define_main_address(GtkGraphView *view, const vmpa2t /****************************************************************************** * * +* Paramètres : view = composant GTK à manipuler. * +* * +* Description : Indique la position courante du curseur. * +* * +* Retour : Emplacement courant du curseur ou NULL si aucun. * +* * +* Remarques : - * +* * +******************************************************************************/ + +static const vmpa2t *gtk_graph_view_get_caret_location(const GtkGraphView *view) +{ + return NULL; /* FIXME */ + +} + + +/****************************************************************************** +* * * Paramètres : view = composant GTK à consulter. * * addr = adresse à présenter à l'écran. * * x = position horizontale au sein du composant. [OUT] * diff --git a/src/gtkext/gtkviewpanel-int.h b/src/gtkext/gtkviewpanel-int.h index fcd6ffb..9f53051 100644 --- a/src/gtkext/gtkviewpanel-int.h +++ b/src/gtkext/gtkviewpanel-int.h @@ -51,6 +51,9 @@ typedef void (* define_address_fc) (GtkViewPanel *, const vmpa2t *); /* Actualise les besoins internes avant un redimensionnement. */ typedef void (* prepare_resize_fc) (GtkViewPanel *); +/* Indique la position courante du curseur. */ +typedef const vmpa2t * (* get_caret_location_fc) (const GtkViewPanel *); + /* Indique la position d'affichage d'une adresse donnée. */ typedef bool (* get_addr_coordinates_fc) (const GtkViewPanel *, const vmpa2t *, gint *, gint *, ScrollPositionTweak); @@ -96,6 +99,7 @@ struct _GtkViewPanelClass compute_scroll_inc_fc compute_inc; /* Calcul des bonds */ adjust_scroll_value_fc adjust; /* Réaction à un défilement */ define_address_fc define; /* Centrage sur une partie */ + get_caret_location_fc get_caret_loc; /* Adresse du curseur */ get_addr_coordinates_fc get_coordinates;/* Conversion adresse <-> pos. */ get_view_position_fc get_position; /* Indications sur la position */ move_caret_to_fc move_caret_to; /* Déplacement du curseur */ diff --git a/src/gtkext/gtkviewpanel.c b/src/gtkext/gtkviewpanel.c index 7dab444..4d5a57e 100644 --- a/src/gtkext/gtkviewpanel.c +++ b/src/gtkext/gtkviewpanel.c @@ -121,8 +121,8 @@ static void gtk_view_panel_class_init(GtkViewPanelClass *class) widget_class->realize = gtk_view_panel_realize; widget_class->size_allocate = gtk_view_panel_size_allocate; widget_class->draw = gtk_view_panel_draw; - //widget_class->get_preferred_height = gtk_view_panel_get_preferred_height; - //widget_class->get_preferred_width = gtk_view_panel_get_preferred_width; + widget_class->get_preferred_height = gtk_view_panel_get_preferred_height; + widget_class->get_preferred_width = gtk_view_panel_get_preferred_width; panel_class->compute_inc = gtk_view_panel_compute_scroll_inc; @@ -825,17 +825,19 @@ GLoadedBinary *gtk_view_panel_get_binary(const GtkViewPanel *panel) * * * Description : Indique la position courante du curseur. * * * -* Retour : Emplacement courant du curseur. * +* Retour : Emplacement courant du curseur ou NULL si aucun. * * * * Remarques : - * * * ******************************************************************************/ -#include "gtkbufferview.h" // FIXME + const vmpa2t *gtk_view_panel_get_caret_location(const GtkViewPanel *panel) { - /* FIXME */ + const vmpa2t *result; /* Adresse à retourner */ + + result = GTK_VIEW_PANEL_GET_CLASS(panel)->get_caret_loc(panel); - return gtk_buffer_view_get_caret_location(GTK_BUFFER_VIEW(panel)); + return result; } |