
# 
# 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::RQAbstractButton:ver<0.0.5>:auth<cpan:YGUILLEMO>:api<2>;



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

    submethod new(|capture) is hidden-from-backtrace {
        unimplementedCtor("QAbstractButton");
    }

    method setText(Str $text)
    {
        QWQAbstractButtonsetText(self.address, $text);
    }

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

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

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

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

    method setDown(Bool $arg1)
    {
        my int8 $a1 = $arg1.Int;
        QWQAbstractButtonsetDown(self.address, $a1);
    }

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

    method setAutoExclusive(Bool $arg1)
    {
        my int8 $a1 = $arg1.Int;
        QWQAbstractButtonsetAutoExclusive(self.address, $a1);
    }

    method click() is QtSlot
    {
        QWQAbstractButtonclick(self.address);
    }

    method toggle() is QtSlot
    {
        QWQAbstractButtontoggle(self.address);
    }

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

    method pressed()
        is QtSignal { ... }

    method released()
        is QtSignal { ... }

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

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

}


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

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

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

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

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

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

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

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

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

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

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

