Exemplo n.º 1
0
static int k_any(Ihandle *ih, int c)
{
    switch(c)
    {
    case K_m:
        IupSetGlobal("PARENTDIALOG", "_MAIN_DIALOG_TEST_");
        IupMessage("IupMessage Test", "Message Text\nSecond Line.");
        IupSetGlobal("PARENTDIALOG", NULL);
        break;
    case K_e:
        new_message("ERROR", NULL);
        break;
    case K_i:
        new_message("INFORMATION", NULL);
        break;
    case K_w:
        new_message("WARNING", "OKCANCEL");
        break;
    case K_q:
        new_message("QUESTION", "YESNO");
        break;
    case K_c:
        new_color();
        break;
    case K_f:
        new_font();
        break;
    case K_o:
        new_file("OPEN", 0);
        break;
    case K_O:
        new_file("OPEN", 1);
        break;
    case K_G:
        new_file("OPEN", 2);
        break;
    case K_s:
        new_file("SAVE", 0);
        break;
    case K_d:
        new_file("DIR", 0);
        break;
    case K_a:
        new_alarm();
        break;
    case K_y:
        IupShow(IupLayoutDialog(NULL));
        break;
    case K_g:
        new_getfile();
        break;
    case K_t:
        new_gettext();
        break;
    case K_l:
        new_list();
        break;
    case K_ESC:
        IupDestroy(ih);
        return IUP_IGNORE;
    }
    return IUP_DEFAULT;
}
Exemplo n.º 2
0
static int LayoutDialog(lua_State *L)
{
  iuplua_pushihandle(L,IupLayoutDialog(iuplua_checkihandleornil(L,1)));
  return 1;
}
Exemplo n.º 3
0
int iupKeyProcessNavigation(Ihandle* ih, int code, int shift)
{
  /* this is called after K_ANY is processed, 
     so the user may change its behavior */

  if (code == K_cTAB)
  {
    int is_multiline = iupAttribGetInt(ih, "_IUP_MULTILINE_TEXT");
    if (is_multiline)
    {
      if (shift)
        IupPreviousField(ih);
      else
        IupNextField(ih);
      return 1;
    }
  }
  else if (code == K_TAB || code == K_sTAB)
  {
    int is_multiline = iupAttribGetInt(ih, "_IUP_MULTILINE_TEXT");
    if (!is_multiline)
    {
      if (code == K_sTAB || shift)
        IupPreviousField(ih);
      else
        IupNextField(ih);
      return 1;
    }
  }
  else if (code == K_UP || code == K_DOWN)
  {
    int is_button = (IupClassMatch(ih, "button") || 
                     IupClassMatch(ih, "toggle"));
    if (is_button)
    {
      if (code == K_UP)
        iupFocusPrevious(ih);
      else
        iupFocusNext(ih);
      return 1;
    }
  }
  else if (code==K_ESC)
  {
    Ihandle* bt = IupGetAttributeHandle(IupGetDialog(ih), "DEFAULTESC");
    if (iupObjectCheck(bt) && IupClassMatch(bt, "button"))
      iupdrvActivate(bt);
    return 1;
  }
  else if (code==K_CR || code==K_cCR)
  {
    int is_multiline = iupAttribGetInt(ih, "_IUP_MULTILINE_TEXT");
    if ((code==K_CR && !is_multiline) || (code==K_cCR && is_multiline))
    {
      Ihandle* bt = IupGetAttributeHandle(IupGetDialog(ih), "DEFAULTENTER");
      if (iupObjectCheck(bt) && IupClassMatch(bt, "button"))
        iupdrvActivate(bt);
      return 1;
    }
  }
  else if (iup_isCtrlXkey(code) && iup_isShiftXkey(code) && iup_isAltXkey(code) && iup_XkeyBase(code) == K_L)
  {
    /* Ctrl+Shift+Alt+L */
    IupShow(IupLayoutDialog(IupGetDialog(ih)));
  }

  return 0;
}