Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

BTabbedWidget.h

Go to the documentation of this file.
00001 /* This is -*- C++ -*-)
00002 
00003    BTabbedWidget.h   
00004    \author: Bjoern Giesler <bjoern@giesler.de>
00005    
00006    
00007    
00008    $Author: giesler $
00009    $Locker$
00010    $Revision$
00011    $Date: 2002-08-19 10:41:28 +0200 (Mon, 19 Aug 2002) $
00012  */
00013 
00014 #ifndef BTABBEDWIDGET_H
00015 #define BTABBEDWIDGET_H
00016 
00017 /* system includes */
00018 /* (none) */
00019 
00020 /* my includes */
00021 #include "BWidget.h"
00022 #include "BRadioGroup.h"
00023 
00024 class BTabbedWidget:
00025   public BWidget,
00026   public BRadioGroup::Delegate
00027 {
00028  public:
00029   class Delegate {
00030   public:
00031     virtual ~Delegate() {}
00032     virtual void onSelectTabbedPane(BTabbedWidget* tabbedwidget,
00033                                     const std::string& title,
00034                                     BWidget* pane) {}
00035   };
00036   
00037   BTabbedWidget(BWidget* parent, const BRect& frame);
00038 
00039   BWidget* addTabbedPane(const std::string& title);
00040   void onSelectButton(BButton* button);
00041 
00042   void setDelegate(Delegate* deleg);
00043   Delegate* delegate() { return _deleg; }
00044 
00045  protected:
00046   typedef struct {
00047     BButton* tab;
00048     BWidget* pane;
00049   } TabAndPane;
00050 
00051   std::vector<TabAndPane> _tabs;
00052   BRadioGroup *_rgrp;
00053   Delegate* _deleg;
00054 };
00055 
00056 #endif /* BTABBEDWIDGET_H */

Generated on Sat Dec 29 09:59:23 2007 for DSGUI by doxygen1.3-rc3