草庐IT

AreaNode

全部标签

c++ - 在树节点上实现执行操作的最佳方式,最好不使用访问者

我有一个用户界面,左侧是TreeView,右侧是查看器(有点像电子邮件客户端)。右侧的查看器显示我在左侧树中选择的任何内容的详细信息。用户界面有“添加”、“编辑”和“删除”按钮。这些按钮的行为因树中选择的“节点”而异。如果我选择了一个特定类型的节点,并且用户单击“编辑”,那么我需要为该特定类型的节点打开适当的编辑对话框,其中包含该节点的详细信息。现在,有很多不同类型的节点,实现访问者类感觉有点困惑(目前我的访问者有大约48个条目......)。它确实工作得很好-基本上用于编辑一个类似OpenEditDialog类的东西,它继承了访问者,并打开适当的编辑对话框:abstractTreeN