AnacondaBaseWindow

AnacondaBaseWindow — Top-level, non-resizeable window

Functions

Properties

gchar * distribution Read / Write
gchar * window-name Read / Write

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBin
                    ╰── AnacondaBaseWindow
                        ├── AnacondaBaseStandalone
                        ╰── AnacondaSpokeWindow

Implemented Interfaces

AnacondaBaseWindow implements AtkImplementorIface and GtkBuildable.

Description

A AnacondaBaseWindow is a widget that contains other widgets and serves as the base class from which all other specialized Anaconda windows are derived.

The AnacondaBaseWindow consists of two areas:

  • A navigation area in the top of the screen, consisting of some basic information about what is being displayed and what is being installed.

  • An action area in the majority of the screen. This area is where subclasses should add their particular widgets.

AnacondaBaseWindow as GtkBuildable

The AnacondaBaseWindow implementation of the GtkBuildable interface exposes the nav_area as an internal child with the name "nav_area" and the action_area as an internal child with the name "action_area".

A AnacondaBaseWindow UI definition fragment:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<object class="AnacondaBaseWindow" id="window1">
    <child internal-child="main_box">
        <object class="GtkBox" id="main_box1">
            <child internal-child="nav_box">
                <object class="GtkEventBox" id="nav_box1">
                    <child internal-child="nav_area">
                        <object class="GtkGrid" id="nav_area1">
                            <child>...</child>
                            <child>...</child>
                        </object>
                    </child>
                </object>
            </child>
            <child internal-child="alignment">
                <object class="GtkAlignment" id="alignment1">
                    <child internal-child="action_area">
                        <object class="GtkBox" id="action_area1">
                            <child>
                                <object class="GtkLabel" id="label1">
                                    <property name="label" translatable="yes">THIS IS ONE LABEL</property>
                                </object>
                            </child>
                            <child>
                                <object class="GtkLabel" id="label2">
                                    <property name="label" translatable="yes">THIS IS ANOTHER LABEL</property>
                                </object>
                            </child>
                        </object>
                    </child>
                </object>
            </child>
        </object>
    </child>
</object>


CSS nodes

1
2
3
4
5
6
7
AnacondaBaseWindow
╰── #nav-box
    ├── #anaconda-name-label
    ├── #anaconda-distro-label
    ├── #anaconda-beta-label
    ├── #layout-indicator
    ╰── #anaconda-help-button

The internal widgets are accessible by name for the purposes of CSS selectors.

  • nav-box

    The navigation area at the top of the screen.

  • anaconda-name-label

    The window name. This is title of the window, such as "INSTALLATION SUMMARY" or "SOFTWARE SELECTION".

  • anaconda-distro-label

    The distrubtion name; e.g., "FEDORA 23 INSTALLATION"

  • anaconda-beta-label

    The "PRE-RELEASE / TESTING" label shown in pre-release installers.

  • layout-indicator

    The AnacondaLayoutIndicator widget.

  • anaconda-help-button

    The help GtkButton.

Functions

anaconda_base_window_new ()

GtkWidget *
anaconda_base_window_new ();

Creates a new AnacondaBaseWindow, which is a toplevel, non-resizeable window that contains other widgets. This is the base class for all other Anaconda windows and creates the window style that all windows will share.

Returns

A new AnacondaBaseWindow.


anaconda_base_window_retranslate ()

void
anaconda_base_window_retranslate (AnacondaBaseWindow *win);

Reload translations for this widget as needed. Generally, this is not needed. However when changing the language during installation, we need to be able to make sure the screen gets retranslated. This function is kind of ugly but avoids having to destroy and reload the screen.

Parameters

Since: 1.0


anaconda_base_window_get_beta ()

gboolean
anaconda_base_window_get_beta (AnacondaBaseWindow *win);

Returns whether or not this window is set to display the beta label.

Parameters

Returns

Whether win is set to display the betanag warning

Since: 1.0


anaconda_base_window_set_beta ()

void
anaconda_base_window_set_beta (AnacondaBaseWindow *win,
                               gboolean is_beta);

Sets up the window to display the beta label in red along the top of the screen.

Parameters

win

a AnacondaBaseWindow

 

is_beta

TRUE to display the betanag warning

 

Since: 1.0


anaconda_base_window_set_error ()

void
anaconda_base_window_set_error (AnacondaBaseWindow *win,
                                const char *msg);

Causes an info bar to be shown at the bottom of the screen with the provided message. Only one message may be shown at a time. In order to show a second message, anaconda_base_window_clear_info() must first be called.

The message will be interpreted as Pango markup. Clickable messages are encouraged to include a clickable link using the GtkLabel syntax in order to make the info bar accessible via the keyboard. The link URI will be ignored, and all link clicks will emit the “info-bar-clicked” signal on win .

Parameters

win

a AnacondaBaseWindow

 

msg

a message

 

Since: 1.0


anaconda_base_window_set_info ()

void
anaconda_base_window_set_info (AnacondaBaseWindow *win,
                               const char *msg);

Causes an info bar to be shown at the bottom of the screen with the provided message. Only one message may be shown at a time. In order to show a second message, anaconda_base_window_clear_info() must first be called.

The message will be interpreted as Pango markup. Clickable messages are encouraged to include a clickable link using the GtkLabel syntax in order to make the info bar accessible via the keyboard. The link URI will be ignored, and all link clicks will emit the “info-bar-clicked” signal on win .

Parameters

win

a AnacondaBaseWindow

 

msg

a message

 

Since: 1.0


anaconda_base_window_set_warning ()

void
anaconda_base_window_set_warning (AnacondaBaseWindow *win,
                                  const char *msg);

Causes an info bar to be shown at the bottom of the screen with the provided message. Only one message may be shown at a time. In order to show a second message, anaconda_base_window_clear_info() must first be called.

The message will be interpreted as Pango markup. Clickable messages are encouraged to include a clickable link using the GtkLabel syntax in order to make the info bar accessible via the keyboard. The link URI will be ignored, and all link clicks will emit the “info-bar-clicked” signal on win .

Parameters

win

a AnacondaBaseWindow

 

msg

a message

 

Since: 1.0


anaconda_base_window_clear_info ()

void
anaconda_base_window_clear_info (AnacondaBaseWindow *win);

Clear and hide any info bar being shown at the bottom of the screen. This must be called before a second call to anaconda_base_window_set_info() takes effect.

Parameters

Since: 1.0


anaconda_base_window_get_action_area ()

GtkWidget *
anaconda_base_window_get_action_area (AnacondaBaseWindow *win);

Returns the action area of win . This is the area of the screen where most of the widgets the user interacts with will live.

Parameters

Returns

The action area.

[transfer none]

Since: 1.0


anaconda_base_window_get_alignment ()

GtkWidget *
anaconda_base_window_get_alignment (AnacondaBaseWindow *win);

Returns the internal alignment widget of win . Currently, this is only used by AnacondaHubWindow to set different alignment values than the spokes have. This function should probably not be used elsewhere.

Parameters

Returns

The alignment widget.

[transfer none]

Since: 1.0


anaconda_base_window_get_main_box ()

GtkWidget *
anaconda_base_window_get_main_box (AnacondaBaseWindow *win);

Returns the main content area of win . This widget holds both the action_area and the nav_area. Currently, this is only used by AnacondaStandaloneWindow as a place to store the extra Continue button. This function should probably not be used elsewhere.

Parameters

Returns

The main content area.

[transfer none]

Since: 1.0


anaconda_base_window_get_nav_area ()

GtkWidget *
anaconda_base_window_get_nav_area (AnacondaBaseWindow *win);

Returns the navigation area of win . This is the area at the top of the screen displaying the window's title (if it has one), distribution, and so forth.

Parameters

Returns

The navigation area.

[transfer none]

Since: 1.0


anaconda_base_window_get_nav_area_background_window ()

GtkWidget *
anaconda_base_window_get_nav_area_background_window
                               (AnacondaBaseWindow *win);

Returns the event box that houses background window of the navigation area of win . Currently, this is only used by AnacondaSpokeWindow to have a place to store the gradient image. This function should probably not be used elsewhere.

Parameters

Returns

The event box.

[transfer none]

Since: 1.0


anaconda_base_window_get_help_button ()

GtkWidget *
anaconda_base_window_get_help_button (AnacondaBaseWindow *win);

Returns the help button.

Parameters

Returns

the help button.

[transfer none]

Since: 3.1

Types and Values

struct AnacondaBaseWindow

struct AnacondaBaseWindow;

The AnacondaBaseWindow struct contains only private fields and should not be directly accessed.


struct AnacondaBaseWindowClass

struct AnacondaBaseWindowClass {
    GtkBinClass parent_class;

    void (* info_bar_clicked) (AnacondaBaseWindow *window);
    void (* help_button_clicked) (AnacondaBaseWindow *window);
};

Members

info_bar_clicked ()

Function pointer called when the “info-bar-clicked” signal is emitted.

 

help_button_clicked ()

Function pointer called when the “help-button-clicked” signal is emitted.

 

Property Details

The “distribution” property

  “distribution”             gchar *

The “distribution” string is displayed in the upper right corner of all windows throughout installation.

Flags: Read / Write

Default value: "DISTRIBUTION INSTALLATION"

Since: 1.0


The “window-name” property

  “window-name”              gchar *

The name of the currently displayed window, displayed in the upper left corner of all windows with a title throughout installation. StandaloneWindows should not have a title, so no name will be displayed for those.

Flags: Read / Write

Default value: "SPOKE NAME"

Since: 1.0

Signal Details

The “help-button-clicked” signal

void
user_function (AnacondaBaseWindow *window,
               gpointer            user_data)

Emitted when the help button in the right corner has been activated (pressed and released). This is commonly used to open the help view with help content for the given spoke or hub

Parameters

window

the window that received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Since: 3.1


The “info-bar-clicked” signal

void
user_function (AnacondaBaseWindow *window,
               gpointer            user_data)

Emitted when a visible info bar at the bottom of the window has been clicked (pressed and released). This allows, for instance, popping up a dialog with more detailed information.

Activatable info bars are encouraged to include a link in the message for the purpose of keyboard navigation. Clicking the link will emit the info-bar-clicked signal. See anaconda_base_window_set_error() for more information.

Parameters

window

the window that received the signal

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Since: 1.0