mirror of
https://github.com/Stichting-MINIX-Research-Foundation/netbsd.git
synced 2025-09-13 09:09:01 -04:00
90 lines
2.2 KiB
Objective-C
90 lines
2.2 KiB
Objective-C
/* Example for use of GNU gettext.
|
|
Copyright (C) 2003 Free Software Foundation, Inc.
|
|
This file is in the public domain.
|
|
|
|
Source code of the Objective C program. */
|
|
|
|
|
|
/* Get GNOME declarations. */
|
|
#include <obgnome/obgnome.h>
|
|
|
|
/* Get getpid() declaration. */
|
|
#if HAVE_UNISTD_H
|
|
# include <unistd.h>
|
|
#endif
|
|
|
|
static void
|
|
quit_callback (GtkWidget *widget, void *data)
|
|
{
|
|
gtk_main_quit ();
|
|
}
|
|
|
|
int
|
|
main (int argc, char *argv[])
|
|
{
|
|
Gnome_App *application;
|
|
Gtk_Window *window;
|
|
Gtk_VBox *panel;
|
|
Gtk_Label *label1;
|
|
Gtk_Alignment *label1aligned;
|
|
Gtk_Label *label2;
|
|
Gtk_Alignment *label2aligned;
|
|
Gtk_Button *button;
|
|
Gtk_ButtonBox *buttonbar;
|
|
|
|
/* Initializations. */
|
|
|
|
application = [[Gnome_App alloc] initApp: PACKAGE : VERSION : argc : argv];
|
|
textdomain ("hello-objc-gnome");
|
|
bindtextdomain ("hello-objc-gnome", LOCALEDIR);
|
|
|
|
/* Create the GUI elements. */
|
|
|
|
window = [[Gtk_Window alloc] initWithWindowInfo: GTK_WINDOW_TOPLEVEL];
|
|
[window set_title: "Hello example"];
|
|
[window realize];
|
|
[window signal_connect: "delete_event" signalFunc: quit_callback funcData: NULL];
|
|
|
|
label1 = [[Gtk_Label alloc] initWithLabelInfo: _("Hello, world!")];
|
|
|
|
label1aligned = [[Gtk_Alignment alloc] initWithAlignmentInfo: 0.0 : 0.5 : 0 : 0];
|
|
[label1aligned add: label1];
|
|
|
|
label2 = [[Gtk_Label alloc] initWithLabelInfo: g_strdup_printf (_("This program is running as process number %d."), getpid ())];
|
|
|
|
label2aligned = [[Gtk_Alignment alloc] initWithAlignmentInfo: 0.0 : 0.5 : 0 : 0];
|
|
[label2aligned add: label2];
|
|
|
|
button = [Gtk_Button alloc];
|
|
[button initWithLabel: "OK"];
|
|
[button signal_connect: "clicked" signalFunc: quit_callback funcData: NULL];
|
|
|
|
buttonbar = [Gtk_HButtonBox new];
|
|
[buttonbar set_layout: GTK_BUTTONBOX_END];
|
|
[buttonbar pack_start_defaults: button];
|
|
|
|
panel = [[Gtk_VBox alloc] initWithVBoxInfo: FALSE : GNOME_PAD_SMALL];
|
|
[panel pack_start_defaults: label1aligned];
|
|
[panel pack_start_defaults: label2aligned];
|
|
[panel pack_start_defaults: buttonbar];
|
|
|
|
[window add: panel];
|
|
|
|
/* Make the GUI elements visible. */
|
|
|
|
[label1 show];
|
|
[label1aligned show];
|
|
[label2 show];
|
|
[label2aligned show];
|
|
[button show];
|
|
[buttonbar show];
|
|
[panel show];
|
|
[window show];
|
|
|
|
/* Start the event loop. */
|
|
|
|
gtk_main ();
|
|
|
|
return 0;
|
|
}
|