parent
16e449ea50
commit
03d73ebec9
|
|
@ -1579,6 +1579,7 @@ type tdirviewer = class(tcustomcontrol)
|
||||||
FEdit.parent := self;
|
FEdit.parent := self;
|
||||||
FEdit.Align := alTop;
|
FEdit.Align := alTop;
|
||||||
FTree := new TTreeView(self);
|
FTree := new TTreeView(self);
|
||||||
|
FTree.Border := false;
|
||||||
FTree.Align := alClient;
|
FTree.Align := alClient;
|
||||||
FTree.parent := self;
|
FTree.parent := self;
|
||||||
ftree.ImageList := fimgs;
|
ftree.ImageList := fimgs;
|
||||||
|
|
@ -1692,7 +1693,7 @@ type tdirviewer = class(tcustomcontrol)
|
||||||
fimgs.addbmp(bmp);
|
fimgs.addbmp(bmp);
|
||||||
bt.ImageId := fimgs.ImageCount-1;
|
bt.ImageId := fimgs.ImageCount-1;
|
||||||
bt.parent := ftb;
|
bt.parent := ftb;
|
||||||
if i in array("添加工作目录","移除工作目录","打开","刷新") then ftbns[i] := bt;
|
if i in array("移除工作目录","打开","刷新") then ftbns[i] := bt;
|
||||||
if i in array("²éÕÒ","·´Ïò²éÕÒ") then fsbtns[i] := bt;
|
if i in array("²éÕÒ","·´Ïò²éÕÒ") then fsbtns[i] := bt;
|
||||||
bt.onclick := thisfunction(toolclick);
|
bt.onclick := thisfunction(toolclick);
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -613,6 +613,7 @@ F47AC96526C21CCB26FD326A2180CC21F5CAC302CA5C842B865FD9D7003D1F17B
|
||||||
begin
|
begin
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
type TEditerAuxiliary=class(TPage) //辅助窗口
|
type TEditerAuxiliary=class(TPage) //辅助窗口
|
||||||
function Create(AOwner);
|
function Create(AOwner);
|
||||||
begin
|
begin
|
||||||
|
|
@ -1753,7 +1754,7 @@ type TEditer=class(TCustomcontrol) //
|
||||||
"charset":0,"outprecision":0,"clipprecision":0,"quality":1,"pitchandfamily":1,"facename":"Courier New","color":0);
|
"charset":0,"outprecision":0,"clipprecision":0,"quality":1,"pitchandfamily":1,"facename":"Courier New","color":0);
|
||||||
FTslDebug := new TTslDebug(self);
|
FTslDebug := new TTslDebug(self);
|
||||||
FFindListWnd := new TFindListWnd(self);
|
FFindListWnd := new TFindListWnd(self);
|
||||||
FCodeMap := new TTslCodeMap(self);
|
//FCodeMap := new TTslCodeMap(self);
|
||||||
FFileopen := new TOpenFileADlg(self);
|
FFileopen := new TOpenFileADlg(self);
|
||||||
FFileSave := new TSavefileADlg(self);
|
FFileSave := new TSavefileADlg(self);
|
||||||
FFileopen.WndOwner := self;
|
FFileopen.WndOwner := self;
|
||||||
|
|
@ -1768,7 +1769,7 @@ type TEditer=class(TCustomcontrol) //
|
||||||
FFindListWnd.OnDblClick := thisfunction(FindListChoosed);
|
FFindListWnd.OnDblClick := thisfunction(FindListChoosed);
|
||||||
FGotoLineWnd.Visible := false;
|
FGotoLineWnd.Visible := false;
|
||||||
/////////////////////////
|
/////////////////////////
|
||||||
FCodeMap.visible := false;
|
//FCodeMap.visible := false;
|
||||||
FFindWnd.Visible := false;
|
FFindWnd.Visible := false;
|
||||||
FFileSave.Filter := array("any":"*.*","tsl文件":"*.tsl;*.tsf");
|
FFileSave.Filter := array("any":"*.*","tsl文件":"*.tsl;*.tsf");
|
||||||
FFileSave.Caption := "另存为";
|
FFileSave.Caption := "另存为";
|
||||||
|
|
@ -1850,12 +1851,17 @@ type TEditer=class(TCustomcontrol) //
|
||||||
//FInfoShowWnd.Caption := "信息:";
|
//FInfoShowWnd.Caption := "信息:";
|
||||||
////构造节点////////////////////////////////////////////////////
|
////构造节点////////////////////////////////////////////////////
|
||||||
//FToolBar.Parent := self;
|
//FToolBar.Parent := self;
|
||||||
|
|
||||||
|
FinCodemap := new tfincodemap(self);
|
||||||
|
FinCodemap.WsSizeBox := true;
|
||||||
fcoolbar.arrange := "0,1";
|
fcoolbar.arrange := "0,1";
|
||||||
fcoolbar.Parent := self;
|
|
||||||
FStatus.Parent := self;
|
FStatus.Parent := self;
|
||||||
FInfoShowWnd.Parent := self;
|
FInfoShowWnd.Parent := self;
|
||||||
|
FinCodemap.Parent := self;
|
||||||
|
fcoolbar.Parent := self;
|
||||||
FPageEditer.Parent := self;
|
FPageEditer.Parent := self;
|
||||||
FCodeMap.parent := self;
|
//FCodeMap.parent := self;
|
||||||
FGotoLineWnd.Parent := self;
|
FGotoLineWnd.Parent := self;
|
||||||
FFindWnd.parent := self;
|
FFindWnd.parent := self;
|
||||||
FFileopen.parent := self;
|
FFileopen.parent := self;
|
||||||
|
|
@ -1885,6 +1891,7 @@ type TEditer=class(TCustomcontrol) //
|
||||||
begin
|
begin
|
||||||
CreateAFile();
|
CreateAFile();
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
function PopUpAuxiliary();
|
function PopUpAuxiliary();
|
||||||
begin
|
begin
|
||||||
|
|
@ -2318,6 +2325,7 @@ type TEditer=class(TCustomcontrol) //
|
||||||
cp.PrePareCompletion(it.Caption);
|
cp.PrePareCompletion(it.Caption);
|
||||||
end
|
end
|
||||||
EditerCaretChanged(it.FEditer,nil);
|
EditerCaretChanged(it.FEditer,nil);
|
||||||
|
if FinCodemap then FinCodemap.ontimerdo();
|
||||||
end
|
end
|
||||||
function docloseapageitem(it);
|
function docloseapageitem(it);
|
||||||
begin
|
begin
|
||||||
|
|
@ -2708,11 +2716,13 @@ type TEditer=class(TCustomcontrol) //
|
||||||
if it.ScriptPathIs(n)then return it;
|
if it.ScriptPathIs(n)then return it;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
function EditerCaretChanged(o,e);
|
function EditerCaretChanged(o,e); //caret 位置改变
|
||||||
begin
|
begin
|
||||||
if GetCurrentEditer()=o then
|
if GetCurrentEditer()=o then
|
||||||
begin
|
begin
|
||||||
FStatus.setitemtext(format("col:%d | %s",o.CaretX,o.PageItem.EnCode),1);
|
FStatus.setitemtext(format("col:%d | %s",o.CaretX,o.PageItem.EnCode),1);
|
||||||
|
if FinCodemap and FinCodemap.Visible then
|
||||||
|
FinCodemap.caretchanged(o.CaretY);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
function OpenScriptByFileName(n);
|
function OpenScriptByFileName(n);
|
||||||
|
|
@ -3095,8 +3105,13 @@ type TEditer=class(TCustomcontrol) //
|
||||||
end
|
end
|
||||||
"代码地图(alt+m)":
|
"代码地图(alt+m)":
|
||||||
begin
|
begin
|
||||||
InitShowWndPos(FCodeMap,"cm",250,100);
|
//InitShowWndPos(FCodeMap,"cm",250,100);
|
||||||
FCodeMap.ShowMap();
|
//FCodeMap.ShowMap();
|
||||||
|
if FinCodemap and not(FinCodemap.Visible) then
|
||||||
|
begin
|
||||||
|
FinCodemap.doshow(true);
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -3111,22 +3126,25 @@ type TEditer=class(TCustomcontrol) //
|
||||||
end
|
end
|
||||||
function DoControlAlign();override; // 对齐
|
function DoControlAlign();override; // 对齐
|
||||||
begin
|
begin
|
||||||
if not(FPageEditer and FPageEditer.parent=self)then return;
|
if not(FPageEditer and FPageEditer.parent=self) then return;
|
||||||
|
|
||||||
rr := ClientRect;
|
rr := ClientRect;
|
||||||
r := rr;
|
r := rr;
|
||||||
|
codemapin := false;
|
||||||
|
if FinCodemap and not(FinCodemap.WSpOPUp)and FinCodemap.Visible and FinCodemap.Parent=self then
|
||||||
|
begin
|
||||||
|
codemapin := min(FinCodemap.Width,integer(r[2] * 0.5));
|
||||||
|
//FinCodemap.SetBoundsRect(r);
|
||||||
|
end
|
||||||
if fcoolbar.Parent = self then
|
if fcoolbar.Parent = self then
|
||||||
begin
|
begin
|
||||||
htoolbar := true;
|
htoolbar := true;
|
||||||
end
|
end
|
||||||
if htoolbar then
|
if htoolbar then
|
||||||
begin
|
begin
|
||||||
//th := FToolbar.CalcHeightFixWidth(rr[2]-rr[0]);
|
|
||||||
//r[3]:= r[0]+th;
|
|
||||||
//FToolBar.SetBoundsRect(r);
|
|
||||||
|
|
||||||
fcoolbar.DoControlAlign();
|
fcoolbar.DoControlAlign();
|
||||||
|
|
||||||
r[3]:= r[0]+fcoolbar.Height;
|
r[3]:= r[0]+fcoolbar.Height;
|
||||||
|
r[0]+=codemapin+2;
|
||||||
fcoolbar.SetBoundsRect(r);
|
fcoolbar.SetBoundsRect(r);
|
||||||
end
|
end
|
||||||
r := rr;
|
r := rr;
|
||||||
|
|
@ -3138,26 +3156,21 @@ type TEditer=class(TCustomcontrol) //
|
||||||
rr[1]:= fcoolbar.Height+1;
|
rr[1]:= fcoolbar.Height+1;
|
||||||
end
|
end
|
||||||
rr[3]:= rr[3]-FStatus.Height-1;
|
rr[3]:= rr[3]-FStatus.Height-1;
|
||||||
{if ffolderdlg and ffolderdlg.Visible then
|
|
||||||
begin
|
|
||||||
r := rr;
|
|
||||||
fwd := min(ffolderdlg.Width,integer(r[2] * 0.6));
|
|
||||||
r[2] := r[0]+fwd;
|
|
||||||
rr[0] := r[2]+1;
|
|
||||||
ffolderdlg.SetBoundsRect(r);
|
|
||||||
end }
|
|
||||||
if FInfoShowWnd.Visible and not(FInfoShowWnd.WSpOPUp)then
|
if FInfoShowWnd.Visible and not(FInfoShowWnd.WSpOPUp)then
|
||||||
begin
|
begin
|
||||||
r := rr;
|
r := rr;
|
||||||
|
|
||||||
r[1]:= r[3]-min(FInfoShowWnd.Height,integer(r[3] * 0.8)); //0.6 靠扩大到 0.8
|
r[1]:= r[3]-min(FInfoShowWnd.Height,integer(r[3] * 0.8)); //0.6 靠扩大到 0.8
|
||||||
rr[3]:= r[1]-1;
|
rr[3]:= r[1]-1;
|
||||||
|
|
||||||
{fwd := min(FInfoShowWnd.Width,integer(r[2] * 0.6)); //ÓÒ²à
|
|
||||||
r[0] := r[2]-fwd;
|
|
||||||
rr[2] := r[0]-1;}
|
|
||||||
FInfoShowWnd.SetBoundsRect(r);
|
FInfoShowWnd.SetBoundsRect(r);
|
||||||
end
|
end
|
||||||
|
if codemapin then
|
||||||
|
begin
|
||||||
|
r := rr;
|
||||||
|
r[1] := 1;
|
||||||
|
r[2] := codemapin;
|
||||||
|
rr[0] := codemapin+2;
|
||||||
|
FinCodemap.SetBoundsRect(r);
|
||||||
|
end
|
||||||
FPageEditer.SetBoundsRect(rr);
|
FPageEditer.SetBoundsRect(rr);
|
||||||
end
|
end
|
||||||
function CreateAFile(); //构造文件
|
function CreateAFile(); //构造文件
|
||||||
|
|
@ -3337,8 +3350,12 @@ type TEditer=class(TCustomcontrol) //
|
||||||
end
|
end
|
||||||
ord("M"):
|
ord("M"):
|
||||||
begin
|
begin
|
||||||
InitShowWndPos(FCodeMap,"cm",250,100);
|
//InitShowWndPos(FCodeMap,"cm",250,100);
|
||||||
FCodeMap.ShowMap();
|
//FCodeMap.ShowMap();
|
||||||
|
if FinCodemap and not(FinCodemap.Visible) then
|
||||||
|
begin
|
||||||
|
FinCodemap.doshow(1);
|
||||||
|
end
|
||||||
e.skip := true;
|
e.skip := true;
|
||||||
return true;
|
return true;
|
||||||
end
|
end
|
||||||
|
|
@ -3422,6 +3439,7 @@ type TEditer=class(TCustomcontrol) //
|
||||||
begin
|
begin
|
||||||
it.FEditer.ChangedFlag := true;
|
it.FEditer.ChangedFlag := true;
|
||||||
end
|
end
|
||||||
|
if FinCodemap then FinCodemap.ontimerdo();
|
||||||
return true;
|
return true;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -3561,7 +3579,7 @@ type TEditer=class(TCustomcontrol) //
|
||||||
FOnPageEditerChanged := nil;
|
FOnPageEditerChanged := nil;
|
||||||
fOnPageItemSelChanged := nil;
|
fOnPageItemSelChanged := nil;
|
||||||
FListPages := nil;
|
FListPages := nil;
|
||||||
FCodeMap := nil;
|
FinCodemap := nil;
|
||||||
FEchoWnd := nil;
|
FEchoWnd := nil;
|
||||||
FFindListWnd := nil;
|
FFindListWnd := nil;
|
||||||
FTempPageItem := nil;
|
FTempPageItem := nil;
|
||||||
|
|
@ -4095,7 +4113,8 @@ type TEditer=class(TCustomcontrol) //
|
||||||
FToolbar;
|
FToolbar;
|
||||||
FStatus;
|
FStatus;
|
||||||
FInfoShowWnd;
|
FInfoShowWnd;
|
||||||
FCodeMap;
|
//FCodeMap;
|
||||||
|
FinCodemap;
|
||||||
FListPages;
|
FListPages;
|
||||||
FFindWnd;
|
FFindWnd;
|
||||||
FFindListWnd;
|
FFindListWnd;
|
||||||
|
|
@ -4833,7 +4852,278 @@ type TEditerEchoWnd=class(TSynMemoNorm) //
|
||||||
FDoLockTime;
|
FDoLockTime;
|
||||||
F_Highlighter;
|
F_Highlighter;
|
||||||
end
|
end
|
||||||
|
type tfincodemap = class(tcustomcontrol)
|
||||||
|
function create(AOwner);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
Visible := false;
|
||||||
|
FTempNodes := array();
|
||||||
|
Width := 230;
|
||||||
|
Ftimer := new TTimer(self);
|
||||||
|
Ftimer.Interval := 200;
|
||||||
|
Ftimer.Ontimer := thisfunction(BdownTimeOut);
|
||||||
|
Ftimer.Enabled := false;
|
||||||
|
|
||||||
|
FList := new TCombobox(self);
|
||||||
|
flist.Width := 180;
|
||||||
|
ar := array("Class","Function","Statements","If","Else","SubCase","Goto","Try","Empty_Begin_End","NeedSql","Unit","property","Member");
|
||||||
|
flist.Multisel := true;
|
||||||
|
FList.AppendItems(ar);
|
||||||
|
flist.ItemIndex := 0->(length(ar)-1);
|
||||||
|
FList.Parent := self;
|
||||||
|
initbtn();
|
||||||
|
FTree := new TTreeView(self);
|
||||||
|
FTree.OnSelChanged := thisfunction(SynNodeSelected);
|
||||||
|
FTree.Parent := self;
|
||||||
|
end
|
||||||
|
function caretchanged(y);
|
||||||
|
begin
|
||||||
|
if fisloading then return ;
|
||||||
|
fissetnode := true;
|
||||||
|
GoToTheNode(y);
|
||||||
|
fissetnode := false;
|
||||||
|
end
|
||||||
|
function DoControlAlign();override;
|
||||||
|
begin
|
||||||
|
if FList and fcbtn and FTree and ffbtn then
|
||||||
|
begin
|
||||||
|
rr := ClientRect;
|
||||||
|
ffbtn.left := 1;
|
||||||
|
r := rr;
|
||||||
|
r[0] := 25;
|
||||||
|
r[2] := min(200,r[2]-55);
|
||||||
|
r[3] := 25;
|
||||||
|
FList.SetBoundsRect(r);
|
||||||
|
fcbtn.left := rr[2]-25;
|
||||||
|
r := rr;
|
||||||
|
r[1]:= 27;
|
||||||
|
r[0]:=1;
|
||||||
|
r[2]:=r[2]-3;
|
||||||
|
FTree.SetBoundsRect(r);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function doshow(f); //显示
|
||||||
|
begin
|
||||||
|
st := f?true:false;
|
||||||
|
Visible := st;
|
||||||
|
BdownTimeOut();
|
||||||
|
if st then
|
||||||
|
begin
|
||||||
|
ontimerdo();
|
||||||
|
//FTree.SetFocus();
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function SynNodeSelected(o,e);
|
||||||
|
begin
|
||||||
|
if fisloading then return ;
|
||||||
|
if fissetnode then return ;
|
||||||
|
edt := geteditor();
|
||||||
|
if not edt then return;
|
||||||
|
nd := FTree.CurrentNode;
|
||||||
|
if not nd then return ;
|
||||||
|
line := nd._tag;
|
||||||
|
if line>0 then
|
||||||
|
begin
|
||||||
|
edt.ExecuteCommand(edt.ecGoToXY,array(line,1));
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function hasFocus();override;
|
||||||
|
begin
|
||||||
|
return true;
|
||||||
|
end
|
||||||
|
function ontimerdo(o,e);
|
||||||
|
begin
|
||||||
|
{ 代码块快类型
|
||||||
|
#define Block_TypeClass 1
|
||||||
|
#define Block_Function 2
|
||||||
|
#define Block_Statements 4
|
||||||
|
#define Block_If 8
|
||||||
|
#define Block_Else 16
|
||||||
|
#define Block_SubCase 32
|
||||||
|
#define Block_Goto_Label 64
|
||||||
|
#define Block_Empty_Begin_End 128
|
||||||
|
#define Block_Try 256
|
||||||
|
#define Block_NeedSql 512
|
||||||
|
#define Block_UnitStruct 1024
|
||||||
|
}
|
||||||
|
// 处理逻辑
|
||||||
|
//定时器中重算节点,如果发生改变,并定位节点到当前行位置
|
||||||
|
//行位置变化,=== 定位到节点
|
||||||
|
//节点选中定位到 编辑器
|
||||||
|
//if Parent then o.Enabled := false;
|
||||||
|
if not Visible then return ;
|
||||||
|
if not FTree then return ;
|
||||||
|
edt := geteditor();
|
||||||
|
nd := FTree.RootNode;
|
||||||
|
if not edt then return nd.RecyclingChildren();
|
||||||
|
y := edt.CaretY;
|
||||||
|
s := edt.Text;
|
||||||
|
if FString = s then //文本没变
|
||||||
|
begin
|
||||||
|
if flistv=getblocktypes() then //类型没变
|
||||||
|
begin
|
||||||
|
return ;
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
FString := s;
|
||||||
|
flistv := getblocktypes();
|
||||||
|
if s then r := tsl_tokenizeex_2_(s,flistv);
|
||||||
|
else r := array();
|
||||||
|
fisloading := true;
|
||||||
|
nd.RecyclingChildren();
|
||||||
|
FTempNodes := array();
|
||||||
|
ScriptDelBlocks(r["blcks"],str2array(s,"\r\n"),nd,0);
|
||||||
|
GoToTheNode(y);
|
||||||
|
fisloading := false;
|
||||||
|
end
|
||||||
|
function WMNCLBUTTONDOWN(o,e):WM_NCLBUTTONDOWN;override;
|
||||||
|
begin
|
||||||
|
FIgnoreSize := true;
|
||||||
|
Ftimer.Enabled := true;
|
||||||
|
end
|
||||||
|
function BdownTimeOut(o,e); //定时器处理
|
||||||
|
begin
|
||||||
|
if(_wapi.GetAsyncKeyState(VK_LBUTTON).& 0xFF00)>0 then
|
||||||
|
begin
|
||||||
|
end else
|
||||||
|
begin
|
||||||
|
FIgnoreSize := false;
|
||||||
|
Ftimer.Enabled := false;
|
||||||
|
p := Parent;
|
||||||
|
if p then p.DoControlAlign();
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
function GoToTheNode(line);
|
||||||
|
begin
|
||||||
|
nd := FTempNodes[0];
|
||||||
|
for i,v in FTempNodes do
|
||||||
|
begin
|
||||||
|
if v._tag <= line then
|
||||||
|
begin
|
||||||
|
nd := v;
|
||||||
|
end else
|
||||||
|
if v._tag >= Line then
|
||||||
|
begin
|
||||||
|
FTree.SetSel(nd);
|
||||||
|
break;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function ScriptDelBlocks(blcks,strs,Node,ct);
|
||||||
|
begin
|
||||||
|
if not blcks then return;
|
||||||
|
for i,v in blcks do
|
||||||
|
begin
|
||||||
|
if v["mtype"]<> 1 then
|
||||||
|
begin
|
||||||
|
cnd := FTree.CreateTreeNode();
|
||||||
|
cnd.Caption := trim(strs[v["mbeg"]-1]);
|
||||||
|
cnd._tag := v["mbeg"];
|
||||||
|
FTempNodes[length(FTempNodes)]:= cnd;
|
||||||
|
cnd.parent := node;
|
||||||
|
end
|
||||||
|
if not cnd then cnd := node;
|
||||||
|
ScriptDelBlocks(v["msub"],strs,cnd,ct+1);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function getblocktypes();
|
||||||
|
begin
|
||||||
|
r := 0;
|
||||||
|
for i,v in FList.itemindex do
|
||||||
|
begin
|
||||||
|
r += 2^v;
|
||||||
|
end
|
||||||
|
return r;
|
||||||
|
end
|
||||||
|
function initbtn();
|
||||||
|
begin
|
||||||
|
fcbtn := new TBtn(self);
|
||||||
|
fcbtn.OnClick := function(o,e)
|
||||||
|
begin
|
||||||
|
doshow(0);
|
||||||
|
end
|
||||||
|
fcbtn.Caption := "";
|
||||||
|
fcbtn.top := 3;
|
||||||
|
fcbtn.Width := 20;
|
||||||
|
fcbtn.Height := 20;
|
||||||
|
fcbtn.Parent := self;
|
||||||
|
s := "0502000000060400000074797065000203000000696D670006040000006461746
|
||||||
|
10002C401000089504E470D0A1A0A0000000D4948445200000014000000140806
|
||||||
|
0000008D891D0D000000017352474200AECE1CE90000000467414D410000B18F0
|
||||||
|
BFC6105000000097048597300000EC300000EC301C76FA8640000015949444154
|
||||||
|
384F9D9431CA83401085F7625E21E015BC8156D639809D95AD36C142248568ED0
|
||||||
|
93C8277B0B0D99F4F32B2EB8EE1270F1EAC3B6FBE85901963156DDB66C771B455
|
||||||
|
55D93CCF6D1CC7873973478D8CA600B82C8B4D92C44651F4D564C85EE501BBAE5
|
||||||
|
39BBF991E5727709E67B5E13FA6577400D775F502455178DF9AAF19180770DF77
|
||||||
|
9BA6A917444DD3780DAEA921170A03961986C10B636968DB36A87187B4076199B
|
||||||
|
22C830296C6F7FB7DDE7146DA431896C9B24C2D6201F0BFC3C87DE06A58E6F178
|
||||||
|
A845B18010672D2386659800AD289EA6E983B3C759CB886119C6492BE2BEEF4F9
|
||||||
|
080B9D3B218966136B5E2EBF50A00F20035372B8665B4DFA5AEEBDB467988CCB5
|
||||||
|
06CBB035DC65F07C3E6F1BC4F22059B98301EB183DB686DBE006EF7CCDC8E6399
|
||||||
|
7C32F9B46EC6E1C6F7DFDB271DC4D833C20626BB8CBE2CE6464C3B80A8088ADC1
|
||||||
|
A0339B8C1313803973478D4C286BFF00D135DFBA6F19E4A90000000049454E44A
|
||||||
|
E42608200";
|
||||||
|
bmp := new TBitmap();
|
||||||
|
bmp.ReadVcon(HexformatStrToTsl(s));
|
||||||
|
fcbtn.BKBitmap := bmp;
|
||||||
|
ffbtn := new TBtn(self);
|
||||||
|
ffbtn.OnClick := function(o,e)
|
||||||
|
begin
|
||||||
|
//doshow(1);
|
||||||
|
ontimerdo();
|
||||||
|
end
|
||||||
|
ffbtn.Caption := "";
|
||||||
|
ffbtn.top := 3;
|
||||||
|
ffbtn.Width := 20;
|
||||||
|
ffbtn.Height := 20;
|
||||||
|
ffbtn.Parent := self;
|
||||||
|
s := "0502000000060400000074797065000203000000696D670006040000006461746
|
||||||
|
100029C01000089504E470D0A1A0A0000000D4948445200000014000000140806
|
||||||
|
0000008D891D0D000000017352474200AECE1CE90000000467414D410000B18F0
|
||||||
|
BFC6105000000097048597300000EC300000EC301C76FA8640000013149444154
|
||||||
|
384FBD940D8D834010464F10064000064000180001200004A0000318000128C00
|
||||||
|
0063030CD9B63B62D85CB5ED3F42513C8EEEC373F3BF0231FE67B82EBBA4ADBB6
|
||||||
|
92A6A90441A0C67B5DD732CFF3EEF5CAA960DFF72A1086A15455255DD7A9F11EC
|
||||||
|
7B1EE956529DBB6ED27EE3C099215360C83DAD9012020C1C8F8E8A382E338BAD2
|
||||||
|
78FAB02C8B8AE679BEAFFCA2824551489224AE5764E90355E0FFD85357323D222
|
||||||
|
23DC2D117FC49C87082599669D3C9EEAA7767344DA3591A4E9045B2FC2F9CF98E
|
||||||
|
209742D9BE585B6C360D2768BDF0BD6184B88C63654E102136F9027CB091C1984
|
||||||
|
51375826059F2BDFAC098E14FAB18747812044AB1A8D334EDAB7758638FE00CF4
|
||||||
|
B1452F8240FA163D8A221578FCEBB07735FCA782C02D7288C653920D3E6B7F0DF
|
||||||
|
EA5E0BB7C5850E4063EDA83420076B5E10000000049454E44AE42608200";
|
||||||
|
bmp := new TBitmap();
|
||||||
|
bmp.ReadVcon(HexformatStrToTsl(s));
|
||||||
|
ffbtn.BKBitmap := bmp;
|
||||||
|
end
|
||||||
|
function geteditor();
|
||||||
|
begin
|
||||||
|
if not owner then return 0;
|
||||||
|
it := Owner.GetCurrentItem();
|
||||||
|
edit := it.FEditer;
|
||||||
|
if not edit then return 0;
|
||||||
|
m := edit.HighLighter ;
|
||||||
|
if not(m is class(TTslSynHighLighter)) then
|
||||||
|
begin
|
||||||
|
return 0;
|
||||||
|
end
|
||||||
|
return edit;
|
||||||
|
|
||||||
|
end
|
||||||
|
fissetnode;
|
||||||
|
fisloading;
|
||||||
|
ffbtn;
|
||||||
|
FTempNodes; //节点
|
||||||
|
FTree;
|
||||||
|
fcbtn;
|
||||||
|
FList;
|
||||||
|
flistv;
|
||||||
|
Ftimer;
|
||||||
|
Ftimer2;
|
||||||
|
FString;
|
||||||
|
end
|
||||||
|
(*
|
||||||
type TTslCodeMap=class(TTreeView) //tsl代码地图
|
type TTslCodeMap=class(TTreeView) //tsl代码地图
|
||||||
function Create(AOwner);
|
function Create(AOwner);
|
||||||
begin
|
begin
|
||||||
|
|
@ -4971,7 +5261,7 @@ type TTslCodeMap=class(TTreeView) //tsl
|
||||||
FTempNodes; //节点
|
FTempNodes; //节点
|
||||||
FString; //字符串
|
FString; //字符串
|
||||||
FTreeEditer; //编辑框
|
FTreeEditer; //编辑框
|
||||||
end
|
end *)
|
||||||
type TListPages=class(TListBox)
|
type TListPages=class(TListBox)
|
||||||
function Create(AOwner);override;
|
function Create(AOwner);override;
|
||||||
begin
|
begin
|
||||||
|
|
@ -5026,7 +5316,7 @@ type TListPages=class(TListBox)
|
||||||
SetYpos(1+GetYPos()+(rc[3]-c[3]+1)/GetYScrollDelta());
|
SetYpos(1+GetYPos()+(rc[3]-c[3]+1)/GetYScrollDelta());
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
function GetSelFileName;
|
function GetSelFileName();
|
||||||
begin
|
begin
|
||||||
r := GetItem(getCurrentSelection());
|
r := GetItem(getCurrentSelection());
|
||||||
if pos("*",r)then
|
if pos("*",r)then
|
||||||
|
|
|
||||||
|
|
@ -6164,12 +6164,12 @@ type tgtk_ctl_scroll_window = class(tgtk_ctl_object)
|
||||||
scrlsize := 12;
|
scrlsize := 12;
|
||||||
if (fbarshow .& 1)=1 then //v
|
if (fbarshow .& 1)=1 then //v
|
||||||
begin
|
begin
|
||||||
_wapi.gtk_widget_set_size_request(FHscrollbar,w-scrlsize,scrlsize);
|
_wapi.gtk_widget_set_size_request(FHscrollbar,max(0,w-scrlsize),scrlsize);
|
||||||
end else _wapi.gtk_widget_set_size_request(FHscrollbar,w,scrlsize);
|
end else _wapi.gtk_widget_set_size_request(FHscrollbar,max(0,w),scrlsize);
|
||||||
if (fbarshow .& 2)=2 then //h
|
if (fbarshow .& 2)=2 then //h
|
||||||
begin
|
begin
|
||||||
_wapi.gtk_widget_set_size_request(Fvscrollbar,scrlsize,h-scrlsize);
|
_wapi.gtk_widget_set_size_request(Fvscrollbar,scrlsize,max(0,h-scrlsize));
|
||||||
end else _wapi.gtk_widget_set_size_request(Fvscrollbar,scrlsize,h);
|
end else _wapi.gtk_widget_set_size_request(Fvscrollbar,scrlsize,max(0,h));
|
||||||
_wapi.gtk_layout_move( FLayouter,FHscrollbar,0,h-scrlsize);
|
_wapi.gtk_layout_move( FLayouter,FHscrollbar,0,h-scrlsize);
|
||||||
_wapi.gtk_layout_move( FLayouter,Fvscrollbar,w-scrlsize,0);
|
_wapi.gtk_layout_move( FLayouter,Fvscrollbar,w-scrlsize,0);
|
||||||
if FClientWideget then
|
if FClientWideget then
|
||||||
|
|
@ -6182,7 +6182,7 @@ type tgtk_ctl_scroll_window = class(tgtk_ctl_object)
|
||||||
begin
|
begin
|
||||||
w-=11;
|
w-=11;
|
||||||
end
|
end
|
||||||
_wapi.gtk_widget_set_size_request(FClientWideget,w,h);
|
_wapi.gtk_widget_set_size_request(FClientWideget,max(0,w),max(0,h));
|
||||||
//inherited widgetsizechanged(h,w);
|
//inherited widgetsizechanged(h,w);
|
||||||
end //else inherited widgetsizechanged(h,w);
|
end //else inherited widgetsizechanged(h,w);
|
||||||
inherited widgetsizechanged(h,w); //clientrect
|
inherited widgetsizechanged(h,w); //clientrect
|
||||||
|
|
|
||||||
|
|
@ -2265,7 +2265,7 @@ implementation
|
||||||
function iffuncptr(fn);
|
function iffuncptr(fn);
|
||||||
begin
|
begin
|
||||||
//return datatype(fn)=7;
|
//return datatype(fn)=7;
|
||||||
return ifobj(fn);
|
return fn and ifobj(fn);
|
||||||
end
|
end
|
||||||
function includestate(u,s);
|
function includestate(u,s);
|
||||||
begin
|
begin
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue