52 lines
2.5 KiB
C
52 lines
2.5 KiB
C
/******************************************************************************
|
|
* @file create_person_dialog.h
|
|
* @brief Formulaire GTK de création d'une personne observée.
|
|
******************************************************************************/
|
|
#ifndef LABFY_INVESTIGATION_CREATE_PERSON_DIALOG_H
|
|
#define LABFY_INVESTIGATION_CREATE_PERSON_DIALOG_H
|
|
#include "core/person_entity_service.h"
|
|
#include "core/evidence_staging.h"
|
|
#include "models/evidence_record.h"
|
|
#include "models/person_evidence_selection.h"
|
|
#include "core/task_manager.h"
|
|
#include "core/tool_registry.h"
|
|
#include <gtk/gtk.h>
|
|
G_BEGIN_DECLS
|
|
/** @brief Résultat opaque possédé par le callback. */
|
|
typedef struct CreatePersonDialogResult CreatePersonDialogResult;
|
|
/** @brief Callback appelé après validation ou annulation. */
|
|
typedef void (*CreatePersonDialogCallback)(CreatePersonDialogResult *result,
|
|
gpointer user_data);
|
|
typedef gboolean (*CreatePersonDialogSessionCheck)(gpointer user_data);
|
|
/**
|
|
* @brief Présente le formulaire de création d'une personne.
|
|
* @param parent Fenêtre parente.
|
|
* @param evidence_records Preuves disponibles empruntées.
|
|
* @param callback Callback de fin.
|
|
* @param user_data Données privées du callback.
|
|
* @return TRUE si le dialogue a été présenté.
|
|
*/
|
|
gboolean create_person_dialog_present(GtkWindow *parent,
|
|
Database *database, const GPtrArray *evidence_records,
|
|
const char *investigation_root_path,
|
|
TaskManager *task_manager, const ToolInfo *tesseract_tool,
|
|
CreatePersonDialogSessionCheck session_check,
|
|
CreatePersonDialogCallback callback, gpointer user_data,
|
|
GDestroyNotify user_data_destroy);
|
|
/** @brief Libère un résultat. */
|
|
void create_person_dialog_result_free(CreatePersonDialogResult *result);
|
|
/** @brief Retourne les données empruntées du résultat. */
|
|
const PersonEntityInput *create_person_dialog_result_get_input(
|
|
const CreatePersonDialogResult *result);
|
|
const PersonEvidenceSelection *create_person_dialog_result_get_evidence_selection(
|
|
const CreatePersonDialogResult *result);
|
|
EvidenceStaging *create_person_dialog_result_steal_staging(
|
|
CreatePersonDialogResult *result);
|
|
const GPtrArray *create_person_dialog_result_get_ocr_runs(
|
|
const CreatePersonDialogResult *result);
|
|
const GPtrArray *create_person_dialog_result_get_factual_relations(
|
|
const CreatePersonDialogResult *result);
|
|
gboolean create_person_dialog_test_overlay_has_region(GtkWindow *window);
|
|
guint64 create_person_dialog_test_ocr_generation(GtkWindow *window);
|
|
G_END_DECLS
|
|
#endif
|