31 #include <vdk/vdktypes.h>
32 #include <vdk/dlist.h>
33 #include <vdk/vdkutils.h>
34 #include <vdk/rawobj.h>
35 #include <vdk/vdkprops.h>
36 #include <vdk/vdkstring.h>
38 #ifdef USE_SIGCPLUSPLUS
39 # include <vdk/sigc_addon.h>
40 # include <vdk/sigc_events.h>
41 # include <vdk/sigc_eventsignals.h>
51 enum { object_class, form_class , container_class};
78 owner(owner),obj(obj),signal(signal) {}
98 owner(owner),obj(obj),signal(signal) {}
112 typedef VDKReadWriteValueProp<VDKObject,VDKPoint> SizeOProp;
114 class SizeObjectProp:
public SizeOProp
118 SizeObjectProp(
char* name,
VDKObject*
object,
136 #ifndef USE_SIGCPLUSPLUS
157 VDKReadWriteValueProp<VDKObject,VDKRgb> PrelightBackground;
158 VDKReadWriteValueProp<VDKObject,VDKRgb> InsensitiveBackground;
159 VDKReadWriteValueProp<VDKObject,VDKRgb> ActiveBackground;
160 VDKReadWriteValueProp<VDKObject,VDKRgb> SelectedBackground;
161 VDKReadWriteValueProp<VDKObject,VDKRgb> Foreground;
168 VDKReadWriteValueProp<VDKObject,VDKFont*>
Font;
176 VDKReadWriteValueProp<VDKObject,bool>
Enabled;
180 VDKReadWriteValueProp<VDKObject,VDKCursorType>
Cursor;
184 VDKReadWriteValueProp<VDKObject,bool>
Visible;
189 void SetNormalBackground(
VDKRgb c) {
192 void SetPrelightBackground(
VDKRgb c) {
195 void SetInsensitiveBackground(
VDKRgb c) {
198 void SetActiveBackground(
VDKRgb c) {
201 void SetSelectedBackground(
VDKRgb c) {
235 s_list_select,s_list_unselect,s_list_click_column,s_realize,
236 s_toggled,s_value_changed,s_child_attached,s_child_detached;
256 static int VDKEventPipe(GtkWidget* w, GdkEvent* event,
void* obj);
259 void _setBackground_(GtkWidget* wid,
260 int red,
int green,
int blue,
264 void _setForeground_(GtkWidget* wid,
265 int red,
int green,
int blue,
269 void _setFont_(GtkWidget* wid,
VDKFont* f);
272 void ConnectDefaultEvents();
275 void ConnectDefaultSignals();
278 void SignalEmit(
int signal,
int level);
282 virtual void ShowWidget(
bool visible);
307 virtual int isA() {
return object_class; }
317 virtual GtkWidget*
Widget();
356 return GTK_WIDGET_VISIBLE(
widget);
375 GtkStateType state = GTK_STATE_NORMAL);
377 void SetNormalForeground(
VDKRgb color)
387 GtkStateType state = GTK_STATE_NORMAL);
396 gtk_widget_set_usize(GTK_WIDGET(
widget),w,h);
412 virtual void Enable(
bool flag =
true);
423 virtual void SetTip(
char* );
434 virtual void Add(
VDKObject* obj,
int justify = l_justify,
435 int expand = TRUE,
int fill = TRUE ,
461 void Draw(GdkRectangle* area = NULL);
472 void SignalEmit(
int signal);
477 void SignalEmit(
char* sig);
483 SignalEmit(signal,Parent_level);
519 static void VDKSignalPipe(GtkWidget* w,
void* obj);
523 virtual int VDKObjectSignalResponse(GtkWidget* ,
int ,
void*,
bool)
530 virtual int VDKObjectEventResponse(GtkWidget* , GdkEvent*,
void*,
bool)
535 virtual int ObjectSignalDetach(
int ,
int )
539 virtual bool ObjectSignalAttach(
int )
543 virtual int ObjectEventDetach(VDKEvent )
547 virtual bool ObjectEventAttach(
int )
552 virtual int VDKObjectSignalResponseTableSize()
556 virtual int VDKObjectEventResponseTableSize()
567 virtual int VDKSignalResponse(GtkWidget* ,
int ,
void*,
void *,
bool)
574 virtual int VDKEventResponse(GtkWidget* , GdkEvent* ,
void*,
void*,
bool )
578 virtual int SignalDetach(
VDKObject* ,
int )
582 virtual bool SignalAttach(
int )
586 virtual int EventDetach(
VDKObject* ,VDKEvent )
590 virtual bool EventAttach(
int )
598 virtual int VDKSignalResponseTableSize()
605 virtual int VDKEventResponseTableSize()
656 virtual int VDKSignalUnitResponse(GtkWidget* ,
char* ,
void*)
672 virtual bool FindSignalAtClassLevel(
VDKObject* ,
char* )
682 virtual bool FindSignalAtParentLevel(
VDKObject* ,
char* )
692 static void VDKSignalUnitPipe(GtkWidget* ,
void* );
701 virtual bool FindEventAtClassLevel(
VDKObject* ,
char* )
709 virtual bool FindEventAtParentLevel(
VDKObject* ,
char* )
716 virtual int VDKEventUnitResponse(GtkWidget* ,
char* ,
758 virtual int VDKSignalResponseListSize() {
767 static int VDKEventUnitPipe(GtkWidget* , GdkEvent*,
void* );
769 #ifdef USE_SIGCPLUSPLUS
772 VDKRawEventSignal OnRawEvent;
774 VDKButtonSignal OnButtonEvent;
776 VDKKeySignal OnKeyEvent;
778 VDKKeyFocusSignal OnKeyFocusEvent;
780 VDKPointerFocusSignal OnPointerFocusEvent;
782 VDKPointerSignal OnPointerEvent;
784 VDKMapSignal OnMapEvent;
786 VDKGeometrySignal OnGeometryEvent;
788 VDKPaintSignal OnPaintEvent;
789 #endif // USE_SIGCPLUSPLUS