diff options
Diffstat (limited to 'src/gtkext/contentview.c')
-rw-r--r-- | src/gtkext/contentview.c | 82 |
1 files changed, 61 insertions, 21 deletions
diff --git a/src/gtkext/contentview.c b/src/gtkext/contentview.c index 0f93178..e79d13c 100644 --- a/src/gtkext/contentview.c +++ b/src/gtkext/contentview.c @@ -1,8 +1,8 @@ /* Chrysalide - Outil d'analyse de fichiers binaires - * gtkdisplaypanel.c - affichage de contenus de binaire + * contentview.c - base d'affichage pour contenus divers * - * Copyright (C) 2016-2019 Cyrille Bagard + * Copyright (C) 2016-2024 Cyrille Bagard * * This file is part of Chrysalide. * @@ -21,9 +21,15 @@ */ -#include "gtkdisplaypanel.h" +#include "contentview.h" +#include "contentview-int.h" + + + +#if 0 + #include <math.h> @@ -33,21 +39,27 @@ #include "../glibext/gloadedpanel-int.h" +#endif + /* Procède à l'initialisation de l'afficheur générique. */ -static void gtk_display_panel_class_init(GtkDisplayPanelClass *); +static void gtk_content_view_class_init(GtkContentViewClass *); /* Procède à l'initialisation de l'afficheur générique. */ -static void gtk_display_panel_init(GtkDisplayPanel *); +static void gtk_content_view_init(GtkContentView *); /* Procède à l'initialisation de l'interface d'affichage. */ +#if 0 static void gtk_display_panel_loaded_interface_init(GLoadedPanelInterface *); +#endif /* Supprime toutes les références externes. */ -static void gtk_display_panel_dispose(GtkDisplayPanel *); +static void gtk_content_view_dispose(GtkContentView *); /* Procède à la libération totale de la mémoire. */ -static void gtk_display_panel_finalize(GtkDisplayPanel *); +static void gtk_content_view_finalize(GtkContentView *); + +#if 0 /* Définit une propriété du composant d'affichage. */ static void gtk_display_panel_set_property(GObject *, guint, const GValue *, GParamSpec *); @@ -118,6 +130,15 @@ G_DEFINE_TYPE_WITH_CODE(GtkDisplayPanel, gtk_display_panel, GTK_TYPE_FIXED, G_IMPLEMENT_INTERFACE(GTK_TYPE_SCROLLABLE, NULL) G_IMPLEMENT_INTERFACE(G_TYPE_LOADED_PANEL, gtk_display_panel_loaded_interface_init)); +#endif + + + + +/* Détermine le type du composant d'affichage générique. */ +G_DEFINE_TYPE(GtkContentView, gtk_content_view, GTK_TYPE_WIDGET); + + /****************************************************************************** * * @@ -131,16 +152,18 @@ G_DEFINE_TYPE_WITH_CODE(GtkDisplayPanel, gtk_display_panel, GTK_TYPE_FIXED, * * ******************************************************************************/ -static void gtk_display_panel_class_init(GtkDisplayPanelClass *class) +static void gtk_content_view_class_init(GtkContentViewClass *class) { GObjectClass *object; /* Plus haut niveau équivalent */ - GtkWidgetClass *widget; /* Classe de haut niveau */ - GtkDisplayPanelClass *panel; /* Classe de lus bas niveau */ + //GtkWidgetClass *widget; /* Classe de haut niveau */ + //GtkContentViewClass *panel; /* Classe de lus bas niveau */ object = G_OBJECT_CLASS(class); - object->dispose = (GObjectFinalizeFunc/* ! */)gtk_display_panel_dispose; - object->finalize = (GObjectFinalizeFunc)gtk_display_panel_finalize; + object->dispose = (GObjectFinalizeFunc/* ! */)gtk_content_view_dispose; + object->finalize = (GObjectFinalizeFunc)gtk_content_view_finalize; + +#if 0 object->set_property = gtk_display_panel_set_property; object->get_property = gtk_display_panel_get_property; @@ -167,17 +190,19 @@ static void gtk_display_panel_class_init(GtkDisplayPanelClass *class) g_signal_new("scaled", GTK_TYPE_DISPLAY_PANEL, G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET(GtkDisplayPanelClass, scaled), + G_STRUCT_OFFSET(GtkContentViewClass, scaled), NULL, NULL, g_cclosure_user_marshal_VOID__DOUBLE_DOUBLE, G_TYPE_NONE, 2, G_TYPE_DOUBLE, G_TYPE_DOUBLE); +#endif + } /****************************************************************************** * * -* Paramètres : panel = composant GTK à initialiser. * +* Paramètres : view = composant GTK à initialiser. * * * * Description : Procède à l'initialisation de l'afficheur générique. * * * @@ -187,18 +212,25 @@ static void gtk_display_panel_class_init(GtkDisplayPanelClass *class) * * ******************************************************************************/ -static void gtk_display_panel_init(GtkDisplayPanel *panel) +static void gtk_content_view_init(GtkContentView *view) { + view->style = g_token_style_new(GTK_WIDGET(view)); + + + +#if 0 gtk_widget_set_has_window(GTK_WIDGET(panel), TRUE); gtk_widget_set_can_focus(GTK_WIDGET(panel), TRUE); panel->scale = 1.0; panel->export = false; +#endif } +#if 0 /****************************************************************************** * * * Paramètres : iface = interface GLib à initialiser. * @@ -222,11 +254,12 @@ static void gtk_display_panel_loaded_interface_init(GLoadedPanelInterface *iface iface->cache_glance = (cache_loaded_glance_fc)gtk_display_panel_cache_glance; } +#endif /****************************************************************************** * * -* Paramètres : panel = instance d'objet GLib à traiter. * +* Paramètres : view = instance d'objet GLib à traiter. * * * * Description : Supprime toutes les références externes. * * * @@ -236,23 +269,28 @@ static void gtk_display_panel_loaded_interface_init(GLoadedPanelInterface *iface * * ******************************************************************************/ -static void gtk_display_panel_dispose(GtkDisplayPanel *panel) +static void gtk_content_view_dispose(GtkContentView *view) { + g_clear_object(&view->style); + + + /* g_clear_object(&panel->hadjustment); g_clear_object(&panel->vadjustment); g_clear_object(&panel->options); g_clear_object(&panel->binary); + */ - G_OBJECT_CLASS(gtk_display_panel_parent_class)->dispose(G_OBJECT(panel)); + G_OBJECT_CLASS(gtk_content_view_parent_class)->dispose(G_OBJECT(view)); } /****************************************************************************** * * -* Paramètres : panel = instance d'objet GLib à traiter. * +* Paramètres : view = instance d'objet GLib à traiter. * * * * Description : Procède à la libération totale de la mémoire. * * * @@ -262,13 +300,14 @@ static void gtk_display_panel_dispose(GtkDisplayPanel *panel) * * ******************************************************************************/ -static void gtk_display_panel_finalize(GtkDisplayPanel *panel) +static void gtk_content_view_finalize(GtkContentView *view) { - G_OBJECT_CLASS(gtk_display_panel_parent_class)->finalize(G_OBJECT(panel)); + G_OBJECT_CLASS(gtk_content_view_parent_class)->finalize(G_OBJECT(view)); } +#if 0 /****************************************************************************** * * * Paramètres : object = instance de composant GTK à manipuler. * @@ -1346,3 +1385,4 @@ static void gtk_display_panel_cache_glance(GtkDisplayPanel *panel, cairo_t *cair GTK_DISPLAY_PANEL_GET_CLASS(panel)->cache_glance(panel, cairo, area, scale); } +#endif |