00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
#ifndef TOOLBAR_H
00028
#define TOOLBAR_H
00029
00030
00031
#include <vdk/vdkprops.h>
00032
#include <vdk/widcontain.h>
00033
#include <gtk/gtkenums.h>
00034
00035
class VDKForm;
00036
class VDKBox;
00037
00038
00039
typedef VDKList<VDKObject> ToolWidgetList;
00040
typedef VDKListiterator<VDKObject> ToolWidgetListIterator;
00041
typedef VDKList<GtkWidget> GtkWidgetList;
00042
typedef VDKListiterator<GtkWidget> GtkWidgetListIterator;
00051 class VDKToolbar :
public VDKObjectContainer
00052 {
00053
00054
static void ButtonSignal(GtkWidget *wid, gpointer gp);
00055 ToolWidgetList toolWidgets;
00056 GtkWidgetList widgets;
00057
VDKList<VDKObject> tool_buttons;
00058
00059
public:
00060
00064 VDKReadOnlyValueProp<VDKToolbar, ToolWidgetList*>
WidgetList;
00068 VDKReadOnlyValueProp<VDKToolbar, GtkWidgetList*>
ButtonList;
00072 VDKReadOnlyValueProp<VDKToolbar, int>
ButtonPressed;
00079 VDKReadWriteValueProp<VDKToolbar, GtkOrientation>
Orientation;
00087 VDKReadWriteValueProp<VDKToolbar, GtkToolbarStyle>
Style;
00094 VDKReadWriteValueProp<VDKToolbar, GtkToolbarSpaceStyle>
SpaceStyle;
00098 VDKReadWriteValueProp<VDKToolbar, bool>
Borderless;
00106 VDKReadWriteValueProp<VDKToolbar, GtkReliefStyle>
Relief;
00110 VDKReadWriteValueProp<VDKToolbar, int>
Spacing;
00111
00117
VDKToolbar(
VDKForm* owner,
00118 GtkOrientation orientation = GTK_ORIENTATION_HORIZONTAL);
00122 virtual ~VDKToolbar() {}
00128 virtual void Add(
VDKObject* obj,
int ,
int ,
int ,
int )
00129 {
AddWidget(obj); }
00135
void AddWidget(
VDKObject* widget,
char* tip = NULL);
00142
void AddButton(
char** pixdata,
00143
char* tip = NULL,
00144
char* text = NULL);
00151
void AddButton(
char* pixfile,
00152
char* tip = NULL,
00153
char* text = NULL);
00157 void AddSpace() {
00158 gtk_toolbar_append_space(GTK_TOOLBAR(widget));
00159 }
00160
00161
void SetOrientation( GtkOrientation orientation) {
00162 gtk_toolbar_set_orientation(GTK_TOOLBAR(widget),orientation);
00163 }
00164
00165
void SetStyle(GtkToolbarStyle style) {
00166 gtk_toolbar_set_style(GTK_TOOLBAR(widget),style);
00167 }
00168
00169
void SetRelief(GtkReliefStyle style);
00170
00171
void SetBorderless(
bool flag) {
00172
if(!flag)
00173
00174 SetRelief(GTK_RELIEF_NORMAL);
00175
else
00176
00177 SetRelief(GTK_RELIEF_NONE);
00178 }
00179
00180
void SetSpacing(
int s) {
00181
00182
00183 }
00184
00185
00186
void SetSpaceStyle(GtkToolbarSpaceStyle style) {
00187
00188
00189 }
00190
00191 GtkToolbarSpaceStyle GetSpaceStyle() {
00192
return (GtkToolbarSpaceStyle) 0;
00193 }
00194
00195
VDKObject* operator[](
int ndx) {
00196
if( (ndx >= 0) && (ndx < tool_buttons.
size()) )
00197
return tool_buttons[ndx];
00198
else
00199
return NULL;
00200 }
00201 };
00202
00203
00204
#endif
00205
00206
00207
00208
00209
00210
00211
00212
00213