gwenhywfar  5.14.1
w_vsplitter.c
Go to the documentation of this file.
1 /***************************************************************************
2  begin : Thu Dec 04 2025
3  copyright : (C) 2025 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 
14 static GWENHYWFAR_CB
17  GWEN_UNUSED int index,
18  int value,
19  GWEN_UNUSED int doSignal)
20 {
21  GtkWidget *g;
22 
24  assert(g);
25 
26  switch (prop) {
28  gtk_widget_set_sensitive(GTK_WIDGET(g), (value==0)?FALSE:TRUE);
29  return 0;
30 
32  gtk_widget_grab_focus(GTK_WIDGET(g));
33  return 0;
34 
36  gtk_paned_set_position(GTK_PANED(g), value);
37  return 0;
38 
39  default:
40  break;
41  }
42 
44  "Function is not appropriate for this type of widget (%s)",
46  return GWEN_ERROR_INVALID;
47 }
48 
49 
50 
51 
52 static GWENHYWFAR_CB
55  GWEN_UNUSED int index,
56  int defaultValue)
57 {
58  GtkWidget *g;
59 
61  assert(g);
62 
63  switch (prop) {
65  return (gtk_widget_get_sensitive(GTK_WIDGET(g))==TRUE)?1:0;
66 
68  return (gtk_widget_has_focus(GTK_WIDGET(g))==TRUE)?1:0;
69 
71  return gtk_paned_get_position(GTK_PANED(g));
72 
73  default:
74  break;
75  }
76 
78  "Function is not appropriate for this type of widget (%s)",
80  return defaultValue;
81 }
82 
83 
84 
85 static GWENHYWFAR_CB
87 {
88  GtkWidget *g;
89  GtkWidget *gChild;
90 
92  assert(g);
93 
94  gChild=GTK_WIDGET(GWEN_Widget_GetImplData(wChild, GTK3_DIALOG_WIDGET_REAL));
95  assert(gChild);
96 
97  if (GWEN_Widget_Tree_GetPrevious(wChild)==NULL)
98  gtk_paned_add1(GTK_PANED(g), gChild);
99  else
100  gtk_paned_add2(GTK_PANED(g), gChild);
101 
102  return 0;
103 }
104 
105 
106 
108 {
109  GtkWidget *g;
110  GWEN_WIDGET *wParent;
111 
112  wParent=GWEN_Widget_Tree_GetParent(w);
113 
114  g=gtk_paned_new(GTK_ORIENTATION_VERTICAL);
117 
121 
122  if (wParent)
123  GWEN_Widget_AddChildGuiWidget(wParent, w);
124 
125  return 0;
126 }
127 
128 
GWEN_WIDGET_TYPE GWEN_Widget_GetType(const GWEN_WIDGET *w)
Definition: widget.c:185
#define GWEN_ERROR_INVALID
Definition: error.h:67
#define GTK3_DIALOG_WIDGET_REAL
#define GTK3_DIALOG_WIDGET_CONTENT
GWEN_DIALOG_PROPERTY
Definition: dialog.h:260
#define NULL
Definition: binreloc.c:300
#define GWEN_LOGDOMAIN
Definition: logger.h:32
static GWENHYWFAR_CB int Gtk3Gui_WVSplitter_SetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, GWEN_UNUSED int index, int value, GWEN_UNUSED int doSignal)
Definition: w_vsplitter.c:15
void GWEN_Widget_SetImplData(GWEN_WIDGET *w, int index, void *ptr)
Store a pointer with the widget.
Definition: widget.c:136
#define DBG_WARN(dbg_logger, format,...)
Definition: debug.h:125
GWEN_WIDGET_GETINTPROPERTY_FN GWEN_Widget_SetGetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_GETINTPROPERTY_FN fn)
Definition: widget.c:710
void * GWEN_Widget_GetImplData(const GWEN_WIDGET *w, int index)
Definition: widget.c:122
static GWENHYWFAR_CB int Gtk3Gui_WVSplitter_GetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, GWEN_UNUSED int index, int defaultValue)
Definition: w_vsplitter.c:53
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
GWEN_WIDGET_ADDCHILDGUIWIDGET_FN GWEN_Widget_SetAddChildGuiWidgetFn(GWEN_WIDGET *w, GWEN_WIDGET_ADDCHILDGUIWIDGET_FN fn)
Definition: widget.c:755
GWEN_WIDGET_SETINTPROPERTY_FN GWEN_Widget_SetSetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_SETINTPROPERTY_FN fn)
Definition: widget.c:695
struct GWEN_WIDGET GWEN_WIDGET
Definition: widget_be.h:34
int GWEN_Widget_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild)
Definition: widget.c:836
int Gtk3Gui_WVSplitter_Setup(GWEN_WIDGET *w)
Definition: w_vsplitter.c:107
const char * GWEN_Widget_Type_toString(GWEN_WIDGET_TYPE t)
Definition: widget.c:456
static GWENHYWFAR_CB int Gtk3Gui_WVSplitter_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild)
Definition: w_vsplitter.c:86
#define GWEN_UNUSED