1//-------------------------------------------------------------------- 2// 3// MenuView.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 _MenuView_h 15#define _MenuView_h 16 17 18#include <View.h> 19 20class BButton; 21class BListItem; 22class BOutlineListView; 23class BStringView; 24class BTextControl; 25//==================================================================== 26// CLASS: MenuView 27 28class MenuView : public BView 29{ 30 //---------------------------------------------------------------- 31 // Constructors, destructors, operators 32 33public: 34 MenuView(uint32 resizingMode); 35 36 37 //---------------------------------------------------------------- 38 // Virtual member function overrides 39 40public: 41 void MessageReceived(BMessage* message); 42 void AllAttached(void); 43 44 45 //---------------------------------------------------------------- 46 // Operations 47public: 48 void PopulateUserMenu(BMenu* pMenu, int32 index); 49 50 //---------------------------------------------------------------- 51 // Message handlers 52 53private: 54 void AddMenu(BMessage* message); 55 void DeleteMenu(BMessage* message); 56 void AddMenuItem(BMessage* message); 57 void MenuSelectionChanged(BMessage* message); 58 59 60 //---------------------------------------------------------------- 61 // Implementation member functions 62 63private: 64 void BuildMenuItems(BMenu* pMenu, BListItem* superitem, 65 BOutlineListView* pView); 66 bool IsSeparator(const char* text) const; 67 void SetButtonState(void); 68 bool Valid(void); 69 70 71 //---------------------------------------------------------------- 72 // Member variables 73 74private: 75 BTextControl* m_pLabelCtrl; 76 BCheckBox* m_pHideUserCheck; 77 BCheckBox* m_pLargeTestIconCheck; 78 BButton* m_pAddMenuButton; 79 BButton* m_pDelButton; 80 BButton* m_pAddItemButton; 81 BOutlineListView* m_pMenuOutlineView; 82 BScrollView* m_pScrollView; 83}; 84 85#endif /* _MenuView_h */ 86