scardlife 0 Posted September 27, 2011 I am looking to write a wrapper for a piece of software that I want to be able to build functionality into the SciTE enditor. What I would ultimately like to do is add a tab to the compile dialog window like the CVSwrapper extension does. How can I add this tab to the editor? Share this post Link to post Share on other sites
Jos 2,214 Posted September 27, 2011 The GUI is done by Autoit3wrapper,not SciTE. Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Share this post Link to post Share on other sites
scardlife 0 Posted September 28, 2011 (edited) Ok then. How about the ability to call a LUA function with your script. For instance, this is how I call it with the "Tools" menu command interface: # 45 RobDBG Console Only command.45.$(au3)=InvokeTool RobAutoItTools.RobDebugConsoleWriteAdd command.name.45.$(au3)=RobDBG - Display to Console Only command.save.before.45.$(au3)=2 command.shortcut.45.$(au3)=Shift+Alt+0 basically, i want the ability to completely extend the 'Alt+D' functionality for my own purposes, but I can seem to figure that out without using the "Tools" menu, which isn't as efficient as I would like to. Any Ideas? Edited September 28, 2011 by scardlife Share this post Link to post Share on other sites
Jos 2,214 Posted September 28, 2011 Not totally sure what you want to accomplish but you could start the described LUA script by executing the defined command.45: expandcollapse popupOpt("WinSearchChildren", 1) #AutoIt3Wrapper_UseX64=n Global $WM_COPYDATA = 74 ; Get SciTE DirectorHandle $Scite_hwnd = WinGetHandle("DirectorExtension") ; Get My GUI Handle Global $My_Hwnd = GUICreate("AutoIt3-SciTE interface") ;Register COPYDATA message. GUIRegisterMsg($WM_COPYDATA, "MY_WM_COPYDATA") ; ;~ SendSciTE_Command($My_Hwnd, $Scite_hwnd, "askproperty:buffers") ; request value ;~ SendSciTE_Command($My_Hwnd, $Scite_hwnd, "askfilename:") ; request current buffers filename SendSciTE_Command($My_Hwnd, $Scite_hwnd, "menucommand:1145") ; Runs command.45 ; ; Send command to SciTE Func SendSciTE_Command($My_Hwnd, $Scite_hwnd, $sCmd) Local $My_Dec_Hwnd = Dec(StringRight($My_Hwnd, 8)) $sCmd = ":" & $My_Dec_Hwnd & ":" & $sCmd ConsoleWrite('-->' & $sCmd & @LF) Local $CmdStruct = DllStructCreate('Char[' & StringLen($sCmd) + 1 & ']') DllStructSetData($CmdStruct, 1, $sCmd) Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr') DllStructSetData($COPYDATA, 1, 1) DllStructSetData($COPYDATA, 2, StringLen($sCmd) + 1) DllStructSetData($COPYDATA, 3, DllStructGetPtr($CmdStruct)) DllCall('User32.dll', 'None', 'SendMessage', 'HWnd', $Scite_hwnd, _ 'Int', $WM_COPYDATA, 'HWnd', $My_Hwnd, _ 'Ptr', DllStructGetPtr($COPYDATA)) EndFunc ;==>SendSciTE_Command ; Received Data from SciTE Func MY_WM_COPYDATA($hWnd, $msg, $wParam, $lParam) Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr', $lParam) $SciTECmdLen = DllStructGetData($COPYDATA, 2) Local $CmdStruct = DllStructCreate('Char[' & $SciTECmdLen + 1 & ']', DllStructGetData($COPYDATA, 3)) $SciTECmd = StringLeft(DllStructGetData($CmdStruct, 1), $SciTECmdLen) ConsoleWrite('<--' & $SciTECmd & @LF) EndFunc ;==>MY_WM_COPYDATA Hope that helps Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Share this post Link to post Share on other sites