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 FXTOOLBAR_H
00025
#define FXTOOLBAR_H
00026
00027
#ifndef FXPACKER_H
00028
#include "FXPacker.h"
00029
#endif
00030
00031
namespace FX {
00032
00033
00034
00035
00036
00037 class FXAPI FXToolBar :
public FXPacker {
00038 FXDECLARE(FXToolBar)
00039
protected:
00040
FXComposite *drydock;
00041
FXComposite *wetdock;
00042
FXRectangle outline;
00043
FXWindow *dockafter;
00044 FXuint dockside;
00045 FXbool docking;
00046
protected:
00047 FXToolBar();
00048
private:
00049 FXToolBar(
const FXToolBar&);
00050 FXToolBar &operator=(
const FXToolBar&);
00051
public:
00052
long onCmdUndock(
FXObject*,FXSelector,
void*);
00053
long onUpdUndock(
FXObject*,FXSelector,
void*);
00054
long onCmdDockTop(
FXObject*,FXSelector,
void*);
00055
long onUpdDockTop(
FXObject*,FXSelector,
void*);
00056
long onCmdDockBottom(
FXObject*,FXSelector,
void*);
00057
long onUpdDockBottom(
FXObject*,FXSelector,
void*);
00058
long onCmdDockLeft(
FXObject*,FXSelector,
void*);
00059
long onUpdDockLeft(
FXObject*,FXSelector,
void*);
00060
long onCmdDockRight(
FXObject*,FXSelector,
void*);
00061
long onUpdDockRight(
FXObject*,FXSelector,
void*);
00062
long onBeginDragGrip(
FXObject*,FXSelector,
void*);
00063
long onEndDragGrip(
FXObject*,FXSelector,
void*);
00064
long onDraggedGrip(
FXObject*,FXSelector,
void*);
00065
public:
00066
enum {
00067 ID_UNDOCK=FXPacker::ID_LAST,
00068 ID_DOCK_TOP,
00069 ID_DOCK_BOTTOM,
00070 ID_DOCK_LEFT,
00071 ID_DOCK_RIGHT,
00072 ID_TOOLBARGRIP,
00073 ID_LAST
00074 };
00075
public:
00076
00077
00078
00079
00080
00081
00082
00083 FXToolBar(
FXComposite* p,
FXComposite* q,FXuint opts=
LAYOUT_TOP|
LAYOUT_LEFT|
LAYOUT_FILL_X,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=3,FXint pr=3,FXint pt=2,FXint pb=2,FXint hs=DEFAULT_SPACING,FXint vs=DEFAULT_SPACING);
00084
00085
00086
00087
00088
00089 FXToolBar(
FXComposite* p,FXuint opts=
LAYOUT_TOP|
LAYOUT_LEFT|
LAYOUT_FILL_X,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=2,FXint pr=3,FXint pt=3,FXint pb=2,FXint hs=DEFAULT_SPACING,FXint vs=DEFAULT_SPACING);
00090
00091
00092
00093
00094
00095 void setDryDock(
FXComposite* dry);
00096
00097
00098
00099
00100
00101
void setWetDock(
FXComposite* wet);
00102
00103
00104
FXComposite* getDryDock()
const {
return drydock; }
00105
00106
00107
FXComposite* getWetDock()
const {
return wetdock; }
00108
00109
00110 FXbool isDocked() const;
00111
00112
00113
00114
00115
00116
00117 virtual
void dock(FXuint side=LAYOUT_SIDE_TOP,FXWindow* after=(FXWindow*)-1L);
00118
00119
00120
00121
00122
00123
00124 virtual
void undock();
00125
00126
00127 virtual FXint getDefaultWidth();
00128
00129
00130 virtual FXint getDefaultHeight();
00131
00132
00133 virtual
void layout();
00134
00135
00136 virtual FXint getWidthForHeight(FXint h);
00137
00138
00139 virtual FXint getHeightForWidth(FXint w);
00140
00141
00142
void setDockingSide(FXuint side=LAYOUT_SIDE_TOP);
00143
00144
00145 FXuint getDockingSide() const;
00146
00147
00148 virtual
void save(FXStream& store) const;
00149
00150
00151 virtual
void load(FXStream& store);
00152
00153
00154 virtual ~FXToolBar();
00155 };
00156
00157 }
00158
00159 #endif