GUIFramework 1.1.0
Framework for desktop GUI applications in C++.
|
Base class for all windows that has children windows. More...
#include <BaseComposite.h>
Public Types | |
enum class | exitMode { destroyWindow , quit } |
Public Member Functions | |
BaseComposite (const std::wstring &className, const std::wstring &windowName, const utility::ComponentSettings &settings, const interfaces::IStyles &styles, BaseComposite *parent=nullptr, const std::string &windowFunctionName="", const std::string &moduleName="", uint16_t smallIconResource=NULL, uint16_t largeIconResource=NULL) | |
void | removeChild (BaseComponent *child) |
void | removeComponents (const std::wstring &componentName) |
BaseComponent * | findChild (const std::wstring &windowName) const |
BaseComponent * | findChild (HWND handle) const |
std::vector< BaseComponent * > | findChildren (const std::wstring &windowName) const |
virtual std::unique_ptr< Menu > & | createMainMenu (const std::wstring &menuName) |
It needs to be called once. | |
virtual Menu & | addPopupMenu (const std::wstring &menuName) |
Don't call move operator with return value. | |
virtual void | removePopupMenus (const std::wstring &menuName) |
Remove all pop-up menus with menuName. | |
void | setExitMode (exitMode mode) |
void | setOnDestroy (const std::function< void()> &onDestroy) |
void | setOnDestroy (const std::string &onDestroyFunctionName, const std::string &onDestroyFunctionModuleName) |
Load function from module. Can be seriazlied. | |
exitMode | getExitMode () const |
int | getExitCode () const |
const std::vector< std::unique_ptr< BaseComponent > > & | getChildren () const |
const std::unique_ptr< Menu > & | getMainMenu () const |
std::unique_ptr< Menu > & | getMainMenu () |
std::vector< const Menu * > | getPopupMenus () const |
const std::function< void()> & | getOnDestroy () const |
virtual size_t | getHash () const override=0 |
Used as key in creators. | |
virtual iterators::composite_forward_iterator | begin () noexcept override |
virtual iterators::composite_const_forward_iterator | cbegin () const noexcept override |
virtual iterators::composite_forward_iterator | end () noexcept override |
virtual iterators::composite_const_forward_iterator | cend () const noexcept override |
virtual void | setBackgroundColor (uint8_t red, uint8_t green, uint8_t blue) override |
virtual json::JSONBuilder | getStructure () const override |
virtual | ~BaseComposite () |
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 | setTextColor (uint8_t red, uint8_t green, uint8_t blue) |
BaseComponent * | getParent () 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::IIterable< BaseComponent, iterators::composite_forward_iterator, iterators::composite_const_forward_iterator > | |
IIterable ()=default | |
virtual | ~IIterable ()=default |
Protected Member Functions | |
virtual LRESULT | compositeWindowMessagesHandle (HWND handle, UINT message, WPARAM wparam, LPARAM lparam, bool &isUsed) |
LRESULT | windowMessagesHandle (HWND handle, UINT message, WPARAM wparam, LPARAM lparam, bool &isUsed) override |
virtual LRESULT | preWindowMessagesHandle (HWND handle, UINT message, WPARAM wparam, LPARAM lparam, bool &isUsed) override |
Protected Member Functions inherited from gui_framework::BaseComponent | |
virtual void | setLocalizationKeys (interfaces::ITextLocalized *localized, const std::vector< std::string > &localizationKeys) |
Override for custom localization. | |
Protected Attributes | |
std::string | windowFunctionName |
exitMode | mode |
int | exitCode |
std::vector< std::unique_ptr< BaseComponent > > | children |
std::unordered_map< HMENU, Menu > | popupMenus |
std::unique_ptr< Menu > | mainMenu |
std::function< void()> | onDestroy |
std::string | onDestroyFunctionName |
std::string | onDestroyFunctionModuleName |
Protected Attributes inherited from gui_framework::BaseComponent | |
BaseComposite * | parent |
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::IStyles > | styles |
Friends | |
class | BaseComponent |
class | interfaces::ICloseable |
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 () |
Base class for all windows that has children windows.
Definition at line 20 of file BaseComposite.h.
|
strong |
Enumerator | |
---|---|
destroyWindow | |
quit |
Definition at line 25 of file BaseComposite.h.
gui_framework::BaseComposite::BaseComposite | ( | const std::wstring & | className, |
const std::wstring & | windowName, | ||
const utility::ComponentSettings & | settings, | ||
const interfaces::IStyles & | styles, | ||
BaseComposite * | parent = nullptr, | ||
const std::string & | windowFunctionName = "", | ||
const std::string & | moduleName = "", | ||
uint16_t | smallIconResource = NULL, | ||
uint16_t | largeIconResource = NULL ) |
moduleName | Name of loaded resource module with icons |
smallIconResource | Integer value from auto generated Visual Studio resources |
largeIconResource | Integer value from auto generated Visual Studio resources |
Definition at line 154 of file BaseComposite.cpp.
|
virtual |
Definition at line 467 of file BaseComposite.cpp.
|
virtual |
Don't call move operator with return value.
Reimplemented in gui_framework::ChildWindow, and gui_framework::GroupBox.
Definition at line 265 of file BaseComposite.cpp.
|
overridevirtualnoexcept |
Definition at line 367 of file BaseComposite.cpp.
|
overridevirtualnoexcept |
Definition at line 372 of file BaseComposite.cpp.
|
overridevirtualnoexcept |
Definition at line 382 of file BaseComposite.cpp.
|
protectedvirtual |
Definition at line 13 of file BaseComposite.cpp.
|
virtual |
It needs to be called once.
Reimplemented in gui_framework::ChildWindow, and gui_framework::GroupBox.
Definition at line 256 of file BaseComposite.cpp.
|
overridevirtualnoexcept |
Definition at line 377 of file BaseComposite.cpp.
BaseComponent * gui_framework::BaseComposite::findChild | ( | const std::wstring & | windowName | ) | const |
BaseComponent * gui_framework::BaseComposite::findChild | ( | HWND | handle | ) | const |
Definition at line 215 of file BaseComposite.cpp.
vector< BaseComponent * > gui_framework::BaseComposite::findChildren | ( | const std::wstring & | windowName | ) | const |
Definition at line 235 of file BaseComposite.cpp.
const vector< unique_ptr< BaseComponent > > & gui_framework::BaseComposite::getChildren | ( | ) | const |
Definition at line 333 of file BaseComposite.cpp.
int gui_framework::BaseComposite::getExitCode | ( | ) | const |
Definition at line 328 of file BaseComposite.cpp.
BaseComposite::exitMode gui_framework::BaseComposite::getExitMode | ( | ) | const |
Definition at line 323 of file BaseComposite.cpp.
|
overridepure virtual |
Used as key in creators.
Implements gui_framework::BaseComponent.
Implemented in gui_framework::BaseChildWindow, gui_framework::BaseDialogBox, gui_framework::BaseMainWindow, gui_framework::BaseSeparateWindow, gui_framework::BaseWindow, gui_framework::ChildWindow, gui_framework::DialogBox, gui_framework::GroupBox, and gui_framework::SeparateWindow.
unique_ptr< Menu > & gui_framework::BaseComposite::getMainMenu | ( | ) |
Definition at line 343 of file BaseComposite.cpp.
const unique_ptr< Menu > & gui_framework::BaseComposite::getMainMenu | ( | ) | const |
Definition at line 338 of file BaseComposite.cpp.
const function< void()> & gui_framework::BaseComposite::getOnDestroy | ( | ) | const |
Definition at line 362 of file BaseComposite.cpp.
vector< const Menu * > gui_framework::BaseComposite::getPopupMenus | ( | ) | const |
Definition at line 348 of file BaseComposite.cpp.
|
overridevirtual |
Reimplemented from gui_framework::BaseComponent.
Reimplemented in gui_framework::BaseMainWindow, gui_framework::BaseSeparateWindow, and gui_framework::BaseWindow.
Definition at line 396 of file BaseComposite.cpp.
|
overrideprotectedvirtual |
Reimplemented from gui_framework::BaseComponent.
Definition at line 87 of file BaseComposite.cpp.
void gui_framework::BaseComposite::removeChild | ( | BaseComponent * | child | ) |
Definition at line 175 of file BaseComposite.cpp.
void gui_framework::BaseComposite::removeComponents | ( | const std::wstring & | componentName | ) |
Definition at line 190 of file BaseComposite.cpp.
|
virtual |
Remove all pop-up menus with menuName.
menuName |
Reimplemented in gui_framework::ChildWindow, and gui_framework::GroupBox.
Definition at line 274 of file BaseComposite.cpp.
|
overridevirtual |
Reimplemented from gui_framework::BaseComponent.
Reimplemented in gui_framework::BaseWindow.
Definition at line 387 of file BaseComposite.cpp.
void gui_framework::BaseComposite::setExitMode | ( | exitMode | mode | ) |
Definition at line 292 of file BaseComposite.cpp.
void gui_framework::BaseComposite::setOnDestroy | ( | const std::function< void()> & | onDestroy | ) |
void gui_framework::BaseComposite::setOnDestroy | ( | const std::string & | onDestroyFunctionName, |
const std::string & | onDestroyFunctionModuleName ) |
Load function from module. Can be seriazlied.
onDestroyFunctionName | |
onDestroyFunctionModuleName |
CantFindFunctionFromModuleException | |
std::out_of_range | Can't find moduleName in loaded modules |
|
overrideprotectedvirtual |
Reimplemented from gui_framework::BaseComponent.
Reimplemented in gui_framework::BaseMainWindow.
Definition at line 51 of file BaseComposite.cpp.
|
friend |
Definition at line 128 of file BaseComposite.h.
|
friend |
Definition at line 130 of file BaseComposite.h.
|
protected |
Definition at line 35 of file BaseComposite.h.
|
protected |
Definition at line 34 of file BaseComposite.h.
|
protected |
Definition at line 37 of file BaseComposite.h.
|
protected |
Definition at line 33 of file BaseComposite.h.
|
protected |
Definition at line 38 of file BaseComposite.h.
|
protected |
Definition at line 40 of file BaseComposite.h.
|
protected |
Definition at line 39 of file BaseComposite.h.
|
protected |
Definition at line 36 of file BaseComposite.h.
|
protected |
Definition at line 32 of file BaseComposite.h.