Ограничение контекстного меню
В Dolphin Smalltalk я установил контекстное меню на виде дерева, но это меню появляется всякий раз, когда я щелкаю правой кнопкой мыши на каждом месте на дереве, даже если я нажимаю на пустое место. Как я могу ограничить всплывающее окно только существующими строками дерева? С наилучшими пожеланиями. Маурицио.
1 ответ
Наконец я нашел это.
Для тех, кто заинтересован:
В методе CreateSchematicWiring:
treePresenter
when: #rightButtonPressed:
send: #onRightButtonPressed:
to: self
и это метод "onRightButtonPressed":
onRightButtonPressed: aMouseEvent
| treeView item |
treeView := treePresenter view.
item := treeView itemFromPoint: aMouseEvent position.
item
ifNil: [treeView contextMenu: nil]
ifNotNil: [:elem | treeView contextMenu: (treeView objectFromHandle: elem) getMenu]
где метод getMenu возвращает меню в зависимости от типа объекта, на котором я щелкнул.