gwenhywfar
5.14.1
gui
qt4
qt4/w_textbrowser.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
begin : Mon Feb 15 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
#include <gwen-gui-cpp/cppwidget.hpp>
12
13
14
class
Qt4_W_TextBrowser
:
public
Qt4_W_Widget
{
15
public
:
16
Qt4_W_TextBrowser
(
GWEN_WIDGET
*w):
Qt4_W_Widget
(w) {
17
}
18
19
20
21
~Qt4_W_TextBrowser
() {
22
}
23
24
25
26
virtual
int
setup
() {
27
QTextBrowser *qw;
28
uint32_t flags;
29
GWEN_WIDGET
*wParent;
30
QSizePolicy::Policy hpolicy=QSizePolicy::Minimum;
31
QSizePolicy::Policy vpolicy=QSizePolicy::Minimum;
32
const
char
*s;
33
QString text;
34
35
flags=
GWEN_Widget_GetFlags
(
_widget
);
36
wParent=GWEN_Widget_Tree_GetParent(
_widget
);
37
s=
GWEN_Widget_GetText
(
_widget
, 0);
38
if
(s)
39
text=QString::fromUtf8(s);
40
41
qw=
new
QTextBrowser();
42
qw->setText(text);
43
44
/* handle flags */
45
if
(flags &
GWEN_WIDGET_FLAGS_FILLX
)
46
hpolicy=QSizePolicy::Expanding;
47
if
(flags &
GWEN_WIDGET_FLAGS_FILLY
)
48
vpolicy=QSizePolicy::Expanding;
49
qw->setSizePolicy(hpolicy, vpolicy);
50
51
GWEN_Widget_SetImplData
(
_widget
,
QT4_DIALOG_WIDGET_REAL
, (
void
*) qw);
52
53
if
(wParent)
54
GWEN_Widget_AddChildGuiWidget
(wParent,
_widget
);
55
return
0;
56
}
57
58
59
60
int
setCharProperty
(
GWEN_DIALOG_PROPERTY
prop,
61
int
index,
62
const
char
*value,
63
int
doSignal) {
64
QTextBrowser *qw;
65
QString text;
66
67
qw=(QTextBrowser*)
GWEN_Widget_GetImplData
(
_widget
,
QT4_DIALOG_WIDGET_REAL
);
68
assert(qw);
69
70
if
(value)
71
text=
QT4_Gui::extractHtml
(value);
72
73
switch
(prop) {
74
case
GWEN_DialogProperty_Value
:
75
qw->setText(
""
);
76
qw->append(text);
77
return
0;
78
79
case
GWEN_DialogProperty_AddValue
:
80
qw->append(text);
81
return
0;
82
83
case
GWEN_DialogProperty_ClearValues
:
84
qw->setText(
""
);
85
return
0;
86
87
default
:
88
break
;
89
}
90
91
DBG_WARN
(
GWEN_LOGDOMAIN
,
92
"Function is not appropriate for this type of widget (%s)"
,
93
GWEN_Widget_Type_toString
(
GWEN_Widget_GetType
(
_widget
)));
94
return
GWEN_ERROR_INVALID
;
95
};
96
97
98
99
};
100
101
102
103
104
105
106
CppWidget::_widget
GWEN_WIDGET * _widget
Definition
cppwidget.hpp:66
QT4_Gui::extractHtml
static QString extractHtml(const char *text)
Definition
qt4_gui.cpp:64
Qt4_W_TextBrowser::setup
virtual int setup()
Definition
qt4/w_textbrowser.cpp:26
Qt4_W_TextBrowser::~Qt4_W_TextBrowser
~Qt4_W_TextBrowser()
Definition
qt4/w_textbrowser.cpp:21
Qt4_W_TextBrowser::Qt4_W_TextBrowser
Qt4_W_TextBrowser(GWEN_WIDGET *w)
Definition
qt4/w_textbrowser.cpp:16
Qt4_W_TextBrowser::setCharProperty
int setCharProperty(GWEN_DIALOG_PROPERTY prop, int index, const char *value, int doSignal)
Definition
qt4/w_textbrowser.cpp:60
Qt4_W_Widget::Qt4_W_Widget
Qt4_W_Widget(GWEN_WIDGET *w)
Definition
qt4/w_widget.cpp:16
DBG_WARN
#define DBG_WARN(dbg_logger, format,...)
Definition
debug.h:125
GWEN_WIDGET_FLAGS_FILLY
#define GWEN_WIDGET_FLAGS_FILLY
Definition
dialog.h:62
GWEN_WIDGET_FLAGS_FILLX
#define GWEN_WIDGET_FLAGS_FILLX
Definition
dialog.h:61
GWEN_DIALOG_PROPERTY
GWEN_DIALOG_PROPERTY
Definition
dialog.h:260
GWEN_DialogProperty_AddValue
@ GWEN_DialogProperty_AddValue
Definition
dialog.h:268
GWEN_DialogProperty_ClearValues
@ GWEN_DialogProperty_ClearValues
Definition
dialog.h:269
GWEN_DialogProperty_Value
@ GWEN_DialogProperty_Value
Definition
dialog.h:264
GWEN_ERROR_INVALID
#define GWEN_ERROR_INVALID
Definition
error.h:67
GWEN_LOGDOMAIN
#define GWEN_LOGDOMAIN
Definition
logger.h:32
QT4_DIALOG_WIDGET_REAL
#define QT4_DIALOG_WIDGET_REAL
Definition
qt4_gui_dialog.cpp:47
GWEN_Widget_AddChildGuiWidget
int GWEN_Widget_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild)
Definition
widget.c:836
GWEN_Widget_SetImplData
void GWEN_Widget_SetImplData(GWEN_WIDGET *w, int index, void *ptr)
Store a pointer with the widget.
Definition
widget.c:136
GWEN_Widget_GetImplData
void * GWEN_Widget_GetImplData(const GWEN_WIDGET *w, int index)
Definition
widget.c:122
GWEN_Widget_GetText
const char * GWEN_Widget_GetText(const GWEN_WIDGET *w, int idx)
Definition
widget.c:293
GWEN_Widget_GetFlags
uint32_t GWEN_Widget_GetFlags(const GWEN_WIDGET *w)
Definition
widget.c:149
GWEN_Widget_Type_toString
const char * GWEN_Widget_Type_toString(GWEN_WIDGET_TYPE t)
Definition
widget.c:456
GWEN_Widget_GetType
GWEN_WIDGET_TYPE GWEN_Widget_GetType(const GWEN_WIDGET *w)
Definition
widget.c:185
GWEN_WIDGET
struct GWEN_WIDGET GWEN_WIDGET
Definition
widget_be.h:34
Generated by
1.15.0