MxFocusable

MxFocusable

Synopsis

enum                MxFocusDirection;
enum                MxFocusHint;
                    MxFocusable;
struct              MxFocusableIface;
MxFocusable *       mx_focusable_move_focus             (MxFocusable *focusable,
                                                         MxFocusDirection direction,
                                                         MxFocusable *from);
MxFocusable *       mx_focusable_accept_focus           (MxFocusable *focusable,
                                                         MxFocusHint hint);
MxFocusHint         mx_focus_hint_from_direction        (MxFocusDirection direction);

Object Hierarchy

  GInterface
   +----MxFocusable

Known Implementations

MxFocusable is implemented by MxBin, MxBoxLayout, MxButton, MxComboBox, MxDialog, MxEntry, MxExpander, MxFrame, MxItemView, MxKineticScrollView, MxListView, MxMenu, MxNotebook, MxOffscreen, MxPathBar, MxScrollBar, MxScrollView, MxSlider, MxStack, MxTable, MxToolbar and MxViewport.

Description

Details

enum MxFocusDirection

typedef enum {
  MX_FOCUS_DIRECTION_OUT,
  MX_FOCUS_DIRECTION_UP,
  MX_FOCUS_DIRECTION_DOWN,
  MX_FOCUS_DIRECTION_LEFT,
  MX_FOCUS_DIRECTION_RIGHT,
  MX_FOCUS_DIRECTION_NEXT,
  MX_FOCUS_DIRECTION_PREVIOUS
} MxFocusDirection;

enum MxFocusHint

typedef enum {
  MX_FOCUS_HINT_FIRST,
  MX_FOCUS_HINT_LAST,
  MX_FOCUS_HINT_PRIOR,
  MX_FOCUS_HINT_FROM_ABOVE,
  MX_FOCUS_HINT_FROM_BELOW,
  MX_FOCUS_HINT_FROM_LEFT,
  MX_FOCUS_HINT_FROM_RIGHT
} MxFocusHint;

MxFocusable

typedef struct _MxFocusable MxFocusable;

This is an opaque structure whose members cannot be directly accessed.


struct MxFocusableIface

struct MxFocusableIface {
  GObjectClass parent_class;

  MxFocusable* (*accept_focus) (MxFocusable *focusable,
                                MxFocusHint  hint);
  MxFocusable* (*move_focus)   (MxFocusable      *focusable,
                                MxFocusDirection  direction,
                                MxFocusable      *from);
};

mx_focusable_move_focus ()

MxFocusable *       mx_focusable_move_focus             (MxFocusable *focusable,
                                                         MxFocusDirection direction,
                                                         MxFocusable *from);

Move the focus

focusable :

A MxFocusable

direction :

A MxFocusDirection

from :

focusable to move the focus from

Returns :

the newly focused focusable. [transfer none]

mx_focusable_accept_focus ()

MxFocusable *       mx_focusable_accept_focus           (MxFocusable *focusable,
                                                         MxFocusHint hint);

Accept the focus

focusable :

A MxFocusable

hint :

A MxFocusHint

Returns :

the focusable. [transfer none]

mx_focus_hint_from_direction ()

MxFocusHint         mx_focus_hint_from_direction        (MxFocusDirection direction);

Transforms a focus direction to a focus hint. This is a convenience function for actors that implement the MxFocusable interface, to pass the correct MxFocusHint to their children when calling mx_focusable_accept_focus().

MX_FOCUS_DIRECTION_UP maps to MX_FOCUS_HINT_FROM_BELOW, MX_FOCUS_DIRECTION_DOWN maps to MX_FOCUS_HINT_FROM_ABOVE, MX_FOCUS_DIRECTION_LEFT maps to MX_FOCUS_HINT_FROM_RIGHT, MX_FOCUS_DIRECTION_RIGHT maps to MX_FOCUS_HINT_FROM_LEFT, MX_FOCUS_DIRECTION_NEXT maps to MX_FOCUS_HINT_FIRST, MX_FOCUS_DIRECTION_PREVIOUS maps to MX_FOCUS_HINT_LAST and anything else maps to MX_FOCUS_HINT_PRIOR.

direction :

A MxFocusDirection

Returns :

A MxFocusHint

Since 1.2