Preliminary GTK+/GNOME Client for Nikita Noark Core

Ole Aamot oka at oka.no
Thu Sep 28 00:45:49 CEST 2023


== nikita-gtk 0.0.1

Preliminary GTK+/GNOME Client for Nikita Noark Core

=== Usage

You can run this GTK+/GNOME client on Unix machines
who can access Nikita Noark5v5 Core via the WWW-url

    <URI:http://www.arkivarium.no/login.html>

or the WWW-url after the "contextPath:" configuration
string found in Nikita Noark5v5 Core:

    contextPath:    http://www.arkivarium.no:8092/noark5v5

=== Build Instructions

==== Autoconf:

wget http://www.arkivarium.no/gtk/nikita-gtk-0.0.1.tar.xz
tar zxvf nikita-gtk-0.0.1.tar.xz
cd nikita-gtk-0.0.1/
./configure --prefix=/opt
make && sudo make install
/opt/bin/nikita-gtk

==== make

wget http://www.arkivarium.no/gtk/Makefile
wget http://www.arkivarium.no/gtk/nikita-gtk.c
make
./nikita-gtk

=== What is implemented?

* GTK Application Window

* GTK Buttons

[Utvid arkiv]
[Bevar arkiv]
[Søk i arkiv]

=== Source

==== Makefile

nikita: nikita-gtk.c
$(CC) `pkg-config --cflags gtk+-3.0 libxml-2.0` -o nikita nikita-gtk.c
`pkg-config --libs gtk+-3.0 libxml-2.0`

==== nikita-gtk.c

#include <libxml/parser.h>
#include <gtk/gtk.h>
#include <gtk/gtkbutton.h>
#include <gtk/gtkwindow.h>

static void on_volume_increase(GtkWidget *widget, gpointer data) {
}

static void on_volume_archival(GtkWidget *widget, gpointer data) {
}

static void on_volume_searcher(GtkWidget *widget, gpointer data) {
}

static void activate(GtkApplication *app, gpointer user_data)
{
    GtkWidget *window;
    GtkWidget *increaseButton;
    GtkWidget *archivalButton;
    GtkWidget *searcherButton;

    window = gtk_application_window_new(app);
    gtk_window_set_application(GTK_WINDOW(window), GTK_APPLICATION(app));
    gtk_window_set_title(GTK_WINDOW(window), "Arkivarium (nikita-gtk)");
    gtk_window_set_default_size(GTK_WINDOW(window), 640, 480);

    increaseButton = gtk_button_new_with_label("Utvid arkiv");
    g_signal_connect(increaseButton, "clicked",
G_CALLBACK(on_volume_increase), NULL);

    archivalButton = gtk_button_new_with_label("Bevar arkiv");
    g_signal_connect(searcherButton, "clicked",
G_CALLBACK(on_volume_archival), NULL);

    searcherButton = gtk_button_new_with_label("Søk i arkiv");
    g_signal_connect(searcherButton, "clicked",
G_CALLBACK(on_volume_searcher), NULL);

    GtkWidget *buttonBox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
    gtk_container_set_border_width(GTK_CONTAINER(buttonBox), 10);
    gtk_box_pack_start(GTK_BOX(buttonBox), increaseButton, FALSE, FALSE, 0);
    gtk_box_pack_start(GTK_BOX(buttonBox), archivalButton, FALSE, FALSE, 0);
    gtk_box_pack_start(GTK_BOX(buttonBox), searcherButton, FALSE, FALSE, 0);

    GtkWidget *mainBox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
    gtk_box_pack_start(GTK_BOX(mainBox), buttonBox, FALSE, FALSE, 0);

    /*
      nikita_set_uri("http://www.arkivarium.no:8092/noark5v5");
      nikita_view_archive);
    */

    gtk_container_add(GTK_CONTAINER(window), mainBox);
    gtk_widget_show_all(window);
}

int main(int argc, char **argv)
{
    GtkApplication *app;
    int status;

    app = gtk_application_new("www.arkivarium.no",
G_APPLICATION_DEFAULT_FLAGS);
    g_signal_connect(app, "activate", G_CALLBACK(activate), NULL);
    status = g_application_run(G_APPLICATION(app), argc, argv);
    g_object_unref(app);

    return status;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.nuug.no/pipermail/nikita-noark/attachments/20230928/d9bf232d/attachment.htm>


More information about the nikita-noark mailing list