IdeWorkbenchAddin

IdeWorkbenchAddin

Functions

Types and Values

Object Hierarchy

    GInterface
    ╰── IdeWorkbenchAddin

Prerequisites

IdeWorkbenchAddin requires GObject.

Description

Functions

ide_workbench_addin_load ()

void
ide_workbench_addin_load (IdeWorkbenchAddin *self,
                          IdeWorkbench *workbench);

ide_workbench_addin_unload ()

void
ide_workbench_addin_unload (IdeWorkbenchAddin *self,
                            IdeWorkbench *workbench);

ide_workbench_addin_load_project_async ()

void
ide_workbench_addin_load_project_async
                               (IdeWorkbenchAddin *self,
                                IdeProjectInfo *project_info,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

ide_workbench_addin_load_project_finish ()

gboolean
ide_workbench_addin_load_project_finish
                               (IdeWorkbenchAddin *self,
                                GAsyncResult *result,
                                GError **error);

ide_workbench_addin_unload_project_async ()

void
ide_workbench_addin_unload_project_async
                               (IdeWorkbenchAddin *self,
                                IdeProjectInfo *project_info,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

ide_workbench_addin_unload_project_finish ()

gboolean
ide_workbench_addin_unload_project_finish
                               (IdeWorkbenchAddin *self,
                                GAsyncResult *result,
                                GError **error);

ide_workbench_addin_project_loaded ()

void
ide_workbench_addin_project_loaded (IdeWorkbenchAddin *self,
                                    IdeProjectInfo *project_info);

This function is called after the project has been loaded.

It is useful for situations where you do not need to influence the project loading, but do need to perform operations after it has completed.

Parameters

self

an IdeWorkbenchAddin

 

project_info

an IdeProjectInfo

 

Since: 3.32


ide_workbench_addin_workspace_added ()

void
ide_workbench_addin_workspace_added (IdeWorkbenchAddin *self,
                                     IdeWorkspace *workspace);

ide_workbench_addin_workspace_removed ()

void
ide_workbench_addin_workspace_removed (IdeWorkbenchAddin *self,
                                       IdeWorkspace *workspace);

ide_workbench_addin_can_open ()

gboolean
ide_workbench_addin_can_open (IdeWorkbenchAddin *self,
                              GFile *file,
                              const gchar *content_type,
                              gint *priority);

ide_workbench_addin_open_async ()

void
ide_workbench_addin_open_async (IdeWorkbenchAddin *self,
                                GFile *file,
                                const gchar *content_type,
                                IdeBufferOpenFlags flags,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

ide_workbench_addin_open_at_async ()

void
ide_workbench_addin_open_at_async (IdeWorkbenchAddin *self,
                                   GFile *file,
                                   const gchar *content_type,
                                   gint at_line,
                                   gint at_line_offset,
                                   IdeBufferOpenFlags flags,
                                   GCancellable *cancellable,
                                   GAsyncReadyCallback callback,
                                   gpointer user_data);

ide_workbench_addin_open_finish ()

gboolean
ide_workbench_addin_open_finish (IdeWorkbenchAddin *self,
                                 GAsyncResult *result,
                                 GError **error);

ide_workbench_addin_vcs_changed ()

void
ide_workbench_addin_vcs_changed (IdeWorkbenchAddin *self,
                                 IdeVcs *vcs);

This function notifies an IdeWorkbenchAddin that the version control system has changed. This happens when ide_workbench_set_vcs() is called or after an addin is loaded.

This is helpful for plugins that want to react to VCS changes such as changing branches, or tracking commits.

Parameters

self

a IdeWorkbenchAddin

 

vcs

an IdeVcs.

[nullable]

Since: 3.32


ide_workbench_addin_find_by_module_name ()

IdeWorkbenchAddin *
ide_workbench_addin_find_by_module_name
                               (IdeWorkbench *workbench,
                                const gchar *module_name);

Finds the addin (if any) matching the plugin's module_name .

Parameters

workbench

an IdeWorkbench

 

module_name

the name of the addin module

 

Returns

an IdeWorkbenchAddin or NULL.

[transfer none][nullable]

Since: 3.32

Types and Values

IDE_TYPE_WORKBENCH_ADDIN

#define IDE_TYPE_WORKBENCH_ADDIN (ide_workbench_addin_get_type ())

struct IdeWorkbenchAddinInterface

struct IdeWorkbenchAddinInterface {
  GTypeInterface parent;

  void     (*load)                  (IdeWorkbenchAddin     *self,
                                     IdeWorkbench          *workbench);
  void     (*unload)                (IdeWorkbenchAddin     *self,
                                     IdeWorkbench          *workbench);
  void     (*load_project_async)    (IdeWorkbenchAddin     *self,
                                     IdeProjectInfo        *project_info,
                                     GCancellable          *cancellable,
                                     GAsyncReadyCallback    callback,
                                     gpointer               user_data);
  gboolean (*load_project_finish)   (IdeWorkbenchAddin     *self,
                                     GAsyncResult          *result,
                                     GError               **error);
  void     (*unload_project_async)  (IdeWorkbenchAddin     *self,
                                     IdeProjectInfo        *project_info,
                                     GCancellable          *cancellable,
                                     GAsyncReadyCallback    callback,
                                     gpointer               user_data);
  gboolean (*unload_project_finish) (IdeWorkbenchAddin     *self,
                                     GAsyncResult          *result,
                                     GError               **error);
  void     (*project_loaded)        (IdeWorkbenchAddin     *self,
                                     IdeProjectInfo        *project_info);
  void     (*workspace_added)       (IdeWorkbenchAddin     *self,
                                     IdeWorkspace          *workspace);
  void     (*workspace_removed)     (IdeWorkbenchAddin     *self,
                                     IdeWorkspace          *workspace);
  gboolean (*can_open)              (IdeWorkbenchAddin     *self,
                                     GFile                 *file,
                                     const gchar           *content_type,
                                     gint                  *priority);
  void     (*open_async)            (IdeWorkbenchAddin     *self,
                                     GFile                 *file,
                                     const gchar           *content_type,
                                     IdeBufferOpenFlags     flags,
                                     GCancellable          *cancellable,
                                     GAsyncReadyCallback    callback,
                                     gpointer               user_data);
  void     (*open_at_async)         (IdeWorkbenchAddin     *self,
                                     GFile                 *file,
                                     const gchar           *content_type,
                                     gint                   at_line,
                                     gint                   at_line_offset,
                                     IdeBufferOpenFlags     flags,
                                     GCancellable          *cancellable,
                                     GAsyncReadyCallback    callback,
                                     gpointer               user_data);
  gboolean (*open_finish)           (IdeWorkbenchAddin     *self,
                                     GAsyncResult          *result,
                                     GError               **error);
  void     (*vcs_changed)           (IdeWorkbenchAddin     *self,
                                     IdeVcs                *vcs);
};

IdeWorkbenchAddin

typedef struct _IdeWorkbenchAddin IdeWorkbenchAddin;