gwenhywfar  4.99.8beta
gtk2/w_image.c
Go to the documentation of this file.
1 /***************************************************************************
2  begin : Mon Jul 12 2010
3  copyright : (C) 2010 by Martin Preuss
4  email : martin@libchipcard.de
5 
6  ***************************************************************************
7  * Please see toplevel file COPYING for license details *
8  ***************************************************************************/
9 
10 
11 
12 
13 static GWENHYWFAR_CB
16  int index,
17  int value,
18  int doSignal) {
19  GtkWidget *g;
20 
22  assert(g);
23 
24  switch(prop) {
26  gtk_widget_set_sensitive(GTK_WIDGET(g), (value==0)?FALSE:TRUE);
27  return 0;
28 
30  gtk_widget_grab_focus(GTK_WIDGET(g));
31  return 0;
32 
33  default:
34  break;
35  }
36 
38  "Function is not appropriate for this type of widget (%s)",
40  return GWEN_ERROR_INVALID;
41 }
42 
43 
44 
45 
46 static GWENHYWFAR_CB
49  int index,
50  int defaultValue) {
51  GtkWidget *g;
52 
54  assert(g);
55 
56  switch(prop) {
58  return (gtk_widget_get_sensitive(GTK_WIDGET(g))==TRUE)?1:0;
59 
61  return (gtk_widget_has_focus(GTK_WIDGET(g))==TRUE)?1:0;
62  return 0;
63 
64  default:
65  break;
66  }
67 
69  "Function is not appropriate for this type of widget (%s)",
71  return defaultValue;
72 }
73 
74 
75 
77  GtkWidget *g;
78  uint32_t flags;
79  GWEN_WIDGET *wParent;
80  const char *s;
81  GWEN_BUFFER *tbuf;
82 
83  flags=GWEN_Widget_GetFlags(w);
84  wParent=GWEN_Widget_Tree_GetParent(w);
85 
86  tbuf=GWEN_Buffer_new(0, 256, 0, 1);
88  if (s && *s) {
89  GWEN_STRINGLIST *sl;
90 
92  if (sl) {
93  int rv;
94 
95  rv=GWEN_Directory_FindFileInPaths(sl, s, tbuf);
96  if (rv<0) {
97  DBG_ERROR(GWEN_LOGDOMAIN, "Image file [%s] not found (%d)", s, rv);
98  /* ignore result here, instead create GtkImage with "broken mage" later */
99  }
100  }
101  }
102 
103  g=gtk_image_new_from_file(GWEN_Buffer_GetStart(tbuf));
104  GWEN_Buffer_free(tbuf);
105 
108 
111 
112  if (wParent)
113  GWEN_Widget_AddChildGuiWidget(wParent, w);
114 
115  return 0;
116 }
117 
118 
GWEN_WIDGET_TYPE GWEN_Widget_GetType(const GWEN_WIDGET *w)
Definition: widget.c:175
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
Definition: buffer.c:223
#define GWEN_ERROR_INVALID
Definition: error.h:67
GWEN_DIALOG_PROPERTY
Definition: dialog.h:215
uint32_t GWEN_Widget_GetFlags(const GWEN_WIDGET *w)
Definition: widget.c:143
#define DBG_WARN(dbg_logger, format, args...)
Definition: debug.h:118
#define GWEN_LOGDOMAIN
Definition: logger.h:35
int Gtk2Gui_WImage_Setup(GWEN_WIDGET *w)
Definition: gtk2/w_image.c:76
void GWEN_Widget_SetImplData(GWEN_WIDGET *w, int index, void *ptr)
Store a pointer with the widget.
Definition: widget.c:131
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
Definition: buffer.c:38
GWEN_WIDGET_GETINTPROPERTY_FN GWEN_Widget_SetGetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_GETINTPROPERTY_FN fn)
Definition: widget.c:649
static GWENHYWFAR_CB int Gtk2Gui_WImage_SetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, int value, int doSignal)
Definition: gtk2/w_image.c:14
void * GWEN_Widget_GetImplData(const GWEN_WIDGET *w, int index)
Definition: widget.c:118
GWEN_DIALOG * GWEN_Widget_GetDialog(const GWEN_WIDGET *w)
Definition: widget.c:90
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
#define GTK2_DIALOG_WIDGET_REAL
GWENHYWFAR_API int GWEN_Directory_FindFileInPaths(const GWEN_STRINGLIST *paths, const char *filePath, GWEN_BUFFER *fbuf)
GWEN_WIDGET_SETINTPROPERTY_FN GWEN_Widget_SetSetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_SETINTPROPERTY_FN fn)
Definition: widget.c:635
GWEN_STRINGLIST * GWEN_Dialog_GetMediaPaths(const GWEN_DIALOG *dlg)
Definition: dialog.c:234
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
Definition: stringlist.h:54
struct GWEN_WIDGET GWEN_WIDGET
Definition: widget_be.h:34
int GWEN_Widget_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild)
Definition: widget.c:767
void GWEN_Buffer_free(GWEN_BUFFER *bf)
Definition: buffer.c:83
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
Definition: buffer.h:41
static GWENHYWFAR_CB int Gtk2Gui_WImage_GetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, int defaultValue)
Definition: gtk2/w_image.c:47
#define DBG_ERROR(dbg_logger, format, args...)
Definition: debug.h:97
#define GTK2_DIALOG_WIDGET_CONTENT
const char * GWEN_Widget_GetImageFileName(const GWEN_WIDGET *w)
Definition: widget.c:330
const char * GWEN_Widget_Type_toString(GWEN_WIDGET_TYPE t)
Definition: widget.c:413