1//-------------------------------------------------------------------- 2// 3// MenuWindow.h 4// 5// Written by: Owen Smith 6// 7//-------------------------------------------------------------------- 8 9/* 10 Copyright 1999, Be Incorporated. All Rights Reserved. 11 This file may be used under the terms of the Be Sample Code License. 12*/ 13 14#ifndef _MenuWindow_h 15#define _MenuWindow_h 16 17#include <Message.h> 18 19#include <Window.h> 20#include "TestMenuBuilder.h" 21 22class MenuView; 23class BButton; 24class BListItem; 25class BOutlineListView; 26class BStringView; 27class BTextControl; 28 29//==================================================================== 30// CLASS: MenuWindow 31 32class MenuWindow : public BWindow 33{ 34 //---------------------------------------------------------------- 35 // Constructors, destructors, operators 36 37public: 38 MenuWindow(const char* name); 39 40 41 //---------------------------------------------------------------- 42 // Virtual member function overrides 43 44public: 45 void MenusBeginning(void); 46 void MessageReceived(BMessage* message); 47 bool QuitRequested(void); 48 49 50 //---------------------------------------------------------------- 51 // Operations 52 53public: 54 void UpdateStatus(const char* str1 = NULL, 55 const char* str2 = NULL); 56 57 58 //---------------------------------------------------------------- 59 // Message handlers 60 61private: 62 void AddMenu(BMessage* message); 63 void DeleteMenu(BMessage* message); 64 void TestMenu(BMessage* message); 65 void UserMenu(BMessage* message); 66 void ToggleUserMenus(BMessage* message); 67 void ToggleTestIcons(BMessage* message); 68 69 70 //---------------------------------------------------------------- 71 // Implementation member functions 72 73private: 74 bool Valid(void) const; 75 BMenu* BuildFileMenu(void) const; 76 void ReplaceTestMenu(BMenuBar* pMenuBar, icon_size size); 77 78 //---------------------------------------------------------------- 79 // Member variables 80 81private: 82 BMenuBar* m_pFullMenuBar; 83 BMenuBar* m_pHiddenMenuBar; 84 bool m_bUsingFullMenuBar; 85 BStringView* m_pStatusView; 86 MenuView* m_pMenuView; 87 TestMenuBuilder m_testMenuBuilder; 88}; 89 90#endif /* _MenuWindow_h */ 91