@@ -215,6 +215,7 @@ def _build_ui(self):
215215 self .btn_apply .clicked .connect (self ._on_apply )
216216 self .btn_delete .clicked .connect (self ._on_delete )
217217 self .btn_pick .clicked .connect (self ._on_pick_pos )
218+ self .cb_type .currentTextChanged .connect (self ._on_type_changed )
218219 self .table .currentItemChanged .connect (self ._on_select )
219220 self .btn_cand_add .clicked .connect (self ._add_candidate )
220221 self .btn_cand_del .clicked .connect (self ._del_candidate )
@@ -361,7 +362,12 @@ def _refresh_table(self):
361362 self .table .setItem (i , 1 , QTableWidgetItem (a .action_type .value ))
362363 self .table .setItem (i , 2 , QTableWidgetItem (a .oper ))
363364 self .table .setItem (i , 3 , QTableWidgetItem (a .pos ))
364- self .table .setItem (i , 4 , QTableWidgetItem (a .direction .value ))
365+ # 部署才显示朝向,技能/撤退显示 —
366+ if a .action_type == ActionType .DEPLOY and a .direction != DirectionType .NONE :
367+ dir_text = a .direction .value
368+ else :
369+ dir_text = "—"
370+ self .table .setItem (i , 4 , QTableWidgetItem (dir_text ))
365371 self .canvas .set_timeline (self .timeline )
366372
367373 # --- canvas 回调 ---
@@ -395,6 +401,13 @@ def _on_pick_pos(self) -> None:
395401 self .edit_pos .setText (pos )
396402 self .lbl_status .setText (f"已选位置 { pos } " )
397403
404+ def _on_type_changed (self , type_text : str ) -> None :
405+ """动作类型变化 → 技能/撤退禁用朝向框。"""
406+ is_deploy = type_text == "部署"
407+ self .cb_dir .setEnabled (is_deploy )
408+ if not is_deploy :
409+ self .cb_dir .setCurrentText ("无" )
410+
398411 def _on_select (self ):
399412 row = self .table .currentRow ()
400413 if row < 0 or row >= len (self .timeline .actions ):
@@ -404,6 +417,7 @@ def _on_select(self):
404417 self .cb_oper .setCurrentText (a .oper )
405418 self .edit_pos .setText (a .pos )
406419 self .cb_dir .setCurrentText (a .direction .value )
420+ self ._on_type_changed (a .action_type .value )
407421
408422 def _on_apply (self ):
409423 row = self .table .currentRow ()
0 commit comments