FCL files

class dataset : public service_base

Subclassed by cui::fcl::dataset_v2

Public Functions

virtual void get_name(pfc::string_base &p_out) const = 0

User-friendly fully qualified (unambiguous) name.

virtual const GUID &get_guid() const = 0

Unique identifier of the dataset.

virtual const GUID &get_group() const = 0

The identifier of the group you belong to.

virtual void get_data(stream_writer *p_writer, t_uint32 type, t_export_feedback &feedback, abort_callback &p_abort) const = 0

Retrieves your data for an export.

Parameters:

type[in] Specifies export mode. See t_fcl_type.

virtual void set_data(stream_reader *p_reader, t_size size, t_uint32 type, t_import_feedback &feedback, abort_callback &p_abort) = 0

Sets your data for an import.

Parameters:

type[in] Specifies export mode. See t_fcl_type.

void get_data_to_array(pfc::array_t<uint8_t> &p_data, t_uint32 type, t_export_feedback &feedback, abort_callback &p_abort, bool b_reset = false) const

Helper function. Retrieves your data for an export.

See also

get_data

Parameters:

type[in] Specifies export mode. See t_fcl_type.

void set_data_from_ptr(const void *p_data, t_size size, t_uint32 type, t_import_feedback &feedback, abort_callback &p_abort)

Helper function. Sets your data for an import.

See also

set_data

Parameters:

type[in] Specifies export mode. See t_fcl_type.

FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT(dataset)
class dataset_v2 : public cui::fcl::dataset

Public Functions

inline virtual double get_import_priority() const

Determines the order in which data sets are imported when an FCL file is being imported.

New in Columns UI 1.1.

Data sets with a higher priority value are imported first.

This can be used when there are dependencies between global configuration data and panel instance data. Columns UI uses this internally to deprioritise the toolbar and layout data sets and you will not generally need to override this.

FB2K_MAKE_SERVICE_INTERFACE(dataset_v2, dataset)
template<class T>
class dataset_factory : public service_factory_single_t<T>
namespace groups

Namespace containing standard FCL group identifiers.

Variables

constexpr GUID layout = {0x1979b677, 0x17ef, 0x4423, {0x94, 0x69, 0x11, 0x39, 0xa1, 0x1b, 0xd6, 0x87}}
constexpr GUID toolbars = {0xf1181b34, 0x8848, 0x43d0, {0x92, 0x96, 0x24, 0x48, 0x4c, 0x1f, 0x5b, 0xf1}}
constexpr GUID colours_and_fonts = {0xdd5158ae, 0xc8ed, 0x42d0, {0x89, 0xe3, 0xef, 0x1b, 0x19, 0x7f, 0xfc, 0xaf}}
constexpr GUID title_scripts = {0x2a8e63a4, 0xf8e, 0x459d, {0xb7, 0x52, 0x87, 0x4e, 0x38, 0x65, 0x8a, 0x6c}}
class group_impl_factory : public service_factory_single_t<group_impl>

Helper.

Public Functions

inline group_impl_factory(const GUID &pguid, const char *pname, const char *pdesc, const GUID &pguidparent = pfc::guid_null)
class t_import_feedback

Public Functions

virtual void add_required_panel(const char *name, const GUID &guid) = 0

Specifies any panels that you are dependent on that are not installed. You must specify only missing panels.

Parameters:
  • name[in] Unused. Pass a null-terminiated empty string.

  • guid[in] GUID of panel.

class t_export_feedback

Public Functions

virtual void add_required_panels(const pfc::list_base_const_t<GUID> &panels) = 0

Specifies panels that you are dependent on. You must specify all dependent panels.

Parameters:

panels[in] GUIDs of panels.

inline void add_required_panel(GUID guid)