Add function for casting QBrush to QVariant

This commit is contained in:
Dmitry Sinelnikov 2018-01-13 22:30:19 +03:00
parent 2d071cd40c
commit 75468876fe
8 changed files with 35 additions and 6 deletions

View file

@ -19,6 +19,7 @@
#include <QAssociativeIterable>
#include <QBasicTimer>
#include <QBitArray>
#include <QBrush>
#include <QBuffer>
#include <QByteArray>
#include <QByteArrayList>
@ -23128,6 +23129,11 @@ void* QVariant_ToIcon(void* ptr)
return new QIcon(qvariant_cast<QIcon>(*static_cast<QVariant*>(ptr)));
}
void* QVariant_ToBrush(void* ptr)
{
return new QBrush(qvariant_cast<QBrush>(*static_cast<QVariant*>(ptr)));
}
void* QVariant___QVariant_val_atList26(void* ptr, struct QtCore_PackedString i)
{
return new QVariant(static_cast<QHash<QString, QVariant>*>(ptr)->value(QString::fromUtf8(i.data, i.len)));

View file

@ -46813,6 +46813,13 @@ func (ptr *QVariant) ToIcon() unsafe.Pointer {
return nil
}
func (ptr *QVariant) ToBrush() unsafe.Pointer {
if ptr.Pointer() != nil {
return unsafe.Pointer(C.QVariant_ToBrush(ptr.Pointer()))
}
return nil
}
func (ptr *QVariant) __QVariant_val_atList26(i string) *QVariant {
if ptr.Pointer() != nil {
var iC *C.char

View file

@ -3502,6 +3502,7 @@ void* QVariant_ToFont(void* ptr);
void* QVariant_ToImage(void* ptr);
void* QVariant_ToObject(void* ptr);
void* QVariant_ToIcon(void* ptr);
void* QVariant_ToBrush(void* ptr);
void* QVariant___QVariant_val_atList26(void* ptr, struct QtCore_PackedString i);
void QVariant___QVariant_val_setList26(void* ptr, struct QtCore_PackedString key, void* i);
void* QVariant___QVariant_val_newList26(void* ptr);
@ -3760,4 +3761,4 @@ char Qt_Qt_MightBeRichText(struct QtCore_PackedString text);
}
#endif
#endif
#endif

View file

@ -3090,6 +3090,11 @@ void* QBrush_Gradient(void* ptr)
return const_cast<QGradient*>(static_cast<QBrush*>(ptr)->gradient());
}
void* QBrush_ToVariant(void* ptr)
{
return new QVariant(*static_cast<QBrush*>(ptr));
}
class MyQClipboard: public QClipboard
{
public:

View file

@ -7480,6 +7480,15 @@ func (ptr *QBrush) Gradient() *QGradient {
return nil
}
func (ptr *QBrush) ToVariant() *core.QVariant {
if ptr.Pointer() != nil {
var tmpValue = core.NewQVariantFromPointer(C.QBrush_ToVariant(ptr.Pointer()))
runtime.SetFinalizer(tmpValue, (*core.QVariant).DestroyQVariant)
return tmpValue
}
return nil
}
type QClipboard struct {
core.QObject
}

View file

@ -441,6 +441,7 @@ long long QBrush_Style(void* ptr);
char QBrush_IsOpaque(void* ptr);
void* QBrush_Color(void* ptr);
void* QBrush_Gradient(void* ptr);
void* QBrush_ToVariant(void* ptr);
void QClipboard_ConnectChanged(void* ptr);
void QClipboard_DisconnectChanged(void* ptr);
void QClipboard_Changed(void* ptr, long long mode);
@ -18056,4 +18057,4 @@ long long QWindowStateChangeEvent_OldState(void* ptr);
}
#endif
#endif
#endif

View file

@ -641,7 +641,7 @@ func cppOutput(name, value string, f *parser.Function) string {
}
switch f.Fullname {
case "QColor::toVariant", "QFont::toVariant", "QImage::toVariant", "QObject::toVariant", "QIcon::toVariant":
case "QColor::toVariant", "QFont::toVariant", "QImage::toVariant", "QObject::toVariant", "QIcon::toVariant", "QBrush::toVariant":
{
if f.Fullname == "QObject::toVariant" {
return fmt.Sprintf("new %v(QVariant::fromValue(%v))", value, strings.Split(name, "->")[0])
@ -649,7 +649,7 @@ func cppOutput(name, value string, f *parser.Function) string {
return fmt.Sprintf("new %v(*%v)", value, strings.Split(name, "->")[0])
}
case "QVariant::toColor", "QVariant::toFont", "QVariant::toImage", "QVariant::toObject", "QVariant::toIcon":
case "QVariant::toColor", "QVariant::toFont", "QVariant::toImage", "QVariant::toObject", "QVariant::toIcon", "QVariant::toBrush":
{
f.NeedsFinalizer = false

View file

@ -15,7 +15,7 @@ func (c *Class) add() {
func (c *Class) addGeneralFuncs() {
switch c.Name {
case "QColor", "QFont", "QImage", "QObject", "QIcon":
case "QColor", "QFont", "QImage", "QObject", "QIcon", "QBrush":
{
c.Functions = append(c.Functions, &Function{
Name: "toVariant",
@ -31,7 +31,7 @@ func (c *Class) addGeneralFuncs() {
case "QVariant":
{
for _, name := range []string{"toColor", "toFont", "toImage", "toObject", "toIcon"} {
for _, name := range []string{"toColor", "toFont", "toImage", "toObject", "toIcon", "toBrush"} {
c.Functions = append(c.Functions, &Function{
Name: name,
Fullname: fmt.Sprintf("%v::%v", c.Name, name),