annatomic 0.4.0

The Annatomic annotation editor is intended to be used for the [RIDGES corpus](https://www.linguistik.hu-berlin.de/en/institut-en/professuren-en/korpuslinguistik/research/ridges-projekt). It is based on [graphANNIS](https://github.com/korpling/graphANNIS) and thus is internal data model is in principle suitable for a wide range of annotation concepts. "
Documentation
use egui::RichText;
use graphannis::graph::AnnoKey;

pub(crate) mod export_config;
pub(crate) mod filter;
pub(crate) mod import_config;
pub(crate) mod search;
pub(crate) mod span;
pub(crate) mod token;

/// Shows a single annotation key as label and include the node name.
fn create_single_anno_key_labels(key: &AnnoKey, node_name: &str, ui: &mut egui::Ui) {
    if key.ns.is_empty() {
        ui.label(key.name.as_str());
    } else {
        ui.horizontal(|ui| {
            ui.label(RichText::new(key.ns.as_str()).small());
            ui.label(key.name.as_str());
        });
    }
    ui.separator();
    ui.label(RichText::new(node_name).small());
}

/// Shows the annotation keys as labels and include the  node name.
fn create_multiple_anno_key_labels(labels: &[AnnoKey], node_name: &str, ui: &mut egui::Ui) {
    ui.vertical(|ui| {
        for key in labels.iter() {
            if key.ns.is_empty() {
                ui.label(key.name.as_str());
            } else {
                ui.horizontal(|ui| {
                    ui.label(RichText::new(key.ns.as_str()).small());
                    ui.label(key.name.as_str());
                });
            }
        }
    });
    ui.separator();
    ui.label(RichText::new(node_name).small());
}