mx-focusable

## mx-focusable mx-focusable |

## Synopsis

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

## Object Hierarchy

      GInterface
       +----MxFocusable

## Known Implementations

MxFocusable is implemented by MxBin, MxBoxLayout, MxButton, MxComboBox, MxEntry, MxExpander, MxFrame, MxGrid, MxItemView, MxListView, MxOffscreen, MxPathBar, MxScrollBar, MxScrollView, MxTable, MxToolbar and MxViewport.

## Description

## Details

### 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);
    };

### 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
    } MxFocusHint;

### mx_focusable_move_focus ()

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

`focusable` : |
`direction` : |
`from` : |
Returns : |

### mx_focusable_accept_focus ()

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

`focusable` : |
`hint` : |
Returns : |