GUIFramework 1.1.0
Framework for desktop GUI applications in C++.
Loading...
Searching...
No Matches
gui_framework::ImageButton Class Reference

Button with image. More...

#include <ImageButton.h>

Inheritance diagram for gui_framework::ImageButton:
gui_framework::BaseButton gui_framework::interfaces::IResizableComponent gui_framework::interfaces::ISingleTextLocalized gui_framework::BaseComponent gui_framework::interfaces::ITextOperations gui_framework::interfaces::ITextLocalized gui_framework::interfaces::ISerializable

Public Types

enum class  drawingType { image , text , textAndImage }
 
using imageType = utility::BaseLoadableHolder::imageType
 

Public Member Functions

 ImageButton (const std::wstring &buttonName, const std::filesystem::path &pathToImage, drawingType dType, imageType iType, uint16_t imageWidth, uint16_t imageHeight, const utility::ComponentSettings &settings, BaseComposite *parent, const std::function< void()> &onClick=nullptr)
 
 ImageButton (const std::wstring &buttonName, const std::filesystem::path &pathToImage, drawingType dType, imageType iType, uint16_t imageWidth, uint16_t imageHeight, const utility::ComponentSettings &settings, BaseComposite *parent, const std::string &functionName, const std::string &moduleName)
 
 ImageButton (const std::wstring &buttonName, uint32_t imageResources, drawingType dType, imageType iType, uint16_t imageWidth, uint16_t imageHeight, const utility::ComponentSettings &settings, BaseComposite *parent, const std::function< void()> &onClick=nullptr, const std::string &resourceModuleName="")
 
 ImageButton (const std::wstring &buttonName, uint32_t imageResources, drawingType dType, imageType iType, uint16_t imageWidth, uint16_t imageHeight, const utility::ComponentSettings &settings, BaseComposite *parent, const std::string &functionName, const std::string &moduleName, const std::string &resourceModuleName="")
 
void setImage (const std::filesystem::path &pathToImage, drawingType dType, imageType iType, uint16_t imageWidth, uint16_t imageHeight)
 
void setImage (uint32_t imageResource, drawingType dType, imageType iType, uint16_t imageWidth, uint16_t imageHeight, const std::string &resourceModuleName)
 
const std::filesystem::path & getPathToImage () const
 
uint16_t getImageWidth () const
 
uint16_t getImageHeight () const
 
drawingType getDrawingType () const
 
imageType getImageType () const
 
size_t getHash () const override
 Used as key in creators.
 
json::JSONBuilder getStructure () const override
 
 ~ImageButton ()
 
- Public Member Functions inherited from gui_framework::BaseButton
 BaseButton (const std::wstring &buttonName, const std::wstring &buttonText, const utility::ComponentSettings &settings, const styles::ButtonStyles &styles, BaseComposite *parent, const std::function< void()> &onClick=nullptr)
 
 BaseButton (const std::wstring &buttonName, const std::wstring &buttonText, const utility::ComponentSettings &settings, const styles::ButtonStyles &styles, BaseComposite *parent, const std::string &functionName, const std::string &moduleName)
 
void setOnClick (const std::function< void()> &onClick)
 Can't serialize.
 
virtual void setOnClick (const std::string &functionName, const std::string &moduleName)
 Load function from module. Can be seriazlied.
 
const std::function< void()> & getOnClick () const
 
const std::string & getFunctionName () const
 Get onClick function name from loaded module.
 
const std::string & getModuleName () const
 Get onClick function associated module name.
 
virtual void setTextColor (uint8_t red, uint8_t green, uint8_t blue) final override
 Not implemented.
 
virtual void setText (std::string_view localizationKey) final override
 
virtual ~BaseButton ()=default
 
- Public Member Functions inherited from gui_framework::interfaces::ISingleTextLocalized
 ISingleTextLocalized (bool autoUpdate=true)
 
virtual void setLocalizationKey (std::string_view localizationKey) final
 
virtual void setLocalizationKey (std::string &&localizationKey) noexcept final
 
virtual const std::string & getLocalizationKey () const final
 
virtual bool updateLocalizationEvent () final override
 
virtual ~ISingleTextLocalized ()=default
 
- Public Member Functions inherited from gui_framework::interfaces::ITextLocalized
 ITextLocalized (bool autoUpdate=true)
 
virtual void setAutoUpdate (bool autoUpdate) final
 
virtual bool getAutoUpdate () const final
 
virtual ~ITextLocalized ()=default
 
- Public Member Functions inherited from gui_framework::BaseComponent
 BaseComponent (std::wstring_view className, std::wstring_view windowName, const utility::ComponentSettings &settings, const interfaces::IStyles &styles, BaseComposite *parent=nullptr, std::string_view windowFunctionName="", std::string_view moduleName="", uint16_t smallIconResource=NULL, uint16_t largeIconResource=NULL)
 
LRESULT handleMessages (HWND handle, UINT message, WPARAM wparam, LPARAM lparam, bool &isUsed)
 
bool destroyComponent ()
 
bool asyncDestroyComponent ()
 
void enable ()
 
void disable ()
 
bool isEnabled () const
 
bool isDisabled () const
 
LRESULT sendRawMessage (UINT message, WPARAM wparam, LPARAM lparam)
 SendMessage WinAPI wrapper.
 
void setDesiredWidth (uint16_t desiredWidth)
 
void setDesiredHeight (uint16_t desiredHeight)
 
void setDesiredX (int desiredX)
 
void setDesiredY (int desiredY)
 
virtual void setBackgroundColor (uint8_t red, uint8_t green, uint8_t blue)
 
BaseComponentgetParent () const
 
HWND getHandle () const
 
std::wstring_view getWindowName () const
 
std::wstring_view getClassName () const
 
uint16_t getDesiredWidth () const
 
uint16_t getDesiredHeight () const
 
uint16_t getActualWidth () const
 
uint16_t getActualHeight () const
 
RECT getActualCoordinates () const
 
int getDesiredX () const
 
int getDesiredY () const
 
uint32_t getId () const
 
COLORREF getBackgroundColor () const
 
COLORREF getTextColor () const
 
const smartPointerType< interfaces::IStyles > & getStyles () const
 
virtual ~BaseComponent ()
 
- Public Member Functions inherited from gui_framework::interfaces::ISerializable
 ISerializable ()=default
 
virtual ~ISerializable ()=default
 
- Public Member Functions inherited from gui_framework::interfaces::ITextOperations
 ITextOperations (HWND handle, const std::wstring &text=L"")
 
 ITextOperations (HWND handle, const std::string &localizationKey)
 
void setText (std::wstring_view text)
 
virtual std::wstring getText () const final
 Get text from control.
 
virtual ~ITextOperations ()=default
 
- Public Member Functions inherited from gui_framework::interfaces::IResizableComponent
 IResizableComponent (HWND resizeableHandle, HWND parent, bool autoResize=false, bool blockResize=false)
 
virtual void resize (uint16_t width, uint16_t height)
 Resize component.
 
virtual RECT calculateNewSizes (uint16_t width, uint16_t height) final
 
virtual void setBlockResize (bool blockResize) final
 
virtual void setAutoResize (bool autoResize) final
 
virtual bool getBlockResize () const final
 
virtual bool getAutoResize () const final
 
virtual ~IResizableComponent ()=default
 

Additional Inherited Members

- Static Public Member Functions inherited from gui_framework::BaseComponent
static void runFunctionAsync (const std::function< void()> &callable, const std::function< void()> &callback=nullptr) noexcept
 Add task to thread pool.
 
static void runFunctionAsync (std::function< void()> &&callable, const std::function< void()> &callback=nullptr) noexcept
 Add task to thread pool.
 
- Static Public Member Functions inherited from gui_framework::interfaces::ISerializable
static uint32_t getCodepage ()
 
- Static Public Attributes inherited from gui_framework::BaseButton
static constexpr uint16_t buttonWidth = 200
 
static constexpr uint16_t buttonHeight = 20
 
- Protected Member Functions inherited from gui_framework::BaseButton
virtual LRESULT windowMessagesHandle (HWND handle, UINT message, WPARAM wparam, LPARAM lparam, bool &isUsed) override
 
virtual void updateLocalization (std::wstring_view localizedText) override
 
- Protected Member Functions inherited from gui_framework::interfaces::ISingleTextLocalized
- Protected Member Functions inherited from gui_framework::BaseComponent
virtual LRESULT preWindowMessagesHandle (HWND handle, UINT message, WPARAM wparam, LPARAM lparam, bool &isUsed)
 
virtual void setLocalizationKeys (interfaces::ITextLocalized *localized, const std::vector< std::string > &localizationKeys)
 Override for custom localization.
 
- Protected Attributes inherited from gui_framework::BaseButton
std::function< void()> onClick
 
std::string functionName
 
std::string moduleName
 
- Protected Attributes inherited from gui_framework::BaseComponent
BaseCompositeparent
 
const std::wstring className
 
const std::wstring windowName
 
HWND handle
 
uint16_t desiredWidth
 
uint16_t desiredHeight
 
int desiredX
 
int desiredY
 
uint32_t id
 
COLORREF backgroundColor
 
COLORREF textColor
 
smartPointerType< interfaces::IStylesstyles
 
- Protected Attributes inherited from gui_framework::interfaces::ITextOperations
HWND textHandle
 
- Protected Attributes inherited from gui_framework::interfaces::IResizableComponent
bool blockResize
 
bool autoResize
 
int initX
 
int initY
 
uint16_t initWidth
 
uint16_t initHeight
 
uint16_t parentWidth
 
uint16_t parentHeight
 

Detailed Description

Button with image.

Definition at line 9 of file ImageButton.h.

Member Typedef Documentation

◆ imageType

Member Enumeration Documentation

◆ drawingType

Enumerator
image 
text 
textAndImage 

Definition at line 14 of file ImageButton.h.

Constructor & Destructor Documentation

◆ ImageButton() [1/4]

gui_framework::ImageButton::ImageButton ( const std::wstring & buttonName,
const std::filesystem::path & pathToImage,
drawingType dType,
imageType iType,
uint16_t imageWidth,
uint16_t imageHeight,
const utility::ComponentSettings & settings,
BaseComposite * parent,
const std::function< void()> & onClick = nullptr )

◆ ImageButton() [2/4]

gui_framework::ImageButton::ImageButton ( const std::wstring & buttonName,
const std::filesystem::path & pathToImage,
drawingType dType,
imageType iType,
uint16_t imageWidth,
uint16_t imageHeight,
const utility::ComponentSettings & settings,
BaseComposite * parent,
const std::string & functionName,
const std::string & moduleName )

◆ ImageButton() [3/4]

gui_framework::ImageButton::ImageButton ( const std::wstring & buttonName,
uint32_t imageResources,
drawingType dType,
imageType iType,
uint16_t imageWidth,
uint16_t imageHeight,
const utility::ComponentSettings & settings,
BaseComposite * parent,
const std::function< void()> & onClick = nullptr,
const std::string & resourceModuleName = "" )

◆ ImageButton() [4/4]

gui_framework::ImageButton::ImageButton ( const std::wstring & buttonName,
uint32_t imageResources,
drawingType dType,
imageType iType,
uint16_t imageWidth,
uint16_t imageHeight,
const utility::ComponentSettings & settings,
BaseComposite * parent,
const std::string & functionName,
const std::string & moduleName,
const std::string & resourceModuleName = "" )

◆ ~ImageButton()

gui_framework::ImageButton::~ImageButton ( )

Definition at line 279 of file ImageButton.cpp.

Member Function Documentation

◆ getDrawingType()

ImageButton::drawingType gui_framework::ImageButton::getDrawingType ( ) const

Definition at line 244 of file ImageButton.cpp.

◆ getHash()

size_t gui_framework::ImageButton::getHash ( ) const
overridevirtual

Used as key in creators.

Returns
typeid().hash_code()

Implements gui_framework::BaseButton.

Definition at line 254 of file ImageButton.cpp.

◆ getImageHeight()

uint16_t gui_framework::ImageButton::getImageHeight ( ) const

Definition at line 239 of file ImageButton.cpp.

◆ getImageType()

ImageButton::imageType gui_framework::ImageButton::getImageType ( ) const

Definition at line 249 of file ImageButton.cpp.

◆ getImageWidth()

uint16_t gui_framework::ImageButton::getImageWidth ( ) const

Definition at line 234 of file ImageButton.cpp.

◆ getPathToImage()

const filesystem::path & gui_framework::ImageButton::getPathToImage ( ) const

Definition at line 229 of file ImageButton.cpp.

◆ getStructure()

json::JSONBuilder gui_framework::ImageButton::getStructure ( ) const
overridevirtual

Reimplemented from gui_framework::BaseButton.

Definition at line 259 of file ImageButton.cpp.

◆ setImage() [1/2]

void gui_framework::ImageButton::setImage ( const std::filesystem::path & pathToImage,
drawingType dType,
imageType iType,
uint16_t imageWidth,
uint16_t imageHeight )

◆ setImage() [2/2]

void gui_framework::ImageButton::setImage ( uint32_t imageResource,
drawingType dType,
imageType iType,
uint16_t imageWidth,
uint16_t imageHeight,
const std::string & resourceModuleName )

The documentation for this class was generated from the following files: