parent
25e7c91b64
commit
dc98618d53
|
|
@ -164,7 +164,7 @@ begin
|
|||
bkcl := k1.openKeyA("Directory\\Background\\shell\\tslediter\\command");
|
||||
if bkcl then bkcl.SetValueStringA(nil,SysExecName());
|
||||
bkcl := k1.openKeyA("Directory\\Background\\shell\\tslediter");
|
||||
bkcl.SetValueStringA(nil,"TSL Editer");
|
||||
bkcl.SetValueStringA(nil,"TSL Editor");
|
||||
if bkcl then bkcl.SetValueStringA("Icon",SysExecName());
|
||||
echo "register tslediter ok ~~";
|
||||
end
|
||||
|
|
|
|||
|
|
@ -36,6 +36,29 @@ type cef_point_t = class(tslcstructureobj)
|
|||
property x index 0 read _getvalue_ write _setvalue_;
|
||||
property y index 1 read _getvalue_ write _setvalue_;
|
||||
end
|
||||
type cef_mouse_event_t = class(tslcstructureobj)
|
||||
private
|
||||
static SSTRUCT;
|
||||
class function getstruct()
|
||||
begin
|
||||
if not SSTRUCT then SSTRUCT := MemoryAlignmentCalculate(
|
||||
array(
|
||||
(0,"int",0),
|
||||
(1,"int",0),
|
||||
(2,"int",0)
|
||||
));
|
||||
return SSTRUCT;
|
||||
end
|
||||
public
|
||||
function create(ptr)
|
||||
begin
|
||||
inherited create(getstruct(),ptr);
|
||||
end
|
||||
property x index 0 read _getvalue_ write _setvalue_;
|
||||
property y index 1 read _getvalue_ write _setvalue_;
|
||||
property modifiers index 2 read _getvalue_ write _setvalue_; //Bit flags describing any pressed modifier keys. See
|
||||
end
|
||||
|
||||
type cef_popup_features_t = class(tslcstructureobj)
|
||||
private
|
||||
static SSTRUCT;
|
||||
|
|
@ -237,6 +260,7 @@ type TTSLProcessMsg =class(tslcstructureobj)
|
|||
property proc index "proc" read _getvalue_ write _setvalue_;
|
||||
end
|
||||
|
||||
|
||||
type cef_string_t=class(tslcstructureobj)
|
||||
fdest;
|
||||
function setansi(s);
|
||||
|
|
@ -413,6 +437,83 @@ type cef_string_list_t = class()
|
|||
private
|
||||
FPtr;
|
||||
end
|
||||
type cef_string_map_t = class()
|
||||
fdest;
|
||||
function create(ptr);
|
||||
begin
|
||||
if (ptr>0 or ptr<0) then
|
||||
begin
|
||||
|
||||
end else
|
||||
begin
|
||||
fdest := true;
|
||||
ptr := cef_string_map_alloc();
|
||||
end
|
||||
fptr := ptr;
|
||||
end
|
||||
function destroy();
|
||||
begin
|
||||
if FPtr and fdest then
|
||||
begin
|
||||
cef_string_map_free(FPtr);
|
||||
FPtr := 0;
|
||||
end
|
||||
end
|
||||
function size();
|
||||
begin
|
||||
return cef_string_map_size(FPtr);
|
||||
end
|
||||
function find(key);
|
||||
begin
|
||||
if not ifstring(key) then return ;
|
||||
s := new cef_string_t();s.str := key;
|
||||
v := new cef_string_t();
|
||||
if cef_string_map_find(FPtr,s._getptr_(),v._getptr_())>=0 then return v.str;
|
||||
end
|
||||
function key(idx);
|
||||
begin
|
||||
if not(idx>=0) then return ;
|
||||
s := new cef_string_t();
|
||||
if cef_string_map_key(FPtr,idx,s._getptr_())>=0 then return s.str;
|
||||
end
|
||||
function value(idx);
|
||||
begin
|
||||
if not(idx>=0) then return ;
|
||||
s := new cef_string_t();
|
||||
if cef_string_map_value(FPtr,idx,s._getptr_())>=0 then return s.str;
|
||||
end
|
||||
function append(key,value);
|
||||
begin
|
||||
if not (ifstring(key) and ifstring(value)) then return ;
|
||||
s := new cef_string_t();s.str := key;
|
||||
v := new cef_string_t();v.str := value;
|
||||
return cef_string_map_append(FPtr,s._getptr_(),v._getptr_());
|
||||
end
|
||||
function clear();
|
||||
begin
|
||||
cef_string_map_clear(FPtr);
|
||||
end
|
||||
function keyvalues();
|
||||
begin
|
||||
r := array();
|
||||
for i:= 0 to size()-1 do
|
||||
begin
|
||||
r[key(i)] := value(i);
|
||||
end
|
||||
return r;
|
||||
end
|
||||
private
|
||||
fptr;
|
||||
private
|
||||
function cef_string_map_alloc():pointer;cdecl;external "libcef.dll" name "cef_string_map_alloc";
|
||||
function cef_string_map_size(map:pointer):pointer;cdecl;external "libcef.dll" name "cef_string_map_size";
|
||||
function cef_string_map_find(map:pointer;key:pointer;value:pointer):pointer;cdecl;external "libcef.dll" name "cef_string_map_find";
|
||||
function cef_string_map_key(map:pointer;index:pointer;key:pointer):integer;cdecl;external "libcef.dll" name "cef_string_map_key";
|
||||
function cef_string_map_value(map:pointer;index:pointer;value:pointer):integer;cdecl;external "libcef.dll" name "cef_string_map_value";
|
||||
function cef_string_map_append(map:pointer;key:pointer;value:pointer):integer;cdecl;external "libcef.dll" name "cef_string_map_append";
|
||||
procedure cef_string_map_clear(map:pointer);cdecl;external "libcef.dll" name "cef_string_map_clear";
|
||||
procedure cef_string_map_free(map:pointer);cdecl;external "libcef.dll" name "cef_string_map_free";
|
||||
end
|
||||
|
||||
type cef_main_args_t=class(tslcstructureobj)
|
||||
private
|
||||
|
|
@ -606,15 +707,16 @@ type cef_contain_base = class(tslcstructureobj)
|
|||
FTSLCallbacks := array();
|
||||
flg := (ptr>0 or ptr<0);
|
||||
inherited create(getstruct(),ptr);
|
||||
//addref(_getptr_());
|
||||
addref(_getptr_());
|
||||
aftercreate(not flg);
|
||||
savetoglobal();
|
||||
end
|
||||
function destroy();override;
|
||||
begin
|
||||
id := _getptr_();
|
||||
release(id);
|
||||
inherited;
|
||||
//release(id);
|
||||
|
||||
end
|
||||
property base read getbase;
|
||||
procedure addref(id:pointer);stdcall;virtual;
|
||||
|
|
@ -3449,6 +3551,21 @@ type cef_client_t=class(cef_contain_base)
|
|||
if o then return o._getptr_();
|
||||
end
|
||||
//property on_process_message_received index "on_process_message_received" read _getvalue_ write _setvalue_;
|
||||
property on_process_message_received index "on_process_message_received" read getcallpropertybyindex write setcallpropertybyindex;
|
||||
function on_process_message_received_i(sf:pointer;browser:pointer;frame:pointer;source_process:integer;message:pointer):pointer;stdcall;
|
||||
begin
|
||||
echo ">>>>>>>>>>>>>><<<<<<<<\r\n";
|
||||
c := getcallback(functionname());
|
||||
if c then
|
||||
begin
|
||||
return call(c,self(true),
|
||||
cef_object_get(browser,class(cef_browser_t)),
|
||||
cef_object_get(frame,class(cef_frame_t)),
|
||||
source_process,
|
||||
message
|
||||
);
|
||||
end
|
||||
end
|
||||
end
|
||||
type cef_string_visitor_t=class(cef_contain_base)
|
||||
private
|
||||
|
|
@ -4333,6 +4450,191 @@ type cef_process_message_t=class(cef_contain_base)
|
|||
end
|
||||
|
||||
end
|
||||
type cef_domnode_t=class(cef_contain_base)
|
||||
private
|
||||
function structdescribe();override;
|
||||
begin
|
||||
return array(
|
||||
("base","user",getbasestruct()),
|
||||
("get_type","intptr",0),
|
||||
("is_text","intptr",0),
|
||||
("is_element","intptr",0),
|
||||
("is_editable","intptr",0),
|
||||
("is_form_control_element","intptr",0),
|
||||
("get_form_control_element_type","intptr",0),
|
||||
("is_same","intptr",0),
|
||||
("get_name","intptr",0),
|
||||
("get_value","intptr",0),
|
||||
("set_value","intptr",0),
|
||||
("get_as_markup","intptr",0),
|
||||
("get_document","intptr",0),
|
||||
("get_parent","intptr",0),
|
||||
("get_previous_sibling","intptr",0),
|
||||
("get_next_sibling","intptr",0),
|
||||
("has_children","intptr",0),
|
||||
("get_first_child","intptr",0),
|
||||
("get_last_child","intptr",0),
|
||||
("get_element_tag_name","intptr",0),
|
||||
("has_element_attributes","intptr",0),
|
||||
("has_element_attribute","intptr",0),
|
||||
("get_element_attribute","intptr",0),
|
||||
("get_element_attributes","intptr",0),
|
||||
("set_element_attribute","intptr",0),
|
||||
("get_element_inner_text","intptr",0),
|
||||
("get_element_bounds","intptr",0),
|
||||
);
|
||||
end
|
||||
public
|
||||
function create(ptr)
|
||||
begin
|
||||
inherited;
|
||||
end
|
||||
function get_element_attribute(attrName) ;
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer;attrName:pointer):pointer;stdcall; external ptr;
|
||||
s1 := new cef_string_t();s1.str := attrName;
|
||||
r := ##f(_getptr_(),s1._getptr_());
|
||||
s := new cef_string_t(r);
|
||||
return s.str;
|
||||
end
|
||||
function get_element_attributes();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= procedure(s:pointer;attrMap:pointer);stdcall; external ptr;
|
||||
m := new cef_string_map_t();
|
||||
##f(_getptr_(),m._getptr_());
|
||||
return m.keyvalues();
|
||||
end
|
||||
function set_element_attribute(attrName,value);
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer;attrName:pointer;value:pointer):integer;stdcall; external ptr;
|
||||
s1 := new cef_string_t();s1.str := attrname;
|
||||
s2 := new cef_string_t();s2.str := value;
|
||||
return ##f(_getptr_(),s1._getptr_(),s2._getptr_());
|
||||
|
||||
end
|
||||
function get_element_inner_text();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer):pointer;stdcall; external ptr;
|
||||
r := ##f(_getptr_());
|
||||
s := new cef_string_userfree_t(r);
|
||||
return s.str;
|
||||
end
|
||||
function get_element_bounds();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer):pointer;stdcall; external ptr;
|
||||
r := ##f(_getptr_());
|
||||
return new cef_rect_t(r);
|
||||
end
|
||||
end
|
||||
type cef_domdocument_t=class(cef_contain_base)
|
||||
private
|
||||
function structdescribe();override;
|
||||
begin
|
||||
return array(
|
||||
("base","user",getbasestruct()),
|
||||
("get_type","intptr",0),
|
||||
("get_document","intptr",0),
|
||||
("get_body","intptr",0),
|
||||
("get_head","intptr",0),
|
||||
("get_title","intptr",0),
|
||||
("get_element_by_id","intptr",0),
|
||||
("get_focused_node","intptr",0),
|
||||
("has_selection","intptr",0),
|
||||
("get_selection_start_offset","intptr",0),
|
||||
("get_selection_end_offset","intptr",0),
|
||||
("get_selection_as_markup","intptr",0),
|
||||
("get_selection_as_text","intptr",0),
|
||||
("get_base_url","intptr",0),
|
||||
("get_complete_url","intptr",0),
|
||||
);
|
||||
end
|
||||
public
|
||||
function create(ptr)
|
||||
begin
|
||||
inherited;
|
||||
end
|
||||
function get_type();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer):integer;stdcall; external ptr;
|
||||
return ##f(_getptr_());
|
||||
end
|
||||
function get_document();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer):pointer;stdcall; external ptr;
|
||||
r := ##f(_getptr_());
|
||||
if r then return new cef_domnode_t(r);
|
||||
end
|
||||
function get_body();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer):pointer;stdcall; external ptr;
|
||||
r := ##f(_getptr_());
|
||||
if r then return new cef_domnode_t(r);
|
||||
end
|
||||
function get_head();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer):pointer;stdcall; external ptr;
|
||||
r := ##f(_getptr_());
|
||||
if r then return new cef_domnode_t(r);
|
||||
end
|
||||
function get_title();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer):pointer;stdcall; external ptr;
|
||||
r := ##f(_getptr_());
|
||||
if r then
|
||||
begin
|
||||
return (new cef_string_userfree_t(r)).str;
|
||||
end
|
||||
end
|
||||
function get_element_by_id(id);
|
||||
begin
|
||||
if not ifstring(id) then return ;
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer):pointer;stdcall; external ptr;
|
||||
s := new cef_string_t(id);
|
||||
r := ##f(_getptr_(),s._getptr_());
|
||||
if r then return new cef_domnode_t(r);
|
||||
end
|
||||
function get_selection_as_markup();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer):pointer;stdcall; external ptr;
|
||||
r := ##f(_getptr_());
|
||||
if r then
|
||||
begin
|
||||
return (new cef_string_userfree_t(r)).str;
|
||||
end
|
||||
end
|
||||
function get_selection_as_text();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer):pointer;stdcall; external ptr;
|
||||
r := ##f(_getptr_());
|
||||
if r then
|
||||
begin
|
||||
return (new cef_string_userfree_t(r)).str;
|
||||
end
|
||||
end
|
||||
function get_base_url();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f:= function(s:pointer):pointer;stdcall; external ptr;
|
||||
r := ##f(_getptr_());
|
||||
if r then
|
||||
begin
|
||||
return (new cef_string_userfree_t(r)).str;
|
||||
end
|
||||
end
|
||||
end
|
||||
type cef_frame_t=class(cef_contain_base)
|
||||
private
|
||||
function structdescribe();override;
|
||||
|
|
@ -4791,12 +5093,28 @@ type cef_browser_host_t=class(cef_contain_base)
|
|||
//property was_resized index "was_resized" read _getvalue_ write _setvalue_;
|
||||
//property was_hidden index "was_hidden" read _getvalue_ write _setvalue_;
|
||||
//property notify_screen_info_changed index "notify_screen_info_changed" read _getvalue_ write _setvalue_;
|
||||
//property invalidate index "invalidate" read _getvalue_ write _setvalue_;
|
||||
/// Invalidate the view. The browser will call cef_render_handler_t::OnPaint
|
||||
/// asynchronously. This function is only used when window rendering is
|
||||
/// disabled.
|
||||
///
|
||||
////void(CEF_CALLBACK* invalidate)(struct _cef_browser_host_t* self,cef_paint_element_type_t type);
|
||||
function invalidate();
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f := procedure(sf:pointer;tp:integer);stdcall; external ptr;
|
||||
return ##f(_getptr_());
|
||||
end
|
||||
//property send_external_begin_frame index "send_external_begin_frame" read _getvalue_ write _setvalue_;
|
||||
//property send_key_event index "send_key_event" read _getvalue_ write _setvalue_;
|
||||
//property send_mouse_click_event index "send_mouse_click_event" read _getvalue_ write _setvalue_;
|
||||
//property send_mouse_move_event index "send_mouse_move_event" read _getvalue_ write _setvalue_;
|
||||
//property send_mouse_wheel_event index "send_mouse_wheel_event" read _getvalue_ write _setvalue_;
|
||||
function send_mouse_wheel_event(event:cef_mouse_event_t;delatax;deltay);
|
||||
begin
|
||||
ptr := _getvalue_(functionname());
|
||||
f := procedure(sf:pointer;event:pointer;dx:integer;dy:integer);stdcall; external ptr;
|
||||
return ##f(_getptr_(),event._getptr_(),dx,dy);
|
||||
end
|
||||
//property send_touch_event index "send_touch_event" read _getvalue_ write _setvalue_;
|
||||
//property send_capture_lost_event index "send_capture_lost_event" read _getvalue_ write _setvalue_;
|
||||
//property notify_move_or_resize_started index "notify_move_or_resize_started" read _getvalue_ write _setvalue_;
|
||||
|
|
|
|||
|
|
@ -641,10 +641,9 @@ type tcustomtabitem = class() //
|
|||
@explan(说明)tab控件标签对象 %%
|
||||
**}
|
||||
private
|
||||
FPageCtrl;
|
||||
FCaption;
|
||||
FVisible;
|
||||
FPageSheet;
|
||||
[weakref]FPageSheet;
|
||||
function SetVisible(v);//设置可见
|
||||
begin
|
||||
nv := v?true:false;
|
||||
|
|
|
|||
BIN
tsl语言本地编辑器.docx
BIN
tsl语言本地编辑器.docx
Binary file not shown.
Loading…
Reference in New Issue