-
Notifications
You must be signed in to change notification settings - Fork 243
Expand file tree
/
Copy pathapi.html
More file actions
1681 lines (1681 loc) · 173 KB
/
api.html
File metadata and controls
1681 lines (1681 loc) · 173 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
<title>STNodeEditor - API</title>
<link rel="stylesheet" type="text/css" href="./css/stdoc.css"/>
<script type="text/javascript" src="./js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="./js/stdoc.js"></script>
</head>
<body>
<div id="div_body">
<div id="div_left">
<div id="div_left_list">
<ul class='ul_group_root'>
<li>
<a class='a_node_root anchor_btn' anchor='a_a'>STNodeEditor</a>
<ul>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_b'>Properties</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_c'>Protected fields</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_d'>Events</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_e'>Virtual method</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_f'>public method</a></li>
</ul>
</li>
<li>
<a class='a_node_root anchor_btn' anchor='a_g'>STNode</a>
<ul>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_h'>Properties</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_i'>Protected fields</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_j'>Virtual method</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_k'>public method</a></li>
</ul>
</li>
<li>
<a class='a_node_root anchor_btn' anchor='a_l'>STNodeOption</a>
<ul>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_m'>Properties</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_n'>Events</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_o'>Constructor</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_p'>Virtual method</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_q'>public method</a></li>
</ul>
</li>
<li>
<a class='a_node_root anchor_btn' anchor='a_r'>STNodePropertyGrid</a>
<ul>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_s'>Properties</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_t'>Protected fields</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_u'>Virtual method</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_v'>public method</a></li>
</ul>
</li>
<li>
<a class='a_node_root anchor_btn' anchor='a_w'>STNodeTreeView</a>
<ul>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_x'>Properties</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_y'>Virtual method</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='a_z'>public method</a></li>
</ul>
</li>
<li>
<a class='a_node_root anchor_btn' anchor='b_a'>STNodeTreeCollection</a>
<ul>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_b'>Properties</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_c'>Constructor</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_d'>public method</a></li>
</ul>
</li>
<li>
<a class='a_node_root anchor_btn' anchor='b_e'>STNodeEditorPannel</a>
<ul>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_f'>Properties</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_g'>public method</a></li>
</ul>
</li>
<li>
<a class='a_node_root anchor_btn' anchor='b_h'>STNodeAttribute</a>
<ul>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_i'>Properties</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_j'>Constructor</a></li>
</ul>
</li>
<li>
<a class='a_node_root anchor_btn' anchor='b_k'>STNodePropertyAttribute</a>
<ul>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_l'>Properties</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_m'>Constructor</a></li>
</ul>
</li>
<li>
<a class='a_node_root anchor_btn' anchor='b_n'>STNodePropertyDescriptor</a>
<ul>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_o'>Properties</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_p'>Virtual method</a></li>
<li class='li_node_sub'><a class='anchor_btn' anchor='b_q'>public method</a></li>
</ul>
</li>
</ul><span class='span_time'>2021-04-29</span>
</div>
</div>
<div id="div_right">
<div>
<h1 class='h_title anchor_point' anchor='a_a'>STNodeEditor</h1>
<div><h2 class='h_option anchor_point' anchor='a_b'>Properties</h2></div>
<div class='div_table'>
<table>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
<tr><td>CanvasOffsetX</td><td>float</td><td>获取画布原点相对于控件 X 方向上的偏移位置</td></tr>
<tr class='tr_hight'><td>CanvasOffsetY</td><td>float</td><td>获取画布原点相对于控件 Y 方向上的偏移位置</td></tr>
<tr><td>CanvasOffset</td><td>PointF</td><td>获取画布原点相对于控件偏移位置</td></tr>
<tr class='tr_hight'><td>CanvasValidBounds</td><td>Rectangle</td><td>获取画布中的有被用到的有效区域</td></tr>
<tr><td>CanvasScale</td><td>float</td><td>获取画布的缩放比例</td></tr>
<tr class='tr_hight'><td>Curvature</td><td>float</td><td>获取或设置 Option 之间连线的曲度</td></tr>
<tr><td>ShowMagnet</td><td>bool</td><td>获取或设置移动画布中 Node 时候 是否启用磁铁效果</td></tr>
<tr class='tr_hight'><td>ShowBorder</td><td>bool</td><td>获取或设置 移动画布中是否显示 Node 边框</td></tr>
<tr><td>ShowGrid</td><td>bool</td><td>获取或设置画布中是否绘制背景网格线条</td></tr>
<tr class='tr_hight'><td>ShowLocation</td><td>bool</td><td>获取或设置是否在画布边缘显示超出视角的 Node 位置信息</td></tr>
<tr><td>Nodes</td><td>STNodeCollection</td><td>获取画布中 Node 集合</td></tr>
<tr class='tr_hight'><td>ActiveNode</td><td>STNode</td><td>获取当前画布中被选中的活动 Node</td></tr>
<tr><td>HoverNode</td><td>STNode</td><td>获取当前画布中鼠标悬停的 Node</td></tr>
<tr class='tr_hight'><td>GridColor</td><td>Color</td><td>获取或设置绘制画布背景时 网格线条颜色</td></tr>
<tr><td>BorderColor</td><td>Color</td><td>获取或设置画布中 Node 边框颜色</td></tr>
<tr class='tr_hight'><td>BorderHoverColor</td><td>Color</td><td>获取或设置画布中悬停 Node 边框颜色</td></tr>
<tr><td>BorderSelectedColor</td><td>Color</td><td>获取或设置画布中选中 Node 边框颜色</td></tr>
<tr class='tr_hight'><td>BorderActiveColor</td><td>Color</td><td>获取或设置画布中活动 Node 边框颜色</td></tr>
<tr><td>MarkForeColor</td><td>Color</td><td>获取或设置画布绘制 Node 标记详情采用的前景色</td></tr>
<tr class='tr_hight'><td>MarkBackColor</td><td>Color</td><td>获取或设置画布绘制 Node 标记详情采用的背景色</td></tr>
<tr><td>MagnetColor</td><td>Color</td><td>获取或设置画布中移动 Node 时候 磁铁标记颜色</td></tr>
<tr class='tr_hight'><td>SelectedRectangleColor</td><td>Color</td><td>获取或设置画布中选择矩形区域的颜色</td></tr>
<tr><td>HighLineColor</td><td>Color</td><td>获取或设置画布中高亮连线的颜色</td></tr>
<tr class='tr_hight'><td>LocationForeColor</td><td>Color</td><td>获取或设置画布中边缘位置提示区域前景色</td></tr>
<tr><td>LocationBackColor</td><td>Color</td><td>获取或设置画布中边缘位置提示区域背景色</td></tr>
<tr class='tr_hight'><td>UnknownTypeColor</td><td>Color</td><td>获取或设置画布中当 Node 中 Option 数据类型无法确定时应当使用的颜色</td></tr>
</table>
</div>
<div><h2 class='h_option anchor_point' anchor='a_c'>Protected fields</h2></div>
<div class='div_table'>
<table>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
<tr><td>m_pt_in_control</td><td>Point</td><td>当前鼠标在控件中的实时位置</td></tr>
<tr class='tr_hight'><td>m_pt_in_canvas</td><td>PointF</td><td>当前鼠标在画布中的实时位置</td></tr>
<tr><td>m_pt_down_in_control</td><td>Point</td><td>鼠标点击时在控件上的位置</td></tr>
<tr class='tr_hight'><td>m_pt_down_in_canvas</td><td>PointF</td><td>鼠标点击时在画布中的位置</td></tr>
<tr><td>m_pt_canvas_old</td><td>PointF</td><td>用于鼠标点击移动画布时候 鼠标点下时候的画布坐标位置</td></tr>
<tr class='tr_hight'><td>m_pt_dot_down</td><td>Point</td><td>用于保存连线过程中保存点下 Option 的起点坐标</td></tr>
<tr><td>m_option_down</td><td>STNodeOption</td><td>用于保存连线过程中鼠标点下的起点Option 当MouseUP时候 确定是否连接此节点</td></tr>
<tr class='tr_hight'><td>m_node_down</td><td>STNode</td><td>当前鼠标点下的 STNode</td></tr>
<tr><td>m_mouse_in_control</td><td>bool</td><td>当前鼠标是否位于控件中</td></tr>
</table>
</div>
<div><h2 class='h_option anchor_point' anchor='a_d'>Events</h2></div>
<div class='div_table'>
<table>
<tr><th>Name</th><th>Description</th></tr>
<tr><td>ActiveChanged</td><td>活动的节点发生变化时候发生</td></tr>
<tr class='tr_hight'><td>SelectedChanged</td><td>选择的节点发生变化时候发生</td></tr>
<tr><td>HoverChanged</td><td>悬停的节点发生变化时候发生</td></tr>
<tr class='tr_hight'><td>NodeAdded</td><td>当节点被添加时候发生</td></tr>
<tr><td>NodeRemoved</td><td>当节点被移除时候发生</td></tr>
<tr class='tr_hight'><td>CanvasMoved</td><td>移动画布原点时候发生</td></tr>
<tr><td>CanvasScaled</td><td>缩放画布时候发生</td></tr>
<tr class='tr_hight'><td>OptionConnected</td><td>连接节点选项时候发生</td></tr>
<tr><td>OptionConnecting</td><td>正在连接节点选项时候发生</td></tr>
<tr class='tr_hight'><td>OptionDisConnected</td><td>断开节点选项时候发生</td></tr>
<tr><td>OptionDisConnecting</td><td>正在断开节点选项时候发生</td></tr>
</table>
</div>
<div><h2 class='h_option anchor_point' anchor='a_e'>Virtual method</h2></div>
<span style='display:block'><span class='span_code_title'>OnDrawGrid</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当绘制背景网格线时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"nWidth"</span>><span class='code_note_1'>需要绘制宽度</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"nHeight"</span>><span class='code_note_1'>需要绘制高度</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawGrid(<span class='code_class'>DrawingTools</span> dt, <span class='code_key'>int</span> nWidth, <span class='code_key'>int</span> nHeight);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawNode</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当绘制 Node 时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"rect"</span>><span class='code_note_1'>可视画布区域大小</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawNode(<span class='code_class'>DrawingTools</span> dt, <span class='code_class'>Rectangle</span> rect);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawNodeBorder</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当绘制 Node 边框时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"node"</span>><span class='code_note_1'>目标node</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawNodeBorder(<span class='code_class'>DrawingTools</span> dt, <span class='code_class'>STNode</span> node);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawConnectedLine</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当绘制已连接路径时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawConnectedLine(<span class='code_class'>DrawingTools</span> dt);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawMark</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当绘制 Mark 详情信息时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawMark(<span class='code_class'>DrawingTools</span> dt);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawMagnet</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当移动 Node 时候 需要显示对齐参考线时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"mi"</span>><span class='code_note_1'>匹配的磁铁信息</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawMagnet(<span class='code_class'>DrawingTools</span> dt, MagnetInfo mi);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawSelectedRectangle</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>绘制选择的矩形区域</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"rectf"</span>><span class='code_note_1'>位于控件上的矩形区域</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawSelectedRectangle(<span class='code_class'>DrawingTools</span> dt, <span class='code_class'>RectangleF</span> rectf);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawNodeOutLocation</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>绘制超出视觉区域的 Node 位置提示信息</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"sz"</span>><span class='code_note_1'>提示框边距</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"lstPts"</span>><span class='code_note_1'>超出视觉区域的 Node 位置信息</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawNodeOutLocation(<span class='code_class'>DrawingTools</span> dt, <span class='code_class'>Size</span> sz, <span class='code_class'>List</span><<span class='code_class'>Point</span>> lstPts);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawAlert</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>绘制提示信息</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"rect"</span>><span class='code_note_1'>需要绘制区域</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"strText"</span>><span class='code_note_1'>需要绘制文本</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"foreColor"</span>><span class='code_note_1'>信息前景色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"backColor"</span>><span class='code_note_1'>信息背景色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"al"</span>><span class='code_note_1'>信息位置</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawAlert(<span class='code_class'>DrawingTools</span> dt, <span class='code_class'>Rectangle</span> rect, <span class='code_key'>string</span> strText, <span class='code_class'>Color</span> foreColor, <span class='code_class'>Color</span> backColor, <span class='code_class'>AlertLocation</span> al);</pre>
</div>
<span style='display:block'><span class='span_code_title'>GetAlertRectangle</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>获取提示信息需要绘制的矩形区域</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"g"</span>><span class='code_note_1'>绘图表面</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"strText"</span>><span class='code_note_1'>需要绘制文本</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"al"</span>><span class='code_note_1'>信息位置</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>矩形区域</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_class'>Rectangle</span> GetAlertRectangle(<span class='code_class'>Graphics</span> g, <span class='code_key'>string</span> strText, <span class='code_class'>AlertLocation</span> al);</pre>
</div>
<div><h2 class='h_option anchor_point' anchor='a_f'>public method</h2></div>
<span style='display:block'><span class='span_code_title'>FindNodeFromPoint</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>通过画布坐标进行寻找</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"pt"</span>><span class='code_note_1'>画布中的坐标</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>寻找到的数据</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>NodeFindInfo</span> FindNodeFromPoint(<span class='code_class'>PointF</span> pt);</pre>
</div>
<span style='display:block'><span class='span_code_title'>GetSelectedNode</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>获取已经被选择的 Node 集合</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>Node 集合</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>STNode</span>[] GetSelectedNode();</pre>
</div>
<span style='display:block'><span class='span_code_title'>CanvasToControl</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>将画布坐标转换为控件坐标</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"number"</span>><span class='code_note_1'>参数</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"isX"</span>><span class='code_note_1'>是否为 X 坐标</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>转换后的坐标</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>float</span> CanvasToControl(<span class='code_key'>float</span> number, <span class='code_key'>bool</span> isX);</pre>
</div>
<span style='display:block'><span class='span_code_title'>CanvasToControl</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>将画布坐标转换为控件坐标</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"pt"</span>><span class='code_note_1'>坐标</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>转换后的坐标</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>PointF</span> CanvasToControl(<span class='code_class'>PointF</span> pt);</pre>
</div>
<span style='display:block'><span class='span_code_title'>CanvasToControl</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>将画布坐标转换为控件坐标</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"pt"</span>><span class='code_note_1'>坐标</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>转换后的坐标</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>Point</span> CanvasToControl(<span class='code_class'>Point</span> pt);</pre>
</div>
<span style='display:block'><span class='span_code_title'>CanvasToControl</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>将画布坐标转换为控件坐标</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"rect"</span>><span class='code_note_1'>矩形区域</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>转换后的矩形区域</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>Rectangle</span> CanvasToControl(<span class='code_class'>Rectangle</span> rect);</pre>
</div>
<span style='display:block'><span class='span_code_title'>CanvasToControl</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>将画布坐标转换为控件坐标</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"rect"</span>><span class='code_note_1'>矩形区域</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>转换后的矩形区域</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>RectangleF</span> CanvasToControl(<span class='code_class'>RectangleF</span> rect);</pre>
</div>
<span style='display:block'><span class='span_code_title'>ControlToCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>将控件坐标转换为画布坐标</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"number"</span>><span class='code_note_1'>参数</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"isX"</span>><span class='code_note_1'>是否为 X 坐标</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>转换后的坐标</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>float</span> ControlToCanvas(<span class='code_key'>float</span> number, <span class='code_key'>bool</span> isX);</pre>
</div>
<span style='display:block'><span class='span_code_title'>ControlToCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>将控件坐标转换为画布坐标</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"pt"</span>><span class='code_note_1'>坐标</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>转换后的坐标</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>Point</span> ControlToCanvas(<span class='code_class'>Point</span> pt);</pre>
</div>
<span style='display:block'><span class='span_code_title'>ControlToCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>将控件坐标转换为画布坐标</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"pt"</span>><span class='code_note_1'>坐标</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>转换后的坐标</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>PointF</span> ControlToCanvas(<span class='code_class'>PointF</span> pt);</pre>
</div>
<span style='display:block'><span class='span_code_title'>ControlToCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>将控件坐标转换为画布坐标</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"rect"</span>><span class='code_note_1'>矩形区域</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>转换后的区域</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>Rectangle</span> ControlToCanvas(<span class='code_class'>Rectangle</span> rect);</pre>
</div>
<span style='display:block'><span class='span_code_title'>ControlToCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>将控件坐标转换为画布坐标</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"rect"</span>><span class='code_note_1'>矩形区域</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>转换后的区域</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>RectangleF</span> ControlToCanvas(<span class='code_class'>RectangleF</span> rect);</pre>
</div>
<span style='display:block'><span class='span_code_title'>MoveCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>移动画布原点坐标到指定的控件坐标位置</span></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当不存在 Node 时候 无法移动</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"x"</span>><span class='code_note_1'>X 坐标</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"y"</span>><span class='code_note_1'>Y 坐标</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"bAnimation"</span>><span class='code_note_1'>移动过程中是否启动动画效果</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"ma"</span>><span class='code_note_1'>指定需要修改的坐标参数</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> MoveCanvas(<span class='code_key'>float</span> x, <span class='code_key'>float</span> y, <span class='code_key'>bool</span> bAnimation, <span class='code_class'>CanvasMoveArgs</span> ma);</pre>
</div>
<span style='display:block'><span class='span_code_title'>ScaleCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>缩放画布</span></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当不存在 Node 时候 无法缩放</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"f"</span>><span class='code_note_1'>缩放比例</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"x"</span>><span class='code_note_1'>缩放中心X位于控件上的坐标</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"y"</span>><span class='code_note_1'>缩放中心Y位于控件上的坐标</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> ScaleCanvas(<span class='code_key'>float</span> f, <span class='code_key'>float</span> x, <span class='code_key'>float</span> y);</pre>
</div>
<span style='display:block'><span class='span_code_title'>GetConnectionInfo</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>获取当前已连接的 Option 对应关系</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>连接信息集合</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>ConnectionInfo</span>[] GetConnectionInfo();</pre>
</div>
<span style='display:block'><span class='span_code_title'>GetCanvasImage</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>获取画布中指定矩形区域图像</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"rect"</span>><span class='code_note_1'>画布中指定的矩形区域</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>图像</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>Image</span> GetCanvasImage(<span class='code_class'>Rectangle</span> rect);</pre>
</div>
<span style='display:block'><span class='span_code_title'>GetCanvasImage</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>获取画布中指定矩形区域图像</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"rect"</span>><span class='code_note_1'>画布中指定的矩形区域</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"fScale"</span>><span class='code_note_1'>缩放比例</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>图像</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>Image</span> GetCanvasImage(<span class='code_class'>Rectangle</span> rect, <span class='code_key'>float</span> fScale);</pre>
</div>
<span style='display:block'><span class='span_code_title'>SaveCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>保存画布中的类容到文件中</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"strFileName"</span>><span class='code_note_1'>文件路径</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> SaveCanvas(<span class='code_key'>string</span> strFileName);</pre>
</div>
<span style='display:block'><span class='span_code_title'>SaveCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>保存画布中的类容到数据流</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"s"</span>><span class='code_note_1'>数据流对象</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> SaveCanvas(<span class='code_class'>Stream</span> s);</pre>
</div>
<span style='display:block'><span class='span_code_title'>GetCanvasData</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>获取画布中内容二进制数据</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>二进制数据</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>byte</span>[] GetCanvasData();</pre>
</div>
<span style='display:block'><span class='span_code_title'>LoadAssembly</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>加载程序集</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"strFiles"</span>><span class='code_note_1'>程序集集合</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>存在STNode类型的文件的个数</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>int</span> LoadAssembly(<span class='code_key'>string</span>[] strFiles);</pre>
</div>
<span style='display:block'><span class='span_code_title'>LoadAssembly</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>加载程序集</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"strFile"</span>><span class='code_note_1'>指定需要加载的文件</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>是否加载成功</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>bool</span> LoadAssembly(<span class='code_key'>string</span> strFile);</pre>
</div>
<span style='display:block'><span class='span_code_title'>GetTypes</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>获取当前编辑器中已加载的Node类型</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>类型集合</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>Type</span>[] GetTypes();</pre>
</div>
<span style='display:block'><span class='span_code_title'>LoadCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>从文件中加载数据</span></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>注意: 此方法并不会清空画布中数据 而是数据叠加</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"strFileName"</span>><span class='code_note_1'>文件路径</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> LoadCanvas(<span class='code_key'>string</span> strFileName);</pre>
</div>
<span style='display:block'><span class='span_code_title'>LoadCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>从二进制加载数据</span></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>注意: 此方法并不会清空画布中数据 而是数据叠加</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"byData"</span>><span class='code_note_1'>二进制数据</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> LoadCanvas(<span class='code_key'>byte</span>[] byData);</pre>
</div>
<span style='display:block'><span class='span_code_title'>LoadCanvas</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>从数据流中加载数据</span></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>注意: 此方法并不会清空画布中数据 而是数据叠加</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"s"</span>><span class='code_note_1'>数据流对象</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> LoadCanvas(<span class='code_class'>Stream</span> s);</pre>
</div>
<span style='display:block'><span class='span_code_title'>ShowAlert</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>在画布中显示提示信息</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"strText"</span>><span class='code_note_1'>要显示的信息</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"foreColor"</span>><span class='code_note_1'>信息前景色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"backColor"</span>><span class='code_note_1'>信息背景色</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> ShowAlert(<span class='code_key'>string</span> strText, <span class='code_class'>Color</span> foreColor, <span class='code_class'>Color</span> backColor);</pre>
</div>
<span style='display:block'><span class='span_code_title'>ShowAlert</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>在画布中显示提示信息</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"strText"</span>><span class='code_note_1'>要显示的信息</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"foreColor"</span>><span class='code_note_1'>信息前景色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"backColor"</span>><span class='code_note_1'>信息背景色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"al"</span>><span class='code_note_1'>信息要显示的位置</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> ShowAlert(<span class='code_key'>string</span> strText, <span class='code_class'>Color</span> foreColor, <span class='code_class'>Color</span> backColor, <span class='code_class'>AlertLocation</span> al);</pre>
</div>
<span style='display:block'><span class='span_code_title'>ShowAlert</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>在画布中显示提示信息</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"strText"</span>><span class='code_note_1'>要显示的信息</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"foreColor"</span>><span class='code_note_1'>信息前景色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"backColor"</span>><span class='code_note_1'>信息背景色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"nTime"</span>><span class='code_note_1'>信息持续时间</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"al"</span>><span class='code_note_1'>信息要显示的位置</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"bRedraw"</span>><span class='code_note_1'>是否立即重绘</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> ShowAlert(<span class='code_key'>string</span> strText, <span class='code_class'>Color</span> foreColor, <span class='code_class'>Color</span> backColor, <span class='code_key'>int</span> nTime, <span class='code_class'>AlertLocation</span> al, <span class='code_key'>bool</span> bRedraw);</pre>
</div>
<span style='display:block'><span class='span_code_title'>SetActiveNode</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>设置画布中活动的节点</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"node"</span>><span class='code_note_1'>需要被设置为活动的节点</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>设置前的活动节点</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>STNode</span> SetActiveNode(<span class='code_class'>STNode</span> node);</pre>
</div>
<span style='display:block'><span class='span_code_title'>AddSelectedNode</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>向画布中添加一个被选中的节点</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"node"</span>><span class='code_note_1'>需要被选中的节点</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>是否添加成功</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>bool</span> AddSelectedNode(<span class='code_class'>STNode</span> node);</pre>
</div>
<span style='display:block'><span class='span_code_title'>RemoveSelectedNode</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>向画布中移除一个被选中的节点</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"node"</span>><span class='code_note_1'>需要被移除的节点</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>是移除否成功</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>bool</span> RemoveSelectedNode(<span class='code_class'>STNode</span> node);</pre>
</div>
<span style='display:block'><span class='span_code_title'>SetTypeColor</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>向编辑器中添加默认数据类型颜色</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"t"</span>><span class='code_note_1'>数据类型</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"clr"</span>><span class='code_note_1'>对应颜色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>被设置后的颜色</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>Color</span> SetTypeColor(<span class='code_class'>Type</span> t, <span class='code_class'>Color</span> clr);</pre>
</div>
<span style='display:block'><span class='span_code_title'>SetTypeColor</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>向编辑器中添加默认数据类型颜色</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"t"</span>><span class='code_note_1'>数据类型</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"clr"</span>><span class='code_note_1'>对应颜色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"bReplace"</span>><span class='code_note_1'>若已经存在是否替换颜色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>被设置后的颜色</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>Color</span> SetTypeColor(<span class='code_class'>Type</span> t, <span class='code_class'>Color</span> clr, <span class='code_key'>bool</span> bReplace);</pre>
</div>
<h1 class='h_title anchor_point' anchor='a_g'>STNode</h1>
<div><h2 class='h_option anchor_point' anchor='a_h'>Properties</h2></div>
<div class='div_table'>
<table>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
<tr><td>Owner</td><td>STNodeEditor</td><td>获取当前 Node 所有者</td></tr>
<tr class='tr_hight'><td>IsSelected</td><td>bool</td><td>获取或设置 Node 是否处于被选中状态</td></tr>
<tr><td>IsActive</td><td>bool</td><td>获取 Node 是否处于活动状态</td></tr>
<tr class='tr_hight'><td>TitleColor</td><td>Color</td><td>获取或设置标题背景颜色</td></tr>
<tr><td>MarkColor</td><td>Color</td><td>获取或设置标记信息背景颜色</td></tr>
<tr class='tr_hight'><td>ForeColor</td><td>Color</td><td>获取或设置当前 Node 前景色</td></tr>
<tr><td>BackColor</td><td>Color</td><td>获取或设置当前 Node 背景色</td></tr>
<tr class='tr_hight'><td>Title</td><td>string</td><td>获取或设置 Node 标题</td></tr>
<tr><td>Mark</td><td>string</td><td>获取或设置 Node 标记信息</td></tr>
<tr class='tr_hight'><td>Left</td><td>int</td><td>获取或设置 Node 左边坐标</td></tr>
<tr><td>Top</td><td>int</td><td>获取或设置 Node 上边坐标</td></tr>
<tr class='tr_hight'><td>Width</td><td>int</td><td>获取或设置 Node 宽度 当AutoSize被设置时 无法设置此值</td></tr>
<tr><td>Height</td><td>int</td><td>获取或设置 Node 高度 当AutoSize被设置时 无法设置此值</td></tr>
<tr class='tr_hight'><td>ItemHeight</td><td>int</td><td>获取或设置 Node 每个选项的高度</td></tr>
<tr><td>AutoSize</td><td>bool</td><td>获取或设置 Node 是否自动计算宽高</td></tr>
<tr class='tr_hight'><td>Right</td><td>int</td><td>获取 Node 右边边坐标</td></tr>
<tr><td>Bottom</td><td>int</td><td>获取 Node 下边坐标</td></tr>
<tr class='tr_hight'><td>Rectangle</td><td>Rectangle</td><td>获取 Node 矩形区域</td></tr>
<tr><td>TitleRectangle</td><td>Rectangle</td><td>获取 Node 标题矩形区域</td></tr>
<tr class='tr_hight'><td>MarkRectangle</td><td>Rectangle</td><td>获取 Node 标记矩形区域</td></tr>
<tr><td>TitleHeight</td><td>int</td><td>获取或设置 Node 标题高度</td></tr>
<tr class='tr_hight'><td>InputOptionsCount</td><td>int</td><td>获取输入选项集合个数</td></tr>
<tr><td>OutputOptionsCount</td><td>int</td><td>获取输出选项个数</td></tr>
<tr class='tr_hight'><td>ControlsCount</td><td>int</td><td>获取 Node 所包含的控件集合个数</td></tr>
<tr><td>Location</td><td>Point</td><td>获取 Node 坐标位置</td></tr>
<tr class='tr_hight'><td>Size</td><td>Size</td><td>获取 Node 大小</td></tr>
<tr><td>LockOption</td><td>bool</td><td>获取或设置是否锁定Option选项 锁定后不在接受连接</td></tr>
<tr class='tr_hight'><td>LockLocation</td><td>bool</td><td>获取或设置是否锁定Node位置 锁定后不可移动</td></tr>
<tr><td>ContextMenuStrip</td><td>ContextMenuStrip</td><td>获取或设置当前Node 上下文菜单</td></tr>
<tr class='tr_hight'><td>Tag</td><td>object</td><td>获取或设置用户自定义保存的数据</td></tr>
<tr><td>Guid</td><td>Guid</td><td>获取全局唯一标识</td></tr>
<tr class='tr_hight'><td>LetGetOptions</td><td>bool</td><td>获取或设置是否允许外部访问STNodeOption</td></tr>
</table>
</div>
<div><h2 class='h_option anchor_point' anchor='a_i'>Protected fields</h2></div>
<div class='div_table'>
<table>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
<tr><td>m_ctrl_active</td><td>STNodeControl</td><td>当前Node中 活动的控件</td></tr>
<tr class='tr_hight'><td>m_ctrl_hover</td><td>STNodeControl</td><td>当前Node中 悬停的控件</td></tr>
<tr><td>m_ctrl_down</td><td>STNodeControl</td><td>当前Node中 鼠标点下的控件</td></tr>
</table>
</div>
<div><h2 class='h_option anchor_point' anchor='a_j'>Virtual method</h2></div>
<span style='display:block'><span class='span_code_title'>OnCreate</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当Node被构造时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnCreate();</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawNode</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>绘制整个Node</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>internal</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawNode(<span class='code_class'>DrawingTools</span> dt);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawTitle</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>绘制Node标题部分</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawTitle(<span class='code_class'>DrawingTools</span> dt);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawBody</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>绘制Node主体部分 除去标题部分</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawBody(<span class='code_class'>DrawingTools</span> dt);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawMark</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>绘制标记信息</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>internal</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawMark(<span class='code_class'>DrawingTools</span> dt);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawOptionDot</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>绘制选项连线的点</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"op"</span>><span class='code_note_1'>指定的选项</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawOptionDot(<span class='code_class'>DrawingTools</span> dt, <span class='code_class'>STNodeOption</span> op);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnDrawOptionText</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>绘制选项的文本</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dt"</span>><span class='code_note_1'>绘制工具</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"op"</span>><span class='code_note_1'>指定的选项</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnDrawOptionText(<span class='code_class'>DrawingTools</span> dt, <span class='code_class'>STNodeOption</span> op);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnSetOptionDotLocation</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当计算Option连线点位置时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"op"</span>><span class='code_note_1'>需要计算的Option</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"pt"</span>><span class='code_note_1'>自动计算出的位置</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"nIndex"</span>><span class='code_note_1'>当前Option的索引</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>新的位置</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_class'>Point</span> OnSetOptionDotLocation(<span class='code_class'>STNodeOption</span> op, <span class='code_class'>Point</span> pt, <span class='code_key'>int</span> nIndex);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnSetOptionTextRectangle</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当计算Option文本区域时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"op"</span>><span class='code_note_1'>需要计算的Option</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"rect"</span>><span class='code_note_1'>自动计算出的区域</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"nIndex"</span>><span class='code_note_1'>当前Option的索引</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>新的区域</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_class'>Rectangle</span> OnSetOptionTextRectangle(<span class='code_class'>STNodeOption</span> op, <span class='code_class'>Rectangle</span> rect, <span class='code_key'>int</span> nIndex);</pre>
</div>
<span style='display:block'><span class='span_code_title'>GetDefaultNodeSize</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>获取当前STNode所需要的默认大小</span></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>返回的大小并不会限制绘制区域 任然可以在此区域之外绘制</span></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>但是并不会被STNodeEditor所接受 并触发对应事件</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"g"</span>><span class='code_note_1'>绘图面板</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>计算出来的大小</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_class'>Size</span> GetDefaultNodeSize(<span class='code_class'>Graphics</span> g);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnBuildMarkRectangle</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>计算当前Mark所需要的矩形区域</span></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>返回的大小并不会限制绘制区域 任然可以在此区域之外绘制</span></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>但是并不会被STNodeEditor所接受 并触发对应事件</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"g"</span>><span class='code_note_1'>绘图面板</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>计算后的区域</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_class'>Rectangle</span> OnBuildMarkRectangle(<span class='code_class'>Graphics</span> g);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnSaveNode</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当需要保存时候 此Node有哪些需要额外保存的数据</span></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>注意: 保存时并不会进行序列化 还原时候仅重新通过空参数构造器创建此Node</span></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>然后调用 OnLoadNode() 将保存的数据进行还原</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dic"</span>><span class='code_note_1'>需要保存的数据</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnSaveNode(<span class='code_class'>Dictionary</span><<span class='code_key'>string</span>, <span class='code_key'>byte</span>[]> dic);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnLoadNode</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当还原该节点时候会将 OnSaveNode() 所返回的数据重新传入此函数</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dic"</span>><span class='code_note_1'>保存时候的数据</span></param></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>internal</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnLoadNode(<span class='code_class'>Dictionary</span><<span class='code_key'>string</span>, <span class='code_key'>byte</span>[]> dic);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnEditorLoadCompleted</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当编辑器加载完成所有的节点时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>internal</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnEditorLoadCompleted();</pre>
</div>
<span style='display:block'><span class='span_code_title'>SetOptionText</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>设置Option的文本信息</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"op"</span>><span class='code_note_1'>目标Option</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"strText"</span>><span class='code_note_1'>文本</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>是否成功</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>bool</span> SetOptionText(<span class='code_class'>STNodeOption</span> op, <span class='code_key'>string</span> strText);</pre>
</div>
<span style='display:block'><span class='span_code_title'>SetOptionTextColor</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>设置Option文本信息颜色</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"op"</span>><span class='code_note_1'>目标Option</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"clr"</span>><span class='code_note_1'>颜色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>是否成功</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>bool</span> SetOptionTextColor(<span class='code_class'>STNodeOption</span> op, <span class='code_class'>Color</span> clr);</pre>
</div>
<span style='display:block'><span class='span_code_title'>SetOptionDotColor</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>设置Option连线点颜色</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"op"</span>><span class='code_note_1'>目标Option</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"clr"</span>><span class='code_note_1'>颜色</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>是否成功</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>bool</span> SetOptionDotColor(<span class='code_class'>STNodeOption</span> op, <span class='code_class'>Color</span> clr);</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnOwnerChanged</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当所有者发生改变时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnOwnerChanged();</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnSelectedChanged</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当选中状态改变时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnSelectedChanged();</pre>
</div>
<span style='display:block'><span class='span_code_title'>OnActiveChanged</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当活动状态改变时候发生</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> OnActiveChanged();</pre>
</div>
<span style='display:block'><span class='span_code_title'>SetOptionsLocation</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>计算每个Option的位置</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>void</span> SetOptionsLocation();</pre>
</div>
<div><h2 class='h_option anchor_point' anchor='a_k'>public method</h2></div>
<span style='display:block'><span class='span_code_title'>Invalidate</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>重绘Node</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> Invalidate();</pre>
</div>
<span style='display:block'><span class='span_code_title'>Invalidate</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>重绘 Node 指定区域</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"rect"</span>><span class='code_note_1'>Node 指定区域</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> Invalidate(<span class='code_class'>Rectangle</span> rect);</pre>
</div>
<span style='display:block'><span class='span_code_title'>GetInputOptions</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>获取此Node所包含的输入Option集合</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>Option集合</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>STNodeOption</span>[] GetInputOptions();</pre>
</div>
<span style='display:block'><span class='span_code_title'>GetOutputOptions</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>获取此Node所包含的输出Option集合</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>Option集合</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>STNodeOption</span>[] GetOutputOptions();</pre>
</div>
<span style='display:block'><span class='span_code_title'>SetSelected</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>设置Node的选中状态</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"bSelected"</span>><span class='code_note_1'>是否选中</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"bRedraw"</span>><span class='code_note_1'>是否重绘</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> SetSelected(<span class='code_key'>bool</span> bSelected, <span class='code_key'>bool</span> bRedraw);</pre>
</div>
<h1 class='h_title anchor_point' anchor='a_l'>STNodeOption</h1>
<div><h2 class='h_option anchor_point' anchor='a_m'>Properties</h2></div>
<div class='div_table'>
<table>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
<tr><td>Owner</td><td>STNode</td><td>获取当前 Option 所属的 Node</td></tr>
<tr class='tr_hight'><td>IsSingle</td><td>bool</td><td>获取当前 Option 是否仅能被连接一次</td></tr>
<tr><td>IsInput</td><td>bool</td><td>获取当前 Option 是否是输入选项</td></tr>
<tr class='tr_hight'><td>TextColor</td><td>Color</td><td>获取或设置当前 Option 文本颜色</td></tr>
<tr><td>DotColor</td><td>Color</td><td>获取或设置当前 Option 连接点的颜色</td></tr>
<tr class='tr_hight'><td>Text</td><td>string</td><td>获取或设置当前 Option 显示文本 当AutoSize被设置时 无法修改此属性</td></tr>
<tr><td>DotLeft</td><td>int</td><td>获取当前 Option 连接点的左边坐标</td></tr>
<tr class='tr_hight'><td>DotTop</td><td>int</td><td>获取当前 Option 连接点的上边坐标</td></tr>
<tr><td>DotSize</td><td>int</td><td>获取当前 Option 连接点的宽度</td></tr>
<tr class='tr_hight'><td>TextRectangle</td><td>Rectangle</td><td>获取当前 Option 文本区域</td></tr>
<tr><td>Data</td><td>object</td><td>获取或者设置当前 Option 所包含的数据</td></tr>
<tr class='tr_hight'><td>DataType</td><td>Type</td><td>获取当前 Option 数据类型</td></tr>
<tr><td>DotRectangle</td><td>Rectangle</td><td>获取当前 Option 连接点的区域</td></tr>
<tr class='tr_hight'><td>ConnectionCount</td><td>int</td><td>获取当前 Option 被连接的个数</td></tr>
</table>
</div>
<div><h2 class='h_option anchor_point' anchor='a_n'>Events</h2></div>
<div class='div_table'>
<table>
<tr><th>Name</th><th>Description</th></tr>
<tr><td>Connected</td><td>当被连接时候发生</td></tr>
<tr class='tr_hight'><td>Connecting</td><td>当连接开始发生时发生</td></tr>
<tr><td>DisConnected</td><td>当连接断开时候发生</td></tr>
<tr class='tr_hight'><td>DisConnecting</td><td>当连接开始断开时发生</td></tr>
<tr><td>DataTransfer</td><td>当有数据传递时候发生</td></tr>
</table>
</div>
<div><h2 class='h_option anchor_point' anchor='a_o'>Constructor</h2></div>
<span style='display:block'><span class='span_code_title'>Constructor</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>构造一个 Option</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"strText"</span>><span class='code_note_1'>显示文本</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"dataType"</span>><span class='code_note_1'>数据类型</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"bSingle"</span>><span class='code_note_1'>是否为单连接</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>STNodeOption</span>(<span class='code_key'>string</span> strText, <span class='code_class'>Type</span> dataType, <span class='code_key'>bool</span> bSingle);</pre>
</div>
<div><h2 class='h_option anchor_point' anchor='a_p'>Virtual method</h2></div>
<span style='display:block'><span class='span_code_title'>Invalidate</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>重绘整个控件</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>void</span> Invalidate();</pre>
</div>
<span style='display:block'><span class='span_code_title'>ConnectingOption</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当前 Option 开始连接目标 Option</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"op"</span>><span class='code_note_1'>需要连接的 Option</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>是否允许继续操作</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>bool</span> ConnectingOption(<span class='code_class'>STNodeOption</span> op);</pre>
</div>
<span style='display:block'><span class='span_code_title'>DisConnectingOption</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>当前 Option 开始断开目标 Option</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"op"</span>><span class='code_note_1'>需要断开的 Option</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>是否允许继续操作</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>protected</span> <span class='code_key'>virtual</span> <span class='code_key'>bool</span> DisConnectingOption(<span class='code_class'>STNodeOption</span> op);</pre>
</div>
<div><h2 class='h_option anchor_point' anchor='a_q'>public method</h2></div>
<span style='display:block'><span class='span_code_title'>DisConnectionAll</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>断开当前 Option 的所有连接</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> DisConnectionAll();</pre>
</div>
<span style='display:block'><span class='span_code_title'>GetConnectedOption</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>获取当前 Option 所连接的 Option 集合</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <returns><span class='code_note_1'>如果为null 则表示不存在所有者 否则返回集合</span></returns></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_class'>List</span><<span class='code_class'>STNodeOption</span>> GetConnectedOption();</pre>
</div>
<span style='display:block'><span class='span_code_title'>TransferData</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>向当前 Option 所连接的所有 Option 投递数据</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> TransferData();</pre>
</div>
<span style='display:block'><span class='span_code_title'>TransferData</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>向当前 Option 所连接的所有 Option 投递数据</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"data"</span>><span class='code_note_1'>需要投递的数据</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> TransferData(<span class='code_key'>object</span> data);</pre>
</div>
<span style='display:block'><span class='span_code_title'>TransferData</span></span>
<div class='div_code title'>
<pre class='pre_code'><span class='span_code_line'></span><span class='code_note'>/// <summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <span class='code_note_1'>向当前 Option 所连接的所有 Option 投递数据</span></span>
<span class='span_code_line'></span><span class='code_note'>/// </summary></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"data"</span>><span class='code_note_1'>需要投递的数据</span></param></span>
<span class='span_code_line'></span><span class='code_note'>/// <param name=<span class='code_string'>"bDisposeOld"</span>><span class='code_note_1'>是否释放旧数据</span></param></span>
<span class='span_code_line'></span><span class='code_key'>public</span> <span class='code_key'>void</span> TransferData(<span class='code_key'>object</span> data, <span class='code_key'>bool</span> bDisposeOld);</pre>
</div>
<h1 class='h_title anchor_point' anchor='a_r'>STNodePropertyGrid</h1>
<div><h2 class='h_option anchor_point' anchor='a_s'>Properties</h2></div>
<div class='div_table'>
<table>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
<tr><td>STNode</td><td>STNode</td><td>当前显示的STNode</td></tr>
<tr class='tr_hight'><td>ItemHoverColor</td><td>Color</td><td>获取或设置属性选项被鼠标悬停时候背景色</td></tr>
<tr><td>ItemSelectedColor</td><td>Color</td><td>获取或设置属性选项被选中时候背景色 当AutoColor被设置时此属性不能被设置</td></tr>
<tr class='tr_hight'><td>ItemValueBackColor</td><td>Color</td><td>获取或设置属性选项值背景色</td></tr>
<tr><td>TitleColor</td><td>Color</td><td>获取或设置默认标题背景色</td></tr>
<tr class='tr_hight'><td>ErrorColor</td><td>Color</td><td>获取或设置属性设置错误时候提示信息背景色</td></tr>
<tr><td>DescriptionColor</td><td>Color</td><td>获取或设置属性描述信息背景色</td></tr>
<tr class='tr_hight'><td>ShowTitle</td><td>bool</td><td>获取或设置是否显示节点标题</td></tr>
<tr><td>AutoColor</td><td>bool</td><td>获取或设置是否根据STNode自动设置控件高亮颜色</td></tr>
<tr class='tr_hight'><td>InfoFirstOnDraw</td><td>bool</td><td>获取或当节点被设置时候 是否优先绘制信息面板</td></tr>
<tr><td>ReadOnlyModel</td><td>bool</td><td>获取或设置当前属性编辑器是否处于只读模式</td></tr>
<tr class='tr_hight'><td>ScrollOffset</td><td>int</td><td>获取当前滚动条高度</td></tr>
</table>
</div>
<div><h2 class='h_option anchor_point' anchor='a_t'>Protected fields</h2></div>
<div class='div_table'>
<table>
<tr><th>Name</th><th>Type</th><th>Description</th></tr>
<tr><td>m_rect_link</td><td>Rectangle</td><td>作者链接地址区域</td></tr>
<tr class='tr_hight'><td>m_rect_help</td><td>Rectangle</td><td>查看帮助按钮区域</td></tr>
<tr><td>m_rect_title</td><td>Rectangle</td><td>编辑器标题区域</td></tr>
<tr class='tr_hight'><td>m_rect_switch</td><td>Rectangle</td><td>面板切换按钮区域</td></tr>
<tr><td>m_nOffsetY</td><td>int</td><td>控件在绘制过程中使用的垂直滚动偏移</td></tr>
<tr class='tr_hight'><td>m_nInfoOffsetY</td><td>int</td><td>保存的信息面板垂直滚动偏移</td></tr>
<tr><td>m_nPropertyOffsetY</td><td>int</td><td>保存的属性面板垂直滚动偏移</td></tr>
<tr class='tr_hight'><td>m_nVHeight</td><td>int</td><td>控件在绘制过程中使用的绘图区域总高度</td></tr>
<tr><td>m_nInfoVHeight</td><td>int</td><td>保存的信息面板需要的总高度</td></tr>
<tr class='tr_hight'><td>m_nPropertyVHeight</td><td>int</td><td>保存的属性面板需要的总高度</td></tr>