00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _BITMAPTAB_H
00019 #define _BITMAPTAB_H
00020
00021 #include <experimental/Tab.h>
00022
00023 namespace Z {
00024 namespace Experimental {
00025 namespace Interface {
00026
00027 class BitmapTab : public BStringTab
00028 {
00029 public:
00030 BitmapTab(BBitmap* _bitmap, const BString& _label, BView* _target);
00031 BitmapTab(BView* _target, BBitmap* _bitmap, const BString& _label = BString());
00032 BitmapTab(const BitmapTab& _other);
00033
00034 virtual ~BitmapTab();
00035
00036 BBitmap* SwapBitmap(BBitmap* _bitmap);
00037 void SetBitmap(BBitmap* _bitmap);
00038 const BBitmap& GetBitmap() const;
00039
00040 virtual void DrawTab(BView& _owner,
00041 const BRect& _frame,
00042 tab_position _position,
00043 tab_orientation _orientation,
00044 draw_state _state);
00045
00046 virtual void DrawFocusMarker(BView& _owner,
00047 const BRect& _frame,
00048 tab_position _position,
00049 tab_orientation _orientation,
00050 draw_state _state);
00051
00052 protected:
00053 virtual void GetContentSize(const BView& _owner, BRect& _size);
00054 virtual void DrawLabel(BView& _owner,
00055 const BRect& _frame,
00056 tab_position _position,
00057 tab_orientation _orientation,
00058 draw_state _state);
00059
00060 private:
00061 BBitmap* fBitmap;
00062
00063 };
00064
00065 }
00066 }
00067 }
00068
00069 #ifndef _ZETA_EXPLICIT_NAMESPACE_
00070 using Z::Experimental::Interface::BitmapTab;
00071 #endif
00072
00073 typedef Z::Experimental::Interface::BitmapTab BBitmapTab;
00074
00075 #endif