Пример #1
0
static void Insert(void)
{
  if (lua_isnil(lua_getparam(2)))
    iuplua_pushihandle(IupInsert(iuplua_checkihandle(1), NULL, iuplua_checkihandle(3)));
  else
    iuplua_pushihandle(IupInsert(iuplua_checkihandle(1), iuplua_checkihandle(2), iuplua_checkihandle(3)));
}
Пример #2
0
static int scintilla_lineschanged_cb(Ihandle *self, Ihandle * p0, Ihandle * p1)
{
  lua_State *L = iuplua_call_start(self, "lineschanged_cb");
  iuplua_pushihandle(L, p0);
  iuplua_pushihandle(L, p1);
  return iuplua_call(L, 2);
}
Пример #3
0
static int tabs_tabchange_cb(Ihandle *self, Ihandle * p0, Ihandle * p1)
{
  lua_State *L = iuplua_call_start(self, "tabchange_cb");
  iuplua_pushihandle(L, p0);
  iuplua_pushihandle(L, p1);
  return iuplua_call(L, 2);
}
Пример #4
0
static void GetNextChild(void)
{
  if (lua_isnil(lua_getparam(2)))
    iuplua_pushihandle(IupGetNextChild(iuplua_checkihandle(1), NULL));
  else
    iuplua_pushihandle(IupGetNextChild(iuplua_checkihandle(1), iuplua_checkihandle(2)));
}
Пример #5
0
static int PreviousField(lua_State *L)
{
  Ihandle *h1 = iuplua_checkihandle(L,1);
  Ihandle *h2 = IupNextField(h1);
  iuplua_pushihandle(L,h2);
  return 1;
}
Пример #6
0
static int Insert(lua_State *L)
{
  iuplua_pushihandle(L, IupInsert(iuplua_checkihandle(L,1),
                                  iuplua_checkihandleornil(L,2),
                                  iuplua_checkihandle(L,3)));
  return 1;
}
Пример #7
0
static int GetHandle(lua_State *L)
{
  const char *name = luaL_checkstring(L,1);
  Ihandle *ih = IupGetHandle(name);
  iuplua_pushihandle(L,ih);
  return 1;
}
Пример #8
0
static int GetFromC(lua_State *L)
{
  Ihandle *n;
  const char *a;
  if (!lua_istable(L, -1)) 
  {
    lua_pushstring(L, "iup.GetFromC: wrong arguments to function"); 
    lua_error(L);
    return 0;
  }
  lua_pushinteger(L, 1);
  lua_gettable(L, -2);
  if (!lua_isstring(L, -1)) 
  {
    lua_pushstring(L, "iup.GetFromC: wrong arguments to function"); 
    lua_error(L);
    return 0;
  }
  a = lua_tostring(L, -1);
  n = IupGetHandle((char*)a);
  if(n)
    iuplua_pushihandle(L, n);
  else
    lua_pushnil(L);
  return 1;
}
Пример #9
0
static int GetParent(lua_State *L)
{
  Ihandle * ih = iuplua_checkihandle(L,1);
  Ihandle * parent = IupGetParent(ih);
  iuplua_pushihandle(L, parent);
  return 1;
}
Пример #10
0
static int ImageFromImImage(lua_State *L)
{
  imImage* im_image = imlua_checkimage(L, 1);
  Ihandle* image = IupImageFromImImage(im_image);
  iuplua_pushihandle(L, image);
  return 1;
}
Пример #11
0
static int SetFocus(lua_State *L)
{
  Ihandle *h1 = iuplua_checkihandle(L,1);
  Ihandle *h2 = IupSetFocus(h1);
  iuplua_pushihandle(L,h2);
  return 1;
}
Пример #12
0
static int GetBrother(lua_State *L)
{
  Ihandle * ih = iuplua_checkihandle(L,1);
  Ihandle * brother = IupGetBrother(ih);
  iuplua_pushihandle(L, brother);
  return 1;
}
Пример #13
0
static int SetHandle(lua_State *L)
{
  const char *name = luaL_checkstring(L,1);
  Ihandle *ih = iuplua_checkihandle(L,2);
  Ihandle *last = IupSetHandle(name, ih);
  iuplua_pushihandle(L, last);
  return 1;
}
Пример #14
0
static int plot_menucontextclose_cb(Ihandle *self, Ihandle * p0, int p1, int p2)
{
  lua_State *L = iuplua_call_start(self, "menucontextclose_cb");
  iuplua_pushihandle(L, p0);
  lua_pushinteger(L, p1);
  lua_pushinteger(L, p2);
  return iuplua_call(L, 3);
}
Пример #15
0
static int SetAttributes(lua_State *L)
{
  Ihandle * ih = iuplua_checkihandle(L,1);
  const char *attributes = luaL_checkstring(L,2);
  IupSetAttributes(ih, attributes);
  iuplua_pushihandle(L,ih);
  return 1;
}
Пример #16
0
static int GetDialogChild(lua_State *L)
{
  Ihandle * ih = iuplua_checkihandle(L,1);
  const char* name = luaL_checkstring(L,2);
  Ihandle * child = IupGetDialogChild(ih, name);
  iuplua_pushihandle(L, child);
  return 1;
}
Пример #17
0
static int GetChild(lua_State *L)
{
  Ihandle* ih = iuplua_checkihandle(L,1);
  int pos = luaL_checkint(L,2);
  Ihandle* child = IupGetChild(ih, pos);
  iuplua_pushihandle(L, child);
  return 1;
}
Пример #18
0
static int GetNextChild(lua_State *L)
{
  Ihandle* parent = iuplua_checkihandle(L,1);
  Ihandle* next = iuplua_checkihandleornil(L,2);
  Ihandle* nextchild = IupGetNextChild(parent, next);
  iuplua_pushihandle(L, nextchild);
  return 1;
}
Пример #19
0
static int matrix_menudrop_cb(Ihandle *self, Ihandle * p0, int p1, int p2)
{
  lua_State *L = iuplua_call_start(self, "menudrop_cb");
  iuplua_pushihandle(L, p0);
  lua_pushinteger(L, p1);
  lua_pushinteger(L, p2);
  return iuplua_call(L, 3);
}
Пример #20
0
static int GetParamHandle(lua_State *L)
{
  Ihandle *param = iuplua_checkihandle(L, 1);
  const char* name = luaL_checkstring(L, 2);
  Ihandle* control = (Ihandle*)IupGetAttribute(param, name);
  iuplua_pushihandle(L, control);
  return 1;
}
Пример #21
0
static int GetParamParam(lua_State *L)
{
  Ihandle *dialog = iuplua_checkihandle(L, 1);
  int param_index = (int)luaL_checkinteger(L, 2);
  Ihandle* param = (Ihandle*)IupGetAttributeId(dialog, "PARAM", param_index);
  iuplua_pushihandle(L, param);
  return 1;
}
Пример #22
0
static int LoadImage(lua_State *L)
{
  const char *filename = luaL_checkstring(L, 1);
  Ihandle* image = IupLoadImage(filename);
  iuplua_plugstate(L, image);
  iuplua_pushihandle(L, image);
  return 1;
}
Пример #23
0
static int ParamBox(lua_State *L)
{
  Ihandle* parent = iuplua_checkihandle(L, 1);
  int count = iuplua_getn(L, 2);
  Ihandle** params = iuplua_checkihandle_array(L, 2, count);
  Ihandle* param_box = IupParamBox(parent, params, count);
  iuplua_pushihandle(L, param_box);
  return 1;
}
Пример #24
0
static void GetParamParam(void)
{
  Ihandle* param;
  Ihandle *dialog = iuplua_checkihandle(1);
  int param_index = luaL_check_int(2);
  char param_str[50];
  sprintf(param_str, "PARAM%d", param_index);
  param = (Ihandle*)IupGetAttribute(dialog, param_str);
  iuplua_pushihandle(param);
}
Пример #25
0
static int GetParamParam(lua_State *L)
{
  Ihandle *dialog = iuplua_checkihandle(L, 1);
  int param_index = luaL_checkinteger(L, 2);
  Ihandle* param;
  char param_str[50];
  sprintf(param_str, "PARAM%d", param_index);
  param = (Ihandle*)IupGetAttribute(dialog, param_str);
  iuplua_pushihandle(L, param);
  return 1;
}
Пример #26
0
static int matrix_dropselect_cb(Ihandle *self, int p0, int p1, Ihandle * p2, char * p3, int p4, int p5)
{
  lua_State *L = iuplua_call_start(self, "dropselect_cb");
  lua_pushinteger(L, p0);
  lua_pushinteger(L, p1);
  iuplua_pushihandle(L, p2);
  lua_pushstring(L, p3);
  lua_pushinteger(L, p4);
  lua_pushinteger(L, p5);
  return iuplua_call(L, 6);
}
Пример #27
0
static int GetAttribute (lua_State *L)
{
  Ihandle *ih = iuplua_checkihandle(L,1);
  const char *name = luaL_checkstring(L,2);
  const char *value = IupGetAttribute(ih, name);
  if (!value || iupATTRIB_ISINTERNAL(name))
    lua_pushnil(L);
  else
  {
    if (iupAttribIsPointer(ih, name))
    {
      if (ih->handle == (InativeHandle*)value) /* work around for WID, sometimes WID in Windows is not a valid pointer. Why? */
        iuplua_pushihandle(L, ih);
      else if (iupObjectCheck((Ihandle*)value))
        iuplua_pushihandle(L, (Ihandle*)value);
      else
        lua_pushlightuserdata(L, (void*)value);
    }
    else
      lua_pushstring(L,value);
  }
  return 1;
}
Пример #28
0
lua_State* iuplua_call_start(Ihandle *ih, const char* name)
{
  lua_State *L = iuplua_getstate(ih);

  /* prepare to call iup.CallMethod(name, ih, ...) */

  iuplua_push_name(L, "CallMethod");
  lua_pushstring(L, name);
  iuplua_pushihandle(L, ih);

  /* here there was 3 value pushed on the stack, 
     if this changes must update callback where LUA_MULTRET is used. */
  return L;
}
Пример #29
0
static int param_action(Ihandle* dialog, int param_index, void* user_data)
{
  int ret = 1;
  getparam_data* gp = (getparam_data*)user_data;
  if (gp->has_func)
  {
    lua_Object func;
    lua_beginblock();
    func = lua_getref(gp->func_ref);
    iuplua_pushihandle(dialog);
    lua_pushnumber(param_index);
    lua_callfunction(func);
    ret = (int)luaL_check_number(1);
    lua_endblock();
  }
  return ret;
}
Пример #30
0
static void iuplua_pushvalue(lua_State *L, Ihandle *ih, const char* name, const char* value)
{
  if (!value || iupATTRIB_ISINTERNAL(name))
    lua_pushnil(L);
  else
  {
    if (iupAttribIsNotString(ih, name))
    {
      if (iupAttribIsIhandle(ih, name))
        iuplua_pushihandle(L, (Ihandle*)value);
      else
        lua_pushlightuserdata(L, (void*)value);
    }
    else /* if (!lua_stringtonumber(L, value)) -- TODO: is this worth it? valid since Lua 5.3 */
      lua_pushstring(L, value);
  }
}