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) {
190 SetBackground(c,GTK_STATE_NORMAL);
192 void SetPrelightBackground(
VDKRgb c) {
193 SetBackground(c,GTK_STATE_PRELIGHT);
195 void SetInsensitiveBackground(
VDKRgb c) {
196 SetBackground(c,GTK_STATE_INSENSITIVE);
198 void SetActiveBackground(
VDKRgb c) {
199 SetBackground(c,GTK_STATE_ACTIVE);
201 void SetSelectedBackground(
VDKRgb c) {
202 SetBackground(c,GTK_STATE_SELECTED);
208 GetBackground(GtkStateType state = GTK_STATE_NORMAL);
213 GetForeground(GtkStateType state = GTK_STATE_NORMAL);
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();
321 GtkWidget* ConnectingWidget();
334 GtkWidget* WrappedWidget();
338 virtual void SetFont(
VDKFont* f);
350 void SetVisible(
bool visible);
356 return GTK_WIDGET_VISIBLE(widget);
361 void SetCursor(VDKCursorType);
374 virtual void SetForeground(
VDKRgb color,
375 GtkStateType state = GTK_STATE_NORMAL);
377 void SetNormalForeground(
VDKRgb color)
379 SetForeground(color);
386 virtual void SetBackground(
VDKRgb color,
387 GtkStateType state = GTK_STATE_NORMAL);
395 if(GTK_IS_WIDGET(widget))
396 gtk_widget_set_usize(GTK_WIDGET(widget),w,h);
405 SetSize(s.X(),s.Y());
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);
489 void SignalEmitParent(
char* sig);
513 if(p) parent = p;
return parent;
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 VDKCursorType GetCursor()
Definition: vdkobj.h:365
VDKObject * parent
Definition: vdkobj.h:253
VDKObjectSignal s_clicked
Definition: vdkobj.h:234
int EventConnect(VDKObject *obj, char *event, bool(VDKObject::*method)(VDKObject *, GdkEvent *), bool after=false)
Definition: vdkobj.h:729
ItemList & Items()
Definition: vdkobj.h:440
GtkWidget * sigwid
Definition: vdkobj.h:249
void SetSize(int w, int h)
Definition: vdkobj.h:393
bool EventDisconnect(int connection)
Definition: vdkobj.h:754
VDKObject * Parent(VDKObject *p=NULL)
Definition: vdkobj.h:512
VDKReadWriteValueProp< VDKObject, bool > Enabled
Definition: vdkobj.h:176
virtual void Setup()
Definition: vdkobj.h:467
Provides a base class for derived raw objects.
Definition: rawobj.h:38
void SetUsize(VDKPoint s)
Definition: vdkobj.h:403
VDKFont * GetFont()
Definition: vdkobj.h:342
Implements famous cont referenced string objects.
Definition: vdkstring.h:45
Provides a simple RGB color structure.
Definition: vdkutils.h:37
VDKForm * Owner()
Definition: vdkobj.h:311
VDKReadWriteValueProp< VDKObject, VDKCursorType > Cursor
Definition: vdkobj.h:180
bool Destroy()
Definition: rawobj.cc:55
int SignalConnect(VDKObject *obj, char *signal, bool(VDKObject::*method)(VDKObject *), bool gtk=true, bool after=false)
Definition: vdkobj.h:627
Provides a simple point object.
Definition: vdkutils.h:94
virtual int isA()
Definition: vdkobj.h:307
bool GetVisible()
Definition: vdkobj.h:354
VDKReadWriteValueProp< VDKObject, VDKFont * > Font
Definition: vdkobj.h:168
GtkWidget * widget
Definition: vdkobj.h:241
int EventConnect(char *, bool(VDKObject::*)(VDKObject *, GdkEvent *), bool after=false)
Definition: vdkobj.h:745
bool SignalDisconnect(int connection)
Definition: vdkobj.h:664
Hierarchy root class.
Definition: vdkutils.h:263
Provides a VDKList iterator.
Definition: dlist.h:200
Provides a raw font.
Definition: vdkfont.h:37
SizeObjectProp Usize
Definition: vdkobj.h:172
void SignalEmitParent(int signal)
Definition: vdkobj.h:482
VDKReadWriteValueProp< VDKObject, bool > Visible
Definition: vdkobj.h:184
VDKReadWriteValueProp< VDKObject, VDKRgb > NormalBackground
Definition: vdkobj.h:156
int SignalConnect(char *signal, bool(VDKObject::*method)(VDKObject *), bool gtk=true, bool after=false)
Definition: vdkobj.h:648