CpgSelector

CpgSelector

Synopsis

#define             CPG_SELECTOR_CONST                  (obj)
enum                CpgSelectorType;
enum                CpgSelectorPseudoType;
struct              CpgSelector;
struct              CpgSelectorClass;
CpgSelector *       cpg_selector_new                    (CpgObject *root);
CpgSelector *       cpg_selector_parse                  (CpgObject *root,
                                                         gchar const *ptr,
                                                         GError **error);
CpgSelector *       cpg_selector_copy_with              (CpgSelector *selector);
gchar *             cpg_selector_as_string              (CpgSelector *selector);
guint               cpg_selector_append                 (CpgSelector *selector,
                                                         CpgEmbeddedString *identifier);
guint               cpg_selector_append_partial         (CpgSelector *selector,
                                                         CpgEmbeddedString *identifier);
guint               cpg_selector_append_pseudo          (CpgSelector *selector,
                                                         CpgSelectorPseudoType type,
                                                         GSList *arguments);
guint               cpg_selector_append_regex           (CpgSelector *selector,
                                                         CpgEmbeddedString *regex);
guint               cpg_selector_append_regex_partial   (CpgSelector *selector,
                                                         CpgEmbeddedString *regex);
GSList *            cpg_selector_select                 (CpgSelector *selector,
                                                         GObject *parent,
                                                         CpgSelectorType type,
                                                         CpgEmbeddedContext *context);
void                cpg_selector_set_partial            (CpgSelector *selector,
                                                         gboolean partial);
void                cpg_selector_set_self               (CpgSelector *selector,
                                                         CpgSelection *selection);
guint               cpg_selector_get_last_id            (CpgSelector *selector);
GSList const *      cpg_selector_get_in_context         (CpgSelector *selector,
                                                         guint id);
GSList const *      cpg_selector_get_out_context        (CpgSelector *selector,
                                                         guint id);
gboolean            cpg_selector_is_pseudo_name         (gchar const *name);
gchar *             cpg_selector_escape_identifier      (gchar const *name);
void                cpg_selector_set_from_set           (CpgSelector *selector,
                                                         GSList *selections);
void                cpg_selector_set_implicit_children  (CpgSelector *selector,
                                                         gboolean isimplicit);
                    CpgSelectorPrivate;

Object Hierarchy

  GFlags
   +----CpgSelectorType
  GEnum
   +----CpgSelectorPseudoType
  GObject
   +----CpgSelector

Implemented Interfaces

CpgSelector implements CpgStatement.

Properties

  "root"                     CpgObject*            : Read / Write / Construct Only

Signals

  "select"                                         : Run Last

Description

Details

CPG_SELECTOR_CONST()

#define CPG_SELECTOR_CONST(obj)		(G_TYPE_CHECK_INSTANCE_CAST ((obj), CPG_TYPE_SELECTOR, CpgSelector const))


enum CpgSelectorType

typedef enum
{
	CPG_SELECTOR_TYPE_NONE = 0,
	CPG_SELECTOR_TYPE_ANY = 1 << 0,
	CPG_SELECTOR_TYPE_STATE = 1 << 1,
	CPG_SELECTOR_TYPE_LINK = 1 << 2,
	CPG_SELECTOR_TYPE_GROUP = 1 << 3,
	CPG_SELECTOR_TYPE_PROPERTY = 1 << 4,
	CPG_SELECTOR_TYPE_ACTION = 1 << 5,
	CPG_SELECTOR_TYPE_FUNCTION = 1 << 6,
	CPG_SELECTOR_TYPE_TEMPLATE = 1 << 7,
	CPG_SELECTOR_TYPE_OBJECT = CPG_SELECTOR_TYPE_STATE |
	                           CPG_SELECTOR_TYPE_LINK |
	                           CPG_SELECTOR_TYPE_GROUP |
	                           CPG_SELECTOR_TYPE_FUNCTION |
	                           CPG_SELECTOR_TYPE_TEMPLATE
} CpgSelectorType;


enum CpgSelectorPseudoType

typedef enum
{
	CPG_SELECTOR_PSEUDO_TYPE_ROOT,
	CPG_SELECTOR_PSEUDO_TYPE_TEMPLATES_ROOT,
	CPG_SELECTOR_PSEUDO_TYPE_CHILDREN,
	CPG_SELECTOR_PSEUDO_TYPE_PARENT,
	CPG_SELECTOR_PSEUDO_TYPE_FIRST,
	CPG_SELECTOR_PSEUDO_TYPE_LAST,
	CPG_SELECTOR_PSEUDO_TYPE_SUBSET,
	CPG_SELECTOR_PSEUDO_TYPE_STATES,
	CPG_SELECTOR_PSEUDO_TYPE_LINKS,
	CPG_SELECTOR_PSEUDO_TYPE_GROUPS,
	CPG_SELECTOR_PSEUDO_TYPE_IMPORTS,
	CPG_SELECTOR_PSEUDO_TYPE_PROPERTIES,
	CPG_SELECTOR_PSEUDO_TYPE_ACTIONS,
	CPG_SELECTOR_PSEUDO_TYPE_FUNCTIONS,
	CPG_SELECTOR_PSEUDO_TYPE_OBJECTS,
	CPG_SELECTOR_PSEUDO_TYPE_SIBLINGS,
	CPG_SELECTOR_PSEUDO_TYPE_TEMPLATES,
	CPG_SELECTOR_PSEUDO_TYPE_COUNT,
	CPG_SELECTOR_PSEUDO_TYPE_FROM,
	CPG_SELECTOR_PSEUDO_TYPE_TO,
	CPG_SELECTOR_PSEUDO_TYPE_SELF,
	CPG_SELECTOR_PSEUDO_TYPE_DEBUG,
	CPG_SELECTOR_PSEUDO_TYPE_NAME,
	CPG_SELECTOR_PSEUDO_TYPE_DESCENDANTS,
	CPG_SELECTOR_PSEUDO_TYPE_ANCESTORS,
	CPG_SELECTOR_PSEUDO_TYPE_UNIQUE,
	CPG_SELECTOR_PSEUDO_TYPE_IF,
	CPG_SELECTOR_PSEUDO_TYPE_IS_EMPTY,
	CPG_SELECTOR_PSEUDO_TYPE_REMOVE,
	CPG_SELECTOR_PSEUDO_TYPE_FROM_SET,
	CPG_SELECTOR_PSEUDO_TYPE_TYPE,
	CPG_SELECTOR_PSEUDO_TYPE_HAS_FLAG,
	CPG_SELECTOR_PSEUDO_TYPE_HAS_TEMPLATE,
	CPG_SELECTOR_PSEUDO_TYPE_HAS_TAG,
	CPG_SELECTOR_PSEUDO_TYPE_REVERSE,
	CPG_SELECTOR_PSEUDO_NUM
} CpgSelectorPseudoType;


struct CpgSelector

struct CpgSelector;


struct CpgSelectorClass

struct CpgSelectorClass {
	GObjectClass parent_class;
};


cpg_selector_new ()

CpgSelector *       cpg_selector_new                    (CpgObject *root);


cpg_selector_parse ()

CpgSelector *       cpg_selector_parse                  (CpgObject *root,
                                                         gchar const *ptr,
                                                         GError **error);

Parse a selector from a string.

root :

A CpgObject. [allow-none]

error :

A GError

Returns :

A CpgSelector. [transfer full]

cpg_selector_copy_with ()

CpgSelector *       cpg_selector_copy_with              (CpgSelector *selector);

Copy a selector for a with block.

selector :

A CpgSelector

Returns :

A CpgSelector. [transfer full]

cpg_selector_as_string ()

gchar *             cpg_selector_as_string              (CpgSelector *selector);


cpg_selector_append ()

guint               cpg_selector_append                 (CpgSelector *selector,
                                                         CpgEmbeddedString *identifier);


cpg_selector_append_partial ()

guint               cpg_selector_append_partial         (CpgSelector *selector,
                                                         CpgEmbeddedString *identifier);


cpg_selector_append_pseudo ()

guint               cpg_selector_append_pseudo          (CpgSelector *selector,
                                                         CpgSelectorPseudoType type,
                                                         GSList *arguments);


cpg_selector_append_regex ()

guint               cpg_selector_append_regex           (CpgSelector *selector,
                                                         CpgEmbeddedString *regex);


cpg_selector_append_regex_partial ()

guint               cpg_selector_append_regex_partial   (CpgSelector *selector,
                                                         CpgEmbeddedString *regex);


cpg_selector_select ()

GSList *            cpg_selector_select                 (CpgSelector *selector,
                                                         GObject *parent,
                                                         CpgSelectorType type,
                                                         CpgEmbeddedContext *context);

Select objects (from parent) using the selector.

selector :

A CpgSelector

parent :

A GObject

type :

A CpgSelectorType

context :

A CpgEmbeddedContext

Returns :

A GSList of CpgSelection. [element-type CpgSelection][transfer full]

cpg_selector_set_partial ()

void                cpg_selector_set_partial            (CpgSelector *selector,
                                                         gboolean partial);


cpg_selector_set_self ()

void                cpg_selector_set_self               (CpgSelector *selector,
                                                         CpgSelection *selection);


cpg_selector_get_last_id ()

guint               cpg_selector_get_last_id            (CpgSelector *selector);


cpg_selector_get_in_context ()

GSList const *      cpg_selector_get_in_context         (CpgSelector *selector,
                                                         guint id);

Get the in-context for a particular selector.

selector :

A CpgSelector

id :

The selector id

Returns :

A GSList of CpgSelection. [element-type CpgSelection][transfer none]

cpg_selector_get_out_context ()

GSList const *      cpg_selector_get_out_context        (CpgSelector *selector,
                                                         guint id);

Get the out-context for a particular selector.

selector :

A CpgSelector

id :

The selector id

Returns :

A GSList of CpgSelection. [element-type CpgSelection][transfer none]

cpg_selector_is_pseudo_name ()

gboolean            cpg_selector_is_pseudo_name         (gchar const *name);

Check whether a name is a pseudo selector.

name :

the name

Returns :

TRUE if the name is a pseudo selector, FALSE otherwise

cpg_selector_escape_identifier ()

gchar *             cpg_selector_escape_identifier      (gchar const *name);

Escapes an identifier if needed.

name :

the name

Returns :

the escaped identifier. [transfer full]

cpg_selector_set_from_set ()

void                cpg_selector_set_from_set           (CpgSelector *selector,
                                                         GSList *selections);


cpg_selector_set_implicit_children ()

void                cpg_selector_set_implicit_children  (CpgSelector *selector,
                                                         gboolean isimplicit);


CpgSelectorPrivate

typedef struct _CpgSelectorPrivate CpgSelectorPrivate;

Property Details

The "root" property

  "root"                     CpgObject*            : Read / Write / Construct Only

Root.

Signal Details

The "select" signal

void                user_function                      (CpgSelector *cpgselector,
                                                        guint        arg1,
                                                        gpointer     user_data)        : Run Last

cpgselector :

the object which received the signal.

user_data :

user data set when the signal handler was connected.