root/BF_GUI_TopMenu.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef __BF_GUI_TOPMENU_H__
   2 #define __BF_GUI_TOPMENU_H__
   3 
   4 #include <View.h>
   5 #include <Window.h>
   6 #include <Messenger.h>
   7 #include "BL_Tools.h"
   8 #include "BF_GUI_DlgViews.h"
   9 
  10 class BF_GUI_TopMenu;
  11 /////////////////////////////////////////////////////////////////////
  12 class BF_GUI_TopMenu_HItem:public BF_GUI_ViewMenu_Item{
  13 public:
  14                                                                 BF_GUI_TopMenu_HItem(const char *pc_Title,
  15                                                                                                         BBitmap *po_SIcon=NULL);
  16                                                                                                         
  17                 void                                    AddHItem        (const char *pc_Title,
  18                                                                                         BMessage *po_Message, // will be deleted
  19                                                                                         const char *pc_KeyLabel="");
  20                 void                                    AddHItem        (const char *pc_Title,
  21                                                                                         int32   i_MessageWhat,
  22                                                                                         BView   *po_Owner,
  23                                                                                         const char *pc_KeyLabel="");                                                                                    
  24                                                                                                         
  25                 BL_List                                 loVItem;
  26 };
  27 /////////////////////////////////////////////////////////////////////
  28 class BF_GUI_TopMenu_VItem:public BF_GUI_ViewMenu_Item{
  29 public:
  30                                                                 BF_GUI_TopMenu_VItem(   const char *pc_Title,
  31                                                                                                                 BMessage *po_Message, // will be deleted
  32                                                                                                                 const char *pc_KeyLabel="");
  33                                                                 ~BF_GUI_TopMenu_VItem();
  34                                                                                                         
  35 virtual float                                   CalcWidth(BF_GUI_Setup_Font * po_Font);                                                                                                                                 
  36                 BL_String                               sKeyLabel;              
  37                 float                                   fKeyWidth;              
  38                 BMessage                                *poMessage;                                                                     
  39 };
  40 /////////////////////////////////////////////////////////////////////
  41 class BF_GUI_TopVMenu:public BF_GUI_DlgView_VMenu{
  42 public:                         
  43                                                                 BF_GUI_TopVMenu(BRect & o_Rect,BL_List *plo_Menu,BF_GUI_TopMenu *po_HMenu);
  44 virtual void                                    KeyDown(const char *bytes, int32 numBytes);
  45 virtual void                                    NavEnter();                                                     
  46 virtual void                                    NavEscape();
  47 virtual void                                    DrawItem(BView *po_Render,int32 i_Index,bool b_ReqDrawBack);
  48 private:
  49                 BF_GUI_TopMenu                  *poHMenu;
  50 
  51 };
  52 /////////////////////////////////////////////////////////////////////
  53 
  54 class BF_GUI_TopMenu:public BF_GUI_DlgView_HMenu{
  55 public:
  56                                                                 BF_GUI_TopMenu(const BRect      &o_Rect,
  57                                                                                         BL_List         *plo_HItem);
  58 virtual void                                    NavEnter();                                                     
  59 virtual void                                    NavEscape();
  60 virtual void                                    NavChangeCursor(int32 i_NewCursor,int i_DirectMove,bool b_Redraw=true);
  61 
  62 virtual void                                    MakeFocus(bool b_Focused=true);
  63 virtual void                                    Show(void);
  64 virtual void                                    MessageReceived(BMessage* po_Message);
  65 
  66                 BView*                                  poParent;               
  67 private:                
  68                 BF_GUI_TopVMenu                 *poVMenu;
  69                 BF_GUI_DlgPanel                 *poVMenuPanel;
  70                 int                                             iHCursor;
  71                 
  72                 void                                    OpenVMenu(bool b_FocusHMenu=true);
  73                 void                                    CloseVMenu();
  74                 void                                    Invoke(bool b_Ok);
  75 };
  76 
  77 void BF_GUI_TopMenu_Run();
  78 /////////////////////////////////////////////////////////////////////
  79 #endif
  80 

/* [previous][next][first][last][top][bottom][index][help] */