Volume data modules

Volume data modules — Volume data processing modules

Functions

Includes

#include <libgwyapp/gwyapp.h>

Description

Volume data processing modules implement function processing volume data represented with GwyBrick. They reigster functions that get a GwyFile with data and either modify it or create a new data from it. In this regard, they are quite similar to regular (two-dimensional) data processing functions but they live in separate menus, toolbars, etc.

Functions

GwyVolumeFunc()

void
(*GwyVolumeFunc) (GwyFile *data,
                  GwyRunModeFlags run);

The type of volume data processing function.

Parameters

data

The data container to operate on.

 

run

Run mode.

 

gwy_volume_func_register()

gboolean
gwy_volume_func_register (const gchar *name,
                          GwyVolumeFunc func,
                          const gchar *menu_path,
                          const gchar *icon_name,
                          GwyRunModeFlags run,
                          guint sens_mask,
                          const gchar *tooltip);

Registers a volume data processing function.

Note: the string arguments are not copied as modules are not expected to vanish. If they are constructed (non-constant) strings, do not free them. Should modules ever become unloadable they will get a chance to clean-up.

Parameters

name

Name of function to register. It should be a valid identifier and if a module registers only one function, module and function names should be the same.

 

func

The function itself.

 

menu_path

Menu path under Volume Data menu. The menu path should be marked translatabe, but passed untranslated (to allow merging of translated and untranslated submenus).

 

icon_name

Stock icon id for toolbar.

 

run

Supported run modes. Volume data processing functions can have two run modes: GWY_RUN_IMMEDIATE (no questions asked) and GWY_RUN_INTERACTIVE (a modal dialog with parameters).

 

sens_mask

Sensitivity mask (a combination of GwyMenuSensFlags flags). Usually it contains GWY_MENU_FLAG_VOLUME, possibly other requirements.

 

tooltip

Tooltip for this function.

 

Returns

Normally TRUE; FALSE on failure.


gwy_volume_func_run()

void
gwy_volume_func_run (const gchar *name,
                     GwyFile *data,
                     GwyRunModeFlags run);

Runs a volume data processing function identified by name .

Parameters

name

Volume data processing function name.

 

data

Data (a GwyFile).

 

run

How the function should be run.

 

gwy_volume_func_exists()

gboolean
gwy_volume_func_exists (const gchar *name);

Checks whether a volume data processing function exists.

Parameters

name

Volume data processing function name.

 

Returns

TRUE if function name exists, FALSE otherwise.


gwy_volume_func_get_run_types()

GwyRunModeFlags
gwy_volume_func_get_run_types (const gchar *name);

Returns run modes supported by a volume data processing function.

Parameters

name

Volume data processing function name.

 

Returns

The run mode bit mask.


gwy_volume_func_get_menu_path()

const gchar *
gwy_volume_func_get_menu_path (const gchar *name);

Returns the menu path of a volume data processing function.

The returned menu path is only the tail part registered by the function, i.e., without any leading "/Volume Data".

Parameters

name

Volume data processing function name.

 

Returns

The menu path. The returned string is owned by the module.


gwy_volume_func_get_icon_name()

const gchar *
gwy_volume_func_get_icon_name (const gchar *name);

Gets icon name of a volume data processing function.

Parameters

name

Volume data processing function name.

 

Returns

The icon name. The returned string is owned by the module.


gwy_volume_func_get_tooltip()

const gchar *
gwy_volume_func_get_tooltip (const gchar *name);

Gets tooltip for a volume data processing function.

Parameters

name

Volume data processing function name.

 

Returns

The tooltip. The returned string is owned by the module.


gwy_volume_func_get_sensitivity_mask()

guint
gwy_volume_func_get_sensitivity_mask (const gchar *name);

Gets menu sensititivy mask for a volume data processing function.

Parameters

name

Volume data processing function name.

 

Returns

The menu item sensitivity mask (a combination of GwyMenuSensFlags flags).


gwy_volume_func_foreach()

void
gwy_volume_func_foreach (GwyNameFunc function,
                         gpointer user_data);

Calls a function for each volume function.

Parameters

function

Function to run for each volume data function, passed by name.

[scope call]

user_data

Data to pass to function .

 

gwy_volume_func_current()

const gchar *
gwy_volume_func_current (void);

Obtains the name of currently running volume data processing function.

If no volume data processing function is currently running, NULL is returned.

If multiple nested functions are running (which is not usual but technically possible), the innermost function name is returned.

Returns

The name of currently running volume data processing function or NULL.