gok-key

gok-key

Synopsis

enum                KeyStyles;
#define             FONT_SIZE_GROUP_UNDEFINED
#define             FONT_SIZE_GROUP_UNIQUE
#define             FONT_SIZE_GROUP_WORDCOMPLETE
gboolean            gok_key_initialize                  (GokKey *pKey,
                                                         xmlNode *pNode);
gboolean            gok_key_add_label                   (GokKey *pKey,
                                                         gchar *pLabelText,
                                                         guint level,
                                                         guint group,
                                                         const gchar *vmods);
void                gok_key_set_output                  (GokKey *pKey,
                                                         gint Type,
                                                         gchar *pName,
                                                         AccessibleKeySynthType Flag);
void                gok_key_change_label                (GokKey *pKey,
                                                         gchar *LabelText);
void                gok_key_update_label                (GokKey *pKey);
gint                gok_key_get_label_lengthpercell     (GokKey *pKey);
gint                gok_key_get_label_heightpercell     (GokKey *pKey);
gint                gok_key_calculate_font_size         (GokKey *pKey,
                                                         gboolean width,
                                                         gboolean bHeight);
void                gok_key_set_font_size               (GokKey *pKey,
                                                         gint Size);
void                gok_key_set_button_name             (GokKey *pKey);
void                gok_key_set_button_label            (GokKey *pKey,
                                                         gchar *LabelText);
gchar *             gok_key_get_label                   (GokKey *pKey);
GokKeyLabel *       gok_keylabel_new                    (GokKey *pKey,
                                                         gchar *pLabelText,
                                                         guint level,
                                                         guint group,
                                                         const gchar *vmods);
void                gok_keylabel_delete                 (GokKeyLabel *pKeyLabel);
void                gok_key_set_cells                   (GokKey *pKey,
                                                         gint top,
                                                         gint bottom,
                                                         gint left,
                                                         gint right);
GokKey *            gok_key_duplicate                   (GokKey *pKey);

Description

Details

enum KeyStyles

typedef enum {
KEYSTYLE_NORMAL,
KEYSTYLE_BRANCH,
KEYSTYLE_BRANCHBACK,
KEYSTYLE_GENERALDYNAMIC,
KEYSTYLE_BRANCHMENUS,
KEYSTYLE_BRANCHMENUITEMS,
KEYSTYLE_MENUITEM,
KEYSTYLE_BRANCHTOOLBARS,
KEYSTYLE_TOOLBARITEM,
KEYSTYLE_BRANCHGUI,
KEYSTYLE_BRANCHGUIACTIONS,
KEYSTYLE_PAGESELECTION,
KEYSTYLE_BRANCHCOMPOSE,
KEYSTYLE_TEXTNAV,
KEYSTYLE_EDIT,
KEYSTYLE_SELECT,
KEYSTYLE_TOGGLESELECT,
KEYSTYLE_BRANCHALPHABET,
KEYSTYLE_SETTINGS,
KEYSTYLE_SPELL,
KEYSTYLE_WORDCOMPLETE,
KEYSTYLE_POINTERCONTROL,
KEYSTYLE_BRANCHHYPERTEXT,
KEYSTYLE_BRANCHMODAL,
KEYSTYLE_HTMLACTION,
KEYSTYLE_HYPERLINK,
KEYSTYLE_BRANCHTEXT,
KEYSTYLE_HELP,
KEYSTYLE_ABOUT,
KEYSTYLE_DOCK,
KEYSTYLE_MOUSE,
KEYSTYLE_MOUSEBUTTON,
KEYSTYLE_REPEATNEXT,
KEYSTYLE_ADDWORD,
KEYSTYLE_INSENSITIVE
} KeyStyles;


FONT_SIZE_GROUP_UNDEFINED

#define FONT_SIZE_GROUP_UNDEFINED 0


FONT_SIZE_GROUP_UNIQUE

#define FONT_SIZE_GROUP_UNIQUE -1


FONT_SIZE_GROUP_WORDCOMPLETE

#define FONT_SIZE_GROUP_WORDCOMPLETE -2


gok_key_initialize ()

gboolean            gok_key_initialize                  (GokKey *pKey,
                                                         xmlNode *pNode);

pKey :

Pointer to the key that's getting initialized.

pNode :

Pointer to the XML node that contains the key data.

Returns :

TRUE if the key was initialized, FALSE if not.

gok_key_add_label ()

gboolean            gok_key_add_label                   (GokKey *pKey,
                                                         gchar *pLabelText,
                                                         guint level,
                                                         guint group,
                                                         const gchar *vmods);

Adds a label to the key. This allocates memory for the label that will be freed in gok_key_delete.

pKey :

Pointer to the key that's gets the new label.

pLabelText :

level :

group :

vmods :

Returns :

TRUE if the key was initialized, FALSE if not.

gok_key_set_output ()

void                gok_key_set_output                  (GokKey *pKey,
                                                         gint Type,
                                                         gchar *pName,
                                                         AccessibleKeySynthType Flag);

Sets the output for the key. This allocates memory for the output that will be freed in gok_key_delete.

pKey :

Pointer to the key that's gets the new output.

Type :

Type of output (e.g. keysym or keycode)

pName :

Pointer to the name string.

Flag :

Type of key synth output (if relevant)

gok_key_change_label ()

void                gok_key_change_label                (GokKey *pKey,
                                                         gchar *LabelText);

Changes the label displayed on the gok key.

pKey :

Pointer to the key that gets the new label.

LabelText :

The new label text.

gok_key_update_label ()

void                gok_key_update_label                (GokKey *pKey);

Changes the key's label if the modifier state has changed.

pKey :

Pointer to the key that gets an updated label.

gok_key_get_label_lengthpercell ()

gint                gok_key_get_label_lengthpercell     (GokKey *pKey);

Calculates the length of the key's label. Some keys span more than one cell so divide the label length into the number of cells.

pKey :

Pointer to the key you want the to find the label length per cell.

Returns :

The length of the key's label per cell.

gok_key_get_label_heightpercell ()

gint                gok_key_get_label_heightpercell     (GokKey *pKey);

Calculates the height of the key's label. Some keys span more than one cell so divide the label height into the number of cells.

pKey :

Pointer to the key you want to find the height.

Returns :

The height of the key's label per cell.

gok_key_calculate_font_size ()

gint                gok_key_calculate_font_size         (GokKey *pKey,
                                                         gboolean width,
                                                         gboolean bHeight);

Calculates the font size needed for the key's label to fill the key.

pKey :

Pointer to the key that we're getting the font size for.

width :

bHeight :

If TRUE then calculate the font size needed for the height of the key's label. Note: Both bWidth and bHeight can be TRUE.

Returns :

The font size, in 1000s of a point (e.g. 9 point is 9000).

gok_key_set_font_size ()

void                gok_key_set_font_size               (GokKey *pKey,
                                                         gint Size);

Sets the font size for the key.

pKey :

Pointer to the key that gets the new font size.

Size :

Font size you want the key's text to be.

gok_key_set_button_name ()

void                gok_key_set_button_name             (GokKey *pKey);

Sets the 'name' of the key's label. The 'name' is used to determine the key/label colors from the .rc file. This must be called for every key after it's created and after the label name has been changed.

pKey :

Pointer to the key that gets the new 'name'.

gok_key_set_button_label ()

void                gok_key_set_button_label            (GokKey *pKey,
                                                         gchar *LabelText);

Changes the button label displayed on the key.

pKey :

Pointer to the key that will have it's button label changed.

LabelText :

Text for the button.

gok_key_get_label ()

gchar *             gok_key_get_label                   (GokKey *pKey);

pKey :

Pointer to the key that you want the label for.

Returns :

A pointer to the label's text string, NULL if no label.

gok_keylabel_new ()

GokKeyLabel *       gok_keylabel_new                    (GokKey *pKey,
                                                         gchar *pLabelText,
                                                         guint level,
                                                         guint group,
                                                         const gchar *vmods);

Allocates memory for a new key label and initializes the GokKeyLabel structure. Returns a pointer to the new key label, NULL if it can't be created. Add this label to a key so it will be deleted when the key is deleted.

pKey :

Pointer to the key that gets the new label.

pLabelText :

Text string for this label.

level :

the level (see XKB spec) for which this label is valid.

group :

the group (see XKB spec) for which this label is valid.

vmods :

a delimited list of virtual modifier names which must be matched in order for this label to be valid, or NULL if no virtual modifiers are relevant to this label.

Returns :

A pointer to the new key label, NULL if it wasn't created.

gok_keylabel_delete ()

void                gok_keylabel_delete                 (GokKeyLabel *pKeyLabel);

pKeyLabel :

Pointer to the key label that will be deleted.

gok_key_set_cells ()

void                gok_key_set_cells                   (GokKey *pKey,
                                                         gint top,
                                                         gint bottom,
                                                         gint left,
                                                         gint right);

Changes the cell coordinates (used by the editor).

pKey :

Key that gets it's cells changed.

top :

Top cell for the key.

bottom :

Bottom cell for the key.

left :

Left cell for the key.

right :

Right cell for the key.

gok_key_duplicate ()

GokKey *            gok_key_duplicate                   (GokKey *pKey);

Not implemented yet.

pKey :

Pointer to the key that gets duplicated

Returns :

A pointer to the duplicate key, NULL if it was not created.