summaryrefslogtreecommitdiff
path: root/src/gui/panels/updating-int.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-02-11 15:33:56 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-02-11 15:33:56 (GMT)
commita11ef1ad68fdb86d4a7d75b0ddeea126aa1adb09 (patch)
treec7041d47ad78719994496c9c33400f2eeb3778a4 /src/gui/panels/updating-int.h
parent9d8d54a4ee29f98b475347d3bbc925d9a526c352 (diff)
Created a dedicated interface fot panel updating.
Diffstat (limited to 'src/gui/panels/updating-int.h')
-rw-r--r--src/gui/panels/updating-int.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/gui/panels/updating-int.h b/src/gui/panels/updating-int.h
new file mode 100644
index 0000000..eea8e3b
--- /dev/null
+++ b/src/gui/panels/updating-int.h
@@ -0,0 +1,65 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * updating-int.h - définitions internes propres aux mise à jour de panneaux
+ *
+ * Copyright (C) 2017 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 Foobar. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#ifndef _GUI_PANELS_UPDATING_INT_H
+#define _GUI_PANELS_UPDATING_INT_H
+
+
+#include "updating.h"
+
+
+
+/* Prépare une opération de mise à jour de panneau. */
+typedef const char * (* setup_updatable_cb) (const GUpdatablePanel *, unsigned int, size_t *, void **);
+
+/* Bascule l'affichage d'un panneau avant mise à jour. */
+typedef void (* introduce_updatable_cb) (const GUpdatablePanel *, unsigned int, void *);
+
+/* Réalise une opération de mise à jour de panneau. */
+typedef void (* process_updatable_cb) (const GUpdatablePanel *, unsigned int, GtkStatusStack *, activity_id_t, void *);
+
+/* Bascule l'affichage d'un panneau après mise à jour. */
+typedef void (* conclude_updatable_cb) (GUpdatablePanel *, unsigned int, void *);
+
+
+/* Mécanisme de mise à jour d'un panneau (interface) */
+struct _GUpdatablePanelIface
+{
+ GTypeInterface base_iface; /* A laisser en premier */
+
+ /* Méthodes virtuelles */
+
+ setup_updatable_cb setup; /* Préparation des traitements */
+ introduce_updatable_cb introduce; /* Changement d'affichage #0 */
+ process_updatable_cb process; /* Mise à jour d'affichage */
+ conclude_updatable_cb conclude; /* Changement d'affichage #1 */
+
+};
+
+
+/* Redéfinition */
+typedef GUpdatablePanelIface GUpdatablePanelInterface;
+
+
+
+#endif /* _GUI_PANELS_UPDATING_INT_H */