## IdeSurface IdeSurface |

## Functions

GtkWidget * | ide_surface_new ()
void | ide_surface_set_icon_name ()
void | ide_surface_set_title ()
void | ide_surface_foreach_page ()
gboolean | ide_surface_agree_to_shutdown ()

## Properties

gchar * | icon-name | Read / Write
gchar * | title | Read / Write

## Types and Values

#define | IDE_TYPE_SURFACE
struct | IdeSurfaceClass
| IdeSurface

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── DzlDockBin
                        ╰── IdeSurface
                            ├── IdeCloneSurface
                            ├── IdeEditorSurface
                            ├── IdePreferencesSurface
                            ╰── IdeTerminalSurface

## Implemented Interfaces

IdeSurface implements AtkImplementorIface, GtkBuildable, DzlDockItem and DzlDock.

## Description

## Functions

### ide_surface_new ()

    GtkWidget *
    ide_surface_new (void);

Creates a new IdeSurface.

Surfaces contain the main window contents that are placed inside of an IdeWorkspace (window). You may have multiple surfaces in a workspace, and the user can switch between them.

#### Returns

an IdeSurface or `NULL`.

[transfer full]

Since: 3.32

### ide_surface_set_icon_name ()

    void
    ide_surface_set_icon_name (IdeSurface *self,
                               const gchar *icon_name);

### ide_surface_set_title ()

    void
    ide_surface_set_title (IdeSurface *self,
                           const gchar *title);

### ide_surface_foreach_page ()

    void
    ide_surface_foreach_page (IdeSurface *self,
                              GtkCallback callback,
                              gpointer user_data);

Calls `callback` for every page found within the surface `self` .

#### Parameters

self | a IdeSurface |
callback | callback to execute for each page. | [scope call]
user_data | closure data for `callback` |

Since: 3.32

### ide_surface_agree_to_shutdown ()

    gboolean
    ide_surface_agree_to_shutdown (IdeSurface *self);

## Types and Values

### IDE_TYPE_SURFACE

    #define IDE_TYPE_SURFACE (ide_surface_get_type())

### struct IdeSurfaceClass

    struct IdeSurfaceClass {
      DzlDockBinClass parent_class;

      void     (*foreach_page)        (IdeSurface  *self,
                                       GtkCallback  callback,
                                       gpointer     user_data);
      gboolean (*agree_to_shutdown)   (IdeSurface  *self);
      void     (*set_fullscreen)      (IdeSurface  *self,
                                       gboolean     fullscreen);
    };

### IdeSurface

    typedef struct _IdeSurface IdeSurface;

## Property Details

### The `“icon-name”` property

      “icon-name”                gchar *

The icon name for the surface.

Owner: IdeSurface

Flags: Read / Write

Default value: NULL

### The `“title”` property

      “title”                    gchar *

The title for the surface, if any.

Owner: IdeSurface

Flags: Read / Write

Default value: NULL