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