AUT_RESULT AutoIt_Script::F_GUISetState(VectorVariant &vParams, Variant &vResult) { int nState = SW_SHOW; HWND hWnd = NULL; if (vParams.size() > 1) hWnd = vParams[1].hWnd(); if (vParams.size() > 0) nState = vParams[0].nValue(); vResult = g_oGUI.SetState(nState, hWnd); return AUT_OK; } // GUISetState()
AUT_RESULT AutoIt_Script::F_GUICreate(VectorVariant &vParams, Variant &vResult) { uint iNumParams = vParams.size(); int nStyle = -1; int nExStyle = -1; int nW = -1; int nH = -1; int nX = -1; int nY = -1; HWND hParent = NULL; if (iNumParams > 7) hParent = vParams[7].hWnd(); if (iNumParams > 6) nExStyle = vParams[6].nValue(); if (iNumParams > 5) nStyle = vParams[5].nValue(); if (iNumParams > 4) nY = vParams[4].nValue(); if (iNumParams > 3) nX = vParams[3].nValue(); if (iNumParams > 2) nH = vParams[2].nValue(); if (iNumParams > 1) nW = vParams[1].nValue(); HWND hWnd= g_oGUI.CreateGUI(vParams[0].szValue(), nX, nY,nW, nH, nStyle, nExStyle, hParent); if (hWnd == NULL) { SetFuncErrorCode(1); vResult = (HWND)NULL; // window can not be created } else vResult = hWnd; return AUT_OK; } // GUICreate()
AUT_RESULT AutoIt_Script::F_GUISetHelp(VectorVariant &vParams, Variant &vResult) { HWND hWnd = NULL; if (vParams.size() > 1) hWnd = vParams[1].hWnd(); vResult = g_oGUI.CreateGuiEx(vParams[0].szValue(), -1,NULL, -1, hWnd); return AUT_OK; } // GUISetHelp()
AUT_RESULT AutoIt_Script::F_GUISendToDummy(VectorVariant &vParams, Variant &vResult) { Variant vState; if (vParams.size() > 1) vState = vParams[1]; vResult= g_oGUI.SendToDummy(vParams[0].nValue(), vState); return AUT_OK; } // GUISendToDummy()
AUT_RESULT AutoIt_Script::F_GUIDelete(VectorVariant &vParams, Variant &vResult) { HWND hWnd = NULL; // NULL will be set to delete current GUI if (vParams.size() > 0) hWnd = vParams[0].hWnd(); vResult = g_oGUI.DeleteGUI(hWnd); return AUT_OK; } // GUIDelete()
AUT_RESULT AutoIt_Script::F_GUICtrlSetData(VectorVariant &vParams, Variant &vResult) { AString sDefault; if (vParams.size() > 2) sDefault = vParams[2].szValue(); vResult = g_oGUI.CtrlSetData(vParams[0].nValue(), vParams[1].szValue(), sDefault.c_str()); return AUT_OK; } // GUICtrlSetData()
AUT_RESULT AutoIt_Script::F_GUICtrlSetLimit(VectorVariant &vParams, Variant &vResult) { int nMin = -1; if (vParams.size() > 2) nMin = vParams[2].nValue(); vResult = g_oGUI.CtrlSetLimit(vParams[0].nValue(), vParams[1].nValue(), nMin); return AUT_OK; } // GUICtrlSetLimit()
AUT_RESULT AutoIt_Script::F_GUICtrlSetResizing(VectorVariant &vParams, Variant &vResult) { int nResizing = -1; if (vParams.size() > 1) nResizing = vParams[1].nValue(); vResult = g_oGUI.CtrlSetResizing(vParams[0].nValue(), nResizing); return AUT_OK; } // GUICtrlSetResizing()
AUT_RESULT AutoIt_Script::F_GUICtrlSetStyle(VectorVariant &vParams, Variant &vResult) { int nExStyle = -1; if (vParams.size() > 2) nExStyle = vParams[2].nValue(); vResult = g_oGUI.CtrlSetStyle(vParams[0].nValue(), vParams[1].nValue(), nExStyle); return AUT_OK; } // GUICtrlSetStyle()
AUT_RESULT AutoIt_Script::F_GUIGetMsg(VectorVariant &vParams, Variant &vResult) { GUIEVENT Event; Variant *pvTemp; Variant vTemp; // If we are in event mode then // Don't try and get the message if the OnEvent mode is active if ( g_oGUI.m_bGuiEventEnabled == true || g_oGUI.GetMsg(Event) == false) { // No events - add default values Event.nGlobalID = 0; Event.sCallback = ""; Event.hWnd = NULL; Event.hCtrl = NULL; Event.nCursorX = 0; Event.nCursorY = 0; } if ( g_oGUI.m_bGuiEventEnabled == true) SetFuncErrorCode(1); if (vParams.size() > 0 && vParams[0].nValue() == 1) { // Advanced return // Setup vResult as an Array to hold the 3 values we want to return Util_VariantArrayDim(&vResult, 5); pvTemp = Util_VariantArrayGetRef(&vResult, 0); // First element *pvTemp = Event.nGlobalID; pvTemp = Util_VariantArrayGetRef(&vResult, 1); *pvTemp = Event.hWnd; pvTemp = Util_VariantArrayGetRef(&vResult, 2); *pvTemp = Event.hCtrl; pvTemp = Util_VariantArrayGetRef(&vResult, 3); *pvTemp = Event.nCursorX; pvTemp = Util_VariantArrayGetRef(&vResult, 4); *pvTemp = Event.nCursorY; } else { // Simple return vResult = Event.nGlobalID; } return AUT_OK; } // GUIGetMsg()
AUT_RESULT AutoIt_Script::F_GUISetIcon(VectorVariant &vParams, Variant &vResult) { int nIcon = -1; HWND hWnd = NULL; if (vParams.size() > 2) hWnd = vParams[2].hWnd(); if (vParams.size() > 1) nIcon = vParams[1].nValue(); vResult = g_oGUI.CreateGuiEx(NULL, -1, vParams[0].szValue(), nIcon, hWnd); return AUT_OK; } // GUISetIcon()
AUT_RESULT AutoIt_Script::F_GUICtrlSetImage(VectorVariant &vParams, Variant &vResult) { uint iNumParams = vParams.size(); int nId = 0, nMode = -1; if (iNumParams > 3) nMode = vParams[3].nValue(); if (iNumParams > 2) nId = vParams[2].nValue(); vResult = g_oGUI.CtrlSetImage(vParams[0].nValue(), vParams[1].szValue(), nId, nMode); return AUT_OK; } // GUICtrlSetImage()
AUT_RESULT AutoIt_Script::F_GUICtrlSetPos(VectorVariant &vParams, Variant &vResult) { int nW = -1; int nH = -1; if (vParams.size() > 4) nH = vParams[4].nValue(); if (vParams.size() > 3) nW = vParams[3].nValue(); vResult = g_oGUI.CtrlSetPos( vParams[0].nValue(), vParams[1].nValue(), vParams[2].nValue(), nW, nH); return AUT_OK; } // GUICtrlSetPos()
AUT_RESULT AutoIt_Script::F_BitXOR(VectorVariant &vParams, Variant &vResult) { uint iNumParams = vParams.size(); int nRes = vParams[0].nValue(); for (uint i = 1; i < iNumParams; ++i) nRes ^= vParams[i].nValue(); vResult = nRes; return AUT_OK; } // BitXOR()
AUT_RESULT AutoIt_Script::F_GUISetCursor(VectorVariant &vParams, Variant &vResult) { uint iNumParams = vParams.size(); int n = 2; // Default is ID 2 int nOverride = 0; HWND hWnd = NULL; if (iNumParams > 0) n = vParams[0].nValue(); if (iNumParams > 1) nOverride = vParams[1].nValue(); if (iNumParams > 2) hWnd = vParams[2].hWnd(); g_oGUI.SetCursor(n, nOverride, hWnd); return AUT_OK; } // GUISetCursor()
AUT_RESULT AutoIt_Script::F_GUISetCoord(VectorVariant &vParams, Variant &vResult) { uint iNumParams = vParams.size(); int nW = -1; int nH = -1; HWND hWnd = NULL; if (iNumParams > 2) nW = vParams[2].nValue(); if (iNumParams > 3) nH = vParams[3].nValue(); if (iNumParams > 4) hWnd = vParams[4].hWnd(); vResult = g_oGUI.SetCoord(vParams[0].nValue(), vParams[1].nValue(), nW, nH, hWnd); return AUT_OK; } // GUISetCoord()
AUT_RESULT AutoIt_Script::F_GUIStartGroup(VectorVariant &vParams, Variant &vResult) { HWND hWnd = NULL; if (vParams.size() > 0) hWnd = vParams[0].hWnd(); if (g_oGUI.m_nNumWindows == 0) { vResult = 0; // Default is 1 return AUT_OK; } g_oGUI.GroupStart(hWnd); return AUT_OK; } // GUIStartGroup()
AUT_RESULT AutoIt_Script::F_GUICtrlSetFont(VectorVariant &vParams, Variant &vResult) { uint iNumParams = vParams.size(); int nWeight = -1; AString sFont; // Blank by default int nAttribute = -1; if (iNumParams > 4) sFont = vParams[4].szValue(); if (iNumParams > 3) nAttribute = vParams[3].nValue(); if (iNumParams > 2) nWeight = vParams[2].nValue(); vResult = g_oGUI.CtrlSetFont(vParams[0].nValue(), vParams[1].fValue(), nWeight, sFont.c_str(), nAttribute); return AUT_OK; } // GUICtrlSetFont()
AUT_RESULT AutoIt_Script::F_GUISetOnEvent(VectorVariant &vParams, Variant &vResult) { int nTemp1, nTemp2, nTemp3, nTemp4; // Check that this user function exists if (Parser_FindUserFunction(vParams[1].szValue(), nTemp1, nTemp2, nTemp3, nTemp4) == false) { FatalError(IDS_AUT_E_UNKNOWNUSERFUNC); return AUT_ERR; } else { HWND hWnd = NULL; if (vParams.size() > 2) hWnd = vParams[2].hWnd(); vResult = g_oGUI.SetOnEvent(vParams[0].nValue(), vParams[1].szValue(), hWnd); return AUT_OK; } } // GUISetOnEvent()
AUT_RESULT AutoIt_Script::F_GUIRead(VectorVariant &vParams, Variant &vResult) { uint iNumParams = vParams.size(); char *szText; int nState; int nControl = -1; if (iNumParams > 0) nControl = vParams[0].nValue(); szText = g_oGUI.Read(nControl, nState); if (nState <0 && szText != NULL) { vResult = szText; delete [] szText; // We are responsible for deleting memory } else vResult = nState; return AUT_OK; } // GUIRead()
AUT_RESULT AutoIt_Script::F_GUIGetCursorInfo(VectorVariant &vParams, Variant &vResult) { HWND hWnd = NULL; int nX, nY, nPrimary, nSecondary, nGlobalID; // Setup vResult as an Array to hold the 5 values we want to return Variant *pvTemp; Util_VariantArrayDim(&vResult, 5); if (vParams.size() > 0) hWnd = vParams[0].hWnd(); if ( g_oGUI.GuiGetCursorInfo(hWnd, nX, nY, nPrimary, nSecondary, nGlobalID) ) { pvTemp = Util_VariantArrayGetRef(&vResult, 0); //First element *pvTemp = nX; // X pvTemp = Util_VariantArrayGetRef(&vResult, 1); *pvTemp = nY; // Y pvTemp = Util_VariantArrayGetRef(&vResult, 2); *pvTemp = nPrimary; // Primary down pvTemp = Util_VariantArrayGetRef(&vResult, 3); *pvTemp = nSecondary; // Secondary down pvTemp = Util_VariantArrayGetRef(&vResult, 4); *pvTemp = nGlobalID; // Ctrl ID that cursor is over } else SetFuncErrorCode(1); return AUT_OK; } // GUIGetCursorPos()
AUT_RESULT AutoIt_Script::F_GUIRecvMsg(VectorVariant &vParams, Variant &vResult) { uint iNumParams = vParams.size(); int nWparam = 0; int nLparamType = 0; if (iNumParams > 3) nLparamType = vParams[3].nValue(); if (iNumParams > 2) nWparam = vParams[2].nValue(); int nX, nY, nRight,nBottom; union { WORD nTemp1; char szTemp[AUT_MAX_LINESIZE]; }; nTemp1 = AUT_MAX_LINESIZE; // to avoid overflow return int nTemp = g_oGUI.RecvMsg(vParams[0].nValue(), vParams[1].nValue(), nWparam, nLparamType, nX, nY, nRight, nBottom, szTemp); if (nTemp == 0) { // bad return from SendMessage vResult = 0; SetFuncErrorCode(1); return AUT_OK; } if (nLparamType == 1) { // string to be returned vResult = szTemp; } else { // Setup vResult as an Array to hold the n values we want to return Variant *pvTemp; nLparamType = nLparamType + 2; // entry in array Util_VariantArrayDim(&vResult, nLparamType); pvTemp = Util_VariantArrayGetRef(&vResult, 0); //First element *pvTemp = nX; pvTemp = Util_VariantArrayGetRef(&vResult, 1); *pvTemp = nY; if (nLparamType == 4) { pvTemp = Util_VariantArrayGetRef(&vResult, 2); *pvTemp = nRight; pvTemp = Util_VariantArrayGetRef(&vResult, 3); *pvTemp = nBottom; } } return AUT_OK; } // GUIRecvMsg()
ArrayData *VectorString::lval(Variant *&ret, bool copy) { VectorVariant *escalated = NEW(VectorVariant)(this); escalated->lval(ret, false); return escalated; }
ArrayData *VectorString::lval(int64 k, Variant *&ret, bool copy, int64 prehash /* = -1 */) { VectorVariant *escalated = NEW(VectorVariant)(this); escalated->lval(k, ret, false, prehash); return escalated; }
AUT_RESULT AutoIt_Script::GUICtrlCreate(int nType, VectorVariant &vParams, Variant &vResult) { int i = 0; int iNumParams = vParams.size(); char *szText = NULL; int W = -1; int H = -1; int X = -1; int Y = -1; int Style = -1; int exStyle = -1; int id = -1; int nSubType= 0; if ((nType == AUT_GUI_DUMMY ) && iNumParams != 0) { FatalError(IDS_AUT_E_FUNCTIONNUMPARAMS); return AUT_ERR; } switch (nType) { case AUT_GUI_TREEVIEWITEM: case AUT_GUI_LISTVIEWITEM: nSubType |= AUT_GUI_NORESIZE | AUT_GUI_NOTEXTSIZE; i = 0; szText = Util_StrCpyAlloc(vParams[0].szValue()); break; case AUT_GUI_TABITEM: case AUT_GUI_MENU: case AUT_GUI_TRAYMENU: case AUT_GUI_MENUITEM: case AUT_GUI_DUMMY: nSubType |= AUT_GUI_NORESIZE | AUT_GUI_NOFONT | AUT_GUI_NOTEXTSIZE; case AUT_GUI_PIC: nSubType |= AUT_GUI_NOFONT | AUT_GUI_NOTEXTSIZE; case AUT_GUI_GROUP: case AUT_GUI_COMBO: case AUT_GUI_LIST: case AUT_GUI_EDIT: case AUT_GUI_INPUT: case AUT_GUI_DATE: case AUT_GUI_LISTVIEW: nSubType |= AUT_GUI_NOTEXTSIZE; case AUT_GUI_LABEL: case AUT_GUI_BUTTON: case AUT_GUI_CHECKBOX: case AUT_GUI_RADIO: i = 0; szText = Util_StrCpyAlloc(vParams[0].szValue()); break; case AUT_GUI_AVI: case AUT_GUI_ICON: nSubType |= AUT_GUI_NOFONT | AUT_GUI_NOTEXTSIZE; i = 1; id = vParams[1].nValue(); if (id<0) id=0; szText = Util_StrCpyAlloc(vParams[0].szValue()); break; case AUT_GUI_PROGRESS: case AUT_GUI_SLIDER: case AUT_GUI_TAB: case AUT_GUI_CONTEXTMENU: case AUT_GUI_TREEVIEW: nSubType |= AUT_GUI_NOFONT | AUT_GUI_NOTEXTSIZE; i = -1; break; case AUT_GUI_UPDOWN: nSubType |= AUT_GUI_NORESIZE | AUT_GUI_NOFONT | AUT_GUI_NOTEXTSIZE; char szTemp[10]; sprintf(szTemp,"%d",vParams[0].nValue()); szText = Util_StrCpyAlloc(szTemp); i = 0; break; } if (iNumParams > i+6) exStyle = vParams[i+6].nValue(); if (iNumParams > i+5) Style = vParams[i+5].nValue(); if (iNumParams > i+4) H = vParams[i+4].nValue(); if (iNumParams > i+3) W = vParams[i+3].nValue(); if (iNumParams > i+2) Y = vParams[i+2].nValue(); if (iNumParams > i+1) X = vParams[i+1].nValue(); vResult = g_oGUI.CtrlCreate(nType, szText, X, Y, W, H, Style, exStyle, id, nSubType); if (vResult.nValue() == 0) SetFuncErrorCode(1); delete [] szText; return AUT_OK; } // GUICtrlCreate()