Back to index

lightning-sunbird  0.9+nobinonly
Functions
guihlp.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void EnableWindowNow (HWND hWnd, BOOL bEnable)
void ShowWindowNow (HWND hWnd, BOOL iShow)
void fillAPIComboBoxAndSetSel (HWND hWndCombo, int iSel)
void updateUI (HWND hWnd)
void onGo (HWND hWnd)
void onPaste (HWND hWndToPasteTo)

Function Documentation

void EnableWindowNow ( HWND  hWnd,
BOOL  bEnable 
)

Definition at line 54 of file guihlp.cpp.

{
  WinEnableWindow(hWnd, bEnable);
  WinUpdateWindow(hWnd);
}
void fillAPIComboBoxAndSetSel ( HWND  hWndCombo,
int  iSel 
)

Definition at line 66 of file guihlp.cpp.

{
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_VERSION);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_GETURL);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_GETURLNOTIFY);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_POSTURL);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_POSTURLNOTIFY);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_REQUESTREAD);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_NEWSTREAM);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_DESTROYSTREAM);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_WRITE);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_STATUS);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_USERAGENT);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_MEMALLOC);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_MEMFREE);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_MEMFLUSH);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_RELOADPLUGINS);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_GETJAVAENV);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_GETJAVAPEER);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_GETVALUE);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_SETVALUE);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_INVALIDATERECT);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_INVALIDATEREGION);
  WinInsertLboxItem(hWndCombo, LIT_END, STRING_NPN_FORCEREDRAW);

  WinSendMsg(hWndCombo, LM_SELECTITEM, (MPARAM)iSel, (MPARAM)TRUE);
}
void onGo ( HWND  hWnd)

Definition at line 441 of file guihlp.cpp.

{
  CPlugin * pPlugin = (CPlugin *)WinQueryWindowULong(hWnd, QWL_USER);
  assert(pPlugin != NULL);

  char szString[80];
  char sz1[128];
  char sz2[128];
  char sz3[128];
  char sz4[128];
  SHORT bTranslated;

  WinQueryWindowText(WinWindowFromID(hWnd, IDC_COMBO_API_CALL), sizeof(szString), szString);

  if(strcmp(szString, STRING_NPN_VERSION) == 0)
  {
    pPlugin->makeNPNCall(action_npn_version, DEFAULT_DWARG_VALUE, DEFAULT_DWARG_VALUE, 
                         DEFAULT_DWARG_VALUE, DEFAULT_DWARG_VALUE);
  }
  else if(strcmp(szString, STRING_NPN_GETURL) == 0)
  {
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG2), sizeof(sz1), sz1);
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG3), sizeof(sz2), sz2);
    ULONG dwTarget = 0L;
    if(strcmp(sz2, "NULL") == 0)
      dwTarget = 0L;
    else
      dwTarget = (ULONG)sz2;
    pPlugin->makeNPNCall(action_npn_get_url, DEFAULT_DWARG_VALUE, (ULONG)sz1, dwTarget);
  }
  else if(strcmp(szString, STRING_NPN_GETURLNOTIFY) == 0)
  {
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG2), sizeof(sz1), sz1);
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG3), sizeof(sz2), sz2);
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG4, &bTranslated, FALSE);
    ULONG dwData = (ULONG) bTranslated;
    ULONG dwTarget = 0L;
    if(strcmp(sz2, "NULL") == 0)
      dwTarget = 0L;
    else
      dwTarget = (ULONG)sz2;
    pPlugin->makeNPNCall(action_npn_get_url_notify, DEFAULT_DWARG_VALUE, (ULONG)sz1, dwTarget, dwData);
  }
  else if(strcmp(szString, STRING_NPN_REQUESTREAD) == 0)
  {
    extern NPByteRange * convertStringToNPByteRangeList(PSZ szString);

    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG2), sizeof(sz1), sz1);
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG3), sizeof(sz2), sz2);
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG4, &bTranslated, FALSE);
    ULONG dwData = (ULONG) bTranslated;
    ULONG dwTarget = 0L;
    NPByteRange *npByteRangeList = convertStringToNPByteRangeList(sz2);
    if (!npByteRangeList) { // use default szDefaultNPByteRangeList
      npByteRangeList = convertStringToNPByteRangeList(szDefaultNPByteRangeList);
    }
    pPlugin->m_firstAction = action_npn_request_read;
    dwData = (ULONG) npByteRangeList;
    pPlugin->makeNPNCall(action_npn_get_url_notify, DEFAULT_DWARG_VALUE, (ULONG)sz1, dwTarget, dwData);
  }
  else if(strcmp(szString, STRING_NPN_POSTURL) == 0)
  {
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG2), sizeof(sz1), sz1);
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG3), sizeof(sz2), sz2);
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG4, &bTranslated, FALSE);
    ULONG dwLen = (ULONG) bTranslated;
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG5), sizeof(sz3), sz3);
    SHORT index = WinQueryLboxSelectedItem(WinWindowFromID(hWnd, IDC_COMBO_ARG6));
    LONG maxchar = (LONG)WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG6), LM_QUERYITEMTEXTLENGTH, MPFROMSHORT(index), (MPARAM)NULL);
    WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG6), LM_QUERYITEMTEXT,  MPFROM2SHORT(index, 128), (MPARAM)sz4);
    BOOL bFile = (strcmp(sz4, "TRUE") == 0) ? TRUE : FALSE;
    ULONG dwTarget = 0L;
    if(strcmp(sz2, "NULL") == 0)
      dwTarget = 0L;
    else
      dwTarget = (ULONG)sz2;
    pPlugin->makeNPNCall(action_npn_post_url, DEFAULT_DWARG_VALUE, (ULONG)sz1, dwTarget, dwLen, (ULONG)sz3, (ULONG)bFile);
  }
  else if(strcmp(szString, STRING_NPN_POSTURLNOTIFY) == 0)
  {
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG2), sizeof(sz1), sz1);
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG3), sizeof(sz2), sz2);
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG4, &bTranslated, FALSE);
    ULONG dwLen = (ULONG) bTranslated;
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG5), sizeof(sz3), sz3);
    SHORT index = WinQueryLboxSelectedItem(WinWindowFromID(hWnd, IDC_COMBO_ARG6));
    LONG maxchar = (LONG)WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG6), LM_QUERYITEMTEXTLENGTH, MPFROMSHORT(index), (MPARAM)NULL);
    WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG6), LM_QUERYITEMTEXT,  MPFROM2SHORT(index, 128), (MPARAM)sz4);
    BOOL bFile = (strcmp(sz4, "TRUE") == 0) ? TRUE : FALSE;
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG7, &bTranslated, FALSE);
    ULONG dwData = (ULONG) bTranslated;
    ULONG dwTarget = 0L;
    if(strcmp(sz2, "NULL") == 0)
      dwTarget = 0L;
    else
      dwTarget = (ULONG)sz2;
    pPlugin->makeNPNCall(action_npn_post_url_notify, DEFAULT_DWARG_VALUE, (ULONG)sz1, dwTarget, dwLen, (ULONG)sz3, 
                         (ULONG)bFile, dwData);
  }
  else if(strcmp(szString, STRING_NPN_NEWSTREAM) == 0)
  {
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG2), sizeof(sz1), sz1);
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG3), sizeof(sz2), sz2);
    pPlugin->makeNPNCall(action_npn_new_stream, DEFAULT_DWARG_VALUE, (ULONG)sz1, (ULONG)sz2, DEFAULT_DWARG_VALUE);
  }
  else if(strcmp(szString, STRING_NPN_DESTROYSTREAM) == 0)
  {
    SHORT index = WinQueryLboxSelectedItem(WinWindowFromID(hWnd, IDC_COMBO_ARG3));
    LONG maxchar = (LONG)WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG3), LM_QUERYITEMTEXTLENGTH, MPFROMSHORT(index), (MPARAM)NULL);
    WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG3), LM_QUERYITEMTEXT,  MPFROM2SHORT(index, 128), (MPARAM)sz1);
  
    NPError reason;
    if(strcmp(sz1, "NPRES_DONE") == 0)
      reason = NPRES_DONE;
    else if(strcmp(sz1, "NPRES_USER_BREAK") == 0)
      reason = NPRES_USER_BREAK;
    else if(strcmp(sz1, "NPRES_NETWORK_ERR") == 0)
      reason = NPRES_NETWORK_ERR;
    else
      reason = NPRES_DONE;

    pPlugin->makeNPNCall(action_npn_destroy_stream, DEFAULT_DWARG_VALUE, DEFAULT_DWARG_VALUE, (ULONG)reason);
  }
  else if(strcmp(szString, STRING_NPN_REQUESTREAD) == 0)
  {
  }
  else if(strcmp(szString, STRING_NPN_WRITE) == 0)
  {
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG4), sizeof(sz1), sz1);
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG3, &bTranslated, FALSE);
    ULONG dwLen = (ULONG) bTranslated;
    pPlugin->makeNPNCall(action_npn_write, DEFAULT_DWARG_VALUE, DEFAULT_DWARG_VALUE, dwLen, (ULONG)sz1);
  }
  else if(strcmp(szString, STRING_NPN_STATUS) == 0)
  {
    WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG2), sizeof(sz1), sz1);
    pPlugin->makeNPNCall(action_npn_status, DEFAULT_DWARG_VALUE, (ULONG)sz1);
  }
  else if(strcmp(szString, STRING_NPN_USERAGENT) == 0)
  {
    pPlugin->makeNPNCall(action_npn_user_agent);
  }
  else if(strcmp(szString, STRING_NPN_MEMALLOC) == 0)
  {
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG1, &bTranslated, FALSE);
    ULONG dwSize = (ULONG) bTranslated;
    pPlugin->makeNPNCall(action_npn_mem_alloc, dwSize);
  }
  else if(strcmp(szString, STRING_NPN_MEMFREE) == 0)
  {
    pPlugin->makeNPNCall(action_npn_mem_free);
  }
  else if(strcmp(szString, STRING_NPN_MEMFLUSH) == 0)
  {
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG1, &bTranslated, FALSE);
    ULONG dwSize = (ULONG) bTranslated;
    pPlugin->makeNPNCall(action_npn_mem_flush, dwSize);
  }
  else if(strcmp(szString, STRING_NPN_RELOADPLUGINS) == 0)
  {
    SHORT index = WinQueryLboxSelectedItem(WinWindowFromID(hWnd, IDC_COMBO_ARG1));
    LONG maxchar = (LONG)WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG1), LM_QUERYITEMTEXTLENGTH, MPFROMSHORT(index), (MPARAM)NULL);
    WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG1), LM_QUERYITEMTEXT,  MPFROM2SHORT(index, 128), (MPARAM)sz1);
    BOOL bReloadPages = (strcmp(sz1, "TRUE") == 0) ? TRUE : FALSE;
    pPlugin->makeNPNCall(action_npn_reload_plugins, (ULONG)bReloadPages);
  }
  else if(strcmp(szString, STRING_NPN_GETJAVAENV) == 0)
  {
    pPlugin->makeNPNCall(action_npn_get_java_env);
  }
  else if(strcmp(szString, STRING_NPN_GETJAVAPEER) == 0)
  {
    pPlugin->makeNPNCall(action_npn_get_java_peer);
  }
  else if(strcmp(szString, STRING_NPN_GETVALUE) == 0)
  {
    static ULONG dwValue = 0L;
    NPNVariable variable = (NPNVariable)NULL;

    SHORT index = WinQueryLboxSelectedItem(WinWindowFromID(hWnd, IDC_COMBO_ARG2));
    LONG maxchar = (LONG)WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG2), LM_QUERYITEMTEXTLENGTH, MPFROMSHORT(index), (MPARAM)NULL);
    WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG2), LM_QUERYITEMTEXT,  MPFROM2SHORT(index, 128), (MPARAM)sz1);
    if(strcmp(sz1, "NPNVxDisplay") == 0)
      variable = NPNVxDisplay;
    else if(strcmp(sz1, "NPNVxtAppContext") == 0)
      variable = NPNVxtAppContext;
    else if(strcmp(sz1, "NPNVnetscapeWindow") == 0)
      variable = NPNVnetscapeWindow;
    else if(strcmp(sz1, "NPNVjavascriptEnabledBool") == 0)
      variable = NPNVjavascriptEnabledBool;
    else if(strcmp(sz1, "NPNVasdEnabledBool") == 0)
      variable = NPNVasdEnabledBool;
    else if(strcmp(sz1, "NPNVisOfflineBool") == 0)
      variable = NPNVisOfflineBool;

    pPlugin->m_pValue = (void *)&dwValue;

    pPlugin->makeNPNCall(action_npn_get_value, DEFAULT_DWARG_VALUE, (ULONG)variable, DEFAULT_DWARG_VALUE);
  }
  else if(strcmp(szString, STRING_NPN_SETVALUE) == 0)
  {
    NPPVariable variable = (NPPVariable)NULL;
    static char szStringValue[256];
    static BOOL bBoolValue;

    SHORT index = WinQueryLboxSelectedItem(WinWindowFromID(hWnd, IDC_COMBO_ARG2));
    LONG maxchar = (LONG)WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG2), LM_QUERYITEMTEXTLENGTH, MPFROMSHORT(index), (MPARAM)NULL);
    WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG2), LM_QUERYITEMTEXT,  MPFROM2SHORT(index, 128), (MPARAM)sz1);
    if(strcmp(sz1, "NPPVpluginNameString") == 0)
    {
      variable = NPPVpluginNameString;
      WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG3), sizeof(szStringValue), szStringValue);
      pPlugin->m_pValue = (void *)&szStringValue[0];
    }
    else if(strcmp(sz1, "NPPVpluginDescriptionString") == 0)
    {
      variable = NPPVpluginDescriptionString;
      WinQueryWindowText(WinWindowFromID(hWnd, IDC_EDIT_ARG3), sizeof(szStringValue), szStringValue);
      pPlugin->m_pValue = (void *)&szStringValue[0];
    }
    else if(strcmp(sz1, "NPPVpluginWindowBool") == 0)
    {
      variable = NPPVpluginWindowBool;
      index = WinQueryLboxSelectedItem(WinWindowFromID(hWnd, IDC_COMBO_ARG3));
      LONG maxchar = (LONG)WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG3), LM_QUERYITEMTEXTLENGTH, MPFROMSHORT(index), (MPARAM)NULL);
      WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG3), LM_QUERYITEMTEXT,  MPFROM2SHORT(index, 256), (MPARAM)szStringValue);
      bBoolValue = (strcmp(szStringValue, "TRUE") == 0) ? TRUE : FALSE;
      pPlugin->m_pValue = (void *)&bBoolValue;
    }
    else if(strcmp(sz1, "NPPVpluginTransparentBool") == 0)
    {
      variable = NPPVpluginTransparentBool;
      index = WinQueryLboxSelectedItem(WinWindowFromID(hWnd, IDC_COMBO_ARG3));
      LONG maxchar = (LONG)WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG3), LM_QUERYITEMTEXTLENGTH, MPFROMSHORT(index), (MPARAM)NULL);
      WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG3), LM_QUERYITEMTEXT,  MPFROM2SHORT(index, 256), (MPARAM)szStringValue);
      bBoolValue = (strcmp(szStringValue, "TRUE") == 0) ? TRUE : FALSE;
      pPlugin->m_pValue = (void *)&bBoolValue;
    }
    else if(strcmp(sz1, "NPPVpluginWindowSize") == 0)
    {
      variable = NPPVpluginWindowSize;
      static NPSize npsize;
      WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG3, &bTranslated, TRUE);
      npsize.width = bTranslated;
      WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG4, &bTranslated, TRUE);
      npsize.height = bTranslated;
      pPlugin->m_pValue = (void *)&npsize;
    }
    else if(strcmp(sz1, "NPPVpluginKeepLibraryInMemory") == 0)
    {
      variable = NPPVpluginKeepLibraryInMemory;
      index = WinQueryLboxSelectedItem(WinWindowFromID(hWnd, IDC_COMBO_ARG3));
      LONG maxchar = (LONG)WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG3), LM_QUERYITEMTEXTLENGTH, MPFROMSHORT(index), (MPARAM)NULL);
      WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG3), LM_QUERYITEMTEXT,  MPFROM2SHORT(index, 256), (MPARAM)szStringValue);
      bBoolValue = (strcmp(szStringValue, "TRUE") == 0) ? TRUE : FALSE;
      pPlugin->m_pValue = (void *)&bBoolValue;
    }
    pPlugin->makeNPNCall(action_npn_set_value, DEFAULT_DWARG_VALUE, (ULONG)variable, DEFAULT_DWARG_VALUE);
  }
  else if(strcmp(szString, STRING_NPN_INVALIDATERECT) == 0)
  {
    static NPRect nprect;
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG2, &bTranslated, TRUE);
    nprect.top = bTranslated;
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG3, &bTranslated, TRUE);
    nprect.left = bTranslated;
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG4, &bTranslated, TRUE);
    nprect.bottom = bTranslated;
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG5, &bTranslated, TRUE);
    nprect.right = bTranslated;
    pPlugin->makeNPNCall(action_npn_invalidate_rect, DEFAULT_DWARG_VALUE, (ULONG)&nprect);
  }
  else if(strcmp(szString, STRING_NPN_INVALIDATEREGION) == 0)
  {
    WinQueryDlgItemShort(hWnd, IDC_EDIT_ARG2, &bTranslated, FALSE);
    int i = bTranslated;
    pPlugin->makeNPNCall(action_npn_invalidate_region, DEFAULT_DWARG_VALUE, (ULONG)i);
  }
  else if(strcmp(szString, STRING_NPN_FORCEREDRAW) == 0)
  {
    pPlugin->makeNPNCall(action_npn_force_redraw);
  }
  else
    assert(0);
}
void onPaste ( HWND  hWndToPasteTo)

Definition at line 727 of file guihlp.cpp.

{
  if(hWndToPasteTo == NULL)
    return;
  if(!WinOpenClipbrd(NULL))
    return;
  WinSendMsg(hWndToPasteTo, EM_PASTE, 0, 0);
  WinCloseClipbrd(NULL);
}
void ShowWindowNow ( HWND  hWnd,
BOOL  iShow 
)

Definition at line 60 of file guihlp.cpp.

{
  WinShowWindow(hWnd, iShow);
  WinUpdateWindow(hWnd);
}

Here is the caller graph for this function:

void updateUI ( HWND  hWnd)

Definition at line 172 of file guihlp.cpp.

{
  CPlugin * pPlugin = (CPlugin *)WinQueryWindowULong(hWnd, QWL_USER);
  assert(pPlugin != NULL);

  ULONG dwNPInstance = (ULONG)pPlugin->getNPInstance();
  char szNPInstance[16];
  sprintf(szNPInstance, "%#08lx", dwNPInstance);
  WinSetWindowText(WinWindowFromID(hWnd, IDC_STATIC_INFO), "");
  WinShowWindow(WinWindowFromID(hWnd, IDC_STATIC_INFO), FALSE);

  setStaticTexts7(hWnd, "","","","","","","");
  setEditTexts7(hWnd, "","","","","","","");
  enableEdits7(hWnd, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE);

  WinEnableWindow(WinWindowFromID(hWnd, IDC_BUTTON_GO), TRUE);

  char szString[80];
  SHORT iIndex = WinQueryLboxSelectedItem(WinWindowFromID(hWnd, IDC_COMBO_API_CALL));
  LONG maxchar = (LONG)WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_API_CALL), LM_QUERYITEMTEXTLENGTH, MPFROMSHORT(iIndex), (MPARAM)NULL);
  WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_API_CALL), LM_QUERYITEMTEXT,  MPFROM2SHORT(iIndex, 80), (MPARAM)szString);

  WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), TRUE);

  WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG1), LM_DELETEALL, 0, 0);
  WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG2), LM_DELETEALL, 0, 0);
  WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG3), LM_DELETEALL, 0, 0);
  WinSendMsg(WinWindowFromID(hWnd, IDC_COMBO_ARG6), LM_DELETEALL, 0, 0);
  WinShowWindow(WinWindowFromID(hWnd, IDC_COMBO_ARG1), FALSE);
  WinShowWindow(WinWindowFromID(hWnd, IDC_COMBO_ARG2), FALSE);
  WinShowWindow(WinWindowFromID(hWnd, IDC_COMBO_ARG3), FALSE);
  WinShowWindow(WinWindowFromID(hWnd, IDC_COMBO_ARG6), FALSE);

  if(strcmp(szString, STRING_NPN_VERSION) == 0)
  {
    showArgControls7(hWnd, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_GETURL) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "URL:", "target (or 'NULL'):", "", "", "", "");
    setEditTexts7(hWnd, szNPInstance,NS_SAMPLE_URL,"_npapi_Display","","","","");
  }
  else if(strcmp(szString, STRING_NPN_GETURLNOTIFY) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "URL:", "target (or 'NULL'):", "notifyData:", "", "", "");
    setEditTexts7(hWnd, szNPInstance,NS_SAMPLE_URL,"_npapi_Display","0","","","");
  }
  else if(strcmp(szString, STRING_NPN_POSTURL) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE);
    enableEdits7(hWnd, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE);
    setStaticTexts7(hWnd, "instance:", "URL:", "target (or 'NULL'):", "len:", "buf:", "file:", "");
    setEditTexts7(hWnd, szNPInstance,NS_SAMPLE_URL,"_npapi_Display","0","","","");
    replaceEditWithCombo(hWnd, FALSE, FALSE, FALSE, TRUE);
    HWND hWndCombo = WinWindowFromID(hWnd, IDC_COMBO_ARG6);
    WinInsertLboxItem(hWndCombo, LIT_END, "FALSE");
    WinInsertLboxItem(hWndCombo, LIT_END, "TRUE");
    WinSendMsg(hWndCombo, LM_SELECTITEM, (MPARAM)0, (MPARAM)TRUE);
  }
  else if(strcmp(szString, STRING_NPN_POSTURLNOTIFY) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE);
    enableEdits7(hWnd, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE);
    setStaticTexts7(hWnd, "instance:", "URL:", "target (or 'NULL'):", "len:", "buf:", "file:", "notifyData:");
    setEditTexts7(hWnd, szNPInstance,NS_SAMPLE_URL,"_npapi_Display","0","","","0");
    replaceEditWithCombo(hWnd, FALSE, FALSE, FALSE, TRUE);
    HWND hWndCombo = WinWindowFromID(hWnd, IDC_COMBO_ARG6);
    WinInsertLboxItem(hWndCombo, LIT_END, "FALSE");
    WinInsertLboxItem(hWndCombo, LIT_END, "TRUE");
    WinSendMsg(hWndCombo, LM_SELECTITEM, (MPARAM)0, (MPARAM)TRUE);
  }
  else if(strcmp(szString, STRING_NPN_NEWSTREAM) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "type:", "target:", "**stream:", "", "", "");
    char szStream[16];
    const NPStream * pStream = pPlugin->getNPStream();
    sprintf(szStream, "%#08lx", &pStream);
    setEditTexts7(hWnd, szNPInstance,"text/plain","_npapi_Display",szStream,"","","");
    WinEnableWindow(WinWindowFromID(hWnd, IDC_BUTTON_GO), (pStream != NULL) ? FALSE : TRUE);
  }
  else if(strcmp(szString, STRING_NPN_REQUESTREAD) == 0)
  {
//serge
    showArgControls7(hWnd, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "URL:", "Range:", "notifyData:", "", "", "");
    setEditTexts7(hWnd, szNPInstance,NS_SAMPLE_URL,szDefaultNPByteRangeList,"0","","","");
   /*
    WinEnableWindow(WinWindowFromID(hWnd, IDC_BUTTON_GO), FALSE);
    WinShowWindow(WinWindowFromID(hWnd, IDC_STATIC_INFO), TRUE);
    WinSetWindowText(WinWindowFromID(hWnd, IDC_STATIC_INFO), szNotImplemented);
    showArgControls7(hWnd, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
    */
  }
  else if(strcmp(szString, STRING_NPN_DESTROYSTREAM) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "stream:", "reason:", "", "", "", "");
    char szStream[16];
    const NPStream * pStream = pPlugin->getNPStream();
    sprintf(szStream, "%#08lx", pStream);
    setEditTexts7(hWnd, szNPInstance,szStream,"","","","","");
    replaceEditWithCombo(hWnd, FALSE, FALSE, TRUE, FALSE);
    HWND hWndCombo = WinWindowFromID(hWnd, IDC_COMBO_ARG3);
    WinInsertLboxItem(hWndCombo, LIT_END, "NPRES_DONE");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPRES_USER_BREAK");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPRES_NETWORK_ERR");
    WinSendMsg(hWndCombo, LM_SELECTITEM, (MPARAM)0, (MPARAM)TRUE);
    WinEnableWindow(WinWindowFromID(hWnd, IDC_BUTTON_GO), (pStream == NULL) ? FALSE : TRUE);
  }
  else if(strcmp(szString, STRING_NPN_WRITE) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "stream:", "len:", "buf:", "", "", "");
    char szStream[16];
    const NPStream * pStream = pPlugin->getNPStream();
    sprintf(szStream, "%#08lx", pStream);
    setEditTexts7(hWnd, szNPInstance,szStream,"0","","","","");
    WinEnableWindow(WinWindowFromID(hWnd, IDC_BUTTON_GO), (pStream == NULL) ? FALSE : TRUE);
  }
  else if(strcmp(szString, STRING_NPN_STATUS) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "message:", "", "", "", "", "");
    setEditTexts7(hWnd, szNPInstance,"Some message","","","","","");
  }
  else if(strcmp(szString, STRING_NPN_USERAGENT) == 0)
  {
    showArgControls7(hWnd, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "", "", "", "", "", "");
    setEditTexts7(hWnd, szNPInstance,"","","","","","");
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_MEMALLOC) == 0)
  {
    showArgControls7(hWnd, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "size:", "", "", "", "", "", "");
    setEditTexts7(hWnd, "256","","","","","","");
    WinEnableWindow(WinWindowFromID(hWnd, IDC_BUTTON_GO), (pPlugin->m_pNPNAlloced == NULL) ? TRUE : FALSE);
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_MEMFREE) == 0)
  {
    showArgControls7(hWnd, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "ptr:", "", "", "", "", "", "");
    char szPtr[16];
    sprintf(szPtr, "%#08lx", pPlugin->m_pNPNAlloced);
    setEditTexts7(hWnd, szPtr,"","","","","","");
    WinEnableWindow(WinWindowFromID(hWnd, IDC_BUTTON_GO), (pPlugin->m_pNPNAlloced == NULL) ? FALSE : TRUE);
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_MEMFLUSH) == 0)
  {
    showArgControls7(hWnd, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "size:", "", "", "", "", "", "");
    setEditTexts7(hWnd, "256","","","","","","");
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_RELOADPLUGINS) == 0)
  {
    showArgControls7(hWnd, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "reloadPages:", "", "", "", "", "", "");
    setEditTexts7(hWnd, "","","","","","","");
    replaceEditWithCombo(hWnd, TRUE, FALSE, FALSE, FALSE);
    HWND hWndCombo = WinWindowFromID(hWnd, IDC_COMBO_ARG1);
    WinInsertLboxItem(hWndCombo, LIT_END, "TRUE");
    WinInsertLboxItem(hWndCombo, LIT_END, "FALSE");
    WinSendMsg(hWndCombo, LM_SELECTITEM, (MPARAM)0, (MPARAM)TRUE);
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_GETJAVAENV) == 0)
  {
    showArgControls7(hWnd, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_GETJAVAPEER) == 0)
  {
    showArgControls7(hWnd, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "", "", "", "", "", "");
    setEditTexts7(hWnd, szNPInstance,"","","","","","");
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_GETVALUE) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "variable:", "", "", "", "", "");
    setEditTexts7(hWnd, szNPInstance,"","","","","","");
    replaceEditWithCombo(hWnd, FALSE, TRUE, FALSE, FALSE);
    HWND hWndCombo = WinWindowFromID(hWnd, IDC_COMBO_ARG2);
    WinInsertLboxItem(hWndCombo, LIT_END, "NPNVxDisplay");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPNVxtAppContext");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPNVnetscapeWindow");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPNVjavascriptEnabledBool");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPNVasdEnabledBool");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPNVisOfflineBool");
    WinSendMsg(hWndCombo, LM_SELECTITEM, (MPARAM)0, (MPARAM)TRUE);
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_SETVALUE) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "variable:", "*value:", "", "", "", "");
    setEditTexts7(hWnd, szNPInstance,"","","","","","");
    replaceEditWithCombo(hWnd, FALSE, TRUE, FALSE, FALSE);
    HWND hWndCombo = WinWindowFromID(hWnd, IDC_COMBO_ARG2);
    WinInsertLboxItem(hWndCombo, LIT_END, "NPPVpluginNameString");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPPVpluginDescriptionString");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPPVpluginWindowBool");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPPVpluginTransparentBool");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPPVpluginWindowSize");
    WinInsertLboxItem(hWndCombo, LIT_END, "NPPVpluginKeepLibraryInMemory");
    WinSendMsg(hWndCombo, LM_SELECTITEM, (MPARAM)0, (MPARAM)TRUE);
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_INVALIDATERECT) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "top:", "left:", "bottom:", "right:", "", "");
    setEditTexts7(hWnd, szNPInstance,"0","0","0","0","","");
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_INVALIDATEREGION) == 0)
  {
    showArgControls7(hWnd, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "region:", "", "", "", "", "");
    setEditTexts7(hWnd, szNPInstance,"0","0","0","0","","");
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else if(strcmp(szString, STRING_NPN_FORCEREDRAW) == 0)
  {
    showArgControls7(hWnd, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    enableEdits7(hWnd, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
    setStaticTexts7(hWnd, "instance:", "", "", "", "", "", "");
    setEditTexts7(hWnd, szNPInstance,"","","","","","");
    WinShowWindow(WinWindowFromID(hWnd, IDC_BUTTON_PASTE), FALSE);
  }
  else
    assert(0);
}