## EphyWindow

EphyWindow — Represents an Epiphany window.

## Synopsis

                EphyWindow;
    EphyWindow* ephy_window_new                 (void);
    EphyWindow* ephy_window_new_with_chrome     (EphyEmbedChrome chrome,
                                                 gboolean is_popup);
    GtkWidget*  ephy_window_get_notebook        (EphyWindow *window);
    void        ephy_window_add_tab             (EphyWindow *window,
                                                 EphyTab *tab,
                                                 gint position,
                                                 gboolean jump_to);
    void        ephy_window_remove_tab          (EphyWindow *window,
                                                 EphyTab *tab);
    void        ephy_window_jump_to_tab         (EphyWindow *window,
                                                 EphyTab *tab);
    GList*      ephy_window_get_tabs            (EphyWindow *window);
    EphyTab*    ephy_window_get_active_tab      (EphyWindow *window);
    EphyEmbed*  ephy_window_get_active_embed    (EphyWindow *window);
    GtkWidget*  ephy_window_get_toolbar         (EphyWindow *window);
    GtkWidget*  ephy_window_get_statusbar       (EphyWindow *window);
    void        ephy_window_set_print_preview   (EphyWindow *window,
                                                 gboolean enabled);
    void        ephy_window_set_zoom            (EphyWindow *window,
                                                 float zoom);
    void        ephy_window_activate_location   (EphyWindow *window);
    void        ephy_window_load_url            (EphyWindow *window,
                                                 const char *url);

## Object Hierarchy

      GObject
       +----GtkObject
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBin
                               +----GtkWindow
                                     +----EphyWindow

## Implemented Interfaces

EphyWindow implements AtkImplementorIface and EphyLink.

## Properties

      "active-tab"           EphyTab               : Read / Write
      "chrome"               EphyEmbedChrome       : Read / Write / Construct Only
      "is-popup"             gboolean              : Read / Write / Construct Only
      "print-preview-mode"   gboolean              : Read / Write

## Description

An EphyWindow is what the user sees when opening Epiphany. Think of each EphyWindow as a giant container which holds many useful items:

- A toolbar, available from `ephy_window_get_toolbar()`.
- An EphyStatusbar, available from `ephy_window_get_statusbar()`.
- A GtkNotebook for holding EphyTabs. Use `ephy_window_get_notebook()`, `ephy_window_get_tabs()` and `ephy_window_get_active_tab()` to reach them. Manipulate tabs using `ephy_window_add_tab()`, `ephy_window_remove_tab()` and `ephy_window_jump_to_tab()`.

You can also perform simple manipulations of an EphyWindow's active EphyEmbed. These are restricted to `ephy_window_set_zoom()` and `ephy_window_load_url()`.

## Details

### EphyWindow

    typedef struct _EphyWindow EphyWindow;

### ephy_window_new ()

    EphyWindow* ephy_window_new                 (void);

Equivalent to `g_object_new()` but returns an EphyWindow so you don't have to cast it.

Returns : | a new EphyWindow

### ephy_window_new_with_chrome ()

    EphyWindow* ephy_window_new_with_chrome     (EphyEmbedChrome chrome,
                                                 gboolean is_popup);

Identical to `ephy_window_new()`, but allows you to specify a chrome.

`chrome` : | an EphyEmbedChrome
`is_popup` : | whether the new window is a popup window
Returns : | a new EphyWindow

### ephy_window_get_notebook ()

    GtkWidget*  ephy_window_get_notebook        (EphyWindow *window);

Returns the GtkNotebook used by this window.

`window` : | an EphyWindow
Returns : | the `window`'s GtkNotebook

### ephy_window_add_tab ()

    void        ephy_window_add_tab             (EphyWindow *window,
                                                 EphyTab *tab,
                                                 gint position,
                                                 gboolean jump_to);

Inserts `tab` into `window`.

`window` : | an EphyWindow
`tab` : | an EphyTab
`position` : | the position in `window`'s GtkNotebook
`jump_to` : | `TRUE` to switch to `tab`'s new notebook page after insertion

### ephy_window_remove_tab ()

    void        ephy_window_remove_tab          (EphyWindow *window,
                                                 EphyTab *tab);

Removes `tab` from `window`.

`window` : | an EphyWindow
`tab` : | an EphyTab

### ephy_window_jump_to_tab ()

    void        ephy_window_jump_to_tab         (EphyWindow *window,
                                                 EphyTab *tab);

Switches `window`'s GtkNotebook to open `tab` as its current page.

`window` : | an EphyWindow
`tab` : | an EphyTab inside `window`

### ephy_window_get_tabs ()

    GList*      ephy_window_get_tabs            (EphyWindow *window);

Returns the list of EphyTab:s in the window.

`window` : | a EphyWindow
Returns : | a newly-allocated list of EphyTab:s

### ephy_window_get_active_tab ()

    EphyTab*    ephy_window_get_active_tab      (EphyWindow *window);

Returns `window`'s active EphyTab.

`window` : | an EphyWindow
Returns : | `window`'s active tab

### ephy_window_get_active_embed ()

    EphyEmbed*  ephy_window_get_active_embed    (EphyWindow *window);

Return `window`'s active EphyEmbed. This is identical to calling `ephy_window_get_active_tab()` followed by `ephy_tab_get_embed()`.

`window` : | an EphyWindow
Returns : | `window`'s active embed

### ephy_window_get_toolbar ()

    GtkWidget*  ephy_window_get_toolbar         (EphyWindow *window);

Returns this window's toolbar as an EggEditableToolbar.

`window` : | an EphyWindow
Returns : | an EggEditableToolbar

### ephy_window_get_statusbar ()

    GtkWidget*  ephy_window_get_statusbar       (EphyWindow *window);

Returns this window's statusbar as an EphyStatusbar.

`window` : | an EphyWindow
Returns : | This window's statusbar

### ephy_window_set_print_preview ()

    void        ephy_window_set_print_preview   (EphyWindow *window,
                                                 gboolean enabled);

Sets whether the window is in print preview mode.

`window` : | an EphyWindow
`enabled` : | `TRUE` to enable print preview mode

### ephy_window_set_zoom ()

    void        ephy_window_set_zoom            (EphyWindow *window,
                                                 float zoom);

Sets the zoom on `window`'s active EphyEmbed. A `zoom` of 1.0 corresponds to 100% zoom (normal size).

`window` : | an EphyWindow
`zoom` : | the desired zoom level

### ephy_window_activate_location ()

    void        ephy_window_activate_location   (EphyWindow *window);

Activates the location entry on `window`'s toolbar.

`window` : | an EphyWindow

### ephy_window_load_url ()

    void        ephy_window_load_url            (EphyWindow *window,
                                                 const char *url);

Loads a new url in the active tab of `window`. Unlike `ephy_embed_load_url()`, this function activates the embed.

`window` : | a EphyWindow
`url` : | the url to load

## Properties

### The "`active-tab`" property

      "active-tab"           EphyTab               : Read / Write

Active tab.

### The "`chrome`" property

      "chrome"               EphyEmbedChrome       : Read / Write / Construct Only

Window chrome.

Default value: EPHY_EMBED_CHROME_MENUBAR|EPHY_EMBED_CHROME_TOOLBAR|EPHY_EMBED_CHROME_STATUSBAR|EPHY_EMBED_CHROME_BOOKMARKSBAR

### The "`is-popup`" property

      "is-popup"             gboolean              : Read / Write / Construct Only

Whether the window is a popup.

Default value: FALSE

### The "`print-preview-mode`" property

      "print-preview-mode"   gboolean              : Read / Write

Whether the window is in print preview mode.

Default value: FALSE