### Interface

# Ide ProjectTemplate

#### Description

    interface Ide.ProjectTemplate : GObject.Object

No description available.

#### Prerequisite

In order to implement ProjectTemplate, your type must inherit from `GObject`.

#### Instance methods

###### ide_project_template_compare

No description available.

###### ide_project_template_expand_async

Asynchronously requests expansion of the template.

Available since: 3.32

###### ide_project_template_expand_finish

No description available.

###### ide_project_template_get_description

No description available.

###### ide_project_template_get_icon_name

No description available.

###### ide_project_template_get_id

No description available.

###### ide_project_template_get_languages

Gets the list of languages that this template can support when generating the project.

Available since: 3.32

###### ide_project_template_get_name

No description available.

###### ide_project_template_get_priority

Gets the priority of the template. This can be used to sort the templates in the “new project” view.

Available since: 3.32

###### ide_project_template_get_widget

Get’s the configuration widget for the template if there is one.

Available since: 3.32

#### Interface structure

    struct IdeProjectTemplateInterface {
      GTypeInterface parent;
      gchar* (* get_id) (
        IdeProjectTemplate* self
      );
      gchar* (* get_name) (
        IdeProjectTemplate* self
      );
      gchar* (* get_description) (
        IdeProjectTemplate* self
      );
      GtkWidget* (* get_widget) (
        IdeProjectTemplate* self
      );
      gchar** (* get_languages) (
        IdeProjectTemplate* self
      );
      gchar* (* get_icon_name) (
        IdeProjectTemplate* self
      );
      void (* expand_async) (
        IdeProjectTemplate* self,
        GHashTable* params,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      gboolean (* expand_finish) (
        IdeProjectTemplate* self,
        GAsyncResult* result,
        GError** error
      );
      gint (* get_priority) (
        IdeProjectTemplate* self
      );

    }

###### Interface members

`parent` |
    GTypeInterface
| No description available.
`get_id` |
    gchar* (* get_id) (
        IdeProjectTemplate* self
      )
| No description available.
`get_name` |
    gchar* (* get_name) (
        IdeProjectTemplate* self
      )
| No description available.
`get_description` |
    gchar* (* get_description) (
        IdeProjectTemplate* self
      )
| No description available.
`get_widget` |
    GtkWidget* (* get_widget) (
        IdeProjectTemplate* self
      )
| No description available.
`get_languages` |
    gchar** (* get_languages) (
        IdeProjectTemplate* self
      )
| No description available.
`get_icon_name` |
    gchar* (* get_icon_name) (
        IdeProjectTemplate* self
      )
| No description available.
`expand_async` |
    void (* expand_async) (
        IdeProjectTemplate* self,
        GHashTable* params,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`expand_finish` |
    gboolean (* expand_finish) (
        IdeProjectTemplate* self,
        GAsyncResult* result,
        GError** error
      )
| No description available.
`get_priority` |
    gint (* get_priority) (
        IdeProjectTemplate* self
      )
| No description available.

#### Virtual methods

###### Ide.ProjectTemplate.expand_async

Asynchronously requests expansion of the template.

###### Ide.ProjectTemplate.expand_finish

No description available.

###### Ide.ProjectTemplate.get_description

No description available.

###### Ide.ProjectTemplate.get_icon_name

No description available.

###### Ide.ProjectTemplate.get_id

No description available.

###### Ide.ProjectTemplate.get_languages

Gets the list of languages that this template can support when generating the project.

###### Ide.ProjectTemplate.get_name

No description available.

###### Ide.ProjectTemplate.get_priority

Gets the priority of the template. This can be used to sort the templates in the “new project” view.

###### Ide.ProjectTemplate.get_widget

Get’s the configuration widget for the template if there is one.