scardlife Posted September 27, 2011 Share 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? Link to comment Share on other sites More sharing options...
Developers Jos Posted September 27, 2011 Developers Share 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. Link to comment Share on other sites More sharing options...
scardlife Posted September 28, 2011 Author Share 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 Link to comment Share on other sites More sharing options...
Developers Jos Posted September 28, 2011 Developers Share 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. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now