IdePerspective

IdePerspective

Types and Values

Description

Functions

ide_perspective_agree_to_shutdown ()

gboolean
ide_perspective_agree_to_shutdown (IdePerspective *self);

This interface method is called when the workbench would like to shutdown. If the perspective needs to focus and ask the user a question, this is the place to do so. You may run a GtkDialog using gtk_dialog_run() or simply focus your perspective and return FALSE.

Parameters

self

An IdePerspective.

 

Returns

TRUE to allow the workbench to continue shutting down.


ide_perspective_get_actions ()

GActionGroup *
ide_perspective_get_actions (IdePerspective *self);

This interface method should retrieve a GActionGroup associated with the perspective, if necessary. The GActionGroup will automatically be registered with the "perspective" action prefix while the perspective is active. A perspective is "active" when it is currently displayed in the workbench.

Parameters

self

An IdePerspective.

 

Returns

A GActionGroup or NULL.

[nullable][transfer full]


ide_perspective_get_icon_name ()

gchar *
ide_perspective_get_icon_name (IdePerspective *self);

This interface methods retrieves the icon name to use when displaying the perspective selection sidebar.

If you implement an "icon-name" property, the icon may change at runtime.

Parameters

self

An IdePerspective.

 

Returns

A newly allcoated string that contains the icon-name to use for the perspective.

[nullable]


ide_perspective_get_id ()

gchar *
ide_perspective_get_id (IdePerspective *self);

This interface method is used to identify the perspective. It should be a short internal name, such as "editor" which should not be translated. Internally, the default implementation of this method will return the name of the instances GType.

The identifier must be alpha-numeric only (a-z A-Z 0-9).

This value should be unique per workspace.

Parameters

self

An IdePerspective

 

Returns

A string identifier for the perspective.

[nullable]


ide_perspective_get_needs_attention ()

gboolean
ide_perspective_get_needs_attention (IdePerspective *self);

This interface method returns TRUE if the interface needs attention.

One such use of this would be to indicate that contents within a perspective have changed since the user last focused the perspective. This should also be implemented with a boolean property named "needs-attention". If you call g_object_notify() (or one of its variants), the notifcation visual will be rendered with your icon.

Parameters

self

An IdePerspective.

 

Returns

TRUE if the perspective needs attention.


ide_perspective_get_priority ()

gint
ide_perspective_get_priority (IdePerspective *self);

ide_perspective_get_title ()

gchar *
ide_perspective_get_title (IdePerspective *self);

This interface method gets the title of the perspective. This is used for tooltips in the perspective selector and potentially other UI components.

Parameters

self

An IdePerspective

 

Returns

A string which will not be modified or freed.


ide_perspective_get_titlebar ()

GtkWidget *
ide_perspective_get_titlebar (IdePerspective *self);

This interface method should return a GtkWidget suitable for being embedded as the titlebar for the application. If you return NULL from this method, a suitable titlebar will be created for you.

You may use IdeHeaderBar for a base implementation to save you the trouble of creating a titlebar similar to other perspectives in Builder.

Parameters

self

An IdePerspective.

 

Returns

A GtkWidget or NULL.

[transfer none][nullable]


ide_perspective_is_early ()

gboolean
ide_perspective_is_early (IdePerspective *self);

If TRUE, the perspective can be used before loading a project.


ide_perspective_set_fullscreen ()

void
ide_perspective_set_fullscreen (IdePerspective *self,
                                gboolean fullscreen);

This interface method is used to notify the perspective that it is going into fullscreen mode. The IdeWorkbench will notify the perspective before it is displayed.

Parameters

self

An IdePerspective.

 

fullscreen

If fullscreen mode should be activated.

 

ide_perspective_views_foreach ()

void
ide_perspective_views_foreach (IdePerspective *self,
                               GtkCallback callback,
                               gpointer user_data);

This interface method is used to iterate all IdeLayoutView's that are descendents of self .

Parameters

self

An IdePerspective.

 

callback

A GtkCallback.

[scope call]

user_data

user data for callback .

 

Types and Values

IDE_TYPE_PERSPECTIVE

#define IDE_TYPE_PERSPECTIVE (ide_perspective_get_type())

struct IdePerspectiveInterface

struct IdePerspectiveInterface {
  GTypeInterface parent;

  gboolean      (*agree_to_shutdown)   (IdePerspective *self);
  GActionGroup *(*get_actions)         (IdePerspective *self);
  gchar        *(*get_icon_name)       (IdePerspective *self);
  gchar        *(*get_id)              (IdePerspective *self);
  gboolean      (*get_needs_attention) (IdePerspective *self);
  gint          (*get_priority)        (IdePerspective *self);
  gchar        *(*get_title)           (IdePerspective *self);
  GtkWidget    *(*get_titlebar)        (IdePerspective *self);
  gboolean      (*is_early)            (IdePerspective *self);
  void          (*set_fullscreen)      (IdePerspective *self,
                                        gboolean        fullscreen);
  void          (*views_foreach)       (IdePerspective *self,
                                        GtkCallback     callback,
                                        gpointer        user_data);
  gchar        *(*get_accelerator)     (IdePerspective *self);
};

IdePerspective

typedef struct _IdePerspective IdePerspective;