/* OpenIDA - Outil d'analyse de fichiers binaires
* gtkbinview.h - prototypes pour l'affichage d'un ou de plusieurs morceaux de code
*
* Copyright (C) 2008 Cyrille Bagard
*
* This file is part of OpenIDA.
*
* OpenIDA is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* OpenIDA 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Foobar. If not, see .
*/
#ifndef _GTK_BINVIEW_H
#define _GTK_BINVIEW_H
#include
#include "../analysis/binary.h"
#define GTK_TYPE_BIN_VIEW (gtk_binview_get_type())
#define GTK_BIN_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_BIN_VIEW, GtkBinView))
#define GTK_BIN_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_BIN_VIEW, GtkBinViewClass))
#define GTK_IS_BIN_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_BIN_VIEW))
#define GTK_IS_BIN_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_BIN_VIEW))
#define GTK_BIN_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_BIN_VIEW, GtkBinViewClass))
typedef struct _GtkBinView GtkBinView;
typedef struct _GtkBinViewClass GtkBinViewClass;
/* Détermine le type du composant d'affichage des morceaux. */
GType gtk_binview_get_type(void);
/* Crée un nouveau composant pour l'affichage de morceaux. */
GtkWidget* gtk_binview_new(void);
/* Définit si une bordure est à afficher. */
void gtk_bin_view_show_border(GtkBinView *, bool);
/* Définit les lignes à associer à la représentation. */
void gtk_bin_view_set_rendering_lines(GtkBinView *, openida_binary *, GRenderingLine *, GRenderingLine *);
/* Fournit la liste des lignes associées à la représentation. */
GRenderingLine *gtk_bin_view_get_lines(const GtkBinView *);
/* Fournit la dernière ligne associée à la représentation. */
GRenderingLine *gtk_bin_view_get_last_line(const GtkBinView *);
/* Choisit d'afficher les adresses virtuelles ou non. */
void gtk_binview_show_vaddress(GtkBinView *, gboolean);
/* Choisit d'afficher le code brut ou non. */
void gtk_binview_show_code(GtkBinView *, gboolean);
/* Indique si la vue contient une addrese donnée. */
bool gtk_bin_view_contain_address(const GtkBinView *, vmpa_t);
/* S'assure qu'une adresse donnée est visible à l'écran. */
void gtk_bin_view_scroll_to_address(GtkBinView *, vmpa_t);
#endif /* _GTK_BINVIEW_H */