00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef FXTOOLBARTAB_H
00025
#define FXTOOLBARTAB_H
00026
00027
#ifndef FXFRAME_H
00028
#include "FXFrame.h"
00029
#endif
00030
00031
namespace FX {
00032
00033
00034
00035
enum {
00036
TOOLBARTAB_HORIZONTAL = 0,
00037
TOOLBARTAB_VERTICAL = 0x00008000
00038 };
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
class FXAPI FXToolBarTab :
public FXFrame {
00049 FXDECLARE(FXToolBarTab)
00050 protected:
00051 FXColor activeColor;
00052 FXString tip;
00053 FXbool collapsed;
00054 FXbool down;
00055 protected:
00056 FXToolBarTab();
00057
void drawUpArrow(
FXDCWindow& dc);
00058
void drawDownArrow(
FXDCWindow& dc);
00059
void drawRightArrow(
FXDCWindow& dc);
00060
void drawLeftArrow(
FXDCWindow& dc);
00061
void drawHSpeckles(
FXDCWindow& dc,FXint x,FXint w);
00062
void drawVSpeckles(
FXDCWindow& dc,FXint y,FXint h);
00063 private:
00064 FXToolBarTab(const FXToolBarTab&);
00065 FXToolBarTab& operator=(const FXToolBarTab&);
00066 public:
00067
long onPaint(
FXObject*,FXSelector,
void*);
00068
long onUpdate(FXObject*,FXSelector,
void*);
00069
long onEnter(FXObject*,FXSelector,
void*);
00070
long onLeave(FXObject*,FXSelector,
void*);
00071
long onUngrabbed(FXObject*,FXSelector,
void*);
00072
long onLeftBtnPress(FXObject*,FXSelector,
void*);
00073
long onLeftBtnRelease(FXObject*,FXSelector,
void*);
00074
long onKeyPress(FXObject*,FXSelector,
void*);
00075
long onKeyRelease(FXObject*,FXSelector,
void*);
00076
long onCmdCollapse(FXObject*,FXSelector,
void*);
00077
long onUpdCollapse(FXObject*,FXSelector,
void*);
00078
long onCmdUncollapse(FXObject*,FXSelector,
void*);
00079
long onUpdUncollapse(FXObject*,FXSelector,
void*);
00080
long onCmdSetTip(FXObject*,FXSelector,
void*);
00081
long onCmdGetTip(FXObject*,FXSelector,
void*);
00082
long onQueryTip(FXObject*,FXSelector,
void*);
00083 public:
00084 enum {
00085 ID_COLLAPSE=FXFrame::ID_LAST,
00086 ID_UNCOLLAPSE,
00087 ID_LAST
00088 };
00089
public:
00090
00091
00092 FXToolBarTab(
FXComposite* p,
FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=FRAME_RAISED,FXint x=0,FXint y=0,FXint w=0,FXint h=0);
00093
00094
00095
virtual FXbool canFocus() const;
00096
00097
00098 virtual FXint getDefaultWidth();
00099
00100
00101 virtual FXint getDefaultHeight();
00102
00103
00104 virtual
void enable();
00105
00106
00107 virtual
void disable();
00108
00109
00110
void collapse(FXbool fold,FXbool notify=FALSE);
00111
00112
00113 FXbool isCollapsed()
const {
return collapsed; }
00114
00115
00116
void setTabStyle(FXuint style);
00117
00118
00119 FXuint getTabStyle() const;
00120
00121
00122 FXColor getActiveColor()
const {
return activeColor; }
00123
00124
00125
void setActiveColor(FXColor clr);
00126
00127
00128
void setTipText(
const FXString& text){ tip=text; }
00129
00130
00131
const FXString& getTipText()
const {
return tip; }
00132
00133
00134
virtual void save(FXStream& store)
const;
00135
00136
00137
virtual void load(FXStream& store);
00138 };
00139
00140 }
00141
00142
#endif