;-- TIME_STAMP 2021-02-27 15:16:00 v 0.1
;*****************************************
;PsPadExt.au3 by Churanos
;Created with ISN AutoIt Studio v. 1.10
;*****************************************
#include <AutoItObject.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
AutoItSetOption("GUIOnEventMode", 1)
OnAutoItExitRegister("_Exit")
Global Const $sExtName = "PsPadExt"
Global Const $sExtVersion = "0.0.1"
Global Const $sExtAuthor = "Churanos <kleist.steven@gmail.com>"
Global Const $sClsId = "PsPadExt.Bridge"
Global $hROTHandle = Null
Global $bShouldQuit = False
Global $oError = ObjEvent("AutoIt.Error", "_ErrFunc")
#EndRegion Define variables
Global $frm_Main = GUICreate($sExtName, 320, 360, -1, -1, -1, $WS_EX_TOPMOST)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
Global $btn_GetText = GUICtrlCreateButton("Get sel. Text", 10, 10, 100, 25)
GUICtrlSetOnEvent(-1, "_GetTextFromEditor")
Global $btn_LeftChar = GUICtrlCreateButton("Get left Char", 120, 10, 100, 25)
GUICtrlSetOnEvent(-1, "_GetLeftCharFromEditor")
Global $txt_Text = GUICtrlCreateEdit("", 10, 50, 300, 300)
If $bShouldQuit Then _Exit()
;##############################################################################
;##############################################################################
MsgBox(16, "Error", "Error while creating object from Func: _PsPadExt()!")
$hROTHandle = _AutoItObject_RegisterObject($oPlugin, $sClsId)
GUISetState(@SW_SHOW, $frm_Main)
;##############################################################################
;##############################################################################
;##############################################################################
_AutoItObject_UnregisterObject($hROTHandle)
;##############################################################################
Func _GetTextFromEditor()
GUICtrlSetData($txt_Text, $oPlugin.PsPadSelectedText())
Func _GetLeftCharFromEditor()
Local $aCaret = $oPlugin.PsPadLeftChar()
GUICtrlSetData($txt_Text, StringFormat("Editor.caretY(): %s Editor.caretX(): %s\r\nEditor.LineText(): %s\r\nEditor.LeftChar(): %s\r\n", $aCaret[0], $aCaret[1], $aCaret[2], $aCaret[3]))
Local $class = _AutoItObject_Class()
.AddProperty("Name", $ELSCOPE_READONLY, $sExtName)
.AddProperty("Version", $ELSCOPE_READONLY, $sExtVersion)
.AddProperty("PsPad", $ELSCOPE_PUBLIC, Null)
.AddMethod("PsPadSelectedText", "_PsPadExt_PsPadSelectedText")
.AddMethod("PsPadLeftChar", "_PsPadExt_PsPadLeftChar")
.AddMethod("Quit", "_PsPadExt_Quit")
Func _PsPadExt_PsPadSelectedText($this)
$this.PsPad.Item("Editor").assignActiveEditor()
ConsoleWrite(StringFormat("Editor.selText(): %s", $this.PsPad.Item("Editor").selText()) & @CRLF)
Return $this.PsPad.Item("Editor").selText()
Func _PsPadExt_PsPadLeftChar($this)
$this.PsPad.Item("Editor").assignActiveEditor()
Local $iCaretRow = $this.PsPad.Item("Editor").caretY() - 1
Local $iCaretCol = $this.PsPad.Item("Editor").caretX() - 1
Local $sLineText = $this.PsPad.Item("Editor").lineText()
ConsoleWrite(StringFormat("Editor.caretY(): %s", $iCaretRow) & @CRLF)
ConsoleWrite(StringFormat("Editor.caretX(): %s", $iCaretCol) & @CRLF)
ConsoleWrite(StringFormat("Editor.LineText(): %s", $sLineText) & @CRLF)
ConsoleWrite(StringFormat("Editor.LeftChar(): %s", StringMid($sLineText, $iCaretCol, 1)) & @CRLF)
Local $aCaret = [$iCaretRow, $iCaretCol, $sLineText, StringMid($sLineText, $iCaretCol, 1)]
Func _PSPadExt_Quit($this)
#EndRegion Object Functions
#Region COM Error Function
ConsoleWrite("COM Error, ScriptLine(" & $oError.scriptline & ") : Number 0x" & Hex($oError.number, 8) & " - " & $oError.windescription & @CRLF)
#EndRegion COM Error Function