diff options
Diffstat (limited to 'vcl/source/window/menu.cxx')
-rw-r--r-- | vcl/source/window/menu.cxx | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx index c272df3fa104..a759dfe03727 100644 --- a/vcl/source/window/menu.cxx +++ b/vcl/source/window/menu.cxx @@ -6039,4 +6039,37 @@ ImplMenuDelData::~ImplMenuDelData() const_cast< Menu* >( mpMenu )->ImplRemoveDel( *this ); } +#include <iostream> +using namespace std; + +void printMenu( AbstractMenu* pMenu ) { + if ( pMenu ) { + sal_uInt16 itemCount = pMenu->GetItemCount(); + MenuItemList *items = ((Menu*)pMenu)->GetItemList(); + + for (int i=0; i < itemCount; i++) { + MenuItemData *itemData = items->GetDataFromPos(i); + sal_uInt16 itemId = pMenu->GetItemId(i); + + if (itemData->eType == MENUITEM_SEPARATOR) { + cout << "---------------" << endl; + } else { + rtl::OUString itemText = itemData->aText; + rtl::OUString cmdString = itemData->aCommandStr; + cout << "Item ID: " << itemId << " Text: " << itemText << " CMD: " << cmdString << endl; + + if (itemData->pSubMenu) { + cout << ">> SUBMENU <<" << endl; + printMenu( itemData->pSubMenu ); + } + } + } + } +} + +void Menu::Freeze() { + printMenu( this ); + cout << "============================================================" << endl; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |