/************************************************************
**
** Application: CJLib (using oslib)
**
** Title:       c.tabs
**
*************************************************************/

/* Include files */
/* from standard clib */
#include <stdlib.h>
#include <stdio.h>

/* from clib */
#include "kernel.h"
#include "swis.h"

/* from oslib */
#include "oslib/toolbox.h"

/* from CJLib library */
#include "etc.h"
#include "tabs.h"

//////#define Toolbox_SWIChunkBase    0x44ec0
//////#define Toolbox_ObjectMiscOp           (Toolbox_SWIChunkBase + 6)



/************************************************************/

/* exported variables */

/* global variables */

/* forward function declarations */


/************************************************************/





_kernel_oserror *tabs_set_state (
  unsigned int flags,
  toolbox_o window,
  toolbox_c gadget,
  unsigned int state
) {

  return _swix(Toolbox_ObjectMiscOp, _INR(0,4),
      flags, window, Tabs_SetState, gadget, state);
}


_kernel_oserror *tabs_get_state (
  unsigned int flags,
  toolbox_o window,
  toolbox_c gadget,
  unsigned int *state
) {
  unsigned int dummy;

  return _swix(Toolbox_ObjectMiscOp, _INR(0,3) | _OUT(0),
      flags, window, Tabs_GetState, gadget,
      state == NULL ? &dummy : state);
}


_kernel_oserror *tabs_set_selected (
  unsigned int	flags,
  toolbox_o	window,
  toolbox_c	gadget,
  int		tab_index,
  int		*previous_index
) {
  int dummy;

  return _swix(Toolbox_ObjectMiscOp, _INR(0,4) | _OUT(0),
      flags, window, Tabs_SetSelected, gadget, tab_index,
      previous_index == NULL ? &dummy : previous_index);
}


_kernel_oserror *tabs_get_selected (
  unsigned int	flags,
  toolbox_o	window,
  toolbox_c	gadget,
  int		*index
) {
  int dummy;

  return _swix(Toolbox_ObjectMiscOp, _INR(0,3) | _OUT(0),
      flags, window, Tabs_GetSelected, gadget,
      index == NULL ? &dummy : index);
}


_kernel_oserror *tabs_tab_from_window (
  unsigned int	flags,
  toolbox_o	window,
  toolbox_c	gadget,
  toolbox_o	nested_window,
  int		*tab_index
) {
  int dummy;

  return _swix(Toolbox_ObjectMiscOp, _INR(0,4) | _OUT(0),
    flags, window, Tabs_TabFromWindow, gadget, nested_window,
    tab_index == NULL ? &dummy : tab_index);
}


_kernel_oserror *tabs_window_from_tab (
  unsigned int	flags,
  toolbox_o	window,
  toolbox_c	gadget,
  int		tab_index,
  toolbox_o	*nested_window
) {
  toolbox_o dummy;

  return _swix(Toolbox_ObjectMiscOp, _INR(0,4) | _OUT(0),
    flags, window, Tabs_WindowFromTab, gadget, tab_index,
    nested_window == NULL ? &dummy : nested_window);
}


_kernel_oserror *tabs_set_label (
  unsigned int	flags,
  toolbox_o	window,
  toolbox_c	gadget,
  int		index,
  char		*text
) {
  return _swix(Toolbox_ObjectMiscOp, _INR(0,5),
    flags, window, Tabs_SetLabel, gadget, index, text);
}


_kernel_oserror *tabs_get_label (
  unsigned int	flags,
  toolbox_o	window,
  toolbox_c	gadget,
  int		index,
  char		*buffer,
  int		buffsize,
  int		*nbytes
) {
  int dummy;

  return _swix(Toolbox_ObjectMiscOp, _INR(0,6) | _OUT(6),
    flags, window, Tabs_GetLabel, gadget, index, buffer, buffsize,
    nbytes == NULL ? &dummy : nbytes);
}
