hqchart 1.1.13280 → 1.1.13286

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6415,6 +6415,8 @@ var JSCHART_EVENT_ID=
6415
6415
  ON_CHANGE_INDEX:150, //切换指标
6416
6416
  ON_MENU_COMMAND:151, //菜单时间回调
6417
6417
  ON_CREATE_RIGHT_MENU:152, //创建右键菜单
6418
+
6419
+ ON_FORMAT_CALL_AUCTION_INDEX_TITLE:153, //集合竞价指标窗口标题内容
6418
6420
  }
6419
6421
 
6420
6422
  var JSCHART_OPERATOR_ID=
@@ -9610,14 +9612,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9610
9612
  }
9611
9613
  item.DrawStatus=drawStatus;
9612
9614
 
9613
- if (item.ClassName=="DynamicMinuteTitlePainting")
9614
- {
9615
- if (option && IFrameSplitOperator.IsNumber(option.ClientPos) && option.Point)
9616
- item.PointInfo={ ClientPos:option.ClientPos, Point:{ X:option.Point.X, Y:option.Point.Y }};
9617
- else
9618
- item.PointInfo=null;
9619
- }
9620
-
9615
+ var pointInfo=null;
9616
+ if (option && IFrameSplitOperator.IsNumber(option.ClientPos) && option.Point) //当前鼠标所在位置的详细信息 包含盘前盘后
9617
+ pointInfo={ ClientPos:option.ClientPos, Point:{ X:option.Point.X, Y:option.Point.Y }};
9618
+ item.PointInfo=pointInfo;
9619
+
9621
9620
  item.Draw(moveonPoint, this.LastMouseStatus);
9622
9621
  }
9623
9622
 
@@ -10377,9 +10376,6 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10377
10376
  for(var i=0;i<border.DayBorder.length;++i)
10378
10377
  {
10379
10378
  var client=border.DayBorder[i];
10380
- this.Canvas.beginPath();
10381
- this.Canvas.rect(client.LeftEx,border.TopEx,client.RightEx-client.LeftEx,border.BottomEx-border.TopEx);
10382
- if (this.Canvas.isPointInPath(x,y)) return 1;
10383
10379
 
10384
10380
  //盘前
10385
10381
  this.Canvas.beginPath();
@@ -10387,6 +10383,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10387
10383
  if (this.Canvas.isPointInPath(x,y))
10388
10384
  return 200+parseInt(i);
10389
10385
 
10386
+ //盘中
10387
+ this.Canvas.beginPath();
10388
+ this.Canvas.rect(client.LeftEx,border.TopEx,client.RightEx-client.LeftEx,border.BottomEx-border.TopEx);
10389
+ if (this.Canvas.isPointInPath(x,y)) return 1;
10390
+
10390
10391
  //盘后
10391
10392
  this.Canvas.beginPath();
10392
10393
  this.Canvas.rect(client.RightEx,border.TopEx,client.Right-client.RightEx,border.BottomEx-border.TopEx);
@@ -13666,6 +13667,8 @@ function ChartBorder()
13666
13667
  var item={ Left:this.Left+dayWidth*i, Right:this.Left+dayWidth*(i+1) };
13667
13668
  item.LeftEx=item.Left+this.MultiDayMinute.Left;
13668
13669
  item.RightEx=item.Right-this.MultiDayMinute.Right;
13670
+ if (i>0) item.Left+=1; //第2天的盘前 移到一个像素,跟上一天分开
13671
+
13669
13672
  dayBorder.push(item);
13670
13673
  }
13671
13674
 
@@ -14335,6 +14338,26 @@ function IChartFramePainting()
14335
14338
  {
14336
14339
 
14337
14340
  }
14341
+
14342
+ //bIncludeOverlay =false不包含叠加框架 true=主框架+叠加框架 默认true
14343
+ this.IsMinuteFrame=function(bIncludeOverlay)
14344
+ {
14345
+ var aryName=["MinuteFrame", "MinuteHScreenFrame", "OverlayMinuteFrame", "OverlayMinuteHScreenFrame"];
14346
+ if (bIncludeOverlay===false) aryName=["MinuteFrame", "MinuteHScreenFrame"];
14347
+
14348
+ var isMinute=aryName.includes(this.ClassName);
14349
+ return isMinute;
14350
+ }
14351
+
14352
+ //bIncludeOverlay =false不包含叠加框架 true=主框架+叠加框架 默认true
14353
+ this.IsKLineFrame=function(bIncludeOverlay)
14354
+ {
14355
+ var aryName=["KLineFrame", "KLineHScreenFrame", "KLineHScreenFrame", "OverlayKLineHScreenFrame"];
14356
+ if (bIncludeOverlay===false) aryName=["KLineFrame", "KLineHScreenFrame"];
14357
+
14358
+ var isKline=aryName.includes(this.ClassName);
14359
+ return isKline;
14360
+ }
14338
14361
  }
14339
14362
 
14340
14363
  //空框架只画边框
@@ -56425,6 +56448,7 @@ function DynamicChartTitlePainting()
56425
56448
  this.SelectedColor=g_JSChartResource.IndexTitleSelectedColor;
56426
56449
 
56427
56450
  this.IsKLineFrame=false; //是否是K线框架标题
56451
+ this.IsMinuteFrame=false;
56428
56452
  this.Identify; //指标ID
56429
56453
  this.SelectedChart; //选中的图形
56430
56454
  this.ArgumentsText; //参数信息
@@ -56447,6 +56471,7 @@ function DynamicChartTitlePainting()
56447
56471
  this.OverlayDynamicTitle=new Map(); //key , value={ OutName, OutValue }
56448
56472
 
56449
56473
  this.IsShowMainIndexTitle=true; //是否显示主图指标标题
56474
+ this.MainTitlePaint=null; //主标题
56450
56475
 
56451
56476
  this.ReloadResource=function()
56452
56477
  {
@@ -56861,7 +56886,8 @@ function DynamicChartTitlePainting()
56861
56886
  this.Buttons=[];
56862
56887
  if (this.Frame.IsMinSize) return;
56863
56888
 
56864
- this.IsKLineFrame= this.Frame.ClassName=='KLineFrame' || this.Frame.ClassName=='KLineHScreenFrame';
56889
+ this.IsKLineFrame= this.Frame.IsKLineFrame(false);
56890
+ this.IsMinuteFrame=this.Frame.IsMinuteFrame(false);
56865
56891
  this.IsDrawTitleBG=this.Frame.IsDrawTitleBG;
56866
56892
  this.IsShowNameArrow=this.Frame.IsShowNameArrow;
56867
56893
  this.IsShowUpDownArrow=this.Frame.IsShowTitleArrow;
@@ -56960,108 +56986,19 @@ function DynamicChartTitlePainting()
56960
56986
  if (isShowLastData) return;
56961
56987
  }
56962
56988
 
56963
- for(var i=0; i<this.Data.length && this.IsShowMainIndexTitle; ++i)
56989
+ var rtText={ Left:left, Right:left };
56990
+ if (this.IsMinuteFrame && this.PointInfo && ( this.PointInfo.ClientPos==2 || this.PointInfo.ClientPos==3 || (this.PointInfo.ClientPos>=200&& this.PointInfo.ClientPos<=299) || (this.PointInfo.ClientPos>=300&& this.PointInfo.ClientPos<=399) ))
56964
56991
  {
56965
- var item=this.Data[i];
56966
- var outText=this.GetTitleItem(item, isShowLastData, i);
56967
- if (!outText) continue;
56968
-
56969
- var valueText=outText.Text;
56970
- var aryText=outText.ArrayText;
56971
-
56972
- if (aryText) //多变量输出
56973
- {
56974
- var text;
56975
- for(var k=0;k<aryText.length;++k)
56976
- {
56977
- var titleItem=aryText[k];
56978
- if (titleItem.Name) text=titleItem.Name+":"+titleItem.Text;
56979
- else text=titleItem.Text;
56980
-
56981
- var space=this.ParamSpace*GetDevicePixelRatio();
56982
- var indexTextWidth=this.Canvas.measureText(text).width; //标题+数值长度
56983
- var textWidth=indexTextWidth;
56984
-
56985
- if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
56986
- {
56987
- var xLeft=left;
56988
- for(var n=0; n<titleItem.TextEx.length; ++n)
56989
- {
56990
- var outItem=titleItem.TextEx[n];
56991
- var outTextWidth=this.Canvas.measureText(outItem.Text).width+2;
56992
- outItem.Width=outTextWidth;
56993
- outItem.Left=xLeft;
56994
-
56995
- textWidth+=outTextWidth;
56996
- xLeft+=outTextWidth;
56997
- }
56998
- }
56999
-
57000
- if ((left+textWidth+space)>right) break;
57001
-
57002
- if (titleItem.BG) //背景
57003
- {
57004
- var textHeight=this.Canvas.measureText("擎").width+2;
57005
- var rtBG={ Left:left, Top:bottom-textHeight/2, Width:textWidth, Height:textHeight };
57006
- this.Canvas.fillStyle=titleItem.BG;
57007
- this.Canvas.fillRect(rtBG.Left,rtBG.Top-1, rtBG.Width, rtBG.Height);
57008
-
57009
- this.Canvas.fillStyle=titleItem.Color;
57010
- this.Canvas.fillText(text,rtBG.Left+1,bottom,indexTextWidth);
57011
- left+=indexTextWidth;
57012
-
57013
- if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
57014
- {
57015
- for(var n=0; n<titleItem.TextEx.length; ++n)
57016
- {
57017
- var outItem=titleItem.TextEx[n];
57018
- this.Canvas.fillStyle=outItem.TextColor;
57019
- this.Canvas.fillText(outItem.Text,left,bottom,outItem.Width);
57020
- left+=outItem.Width;
57021
- }
57022
- }
57023
-
57024
- left+=space;
57025
- }
57026
- else
57027
- {
57028
- this.Canvas.fillStyle=titleItem.Color;
57029
- this.Canvas.fillText(text,left,bottom,indexTextWidth);
57030
- left+=indexTextWidth;
57031
-
57032
- if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
57033
- {
57034
- for(var n=0; n<titleItem.TextEx.length; ++n)
57035
- {
57036
- var outItem=titleItem.TextEx[n];
57037
- this.Canvas.fillStyle=outItem.TextColor;
57038
- this.Canvas.fillText(outItem.Text,left,bottom,outItem.Width);
57039
- left+=outItem.Width;
57040
- }
57041
- }
57042
-
57043
- left+=space;
57044
- }
57045
- }
57046
- }
57047
- else
57048
- {
57049
- this.Canvas.fillStyle=item.Color;
57050
- var text=valueText;
57051
- if (item.Name)
57052
- {
57053
- var dyTitle=this.GetDynamicOutName(item.Name);
57054
- if (dyTitle) text=dyTitle+":"+valueText;
57055
- else text=item.Name+":"+valueText;
57056
- }
57057
- var space=this.ParamSpace*GetDevicePixelRatio();
57058
- var textWidth=this.Canvas.measureText(text).width+space;
57059
- if ((left+textWidth)>right) break;
57060
-
57061
- this.Canvas.fillText(text,left,bottom,textWidth);
57062
- left+=textWidth;
57063
- }
56992
+ var result={ PreventDefault:false }
56993
+ this.DrawMainCallAuction({ Left:left, Right:right, Bottom:bottom }, rtText, result);
56994
+ if (result.PreventDefault===false) this.DrawMainIndexTitle({ Left:left, Right:right, Bottom:bottom }, isShowLastData, rtText);
57064
56995
  }
56996
+ else
56997
+ {
56998
+ this.DrawMainIndexTitle({ Left:left, Right:right, Bottom:bottom }, isShowLastData, rtText);
56999
+ }
57000
+
57001
+ left=rtText.Left;
57065
57002
 
57066
57003
  if (this.Explain) //说明信息
57067
57004
  {
@@ -57265,6 +57202,185 @@ function DynamicChartTitlePainting()
57265
57202
  return { Text:valueText, ArrayText:aryText };
57266
57203
  }
57267
57204
 
57205
+ //绘制主图指标 rtText 返回画完以后的区域
57206
+ this.DrawMainIndexTitle=function(positionInfo, isShowLastData, rtText)
57207
+ {
57208
+ if (!this.IsShowMainIndexTitle) return;
57209
+
57210
+ var left=positionInfo.Left;
57211
+ var right=positionInfo.Right;
57212
+ var bottom=positionInfo.Bottom;
57213
+
57214
+ for(var i=0; i<this.Data.length; ++i)
57215
+ {
57216
+ var item=this.Data[i];
57217
+ var outText=this.GetTitleItem(item, isShowLastData, i);
57218
+ if (!outText) continue;
57219
+
57220
+ var valueText=outText.Text;
57221
+ var aryText=outText.ArrayText;
57222
+
57223
+ if (aryText) //多变量输出
57224
+ {
57225
+ var text;
57226
+ for(var k=0;k<aryText.length;++k)
57227
+ {
57228
+ var titleItem=aryText[k];
57229
+ if (titleItem.Name) text=titleItem.Name+":"+titleItem.Text;
57230
+ else text=titleItem.Text;
57231
+
57232
+ var space=this.ParamSpace*GetDevicePixelRatio();
57233
+ var indexTextWidth=this.Canvas.measureText(text).width; //标题+数值长度
57234
+ var textWidth=indexTextWidth;
57235
+
57236
+ if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
57237
+ {
57238
+ var xLeft=left;
57239
+ for(var n=0; n<titleItem.TextEx.length; ++n)
57240
+ {
57241
+ var outItem=titleItem.TextEx[n];
57242
+ var outTextWidth=this.Canvas.measureText(outItem.Text).width+2;
57243
+ outItem.Width=outTextWidth;
57244
+ outItem.Left=xLeft;
57245
+
57246
+ textWidth+=outTextWidth;
57247
+ xLeft+=outTextWidth;
57248
+ }
57249
+ }
57250
+
57251
+ if ((left+textWidth+space)>right) break;
57252
+
57253
+ if (titleItem.BG) //背景
57254
+ {
57255
+ var textHeight=this.Canvas.measureText("擎").width+2;
57256
+ var rtBG={ Left:left, Top:bottom-textHeight/2, Width:textWidth, Height:textHeight };
57257
+ this.Canvas.fillStyle=titleItem.BG;
57258
+ this.Canvas.fillRect(rtBG.Left,rtBG.Top-1, rtBG.Width, rtBG.Height);
57259
+
57260
+ this.Canvas.fillStyle=titleItem.Color;
57261
+ this.Canvas.fillText(text,rtBG.Left+1,bottom,indexTextWidth);
57262
+ left+=indexTextWidth;
57263
+
57264
+ if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
57265
+ {
57266
+ for(var n=0; n<titleItem.TextEx.length; ++n)
57267
+ {
57268
+ var outItem=titleItem.TextEx[n];
57269
+ this.Canvas.fillStyle=outItem.TextColor;
57270
+ this.Canvas.fillText(outItem.Text,left,bottom,outItem.Width);
57271
+ left+=outItem.Width;
57272
+ }
57273
+ }
57274
+
57275
+ left+=space;
57276
+ }
57277
+ else
57278
+ {
57279
+ this.Canvas.fillStyle=titleItem.Color;
57280
+ this.Canvas.fillText(text,left,bottom,indexTextWidth);
57281
+ left+=indexTextWidth;
57282
+
57283
+ if (IFrameSplitOperator.IsNonEmptyArray(titleItem.TextEx))
57284
+ {
57285
+ for(var n=0; n<titleItem.TextEx.length; ++n)
57286
+ {
57287
+ var outItem=titleItem.TextEx[n];
57288
+ this.Canvas.fillStyle=outItem.TextColor;
57289
+ this.Canvas.fillText(outItem.Text,left,bottom,outItem.Width);
57290
+ left+=outItem.Width;
57291
+ }
57292
+ }
57293
+
57294
+ left+=space;
57295
+ }
57296
+ }
57297
+ }
57298
+ else
57299
+ {
57300
+ this.Canvas.fillStyle=item.Color;
57301
+ var text=valueText;
57302
+ if (item.Name)
57303
+ {
57304
+ var dyTitle=this.GetDynamicOutName(item.Name);
57305
+ if (dyTitle) text=dyTitle+":"+valueText;
57306
+ else text=item.Name+":"+valueText;
57307
+ }
57308
+ var space=this.ParamSpace*GetDevicePixelRatio();
57309
+ var textWidth=this.Canvas.measureText(text).width+space;
57310
+ if ((left+textWidth)>right) break;
57311
+
57312
+ this.Canvas.fillText(text,left,bottom,textWidth);
57313
+ left+=textWidth;
57314
+ }
57315
+ }
57316
+
57317
+ rtText.Left=left;
57318
+ }
57319
+
57320
+ //集合竞价
57321
+ this.DrawMainCallAuction=function(positionInfo, rtText, result)
57322
+ {
57323
+ if (!this.IsShowMainIndexTitle) return;
57324
+ if (!this.MainTitlePaint) return;
57325
+ var auctionData=this.MainTitlePaint.GetCurrentAuctionData(); //集合竞价分时数据
57326
+ if (!auctionData || !auctionData.Data) return;
57327
+ if (!this.GetEventCallback) return;
57328
+
57329
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CALL_AUCTION_INDEX_TITLE);
57330
+ if (!event) return;
57331
+
57332
+ var data={ AuctionData:auctionData, Data:this.Data, FrameID:this.Frame.Identify, Out:null, PreventDefault:false };
57333
+ event.Callback(event,data,this);
57334
+ result.PreventDefault=data.PreventDefault;
57335
+
57336
+ if (!IFrameSplitOperator.IsNonEmptyArray(data.Out)) return;
57337
+
57338
+ var left=positionInfo.Left;
57339
+ var right=positionInfo.Right;
57340
+ var bottom=positionInfo.Bottom;
57341
+ var pixelRatio=GetDevicePixelRatio();
57342
+
57343
+ var aryText=data.Out; //[{Text:, Color, Space:间距 }]
57344
+ for(var i=0; i<aryText.length; ++i)
57345
+ {
57346
+ var item=aryText[i];
57347
+ if (!item.Text) continue;
57348
+ var textWidth=this.Canvas.measureText(item.Text).width+2;
57349
+ if (left+textWidth>right) break;
57350
+
57351
+ if (item.BGColor) //背景
57352
+ {
57353
+ var textHeight=this.Canvas.measureText("擎").width+2;
57354
+ var rtBG={ Left:left, Top:bottom-textHeight/2, Width:textWidth, Height:textHeight };
57355
+ this.Canvas.fillStyle=item.BGColor;
57356
+ this.Canvas.fillRect(rtBG.Left,rtBG.Top-1, rtBG.Width, rtBG.Height);
57357
+ left+=1;
57358
+ }
57359
+
57360
+ this.Canvas.fillStyle=item.Color;
57361
+ this.Canvas.fillText(item.Text,left,bottom,textWidth);
57362
+ left+=textWidth;
57363
+
57364
+ if (IFrameSplitOperator.IsPlusNumber(item.Space)) left+=item.Space*pixelRatio;
57365
+ }
57366
+
57367
+ rtText.Left=left;
57368
+ }
57369
+
57370
+ this.GetCallAuctionTitleItem=function(item, titleIndex, auctionData)
57371
+ {
57372
+ if (item.IsShow===false) return null;
57373
+ if (item.IsVisible===false) return null;
57374
+ if (!item || !item.Data || !item.Data.Data) return null;
57375
+
57376
+ if (g_ScriptIndexChartFactory.Has(item.DataType)) //外部挂接
57377
+ {
57378
+ var find=g_ScriptIndexChartFactory.Get(item.DataType);
57379
+ if (find && find.FormatTitleCallback)
57380
+ return find.FormatTitleCallback(value, item, dataIndex);
57381
+ }
57382
+ }
57383
+
57268
57384
  //获取上一个有效数据
57269
57385
  this.GetPreVaildItem=function(data, start)
57270
57386
  {
@@ -72583,8 +72699,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
72583
72699
  }
72584
72700
 
72585
72701
  //绑定主图K线数据
72586
- this.BindMainData=function(hisData,showCount)
72702
+ this.BindMainData=function(hisData, showCount, chartOperator)
72587
72703
  {
72704
+ var isShowAll=false; //全部显示
72705
+ if (chartOperator && chartOperator.IsShowAll===true) isShowAll=true;
72588
72706
  this.ChartPaint[0].Data=hisData;
72589
72707
  this.ChartPaint[0].Symbol=this.Symbol;
72590
72708
 
@@ -72605,9 +72723,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
72605
72723
  for(var i=0;i<this.Frame.SubFrame.length;++i)
72606
72724
  {
72607
72725
  var item =this.Frame.SubFrame[i].Frame;
72608
- item.XPointCount=showCount+this.RightSpaceCount;
72609
- item.Data=this.ChartPaint[0].Data;
72726
+ if (isShowAll) item.XPointCount=hisData.Data.length+this.RightSpaceCount;
72727
+ else item.XPointCount=showCount+this.RightSpaceCount;
72610
72728
 
72729
+ item.Data=this.ChartPaint[0].Data;
72611
72730
  item.XSplitOperator.Symbol=this.Symbol;
72612
72731
  item.XSplitOperator.Period=this.Period;
72613
72732
  }
@@ -72626,17 +72745,25 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
72626
72745
  item.MainData=this.ChartPaint[0].Data;
72627
72746
  }
72628
72747
 
72629
- var dataOffset=hisData.Data.length-showCount;
72630
- if (dataOffset<0) dataOffset=0;
72631
- this.ChartPaint[0].Data.DataOffset=dataOffset;
72632
- this.ChartPaint[0].Period=this.Period;
72748
+ if (isShowAll)
72749
+ {
72750
+ var dataOffset=0;
72751
+ this.CursorIndex=0;
72752
+ }
72753
+ else
72754
+ {
72755
+ var dataOffset=hisData.Data.length-showCount;
72756
+ if (dataOffset<0) dataOffset=0;
72757
+ this.ChartPaint[0].Data.DataOffset=dataOffset;
72758
+
72759
+ this.CursorIndex=showCount;
72760
+ if (this.CursorIndex+dataOffset>=hisData.Data.length) this.CursorIndex=hisData.Data.length-1-dataOffset;
72761
+ if (this.CursorIndex<0) this.CursorIndex=0; //不一定对啊
72762
+ }
72633
72763
 
72764
+ this.ChartPaint[0].Period=this.Period;
72634
72765
  this.ChartCorssCursor.StringFormatY.Symbol=this.Symbol;
72635
72766
 
72636
- this.CursorIndex=showCount;
72637
- if (this.CursorIndex+dataOffset>=hisData.Data.length) this.CursorIndex=hisData.Data.length-1-dataOffset;
72638
- if (this.CursorIndex<0) this.CursorIndex=0; //不一定对啊
72639
-
72640
72767
  if (this.CustomShow) //定制显示 1次有效
72641
72768
  {
72642
72769
  this.SetCustomShow(this.CustomShow,hisData);
@@ -73505,8 +73632,16 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
73505
73632
  //绑定数据
73506
73633
  this.Symbol=data.symbol;
73507
73634
  this.Name=data.name;
73635
+
73636
+ var chartOperator=null; //额外的图形控制
73637
+ if (data && data.ChartOperator)
73638
+ {
73639
+ var item=data.ChartOperator;
73640
+ chartOperator={ };
73641
+ if (item.IsShowAll===true) chartOperator.IsShowAll=true; //全部显示
73642
+ }
73508
73643
 
73509
- this.BindMainData(bindData,this.PageSize);
73644
+ this.BindMainData(bindData,this.PageSize,chartOperator);
73510
73645
  if (this.AfterBindMainData) this.AfterBindMainData("RecvMinuteHistoryData");
73511
73646
  this.Frame.SetSizeChage(true);
73512
73647
 
@@ -80765,6 +80900,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
80765
80900
  titlePaint.LanguageID=this.LanguageID;
80766
80901
  titlePaint.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
80767
80902
  titlePaint.SelectedChart=this.SelectedChart;
80903
+ titlePaint.MainTitlePaint=this.TitlePaint[0];
80768
80904
  this.TitlePaint.push(titlePaint);
80769
80905
  }
80770
80906
 
@@ -80976,7 +81112,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
80976
81112
  titlePaint.Frame=this.Frame.SubFrame[index].Frame;
80977
81113
  titlePaint.Canvas=this.Canvas;
80978
81114
  titlePaint.LanguageID=this.LanguageID;
80979
- titlePaint.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
81115
+ titlePaint.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
81116
+ titlePaint.MainTitlePaint=this.TitlePaint[0];
80980
81117
  this.TitlePaint[index+1]=titlePaint;
80981
81118
 
80982
81119
  this.SetSubFrameOption(subFrame,option);
@@ -81213,6 +81350,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
81213
81350
  titlePaint.LanguageID=this.LanguageID;
81214
81351
  titlePaint.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
81215
81352
  titlePaint.SelectedChart=this.SelectedChart;
81353
+ titlePaint.MainTitlePaint=this.TitlePaint[0];
81216
81354
  this.TitlePaint[i+1]=titlePaint;
81217
81355
  }
81218
81356
 
@@ -81299,6 +81437,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
81299
81437
  titlePaint.LanguageID=this.LanguageID;
81300
81438
  titlePaint.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
81301
81439
  titlePaint.SelectedChart=this.SelectedChart;
81440
+ titlePaint.MainTitlePaint=this.TitlePaint[0];
81302
81441
  this.TitlePaint[i+1]=titlePaint;
81303
81442
  }
81304
81443
  }
@@ -113724,15 +113863,9 @@ function JSExplainer(ast,option)
113724
113863
 
113725
113864
  if (g_JSComplierResource.IsCustomFunction(funcName))
113726
113865
  {
113727
- var data=this.Algorithm.CallCustomFunction(funcName, args, this.SymbolData, node);
113728
- node.Out=[];
113729
- node.Draw=null;
113730
-
113731
- if (data)
113732
- {
113733
- if (data.Out) node.Out=data.Out;
113734
- if (data.Draw) node.Draw=data.Draw;
113735
- }
113866
+ var functionInfo=g_JSComplierResource.CustomFunction.Data.get(funcName);
113867
+ if (!functionInfo.Description) node.Out=`自定义函数${funcName}`;
113868
+ else node.Out=functionInfo.Description;
113736
113869
 
113737
113870
  return node.Out;
113738
113871
  }
@@ -114351,7 +114484,12 @@ function JSExplainer(ast,option)
114351
114484
  return data;
114352
114485
  }
114353
114486
 
114354
- if (g_JSComplierResource.IsCustomVariant(name)) return this.ReadCustomVariant(name,node); //读取自定义变量
114487
+ if (g_JSComplierResource.IsCustomVariant(name))
114488
+ {
114489
+ var variantInfo=g_JSComplierResource.CustomVariant.Data.get(name); //读取自定义变量
114490
+ if (variantInfo.Description) return variantInfo.Description;
114491
+ else return name;
114492
+ }
114355
114493
 
114356
114494
  if (this.VarTable.has(name)) return this.VarTable.get(name);
114357
114495
 
@@ -132217,7 +132355,7 @@ function ScrollBarBGChart()
132217
132355
 
132218
132356
 
132219
132357
 
132220
- var HQCHART_VERSION="1.1.13279";
132358
+ var HQCHART_VERSION="1.1.13285";
132221
132359
 
132222
132360
  function PrintHQChartVersion()
132223
132361
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13279";
8
+ var HQCHART_VERSION="1.1.13285";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {