Difference between revisions of "API"

From Win-Test Wiki
Jump to navigation Jump to search
(New page: ===List of Win-Test API/Functions and Constants=== Compiled from a message on the WT reflector by F6FVY on October 7, 2009. ====Class wtApp==== {| border="2" cellspacing="0" cellpadding="...)
 
m (Main Page/API moved to API: Created here by mistake - DL6RAI.)
(No difference)

Revision as of 09:33, 31 October 2009

List of Win-Test API/Functions and Constants

Compiled from a message on the WT reflector by F6FVY on October 7, 2009.

Class wtApp

wtApp:AlertBox(Text) Opens a standard Windows alert box with text.
wtApp:CallScript(strScript) Call a wts script (no extension required in strScript). Can return a number only (or nothing)
wtApp:GetKeyState Returns the modifers keys status when the function is called.
wtApp:InputInteger(Prompt, Title, Default) If Title or Prompt is empty, a default text is used
wtApp:InputNumber(Prompt, Title, Default) If Title or Prompt is empty, a default text is used
wtApp:InputText(Prompt, Title, Default) If Title or Prompt is empty, a default text is used
wtApp:IsPostKeyProcess() Return true if the current script is executed after the assigned key has been processed by WT, and false otherwise
wtApp:MessageBox(Text, Type, Title) Create a Message box. Return the button pressed to exit the message (can be ignored).
wtApp:SendAltKey(Key) Key is a letter, a number, or a function key ("F1".."F12" + "Insert" + "Plus" + "Esc")
wtApp:SendCtrlKey(Key) Key is a letter, a number, or a function key ("F1".."F12" + "Insert" + "Plus" + "Esc")
wtApp:SendFKey(Key) Send Functions keys (and Insert and Plus). Key is one of "F1".."F12" + "Insert" + "Plus" + "Esc". Modifier Keys (optional) indicates the modifier keys (Ctrl = 4, Alt = 2, Shift = 1, None = 0 - Can be combined). If this argument is missing or -1, the current modifiers keys are used.
wtApp:SendKeyCode(Code [, Modifier Keys]) Send a key by its ASCII code. Keycode is an ASCII code. Modifier Keys (optional) indicates the modifier keys (Ctrl = 4, Alt = 2, Shift = 1, None = 0 - Can be combined). If this argument is missing or -1, the current modifiers keys are used
wtApp:SetWindowColor(ChildWndId, nRed, nGreen, nBlue, nColorIndex) Set the nColorIndex color of the child window designated by its windowID (see the wtConstants list). If ChildWndId is < 0, it applies to the main window. If nColorIndex is omitted (or set to 0), it applies to the background color All colors must be <= 255.
wtApp:ShowWindow(ChildWndId) Show the child window designated by its windowID (see the wtConstants list)
wtApp:Sleep(Time) Time expressed in milliseconds.
wtApp:TextCommand(Text) Send WT text command to application
wtApp:ToggleWindow(ChildWndId) Toggle the child window designated by its windowID (see the wtConstants list)
wtApp:WizzWindow(ChildWndId) Wizz the child window designated by its windowID (see the wtConstants list)


Class wtContest

wtContest:IsExchangeRequired() Return a boolean. True if the current contest requires an exchange (associated with RST)
wtContest:GetContestId() Return the current contestID

Class wtKeyer

wtKeyer:GetCwSpeed() Return the CW speed in wpm (return 0 in case of error).
wtKeyer:Play(Message) Message is a plain string to be played, a saved message ($F1 etc.) or a variable ($xxx)
wtKeyer:SetCwSpeed(Speed) Set CW speed in wpm.
wtKeyer:Stop() Stop the current message

Class wtOp

wtOp:GetCallsign() Return the current op callsign
wtOp:GetNick() Return the current op nick

Class wtQso

wtQso:IsCallsignEmpty() Return a boolean : True if the callsign field of the active QSO is empty
wtQso:IsCallsignIncomplete() Return a boolean : True if the callsign field of the active QSO contains a "?"
wtQso:IsExchangeEmpty() Return a boolean : True if the exchange field of the active QSO is empty
wtQso:IsExchangeSent() Return a boolean : True if the exchangeSent flag of the active QSO is set
wtQso:SetExchangeSent() Set the exchangeSent flag of the active QSO (see wtQso::IsExchangeSent()) - Similar to the use of $SETEXCHSENT
wtQso:ResetExchangeSent() Reset the exchangeSent flag of the active QSO (see wtQso::IsExchangeSent()) - Similar to the use of $RSTEXCHSENT
wtQso:ClearStatus() Clear the status flags of the active QSO
wtQso:GetModeId() Return the mode ID of the active Qso
wtQso:IsCallsignRepeated() Return a boolean. True if the callsign hasn't changed since the last Enter
wtQso:IsOperatingModeRun() Return a boolean. True if the operating mode of the active QSO is RUN (and False if S&P)
wtQso:IsModePhone() Return a boolean. True if the mode of the active QSO is Phone (SSB and FM), and False otherwise
wtQso:IsQsoApproved() Return a boolean. True if all requested fields of the active QSO are filled (contest dependent)
wtQso:IsDupe() Return a boolean. True if the current callsign is a dupe
wtQso:IsCurrentFieldCallsign() Return a boolean : True if the current field is the callsign field
wtQso:IsCurrentFieldExchange() Return a boolean : True if the current field is an exchange field
wtQso:IsCurrentFieldOther() Return a boolean : True if the current field is not the callsign field or an exchange field
wtQso:IsCurrentFieldEmpty() Return a boolean : True if the current field is empty (except RST for the exchange field)
wtQso:IsCurrentFieldPrimaryRadio() Return a boolean : True if the current field is in the primary radio (main log)
wtQso:IsCurrentFieldSecondryRadio() Return a boolean : True if the current field is in the secondary radio

Class wtRadio*

The following functions can apply to: wtRadio (the active one), wtRadioInactive (the non-active one), wtRadioPrimary (the one that is in the main log wnd) wtRadioSecondary (the one that is in the secondary log wnd) wtRadio1 and wtRadio2

WARNING: Some functions may not work because of the CAT protocol or radio hardware limitations.

wtRadio*GetFreq() Return freq of the active VFO of the designated radio freq is expressed in kHz
wtRadio*GetFreq(NVfo) Return freq of the designated VFO (0 => VFO A, 1 => VFO B) of the designated radio freq is expressed in kHz
wtRadio*GetFreqInactiveVfo() Return freq of the inactive VFO of the designated radio freq is expressed in kHz
wtRadio*SetFreq(freq) Set freq of the active VFO of the designated radio freq is expressed in kHz
wtRadio*SetFreq(freq, nVfo) Set freq of the designated VFO (0 => VFO A, 1 => VFO B) of the designated radio freq is expressed in kHz
wtRadio*SetFreqInactiveVfo(freq) Set freq of the inactive VFO of the designated radio freq is expressed in kHz
wtRadio*SetFreqSubVfo(freq) Set freq of the sub VFO of the designated radio freq is expressed in kHz
wtRadio*SetSplit(freq) Set split ON and the split frequency on the designated radio freq is expressed in kHz
wtRadio*ResetSplit() Reset split on the designated radio
wtRadio*IsSplit() Return false or true whether the split is set or not on the designated radio
wtRadio*GetRadioId() Return the radioID (0 => RADIO_1, 1 => RADIO_2) of the designated radio
wtRadio*Send(catString) Send the ASCII catString to the designated radio
wtRadio*SendHex(hexString) Send the hexString to the designated radio. The hexString must contain only 0-9 and A-F characters and must have an even length. Ex "02DFA8" etc.


Win-Test Constants

Constants are not guaranteed to remain constant in Lua. The name of the constant could be accidentally reassigned to refer to some other object or value. Unfortunately, there is no easy way to generate code that prevents this. You will just have to be careful.

Child windows IDs

WT_WND_SUMMARY = 0;
WT_WND_GRIDSQUAREMAP = 1;
WT_WND_CHECKPARTIAL = 2;
WT_WND_RATESHEET = 3;
WT_WND_CLOCK = 4;
WT_WND_VUMETER = 5;
WT_WND_RATE = 6;
WT_WND_GAB = 7;
WT_WND_MAP = 8;
WT_WND_CHECKCOUNTRY = 9;
WT_WND_ZONE = 10;
WT_WND_MULT = 11;
WT_WND_NP1 = 12;
WT_WND_RADIO1 = 13;
WT_WND_RADIO2 = 14;
WT_WND_PACKETCLUSTER = 15;
WT_WND_DXCLUSTERANN = 16;
WT_WND_SOLAR = 17;
WT_WND_PILEUP = 18;
WT_WND_STATUS = 19;
WT_WND_SKED = 20;
WT_WND_CHECKCALL = 21;
WT_WND_SECONDARYRADIO = 22;
WT_WND_RTTY1 = 23;
WT_WND_RTTY2 = 24;
WT_WND_QSYWIZARD = 25;
WT_WND_EXTRAINFO = 26;
WT_WND_ZONE2 = 27;
WT_WND_ROTATORS = 28;
WT_WND_CONTESTRECORDER = 29;

Supported contests IDs

WT_CONTEST_IARU_VHF = 1;
WT_CONTEST_IARU_UHF = 2;
WT_CONTEST_IARU_CW = 3;
WT_CONTEST_IARU_HF = 4;
WT_CONTEST_IARU_R1_50MHZ = 5;
WT_CONTEST_REF_THF = 10;
WT_CONTEST_REF_DDFM_50MHZ = 11;
WT_CONTEST_THF_EU = 20;
WT_CONTEST_THF_EU_50_70 = 21;
WT_CONTEST_THF_EU_GRIDSQUARE = 30;
WT_CONTEST_THF_EU_GRIDSQUARE_50_70 = 31;
WT_CONTEST_THF_EU_GRIDSQUARE_NO_DIST = 32;
WT_CONTEST_THF_EU_GRIDSQUARE_NO_DIST_50_70 = 33;
WT_CONTEST_REF_HF = 100;
WT_CONTEST_ARRL_DX = 101;
WT_CONTEST_ARRL_10 = 102;
WT_CONTEST_ARRL_160 = 103;
WT_CONTEST_ARRL_SWEEPSTAKES = 104;
WT_CONTEST_ARRL_FD = 105;
WT_CONTEST_ARRL_RU = 106;
WT_CONTEST_ARRL_UHF_AUG = 130;
WT_CONTEST_ARRL_VHF_JAN = 131;
WT_CONTEST_ARRL_VHF_JUN = 132;
WT_CONTEST_ARRL_VHF_SEP = 133;
WT_CONTEST_REF_160 = 150;
WT_CONTEST_CQWW_DX = 200;
WT_CONTEST_CQWW_WPX = 201;
WT_CONTEST_CQWW_160 = 202;
WT_CONTEST_CQWW_VHF = 250;
WT_CONTEST_RDXC = 300;
WT_CONTEST_RDAC = 301;
WT_CONTEST_CIS = 302;
WT_CONTEST_R_160 = 303;
WT_CONTEST_RRTC = 304;
WT_CONTEST_RAEM = 305;
WT_CONTEST_DXPEDITION_HF = 400;
WT_CONTEST_DXPEDITION_VHF = 410;
WT_CONTEST_ALL_ASIAN = 500;
WT_CONTEST_SPDXC = 600;
WT_CONTEST_JIDX = 700;
WT_CONTEST_KCJ = 701;
WT_CONTEST_KCJ_TOPBAND = 702;
WT_CONTEST_YUDXC = 800;
WT_CONTEST_CQM = 900;
WT_CONTEST_ARI = 1000;
WT_CONTEST_ARI_SEZIONI = 1001;
WT_CONTEST_ARI_40_80 = 1002;
WT_CONTEST_BALTIC = 1100;
WT_CONTEST_KING_OF_SPAIN = 1200;
WT_CONTEST_IOTA = 1300;
WT_CONTEST_RSGB_160 = 1301;
WT_CONTEST_RSGB_80_CC = 1302;
WT_CONTEST_RSGB_CMW = 1303;
WT_CONTEST_RSGB_15_10 = 1304;
WT_CONTEST_RSGB_AFS = 1305;
WT_CONTEST_WAEDC = 1400;
WT_CONTEST_WAG = 1401;
WT_CONTEST_DARC_XMAS = 1402;
WT_CONTEST_DARC_10 = 1403;
WT_CONTEST_YODXC = 1500;
WT_CONTEST_EU_HF = 1600;
WT_CONTEST_SCC = 1601;
WT_CONTEST_OCDXC = 1700;
WT_CONTEST_TOECC = 1800;
WT_CONTEST_SAC = 1900;
WT_CONTEST_NRAU_BALTIC = 1901;
WT_CONTEST_NAC = 1902;
WT_CONTEST_SARTG = 1903;
WT_CONTEST_QP_TX = 2000;
WT_CONTEST_EU_SPRINT = 2100;
WT_CONTEST_UKDXC = 2200;
WT_CONTEST_OKOMDXC = 2300;
WT_CONTEST_STEW_PERRY = 2400;
WT_CONTEST_GACW_DX = 2401;
WT_CONTEST_NINE_KCC_15 = 2402;
WT_CONTEST_FOC_MARATHON = 2403;
WT_CONTEST_LOTW = 2404;
WT_CONTEST_AP_SPRINT = 2405;
WT_CONTEST_JARTS = 2406;
WT_CONTEST_MARCONI_HF = 2407;
WT_CONTEST_LZDX = 2500;
WT_CONTEST_CROATIAN_CW = 2600;
WT_CONTEST_UBADX = 2700;
WT_CONTEST_UBA_SPRING_80M = 2701;
WT_CONTEST_UBA_SPRING_6M = 2702;
WT_CONTEST_UBA_SPRING_2M = 2703;
WT_CONTEST_ON_80M = 2704;
WT_CONTEST_ON_6M = 2705;
WT_CONTEST_ON_2M = 2706;
WT_CONTEST_RAC_DAY = 2800;
WT_CONTEST_RAC_WINTER = 2801;
WT_CONTEST_PACC = 2900;
WT_CONTEST_HELVETIA = 3000;
WT_CONTEST_HELVETIA_VHF = 3001;
WT_CONTEST_IARU_FD_R1_GENERIC = 3100;
WT_CONTEST_IARU_FD_R1_DARC = 3101;
WT_CONTEST_IARU_FD_R1_RSGB = 3102;
WT_CONTEST_UFT_HF = 3200;
WT_CONTEST_AGCW_HNY = 3300;
WT_CONTEST_HA_DX = 3400;
WT_CONTEST_NAQP = 3500;
WT_CONTEST_NA_SPRINT = 3501;
WT_CONTEST_NCCC_SPRINT = 3600;
WT_CONTEST_CQIR = 3700;

Supported modes IDs

WT_MODE_CW = 0;
WT_MODE_SSB = 1;
WT_MODE_RTTY = 2;
WT_MODE_FM = 3;
WT_MODE_PSK = 4;
WT_MODE_PKT = 5;
WT_MODE_HELL = 6;
WT_MODE_SAT = 7;

Supported status keys IDs

WT_KEY_SHIFT = 1;
WT_KEY_ALT = 2;
WT_KEY_CTRL = 4;

Radio Constants

WT_RADIO_MAX = 2;

WT_RADIO_VFOA = 0;
WT_RADIO_VFOB = 1;

WT_RADIO_1 = 0;
WT_RADIO_2 = 1;