cocoa: Enable modifying initialized menu
This commit is contained in:
parent
66bbf00b7a
commit
49ac363eef
2 changed files with 19 additions and 0 deletions
|
@ -39,6 +39,9 @@ class MenuModel;
|
||||||
// to the contents of the model after calling this will not be noticed.
|
// to the contents of the model after calling this will not be noticed.
|
||||||
- (id)initWithModel:(ui::MenuModel*)model;
|
- (id)initWithModel:(ui::MenuModel*)model;
|
||||||
|
|
||||||
|
// Populate current NSMenu with |model|.
|
||||||
|
- (void)populateWithModel:(ui::MenuModel*)model;
|
||||||
|
|
||||||
// Programmatically close the constructed menu.
|
// Programmatically close the constructed menu.
|
||||||
- (void)cancel;
|
- (void)cancel;
|
||||||
|
|
||||||
|
|
|
@ -93,6 +93,22 @@ int EventFlagsFromNSEvent(NSEvent* event) {
|
||||||
[super dealloc];
|
[super dealloc];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)populateWithModel:(ui::MenuModel*)model {
|
||||||
|
if (!menu_)
|
||||||
|
return;
|
||||||
|
|
||||||
|
model_ = model;
|
||||||
|
[menu_ removeAllItems];
|
||||||
|
|
||||||
|
const int count = model->GetItemCount();
|
||||||
|
for (int index = 0; index < count; index++) {
|
||||||
|
if (model->GetTypeAt(index) == ui::MenuModel::TYPE_SEPARATOR)
|
||||||
|
[self addSeparatorToMenu:menu_ atIndex:index];
|
||||||
|
else
|
||||||
|
[self addItemToMenu:menu_ atIndex:index fromModel:model];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
- (void)cancel {
|
- (void)cancel {
|
||||||
if (isMenuOpen_) {
|
if (isMenuOpen_) {
|
||||||
[menu_ cancelTracking];
|
[menu_ cancelTracking];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue