|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- void tree::dialogShown_cb()
' ?! i" x9 w6 r% e - {
" B1 v: D5 u7 T# W - try
" b) n3 C( Y) y( @ - {$ l6 l, {$ {9 U* L8 B
- //---- Enter your callback code here -----2 S- D9 ^$ F& Q0 i
- ( A' q. S: F/ L( _/ j
-
# c9 \7 H4 x/ k5 t1 ^. m - tree_control0->InserTColumn(0,"Name",140);
+ x( Q; ^) v% u) h$ ^ - tree_control0->InsertColumn(1,"Feature Type",90);
: q/ g, s3 B1 |2 Q' l! g - tree_control0->InsertColumn(2," Up to Date",70);, g! M$ s- }8 X# |
- 2 ?9 c i" x9 ]" Q+ N' i
- tree_control0->SetColumnResizePolicy(0,Tree::ColumnResizePolicyConstantWidth);
: q# T3 u2 K2 Y [. U6 @. i j4 ^ - tree_control0->SetColumnResizePolicy(1,Tree::ColumnResizePolicyConstantWidth);. C6 I2 v* X( i7 J) E# f+ y3 c) E
- tree_control0->SetColumnResizePolicy(2,Tree::ColumnResizePolicyConstantWidth);$ D8 q- O$ V/ F6 u" a6 R
4 t; ]" c- u8 q E- tree_control0->SetColumnDisplayType(2,Tree::ColumnDisplayIcon);1 w. k/ r; s! V+ v% `5 X; l
* d* T J7 ]; Z) f" n+ ?0 J8 ~- // create historymode# W1 U$ P; x. l- ?. c0 a, n4 x
- historyModeNode = createInsertParentNode(this->tree_control0,"History Mode" ,NULL,nodeIcons[0],nodeIcons[0],Tree::NodeInsertOptionAlwaysFirst);
& l6 g5 y; ?$ C9 ~2 o0 u/ ^ - viewNode = createInsertParentNode(this->tree_control0,"Model Views" ,historyModeNode,nodeIcons[1],nodeIcons[1],Tree::NodeInsertOptionLast);
- {: c, X4 {! {4 k8 t - camerasNode = createInsertParentNode(this->tree_control0,"Cameras" ,viewNode,nodeIcons[2],nodeIcons[2],Tree::NodeInsertOptionLast);; y" o4 V$ p0 x. ^1 h
- modelhistoryNode = createInsertParentNode(this->tree_control0,"Model History" ,camerasNode,nodeIcons[3],nodeIcons[3],Tree::NodeInsertOptionAlwaysLast);" N, b0 S, w) r% M; _0 I$ v8 c! ?& b: e
- tree_control0->SetSortRootNodes(false);1 I4 L# t. j+ E* c% Q- R
- modelhistoryNode->Expand(Node::ExpandOptionExpand);
$ {/ i& b# O9 _ - // get all the features with values : \ A; k" P( K% L) }" e
- / C- Q7 P) o0 `0 e) y: y
- std::vector <Features::Feature *> nodeFeatures = getfeatures();
1 R; k( Q9 H0 G - // insert the features" I4 G! ?9 `+ }& q3 A* Q
- for(int i = 0 ; i < nodeFeatures.size();++i)
2 E6 v- s- J4 p; ~& X7 k* c - {
# V$ y; O" @& X2 p) p8 a9 V - Node *featureNode = tree_control0->CreateNode(nodeFeatures[i]->GetFeatureName());
5 K; Z/ d. D5 ~/ c$ Y - tree_control0->InsertNode(featureNode,modelhistoryNode,NULL,Tree::NodeInsertOptionLast);+ d8 J5 |% B s/ c2 b
- % L( m2 y* w8 e2 o2 A0 s% \/ l
- featureNode->SetColumnDisplayText(1, nodeFeatures[i]->FeatureType());
2 ~- \9 H8 ?2 i1 K- h1 g6 y - featureNode->SetColumnDisplayText(2,"check");" r" Z5 ]7 P* n
- ! v8 G! s& z, W/ T; u6 Y% @
- }- H$ f: w" \# f& y& c; ?
-
* _6 S: e8 Q; j& f - ' l) E& x5 W1 ~7 ~
- }$ [; F8 I4 E: |0 j
- catch(exception& ex)$ M! F9 A9 k4 \3 P) Z# f
- {) X F; w1 E/ V; a! k5 ~- O
- //---- Enter your exception handling code here -----
9 t5 Y+ `' j" b' {: B( H0 F - tree::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());3 k4 ~& ~3 D; J8 J8 n2 Y3 _0 { q( e
- }1 Q- s1 ]' ?" \, \. k9 M
- }
5 @2 Q5 i2 T: R* R) a. D' P3 i
复制代码
) M* }- B" N# n* o# c7 Z
6 l* e9 U7 |" x! Q$ w% ]treelist的创建,需要在dialogShown_cb()里面定义treelist的内容4 f( Q7 Z: g8 a
* C7 u( L9 s& ]# _- z" C2 ?1 a c1 q
首先通过InsertColumn 定义列,有了列才能创建节点Node6 U. a$ A' [9 h! A1 q( l9 q6 a9 J% G
$ Z3 S y8 ~* V8 @- R/ [这个顺序非常重要!
2 _( l* N0 y: `: [, {) p. C! T* B" f1 U8 Z! G% o' e: Q
treelist 树控件创建
2 Q9 X* r) O$ g' q) M
) w5 W3 w1 R' H; t |
|