diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..412eeda --- /dev/null +++ b/.gitattributes @@ -0,0 +1,22 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.fsproj merge=union +*.dbproj merge=union + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ebd21a --- /dev/null +++ b/.gitignore @@ -0,0 +1,163 @@ +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Rr]elease/ +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.vspscc +.builds +*.dotCover + +## TODO: If you have NuGet Package Restore enabled, uncomment this +#packages/ + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf + +# Visual Studio profiler +*.psess +*.vsp + +# ReSharper is a .NET coding add-in +_ReSharper* + +# Installshield output folder +[Ee]xpress + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish + +# Others +[Bb]in +[Oo]bj +sql +TestResults +*.Cache +ClientBin +stylecop.* +~$* +*.dbmdl +Generated_Code #added for RIA/Silverlight projects + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML + + + +############ +## Windows +############ + +# Windows image file caches +Thumbs.db + +# Folder config file +Desktop.ini + + +############# +## Python +############# + +*.py[co] + +# Packages +*.egg +*.egg-info +dist +build +eggs +parts +bin +var +sdist +develop-eggs +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg + +# Mac crap +.DS_Store diff --git a/HtmlConst.pas b/HtmlConst.pas new file mode 100644 index 0000000..e0faf6e --- /dev/null +++ b/HtmlConst.pas @@ -0,0 +1,172 @@ +unit HtmlConst; + +interface + +uses Windows; + +const + HLN_CREATE_CONTROL = $AFF + $01; + HLN_LOAD_DATA = $AFF + $02; + HLN_CONTROL_CREATED = $AFF + $03; + HLN_DATA_LOADED = $AFF + $04; + HLN_DOCUMENT_COMPLETE = $AFF + $05; + HLN_UPDATE_UI = $AFF + $06; + HLN_DESTROY_CONTROL = $AFF + $07; + HLN_ATTACH_BEHAVIOR = $AFF + $08; + HLN_BEHAVIOR_CHANGED = $AFF + $09; + HLN_DIALOG_CREATED = $AFF + $10; + HLN_DIALOG_CLOSE_RQ = $AFF + $0A; + HLN_DOCUMENT_LOADED = $AFF + $0B; + + LOAD_OK = 0; + LOAD_DISCARD = 1; + + HLDOM_OK = 0; + HLDOM_INVALID_HWND = 1; + HLDOM_INVALID_HANDLE = 2; + HLDOM_PASSIVE_HANDLE = 3; + HLDOM_INVALID_PARAMETER = 4; + HLDOM_OPERATION_FAILED = 5; + HLDOM_OK_NOT_HANDLED = -1; + + SIH_REPLACE_CONTENT = 0; + SIH_INSERT_AT_START = 1; + SIH_APPEND_AFTER_LAST = 2; + + SOH_REPLACE = 3; + SOH_INSERT_BEFORE = 4; + SOH_INSERT_AFTER = 5; + + INSERT_AT_END = $7FFFFFF; + + //enum EVENT_GROUPS + HANDLE_INITIALIZATION = $0000; (* attached/detached *) + HANDLE_MOUSE = $0001; (* mouse events *) + HANDLE_KEY = $0002; (* key events *) + HANDLE_FOCUS = $0004; (* focus events, if this flag is set it also means that element it attached to is focusable *) + HANDLE_SCROLL = $0008; (* scroll events *) + HANDLE_TIMER = $0010; (* timer event *) + HANDLE_SIZE = $0020; (* size changed event *) + HANDLE_DRAW = $0040; (* drawing request (event) *) + HANDLE_DATA_ARRIVED = $080; (* requested data () has been delivered *) + HANDLE_BEHAVIOR_EVENT = $0100; (* secondary, synthetic events: + BUTTON_CLICK, HYPERLINK_CLICK, etc., + a.k.a. notifications from intrinsic behaviors *) + HANDLE_METHOD_CALL = $0200; (* behavior specific methods *) + + HANDLE_EXCHANGE = $1000; (* system drag-n-drop *) + HANDLE_GESTURE = $2000; (* touch input events *) + + HANDLE_ALL = $FFFF; (* all of them *) + + DISABLE_INITIALIZATION = $80000000; (* disable INITIALIZATION events to be sent. + normally engine sends + BEHAVIOR_DETACH / BEHAVIOR_ATTACH events unconditionally, + this flag allows to disable this behavior + *) + +type + BehaviorEvents = ( + BUTTON_CLICK = 0, // click on button + BUTTON_PRESS = 1, // mouse down or key down in button + BUTTON_STATE_CHANGED = 2, // checkbox/radio/slider changed its state/value + EDIT_VALUE_CHANGING = 3, // before text change + EDIT_VALUE_CHANGED = 4, // after text change + SELECT_SELECTION_CHANGED = 5, // selection in