/* Chrysalide - Outil d'analyse de fichiers binaires * statusstack.h - prototypes pour l'empilement d'informations de statut * * Copyright (C) 2015-2024 Cyrille Bagard * * This file is part of Chrysalide. * * Chrysalide 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. * * Chrysalide 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 Chrysalide. If not, see . */ #ifndef _GTKEXT_STATUSSTACK_H #define _GTKEXT_STATUSSTACK_H #include #include "../arch/vmpa.h" #include "../glibext/helpers.h" /* -------------------------- GESTION GENERALE DES STATUTS -------------------------- */ #define GTK_TYPE_STATUS_STACK (gtk_status_stack_get_type()) DECLARE_GTYPE(GtkStatusStack, gtk_status_stack, GTK, STATUS_STACK); /* Crée une nouvelle instance de barre de statut. */ GtkStatusStack *gtk_status_stack_new(void); /* Réinitialise la barre de statut à son stade par défaut. */ void gtk_status_stack_reset(GtkStatusStack *); /* -------------------- STATUT DES INFORMATIONS DE DESASSEMBLAGE -------------------- */ /* Actualise les informations liées une position d'assemblage. */ void gtk_status_stack_update_current_location(GtkStatusStack *, const mrange_t *, const char *, const char *, const char *, const char *); /* -------------------------- STATUT DES SUIVIS D'ACTIVITE -------------------------- */ /* Identifiant unique de rapport de progression */ typedef unsigned long activity_id_t; /* Identifiant particulier pour une absence d'identifiant */ #define NO_ACTIVITY_ID 0 /* Démarre le suivi d'une nouvelle activité. */ activity_id_t gtk_status_stack_add_activity(GtkStatusStack *, const char *, unsigned long); /* Actualise les informations concernant une activité. */ void gtk_status_stack_update_activity_message(GtkStatusStack *, activity_id_t, const char *); /* Actualise la progression d'une activité. */ void gtk_status_stack_update_activity_value(GtkStatusStack *, activity_id_t, unsigned long); /* Etend la portée des travaux d'une nouvelle activité. */ void gtk_status_stack_extend_activity_max(GtkStatusStack *, activity_id_t, unsigned long); /* Met fin au suivi d'une activité donnée. */ void gtk_status_stack_remove_activity(GtkStatusStack *, activity_id_t); #endif /* _GTKEXT_STATUSSTACK_H */