Introduced classes

extern class GtkAssistant

gtk :: GtkAssistant

A widget used to guide users through multi-step operations
extern class GtkAssistantPageType

gtk :: GtkAssistantPageType

enum GtkAssistantPageType

All class definitions

extern class GtkAssistant

gtk $ GtkAssistant

A widget used to guide users through multi-step operations
extern class GtkAssistantPageType

gtk $ GtkAssistantPageType

enum GtkAssistantPageType
package_diagram gtk::gtk_assistant gtk_assistant gtk::gtk_core gtk_core gtk::gtk_assistant->gtk::gtk_core gtk::gtk_enums gtk_enums gtk::gtk_core->gtk::gtk_enums gtk::gdk_enums gdk_enums gtk::gtk_core->gtk::gdk_enums ...gtk::gtk_enums ... ...gtk::gtk_enums->gtk::gtk_enums ...gtk::gdk_enums ... ...gtk::gdk_enums->gtk::gdk_enums gtk::v3_4 v3_4 gtk::v3_4->gtk::gtk_assistant gtk::gtk gtk gtk::gtk->gtk::v3_4 gtk::v3_6 v3_6 gtk::v3_6->gtk::v3_4 gtk::gtk... ... gtk::gtk...->gtk::gtk gtk::v3_6... ... gtk::v3_6...->gtk::v3_6


module abstract_collection

core :: abstract_collection

Abstract collection classes and services.
module abstract_text

core :: abstract_text

Abstract class for manipulation of sequences of characters
module array

core :: array

This module introduces the standard array structure.
module bitset

core :: bitset

Services to handle BitSet
module bytes

core :: bytes

Services for byte streams and arrays
module circular_array

core :: circular_array

Efficient data structure to access both end of the sequence.
module codec_base

core :: codec_base

Base for codecs to use with streams
module codecs

core :: codecs

Group module for all codec-related manipulations
module collection

core :: collection

This module define several collection classes.
module core

core :: core

Standard classes and methods used by default by Nit programs and libraries.
module environ

core :: environ

Access to the environment variables of the process
module error

core :: error

Standard error-management infrastructure.
module exec

core :: exec

Invocation and management of operating system sub-processes.
module file

core :: file

File manipulations (create, read, write, etc.)
module fixed_ints

core :: fixed_ints

Basic integers of fixed-precision
module fixed_ints_text

core :: fixed_ints_text

Text services to complement fixed_ints
module flat

core :: flat

All the array-based text representations
module gc

core :: gc

Access to the Nit internal garbage collection mechanism
module gdk_enums

gtk :: gdk_enums

module gtk_enums

gtk :: gtk_enums

module hash_collection

core :: hash_collection

Introduce HashMap and HashSet.
module iso8859_1

core :: iso8859_1

Codec for ISO8859-1 I/O
module kernel

core :: kernel

Most basic classes and methods.
module list

core :: list

This module handle double linked lists
module math

core :: math

Mathematical operations
module native

core :: native

Native structures for text and bytes
module numeric

core :: numeric

Advanced services for Numeric types
module protocol

core :: protocol

module queue

core :: queue

Queuing data structures and wrappers
module range

core :: range

Module for range of discrete objects.
module re

core :: re

Regular expression support for all services based on Pattern
module ropes

core :: ropes

Tree-based representation of a String.
module sorter

core :: sorter

This module contains classes used to compare things and sorts arrays.
module stream

core :: stream

Input and output streams of characters
module text

core :: text

All the classes and methods related to the manipulation of text entities
module time

core :: time

Management of time and dates
module union_find

core :: union_find

union–find algorithm using an efficient disjoint-set data structure
module utf8

core :: utf8

Codec for UTF-8 I/O


module gtk_core

gtk :: gtk_core

Classes and services to use libGTK widgets


module v3_4

gtk :: v3_4


module a_star-m


module gtk

gtk :: gtk

GTK+ widgets and services
module ui

linux :: ui

Implementation of the app.nit UI module for GNU/Linux
module v3_10

gtk :: v3_10

GTK+ services added at version 3.10
module v3_6

gtk :: v3_6

GTK+ services added at version 3.6
module v3_8

gtk :: v3_8

GTK+ services added at version 3.8
module gtk_assistant is pkgconfig "gtk+-3.0"

import gtk_core

in "C Header" `{
	#include <gtk/gtk.h>

# A widget used to guide users through multi-step operations
# See:
extern class GtkAssistant `{GtkAssistant *`}
	super GtkWindow

	new `{
		return (GtkAssistant *)gtk_assistant_new();

	fun current_page: Int `{
		return gtk_assistant_get_current_page (self);

	fun current_page=(page_num: Int) `{
		gtk_assistant_set_current_page(self, page_num);

	fun number_pages: Int `{
		return gtk_assistant_get_n_pages(self);

	fun get_page(page_num: Int): GtkWidget `{
		return gtk_assistant_get_nth_page(self, page_num);

	fun prepend(page: GtkWidget): Int `{
		return gtk_assistant_prepend_page(self, page);

	fun append(page: GtkWidget): Int `{
		return gtk_assistant_append_page(self, page);

	fun insert(page: GtkWidget, position: Int): Int `{
		return gtk_assistant_insert_page(self, page, position);

	fun remove_page(page_num: Int) `{
		gtk_assistant_remove_page(self, page_num);

	fun get_page_type(page: GtkWidget): GtkAssistantPageType `{
		return gtk_assistant_get_page_type(self, page);

	fun set_page_type(page: GtkWidget, t: GtkAssistantPageType) `{
		gtk_assistant_set_page_type(self, page, t);

	fun get_page_title(page: GtkWidget): String import CString.to_s `{
		return CString_to_s((char *)gtk_assistant_get_page_title(self, page));

	fun set_page_title(page: GtkWidget, title: String) import String.to_cstring `{
		gtk_assistant_set_page_title(self, page, String_to_cstring(title));

	fun set_page_complete(page: GtkWidget, is_complete: Bool) `{
		gtk_assistant_set_page_complete(self, page, is_complete);

	fun get_page_complete(page: GtkWidget): Bool `{
		return gtk_assistant_get_page_complete(self, page);

	fun remove_action_widget(child: GtkWidget) `{
		gtk_assistant_remove_action_widget(self, child);

	fun add_action_widget(child: GtkWidget) `{
		gtk_assistant_add_action_widget(self, child);

	fun update_buttons_state `{

	fun commit `{

	fun next_page `{

	fun previous_page `{

# enum GtkAssistantPageType
# An enum for determining the page role inside the GtkAssistant. It's used to handle buttons sensitivity and visibility.
# See:
extern class GtkAssistantPageType `{GtkAssistantPageType`}
	# The page has regular contents. Both the Back and forward buttons will be shown.
	new content `{ return GTK_ASSISTANT_PAGE_CONTENT; `}

	# The page contains an introduction to the assistant task. Only the Forward button will be shown if there is a next page.
	new intro `{ return GTK_ASSISTANT_PAGE_INTRO; `}

	# The page lets the user confirm or deny the changes. The Back and Apply buttons will be shown.
	new confirm `{ return GTK_ASSISTANT_PAGE_CONFIRM; `}

	# The page informs the user of the changes done. Only the Close button will be shown.
	new summary `{ return GTK_ASSISTANT_PAGE_SUMMARY; `}

	# Used for tasks that take a long time to complete, blocks the assistant until the page is marked as complete. Only the back button will be shown.
	new progress `{ return GTK_ASSISTANT_PAGE_PROGRESS; `}

	# Used for when other page types are not appropriate. No buttons will be shown, and the application must add its own buttons through gtk_assistant_add_action_widget().
	new custom `{ return GTK_ASSISTANT_PAGE_CUSTOM; `}