gwenhywfar
5.10.1
gui
qt5
qt5/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
Qt5_W_TextBrowser
:
public
Qt5_W_Widget
{
15
public
:
16
Qt5_W_TextBrowser
(
GWEN_WIDGET
*w):
Qt5_W_Widget
(w) {
17
}
18
19
20
21
~Qt5_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
,
QT5_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
GWEN_UNUSED
int
index,
62
const
char
*value,
63
GWEN_UNUSED
int
doSignal) {
64
QTextBrowser *qw;
65
QString text;
66
67
qw=(QTextBrowser*)
GWEN_Widget_GetImplData
(
_widget
,
QT5_DIALOG_WIDGET_REAL
);
68
assert(qw);
69
70
if
(value)
71
text=
QT5_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
GWEN_Widget_GetType
GWEN_WIDGET_TYPE GWEN_Widget_GetType(const GWEN_WIDGET *w)
Definition:
widget.c:185
Qt5_W_TextBrowser::setup
virtual int setup()
Definition:
qt5/w_textbrowser.cpp:26
GWEN_ERROR_INVALID
#define GWEN_ERROR_INVALID
Definition:
error.h:67
GWEN_DialogProperty_AddValue
Definition:
dialog.h:268
GWEN_DIALOG_PROPERTY
GWEN_DIALOG_PROPERTY
Definition:
dialog.h:260
Qt5_W_TextBrowser::setCharProperty
int setCharProperty(GWEN_DIALOG_PROPERTY prop, GWEN_UNUSED int index, const char *value, GWEN_UNUSED int doSignal)
Definition:
qt5/w_textbrowser.cpp:60
GWEN_DialogProperty_ClearValues
Definition:
dialog.h:269
GWEN_Widget_GetFlags
uint32_t GWEN_Widget_GetFlags(const GWEN_WIDGET *w)
Definition:
widget.c:149
DBG_WARN
#define DBG_WARN(dbg_logger, format, args...)
Definition:
debug.h:125
QT5_Gui::extractHtml
static QString extractHtml(const char *text)
Definition:
qt5_gui.cpp:64
GWEN_LOGDOMAIN
#define GWEN_LOGDOMAIN
Definition:
logger.h:35
GWEN_Widget_SetImplData
void GWEN_Widget_SetImplData(GWEN_WIDGET *w, int index, void *ptr)
Store a pointer with the widget.
Definition:
widget.c:136
Qt5_W_TextBrowser::Qt5_W_TextBrowser
Qt5_W_TextBrowser(GWEN_WIDGET *w)
Definition:
qt5/w_textbrowser.cpp:16
Qt5_W_TextBrowser
Definition:
qt5/w_textbrowser.cpp:14
GWEN_Widget_GetImplData
void * GWEN_Widget_GetImplData(const GWEN_WIDGET *w, int index)
Definition:
widget.c:122
GWEN_WIDGET
struct GWEN_WIDGET GWEN_WIDGET
Definition:
widget_be.h:34
GWEN_Widget_AddChildGuiWidget
int GWEN_Widget_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild)
Definition:
widget.c:828
Qt5_W_TextBrowser::~Qt5_W_TextBrowser
~Qt5_W_TextBrowser()
Definition:
qt5/w_textbrowser.cpp:21
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_DialogProperty_Value
Definition:
dialog.h:264
GWEN_Widget_Type_toString
const char * GWEN_Widget_Type_toString(GWEN_WIDGET_TYPE t)
Definition:
widget.c:452
Qt5_W_Widget
Definition:
qt5/w_widget.cpp:14
CppWidget::_widget
GWEN_WIDGET * _widget
Definition:
cppwidget.hpp:66
QT5_DIALOG_WIDGET_REAL
#define QT5_DIALOG_WIDGET_REAL
Definition:
qt5_gui_dialog.hpp:28
GWEN_Widget_GetText
const char * GWEN_Widget_GetText(const GWEN_WIDGET *w, int idx)
Definition:
widget.c:293
GWEN_UNUSED
#define GWEN_UNUSED
Definition:
gwenhywfarapi.h:150
Generated by
1.8.14