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

Base class for all tab controls. More...

#include <BaseTabControl.h>

Inheritance diagram for gui_framework::BaseTabControl:
gui_framework::BaseComponent gui_framework::interfaces::ISerializable gui_framework::TabControl

Classes

struct  tabData
 

Public Member Functions

 BaseTabControl (const std::wstring &tabControlName, const utility::ComponentSettings &settings, uint16_t imagesWidth, uint16_t imagesHeight, BaseComposite *parent)
 
virtual LRESULT appendText (const std::wstring &text, const std::function< void()> &onClick) final
 
virtual LRESULT appendText (const std::wstring &text, const std::string &functionName, const std::string &moduleName) final
 
virtual LRESULT insertText (size_t index, const std::wstring &text, const std::function< void()> &onClick) final
 
virtual LRESULT insertText (size_t index, const std::wstring &text, const std::string &functionName, const std::string &moduleName) final
 
virtual LRESULT appendImage (const std::filesystem::path &pathToImage, const std::function< void()> &onClick) final
 
virtual LRESULT appendImage (const std::filesystem::path &pathToImage, const std::string &functionName, const std::string &moduleName) final
 
virtual LRESULT insertImage (size_t index, const std::filesystem::path &pathToImage, const std::function< void()> &onClick) final
 
virtual LRESULT insertImage (size_t index, const std::filesystem::path &pathToImage, const std::string &functionName, const std::string &moduleName) final
 
virtual LRESULT appendTextAndImage (const std::wstring &text, const std::filesystem::path &pathToImage, const std::function< void()> &onClick) final
 
virtual LRESULT appendTextAndImage (const std::wstring &text, const std::filesystem::path &pathToImage, const std::string &functionName, const std::string &moduleName) final
 
virtual LRESULT insertTextAndImage (size_t index, const std::wstring &text, const std::filesystem::path &pathToImage, const std::function< void()> &onClick) final
 
virtual LRESULT insertTextAndImage (size_t index, const std::wstring &text, const std::filesystem::path &pathToImage, const std::string &functionName, const std::string &moduleName) final
 
virtual bool removeTab (size_t index) final
 
virtual bool clear () final
 
virtual size_t size () const final
 
virtual bool setItem (size_t index, const std::function< void()> &callback, const std::wstring &text=L"", const std::filesystem::path &pathToImage=L"") final
 
virtual bool setItem (size_t index, const std::string &functionName, const std::string &moduleName, const std::wstring &text=L"", const std::filesystem::path &pathToImage=L"") final
 
virtual LRESULT setSelection (size_t index) final
 
virtual const tabDatagetItem (size_t index) const final
 
virtual LRESULT getSelectedTab () const final
 
virtual uint16_t getImagesWidth () const final
 
virtual uint16_t getImagesHeight () const final
 
virtual void setBackgroundColor (uint8_t red, uint8_t green, uint8_t blue) final override
 Not implemented.
 
virtual void setTextColor (uint8_t red, uint8_t green, uint8_t blue) final override
 Not implemented.
 
virtual size_t getHash () const override=0
 Used as key in creators.
 
virtual json::JSONBuilder getStructure () const override
 
virtual ~BaseTabControl ()=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)
 
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
 

Protected Member Functions

virtual LRESULT windowMessagesHandle (HWND handle, UINT message, WPARAM wparam, LPARAM lparam, bool &isUsed) override
 
- 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

utility::ImagesHolder images
 
std::vector< std::function< void()> > callbacks
 
std::vector< tabDatatabs
 
- 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
 

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 ()
 

Detailed Description

Base class for all tab controls.

Definition at line 9 of file BaseTabControl.h.

Constructor & Destructor Documentation

◆ BaseTabControl()

gui_framework::BaseTabControl::BaseTabControl ( const std::wstring & tabControlName,
const utility::ComponentSettings & settings,
uint16_t imagesWidth,
uint16_t imagesHeight,
BaseComposite * parent )

Definition at line 68 of file BaseTabControl.cpp.

◆ ~BaseTabControl()

virtual gui_framework::BaseTabControl::~BaseTabControl ( )
virtualdefault

Member Function Documentation

◆ appendImage() [1/2]

virtual LRESULT gui_framework::BaseTabControl::appendImage ( const std::filesystem::path & pathToImage,
const std::function< void()> & onClick )
finalvirtual
Parameters
pathToImage
Returns
Exceptions
FileDoesNotExist

◆ appendImage() [2/2]

virtual LRESULT gui_framework::BaseTabControl::appendImage ( const std::filesystem::path & pathToImage,
const std::string & functionName,
const std::string & moduleName )
finalvirtual
Parameters
pathToImage
Returns
Exceptions
FileDoesNotExist
CantFindFunctionFromModuleException
std::out_of_rangeCan't find moduleName in loaded modules

◆ appendText() [1/2]

virtual LRESULT gui_framework::BaseTabControl::appendText ( const std::wstring & text,
const std::function< void()> & onClick )
finalvirtual

◆ appendText() [2/2]

virtual LRESULT gui_framework::BaseTabControl::appendText ( const std::wstring & text,
const std::string & functionName,
const std::string & moduleName )
finalvirtual
Parameters
text
functionName
moduleName
Returns
Exceptions
CantFindFunctionFromModuleException
std::out_of_rangeCan't find moduleName in loaded modules

◆ appendTextAndImage() [1/2]

virtual LRESULT gui_framework::BaseTabControl::appendTextAndImage ( const std::wstring & text,
const std::filesystem::path & pathToImage,
const std::function< void()> & onClick )
finalvirtual
Parameters
text
pathToImage
Returns
Exceptions
FileDoesNotExist

◆ appendTextAndImage() [2/2]

virtual LRESULT gui_framework::BaseTabControl::appendTextAndImage ( const std::wstring & text,
const std::filesystem::path & pathToImage,
const std::string & functionName,
const std::string & moduleName )
finalvirtual
Parameters
text
pathToImage
Returns
Exceptions
FileDoesNotExist
CantFindFunctionFromModuleException
std::out_of_rangeCan't find moduleName in loaded modules

◆ clear()

bool gui_framework::BaseTabControl::clear ( )
finalvirtual

Definition at line 307 of file BaseTabControl.cpp.

◆ getHash()

virtual size_t gui_framework::BaseTabControl::getHash ( ) const
overridepure virtual

Used as key in creators.

Returns
typeid().hash_code()

Implements gui_framework::BaseComponent.

Implemented in gui_framework::TabControl.

◆ getImagesHeight()

uint16_t gui_framework::BaseTabControl::getImagesHeight ( ) const
finalvirtual

Definition at line 438 of file BaseTabControl.cpp.

◆ getImagesWidth()

uint16_t gui_framework::BaseTabControl::getImagesWidth ( ) const
finalvirtual

Definition at line 433 of file BaseTabControl.cpp.

◆ getItem()

const BaseTabControl::tabData & gui_framework::BaseTabControl::getItem ( size_t index) const
finalvirtual
Parameters
index
Returns
Exceptions
std::out_of_range

Definition at line 423 of file BaseTabControl.cpp.

◆ getSelectedTab()

LRESULT gui_framework::BaseTabControl::getSelectedTab ( ) const
finalvirtual

Definition at line 428 of file BaseTabControl.cpp.

◆ getStructure()

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

Reimplemented from gui_framework::BaseComponent.

Reimplemented in gui_framework::TabControl.

Definition at line 453 of file BaseTabControl.cpp.

◆ insertImage() [1/2]

virtual LRESULT gui_framework::BaseTabControl::insertImage ( size_t index,
const std::filesystem::path & pathToImage,
const std::function< void()> & onClick )
finalvirtual
Parameters
pathToImage
index
Returns
Exceptions
FileDoesNotExist

◆ insertImage() [2/2]

virtual LRESULT gui_framework::BaseTabControl::insertImage ( size_t index,
const std::filesystem::path & pathToImage,
const std::string & functionName,
const std::string & moduleName )
finalvirtual
Parameters
pathToImage
index
Returns
Exceptions
FileDoesNotExist
CantFindFunctionFromModuleException
std::out_of_rangeCan't find moduleName in loaded modules

◆ insertText() [1/2]

virtual LRESULT gui_framework::BaseTabControl::insertText ( size_t index,
const std::wstring & text,
const std::function< void()> & onClick )
finalvirtual

◆ insertText() [2/2]

virtual LRESULT gui_framework::BaseTabControl::insertText ( size_t index,
const std::wstring & text,
const std::string & functionName,
const std::string & moduleName )
finalvirtual
Parameters
index
text
functionName
moduleName
Returns
Exceptions
CantFindFunctionFromModuleException
std::out_of_rangeCan't find moduleName in loaded modules

◆ insertTextAndImage() [1/2]

virtual LRESULT gui_framework::BaseTabControl::insertTextAndImage ( size_t index,
const std::wstring & text,
const std::filesystem::path & pathToImage,
const std::function< void()> & onClick )
finalvirtual
Parameters
text
pathToImage
index
Returns
Exceptions
FileDoesNotExist

◆ insertTextAndImage() [2/2]

virtual LRESULT gui_framework::BaseTabControl::insertTextAndImage ( size_t index,
const std::wstring & text,
const std::filesystem::path & pathToImage,
const std::string & functionName,
const std::string & moduleName )
finalvirtual
Parameters
text
pathToImage
index
Returns
Exceptions
FileDoesNotExist
CantFindFunctionFromModuleException
std::out_of_rangeCan't find moduleName in loaded modules

◆ removeTab()

bool gui_framework::BaseTabControl::removeTab ( size_t index)
finalvirtual

Definition at line 293 of file BaseTabControl.cpp.

◆ setBackgroundColor()

void gui_framework::BaseTabControl::setBackgroundColor ( uint8_t red,
uint8_t green,
uint8_t blue )
finaloverridevirtual

Not implemented.

Parameters
red
green
blue
Exceptions
NotImplementedBackground color does not affects at tab control

Reimplemented from gui_framework::BaseComponent.

Definition at line 443 of file BaseTabControl.cpp.

◆ setItem() [1/2]

virtual bool gui_framework::BaseTabControl::setItem ( size_t index,
const std::function< void()> & callback,
const std::wstring & text = L"",
const std::filesystem::path & pathToImage = L"" )
finalvirtual
Parameters
index
text
pathToImage
Returns
Exceptions
FileDoesNotExist

◆ setItem() [2/2]

virtual bool gui_framework::BaseTabControl::setItem ( size_t index,
const std::string & functionName,
const std::string & moduleName,
const std::wstring & text = L"",
const std::filesystem::path & pathToImage = L"" )
finalvirtual
Parameters
index
functionName
moduleName
text
pathToImage
Returns
Exceptions
FileDoesNotExist
CantFindFunctionFromModuleException
std::out_of_rangeCan't find moduleName in loaded modules

◆ setSelection()

LRESULT gui_framework::BaseTabControl::setSelection ( size_t index)
finalvirtual
Returns
Returns the index of the previously selected tab if successful, or -1 otherwise

Definition at line 418 of file BaseTabControl.cpp.

◆ setTextColor()

void gui_framework::BaseTabControl::setTextColor ( uint8_t red,
uint8_t green,
uint8_t blue )
finaloverridevirtual

Not implemented.

Parameters
red
green
blue
Exceptions
NotImplementedText color does not affects at tab control

Reimplemented from gui_framework::BaseComponent.

Definition at line 448 of file BaseTabControl.cpp.

◆ size()

size_t gui_framework::BaseTabControl::size ( ) const
finalvirtual

Definition at line 321 of file BaseTabControl.cpp.

◆ windowMessagesHandle()

LRESULT gui_framework::BaseTabControl::windowMessagesHandle ( HWND handle,
UINT message,
WPARAM wparam,
LPARAM lparam,
bool & isUsed )
overrideprotectedvirtual

Reimplemented from gui_framework::BaseComponent.

Definition at line 42 of file BaseTabControl.cpp.

Member Data Documentation

◆ callbacks

std::vector<std::function<void()> > gui_framework::BaseTabControl::callbacks
protected

Definition at line 39 of file BaseTabControl.h.

◆ images

utility::ImagesHolder gui_framework::BaseTabControl::images
protected

Definition at line 38 of file BaseTabControl.h.

◆ tabs

std::vector<tabData> gui_framework::BaseTabControl::tabs
protected

Definition at line 40 of file BaseTabControl.h.


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