
# 
# This file has been automatically generated by RaQt_maker V0.0.5.
# To modify and regenerate it, see the source code available here: 
#         https://github.com/yguillemot/RaQt_maker
# 

use NativeCall;
use Qt::QtWidgets:ver<0.0.5>:auth<cpan:YGUILLEMO>:api<2>;
use Qt::QtWidgets::QtHelpers:ver<0.0.5>:auth<cpan:YGUILLEMO>:api<2>;
use Qt::QtWidgets::QtWrappers:ver<0.0.5>:auth<cpan:YGUILLEMO>:api<2>;
use Qt::QtWidgets::QWidget:ver<0.0.5>:auth<cpan:YGUILLEMO>:api<2>;
use Qt::QtWidgets::QtBase:ver<0.0.5>:auth<cpan:YGUILLEMO>:api<2>;
use Qt::QtWidgets::RQGroupBox:ver<0.0.5>:auth<cpan:YGUILLEMO>:api<2>;
use Qt::QtWidgets::RQWidget:ver<0.0.5>:auth<cpan:YGUILLEMO>:api<2>;



class QGroupBox:ver<0.0.5>:auth<cpan:YGUILLEMO>:api<2>
    is QWidget
    does RQGroupBox
    is export {

    multi sub ctor(QtBase $this, RQWidget $parent = (RQWidget)) {
        my $a1 = ?$parent ?? $parent.address !! QWInt2Pointer(0);
        $this.address = QWQGroupBoxCtor_1($a1);
        $this.ownedByRaku = True;
    }

    multi sub subClassCtor(QtBase $this, RQWidget $parent = (RQWidget)) {
        my $a1 = ?$parent ?? $parent.address !! QWInt2Pointer(0);
        $this.address = SCWQGroupBoxCtor_1($a1);
        $this.ownedByRaku = True;
    }

    method validateCB(Str $m) {
        QWvalidateCB_QGroupBox(self.address, self.id, $m);
    }

    multi sub ctor(QtBase $this, Str $title, RQWidget $parent = (RQWidget)) {
        my $a2 = ?$parent ?? $parent.address !! QWInt2Pointer(0);
        $this.address = QWQGroupBoxCtor_2($title, $a2);
        $this.ownedByRaku = True;
    }

    multi sub subClassCtor(QtBase $this, Str $title, RQWidget $parent = (RQWidget)) {
        my $a2 = ?$parent ?? $parent.address !! QWInt2Pointer(0);
        $this.address = SCWQGroupBoxCtor_2($title, $a2);
        $this.ownedByRaku = True;
    }

    multi sub ctor(QtBase $this, NativeCall::Types::Pointer $p, Bool :$obr = False) {
        # Get access to a preexisting Qt object
        $this.address = $p;
        $this.ownedByRaku = $obr;
    }

    multi sub ctor(|capture) {
        note "QtWidgets ", ::?CLASS.^name,
             " ctor called with unsupported args";
        die "Bad args";
    }

    submethod new(|capture) {
        my QGroupBox $rObj = self.bless;
        ctor($rObj, |capture);
        return $rObj;
    }

    multi sub subClassCtor(|capture) {
        note "QtWidgets subclass ", ::?CLASS.^name,
             " ctor called with unsupported args";
        die "Bad args";
    }

    submethod subClass(|capture) {
        subClassCtor(self, |capture);
        self.validateCallBacks();
    }

    submethod DESTROY {
        if self.ownedByRaku {
            QWQGroupBoxDtor(self.address);
            self.ownedByRaku = False;
        }
    }

    method title( --> Str)
    {
        my Pointer $retBuffer = QWStrBufferAlloc;
        QWQGroupBoxtitle($retBuffer, self.address);
        my Str $returnedString = QWStrBufferRead($retBuffer);
        QWStrBufferFree($retBuffer);
        return $returnedString;
    }

    method setTitle(Str $title)
    {
        QWQGroupBoxsetTitle(self.address, $title);
    }

    method setAlignment(Int $alignment)
    {
        QWQGroupBoxsetAlignment(self.address, $alignment);
    }

    method isFlat( --> Bool)
    {
        my $result = QWQGroupBoxisFlat(self.address);
        my $result1 = ?$result;
        return $result1;
    }

    method setFlat(Bool $flat)
    {
        my int8 $a1 = $flat.Int;
        QWQGroupBoxsetFlat(self.address, $a1);
    }

    method isCheckable( --> Bool)
    {
        my $result = QWQGroupBoxisCheckable(self.address);
        my $result1 = ?$result;
        return $result1;
    }

    method setCheckable(Bool $checkable)
    {
        my int8 $a1 = $checkable.Int;
        QWQGroupBoxsetCheckable(self.address, $a1);
    }

    method isChecked( --> Bool)
    {
        my $result = QWQGroupBoxisChecked(self.address);
        my $result1 = ?$result;
        return $result1;
    }

    method setChecked(Bool $checked) is QtSlot
    {
        my int8 $a1 = $checked.Int;
        QWQGroupBoxsetChecked(self.address, $a1);
    }

    method clicked(Bool $checked = False)
        is QtSignal { ... }

    method toggled(Bool $arg1)
        is QtSignal { ... }

}


sub QWQGroupBoxCtor_1(Pointer)
    returns Pointer is native(&libwrapper) { * }

sub SCWQGroupBoxCtor_1(Pointer)
    returns Pointer is native(&libwrapper) { * }

sub QWvalidateCB_QGroupBox(Pointer, int32, Str)
    is native(&libwrapper) { * }

sub QWQGroupBoxCtor_2(Str, Pointer)
    returns Pointer is native(&libwrapper) { * }

sub SCWQGroupBoxCtor_2(Str, Pointer)
    returns Pointer is native(&libwrapper) { * }

sub QWQGroupBoxDtor(Pointer)
    is native(&libwrapper) { * }

sub QWQGroupBoxtitle(Pointer, Pointer)
    is native(&libwrapper) { * }

sub QWQGroupBoxsetTitle(Pointer, Str)
    is native(&libwrapper) { * }

sub QWQGroupBoxsetAlignment(Pointer, int32)
    is native(&libwrapper) { * }

sub QWQGroupBoxisFlat(Pointer)
    returns int8 is native(&libwrapper) { * }

sub QWQGroupBoxsetFlat(Pointer, int8)
    is native(&libwrapper) { * }

sub QWQGroupBoxisCheckable(Pointer)
    returns int8 is native(&libwrapper) { * }

sub QWQGroupBoxsetCheckable(Pointer, int8)
    is native(&libwrapper) { * }

sub QWQGroupBoxisChecked(Pointer)
    returns int8 is native(&libwrapper) { * }

sub QWQGroupBoxsetChecked(Pointer, int8)
    is native(&libwrapper) { * }

