2013-06-09 44 views
5

Trong ứng dụng RCP Eclipse Tôi có một giao diện tùy chỉnh và một lệnh thả xuống đóng góp vào của quan điểm cho rằng thanh công cụ:Làm thế nào để hiển thị menu thả xuống của lệnh sau khi biểu tượng lệnh được nhấp?

<menuContribution 
     allPopups="false" 
     locationURI="toolbar:test.ui.views.MyView"> 
    <command 
      commandId="test.ui.commands.Command1" 
      icon="icons/Command1.png" 
      id="test.ui.commands.Command1.dropdown" 
      label="Command 1" 
      style="pulldown"> 
    </command> 
    </menuContribution> 

Sau đó, tôi có một vài lệnh khác đóng góp vào trình đơn thả xuống Command1 như thế này:

<menuContribution 
     allPopups="false" 
     locationURI="menu:test.ui.commands.Command1.dropdown"> 
    <command 
      commandId="test.ui.commands.Command2" 
      label="Command 2" 
      style="push"> 
    </command> 
    <command 
      commandId="test.ui.commands.Command3" 
      label="Command 3" 
      style="push"> 
    </command> 
    </menuContribution> 

cho đến nay tất cả mọi thứ hoạt động tốt, tôi có thể nhìn thấy biểu tượng Command1 trên thanh công cụ của cái nhìn và khi tôi nhấp vào biểu tượng thả xuống bên cạnh nó, menu xuất hiện với Command2 và lệnh Command3 - như mong đợi.

Vấn đề:

Những gì tôi muốn đạt được tại là để hiển thị các trình đơn thả xuống không chỉ sau khi người dùng nhấp chuột vào biểu tượng thả xuống bên cạnh biểu tượng Command1, nhưng cũng sau khi người dùng nhấp chuột chính biểu tượng Command1.

(ví dụ, đây là cách các lệnh mở Bảng điều khiển công trình trong thanh công cụ nhìn Console trong Eclipse)

Tôi đoán tôi cần phải lập trình kích hoạt hiển thị trình đơn thả xuống Command1 từ bên trong handler Command1 nhưng tôi couldn không tìm thấy bất kỳ ví dụ về cách làm điều đó.

Cảm ơn bạn đã giúp đỡ!

Trả lời

3

Tôi vừa hỏi cùng một câu hỏi trên diễn đàn RCP Eclipse và nhận được câu trả lời ngay lập tức. Bí quyết là kích hoạt sự kiện giả mạo sẽ kích hoạt menu hiển thị, dưới đây là các chi tiết:

http://www.eclipse.org/forums/index.php/t/488692/

Các vấn đề liên quan