Ограничение контекстного меню

В 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 возвращает меню в зависимости от типа объекта, на котором я щелкнул.

Другие вопросы по тегам