1#ifndef LIBS_GUI_ICOMPONENTSGUI_HPP_
2#define LIBS_GUI_ICOMPONENTSGUI_HPP_
17#include <bits/stdint-intn.h>
18#include <bits/stdint-uintn.h>
44 virtual void loadCSS(
const std::string &cssFilePath) = 0;
45 virtual void runApplication(std::string_view titleApplication, std::string_view pathIconApplication,
55 std::optional<iv::ui::resources::ImageResource> resourceOpt,
61 std::optional<iv::ui::resources::ImageResource> resource,
69 unsigned short *year) = 0;
78 int32_t indSelected,
bool withEntry) = 0;
90 bool isTransientFor,
bool isResizable,
IWidget *dialogContent,
94 const std::optional<std::function<
bool()>> &closeDialogHandler) = 0;
105 const std::string &msgInform,
const std::string &title) = 0;
107 const std::string &panelTitle) = 0;
112 unsigned short numCharSize,
bool hasNumMaxChar,
unsigned short numMaxChar,
124 IWidget *notificationPanelWidget) = 0;
131 virtual IWidget *
createLabel(std::string text,
const std::optional<iv::ui::resources::ImageResource> &resourceOpt,
153 std::optional<AbstractLayout *> layout = std::nullopt) = 0;
161 unsigned short spaceBetweenColumns,
bool isCompact) = 0;
175 bool showRowTitles,
bool isMultipleSelection) = 0;
181 uint32_t columnPositionReference,
const std::string &columnTitle,
182 const std::string &columnTooltip) = 0;
192 uint32_t row, uint32_t column) = 0;
195 const std::vector<IWidget *> &widgetsToAttach) = 0;
201 const std::string &tooltip, uint32_t row) = 0;
207 bool requestMinSizeForTexts) = 0;
217 bool canSelectRow) = 0;
236 uint32_t argbColorBackground,
const std::string &nameImageOpt,
242 const std::vector<std::string> &namePattern,
264 virtual void setColorTab(
IWidget *tab, std::string_view nameTab, std::optional<iv::types::color> colorARGB) = 0;
268 std::optional<iv::types::color> colorARGB) = 0;
291 std::vector<AbstractView *> views, std::vector<IWidget *> **widgets) = 0;
Definition AbstractClickComponentGUI.hpp:10
Definition AbstractComponentGUI.hpp:30
Definition AbstractLayout.hpp:11
Definition AbstractSelectionComponent.hpp:10
Definition AbstractSheetModel.hpp:17
Definition AbstractView.hpp:11
Definition CAttrColorComp.hpp:10
Definition CCanvas.hpp:15
eType
Definition CEnumCommon.hpp:27
EDialogButtons
Definition CEnumComponentsGUI.hpp:39
EAlignmentHorizontal
Definition CEnumComponentsGUI.hpp:8
EMessageType
Definition CEnumComponentsGUI.hpp:74
EAlignmentVertical
Definition CEnumComponentsGUI.hpp:16
EImagePosition
Definition CEnumComponentsGUI.hpp:81
EDialogResponse
Definition CEnumComponentsGUI.hpp:53
EImageSize
Definition CEnumComponentsGUI.hpp:89
Definition CGooCanvas.hpp:19
Definition CIndicator.hpp:10
Definition CTxtColor.hpp:10
Definition CWorkspace.hpp:31
Definition IComponentsGUI.hpp:37
virtual void addTabTitleComponent(IWidget *componentTabs, uint64_t indexTab, IWidget *titleComponent)=0
virtual void setLabelStyle(IWidget *label, iv::gui::eLabelStyle labelStyle)=0
virtual void setMaximumHeightWidget(IWidget *widget, iv::types::height sizeY)=0
virtual void closeDialogRecursively(IWidget **dialog)=0
virtual void setWidgetIntoGrid(IWidget *layoutGrid, IWidget *widgetToAdd, uint64_t indRow, uint64_t indColumn)=0
virtual void addIndicator(IWidget *indicators, CIndicator *indicatorRef)=0
virtual IWidget * createProgressBar()=0
virtual IWidget * createIndicators()=0
virtual uint32_t getColorSelectedInColorButton(IWidget *buttonColor)=0
virtual void setImageOption(IWidget *option, const std::string &nameImage)=0
virtual void setActiveSheetCell(IWidget *sheet, uint32_t row, uint32_t column, bool scrollToCell)=0
virtual IWidget * createColorButton(iv::types::color colorRGB)=0
virtual void joinRadioButtonToGroup(IWidget *button, IWidget *sourceGroupButton)=0
virtual void expandAllTreeNodes(IWidget *tree)=0
virtual void getSizeWidget(IWidget *widget, double *sizeX, double *sizeY) const =0
virtual void setDialogCanBeClosed(IWidget **dialog, bool canBeClosed)=0
virtual void queueResizeWidget(IWidget *widget)=0
virtual IWidget * createCheckButton(std::string text, AbstractClickComponentGUI *checkButton, bool isActive)=0
virtual void setLabelFontHeight(IWidget *label, double fontHeight)=0
virtual void reFilterList(IWidget *compList)=0
virtual bool setSheetColumnsVisibility(IWidget *sheet, const iv::gui::sheets::ColumnsDefinitions &columnDefinitions)=0
virtual void setTab(IWidget *componentTabs, uint64_t indexTab)=0
virtual void removeColumnFromSheet(IWidget *sheet, uint32_t columnPositionReference)=0
virtual void setTooltipSheetCell(IWidget *sheet, uint32_t row, uint32_t column, const std::string &text)=0
virtual IWidget * createList(CList &list, IFilterModel *filter, bool isMultipleSelection, bool requestMinSizeForTexts)=0
virtual IWidget * createScrolledWindow()=0
virtual void setTextSheetCell(IWidget *sheet, uint32_t row, uint32_t column, const std::string &text)=0
virtual void setCSSClassToSheetRow(IWidget *sheet, const std::string &cssClass, uint32_t row)=0
virtual void appendOptionMenuBar(IWidget *menu, const std::string &name, const std::string &icon, CMenuOption *optionRef, IWidget **menuOption)=0
virtual void setTitleTextSheetCell(IWidget *sheet, uint32_t row, const std::string &text)=0
virtual iv::types::Size getGooCanvasSize(IWidget *canvas)=0
virtual IWidget * createMenuBar()=0
virtual iv::types::Size screenSize()=0
virtual void displayPopOver(IWidget *widget, iv::types::milliseconds timeout, std::string_view message)=0
virtual void removeRowFromSheet(IWidget *sheet, uint32_t rowPositionReference)=0
virtual bool getSheetSelectedRows(IWidget *sheet, std::vector< uint32_t > *selectedRows) const =0
virtual void setMinimumSizeWidget(IWidget *widget, iv::types::width sizeX, iv::types::height sizeY)=0
virtual void widgetUnRef(IWidget *widget)=0
virtual IWidget * createNotificationIndicator(const std::weak_ptr< iv::diamar::INotificationIndicator > ¬ificationIndicator, IWidget *notificationPanelWidget)=0
virtual void appendOptionMenuContext(IWidget *menuContext, const std::string &textOption, uint32_t argbColorBackground, const std::string &nameImageOpt, AbstractClickComponentGUI *componentOption, IWidget **menuOption)=0
virtual void addTab(IWidget *componentTabs, const std::string &nameTab, IWidget *tab)=0
virtual void updateList(IWidget *compList, const CList &list)=0
virtual IWidget * createSeparatorHorizontal()=0
virtual bool setSheetRowsVisibility(IWidget *sheet, const iv::gui::sheets::RowsDefinitions &rowDefinitions)=0
virtual bool attachToSheetRowTitle(IWidget *sheet, IWidget *widgetToAttach, uint32_t row)=0
virtual uint64_t getCurrentView(const std::string &id)=0
virtual void setTooltipToSheetRow(IWidget *sheet, std::shared_ptr< AbstractSheetModel > model, const std::string &tooltip, uint32_t row)=0
virtual IWidget * createInfoBar(AbstractComponentGUI *componentInfoBar, bool displayStatusCircle)=0
virtual void removeComboBoxOptionByIndex(IWidget *comboBoxText, uint32_t index)=0
virtual void initApplication(int32_t argc, char **argv)=0
virtual void removeAllComboBoxOptions(IWidget *comboBoxText)=0
virtual IWidget * createFrameBin(const std::string &label)=0
virtual IWidget * createLayoutVertical(uint16_t spacing, std::optional< AbstractLayout * > layout)=0
virtual void addChildToPaned(IWidget *panedWidget, IWidget *childWidget, bool firstWidget, bool resize, bool shrink)=0
virtual void setFilter(IWidget *compList, IFilterModel *filter)=0
virtual void setLabelSpacing(IWidget *label, double spacing)=0
virtual void unselectAllTreeNodes(IWidget *tree)=0
virtual void setTabBlinking(IWidget *tab, std::string_view nameTab, bool isBlinking)=0
virtual void setColorTab(IWidget *tab, std::string_view nameTab, std::optional< iv::types::color > colorARGB)=0
virtual void setTitleWithSubTitleApplication(const std::string &subTitle)=0
virtual void setTooltip(IWidget *widget, std::string text)=0
virtual IWidget * createButton(AbstractClickComponentGUI *button, std::string text, std::optional< iv::ui::resources::ImageResource > resourceOpt, iv::gui::eButtonBlinkType blinkType, CEnumComponentsGUI::EImagePosition iconPosition, CEnumComponentsGUI::EImageSize iconSize)=0
virtual void setNameWidget(IWidget *widget, const std::string &name)=0
virtual void closeDialogNonModal(IWidget **dialog)=0
virtual IWidget * createMenuContext(const std::string &titleMenu)=0
virtual void addColumnToSheet(IWidget *sheet, AbstractComponentGUI *sheetComponent, uint32_t columnPositionReference, const std::string &columnTitle, const std::string &columnTooltip)=0
virtual bool showMessageQuestion(IWidget *compDialogFather, const std::string &msgQuestion, const std::string &panelTitle)=0
virtual void addWidgetIntoEndLayout(IWidget *layout, IWidget *widgetToAdd, bool expand, bool fill, iv::types::padding padding)=0
virtual void setInfoBarErrorMessage(IWidget *infoBar, std::string message)=0
virtual void setInfoBarWarningMessage(IWidget *infoBar, std::string message)=0
virtual IWidget * createDialog(std::string title, CEnumComponentsGUI::EDialogButtons buttons, bool isModal, bool isTransientFor, bool isResizable, IWidget *dialogContent, IWidget *componentDialogFather, AbstractComponentGUI *componentArea)=0
virtual void setOptionSelectedComboBox(IWidget *compBox, int32_t option)=0
virtual IWidget * createCanvas(CCanvas *canvas, iv::types::color colorRGBBackground)=0
virtual void setDialogPosition(IWidget *dialog, double posX, double posY, unsigned char justify)=0
virtual void updateAttrColor(IWidget *component, CAttrColorComp *attrColor)=0
virtual void pendingEvents()=0
virtual void setMaximumWidthWidget(IWidget *widget, iv::types::width sizeX)=0
virtual bool clearRowsSelected(IWidget *compList)=0
virtual void showMenuContext(IWidget *compDialogFather, IWidget **menuContext, double x, double y)=0
virtual IWidget * createTree(CTree &tree, IFilterModel *filter, AbstractComponentGUI *edit, bool showHeader, bool canSelectRow)=0
virtual void grabFocusWidget(IWidget *widget)=0
virtual IWidget * createTabs(const std::string &titleTabs, AbstractComponentGUI *componentTabs)=0
virtual void setSliderDisplayValue(IWidget *slider, bool displayValue)=0
virtual void collapseAllTreeNodes(IWidget *tree)=0
virtual void constructSheet(IWidget *sheet, std::shared_ptr< AbstractSheetModel > model)=0
virtual IWidget * createSpinner()=0
virtual IWidget * createSlider(iv::types::Range< double > valueRange, bool isOrientationHorizontal, uint64_t steps, AbstractComponentGUI *compSlider)=0
virtual void appendSubmenu(IWidget *menu, std::string name, IWidget *submenu)=0
virtual IWidget * createComboBoxText(AbstractSelectionComponent *component, std::vector< std::string > optionsList, int32_t indSelected, bool withEntry)=0
virtual ~IComponentsGUI()=default
virtual void visibleComponent(IWidget *component, bool isVisible)=0
virtual void changeViewWorkspace(const std::string &id, uint64_t indView, IWidget *component)=0
virtual IWidget * createMenu()=0
virtual bool attachToSheetRowsTitles(AbstractComponentGUI *sheet, const std::vector< IWidget * > &widgetsToAttach)=0
virtual void setActivateCheckButton(IWidget *m_widget, AbstractClickComponentGUI *checkButton, bool value)=0
virtual void freezeSheet(IWidget *sheet)=0
virtual void resetProgressBar(IWidget *progressBar)=0
virtual IWidget * createAssistant()=0
virtual void setTabBlinkingColor(IWidget *tab, std::string_view nameTab, std::optional< iv::types::color > colorARGB)=0
virtual void minimizeApplication()=0
virtual void setInfoBarInfoMessage(IWidget *infoBar, std::string message)=0
virtual void addWidgetIntoStartLayout(IWidget *layout, IWidget *widgetToAdd, bool expand, bool fill, iv::types::padding padding)=0
virtual std::string getFileChoose(IWidget *compFrame)=0
virtual uint64_t getTab(IWidget *componentTabs)=0
virtual IWidget * createLayout(IWidget *componentLayer)=0
virtual bool setIndRowSelected(IWidget *compList, uint64_t indexSelect)=0
virtual void setVisibleWidget(IWidget *widget, bool isVisible)=0
virtual void appendOptionToolbar(IWidget *toolbar, std::string name, std::string icon, CMenuOption *optionRef, IWidget **toolbarButton)=0
virtual void addViewToWorkspace(std::string idWorkspace, AbstractView *viewAdded, IWidget **componentView)=0
virtual void updateTree(IWidget *compTree, const CTree &tree)=0
virtual void widgetRefSink(IWidget *widget)=0
virtual IWidget * createRadioButton(std::string text, AbstractClickComponentGUI *button)=0
virtual bool attachToSheet(IWidget *sheet, std::shared_ptr< AbstractSheetModel > model, IWidget *widgetToAttach, uint32_t row, uint32_t column)=0
virtual void setSliderValue(IWidget *slider, double value)=0
virtual void thawSheet(IWidget *sheet)=0
virtual void appendMsgStateMenuContext(IWidget *menuContext, const CTxtColor &txtColor)=0
virtual IWidget * createLayoutGrid(uint64_t numRows, uint64_t numCols, unsigned short spaceBetweenRows, unsigned short spaceBetweenColumns, bool isCompact)=0
virtual void setFirstTab()=0
virtual void addRowToSheet(IWidget *sheet, uint32_t rowPositionReference)=0
virtual bool getActivateCheckButton(IWidget *m_widget)=0
virtual void addTimer(IWidget *widget, uint64_t timeoutMilliseconds, IListenerTimer *rcpTimer)=0
virtual void deleteSheet(IWidget *sheet)=0
virtual void removeAllRowsFromSheet(IWidget *sheet)=0
virtual void acceptDialog(IWidget **dialog, AbstractComponentGUI *componentArea)=0
virtual IWidget * createPaned(bool horizontalOrientation, int32_t dividerPosition)=0
virtual IWidget * createEntry(const std::string &text, bool isPassword, bool isSizeDefined, unsigned short numCharSize, bool hasNumMaxChar, unsigned short numMaxChar, const std::vector< std::string > &wordsAutocompletion, AbstractComponentGUI *edit)=0
virtual void addWidgetToContainer(IWidget *containerWidget, IWidget *widgetToSet)=0
virtual void setSpinnerState(IWidget *spinner, bool start)=0
virtual void redrawGooCanvas(IWidget *canvas)=0
virtual void widgetRef(IWidget *widget)=0
virtual void setTextOption(IWidget *option, const std::string &text)=0
virtual IWidget * createCalendar(unsigned short day, unsigned short month, unsigned short year)=0
virtual void showDialogNonModal(IWidget *dialog)=0
virtual void setColorTabText(IWidget *tab, std::string_view nameTab, std::optional< iv::types::color > colorARGB)=0
virtual IWidget * createApplication()=0
virtual void setLabelColor(IWidget *label, iv::types::color color)=0
virtual IWidget * createDialogNonModal(std::string title, bool isResizable, IWidget *dialogContent, IWidget *componentDialogFather, AbstractComponentGUI *componentArea, const std::optional< std::function< bool()> > &closeDialogHandler)=0
virtual void insertComboBoxTextOption(IWidget *comboBoxText, std::string option, int32_t insertPosition)=0
virtual void setLabelText(IWidget *label, std::string_view text)=0
virtual void updateCanvas(IWidget *canvas)=0
virtual std::string getEntryText(IWidget *entry)=0
virtual void showMessage(CEnumComponentsGUI::EMessageType messageType, IWidget *compDialogFather, const std::string &msgInform, const std::string &title)=0
virtual void closeDialog(IWidget **dialog)=0
virtual IWidget * createPickerFileChooser(const std::string &fileNameOpt, bool isFile, const std::vector< std::string > &namePattern, AbstractComponentGUI *component)=0
virtual void loadCSS(const std::string &cssFilePath)=0
virtual IWidget * createToolbar()=0
virtual void registerWorkspace(CWorkspace *workspace, std::string id, std::string title, std::vector< AbstractView * > views, std::vector< IWidget * > **widgets)=0
virtual std::shared_ptr< iv::ui::graphics::Image > getImage(iv::ui::resources::ImageResource resource)=0
virtual void getSizeScreen(int32_t *xSizeScreen, int32_t *ySizeScreen)=0
virtual void getDateCalendar(IWidget *calendar, unsigned short *day, unsigned short *month, unsigned short *year)=0
virtual double getSliderValue(IWidget *slider)=0
virtual void setDisableSheetCell(IWidget *sheet, uint32_t row, uint32_t column)=0
virtual void showDialog(IWidget **dialog, CEnumComponentsGUI::EDialogResponse *dialogResponseOpt)=0
virtual void setActiveWidget(IWidget *widget, bool isActive)=0
virtual std::set< uint64_t > getIndRowsSelected(IWidget *compList)=0
virtual void changeContainedWidget(IWidget *containerWidget, IWidget *oldWidget, IWidget *newWidget)=0
virtual void setProgressBarPercentage(IWidget *progressBar, double percentage)=0
virtual IWidget * createLayoutHorizontal(uint16_t spacing, std::optional< AbstractLayout * > layout=std::nullopt)=0
virtual std::string getOptionSelectedComboBox(IWidget *compBox)=0
virtual void removeWidgetFromContainer(IWidget *containerWidget, IWidget *widgetToRemove)=0
virtual bool getIndRowSelected(IWidget *compList, uint64_t *indexSelectOpt)=0
virtual void activeComponent(IWidget *component, bool isActive)=0
virtual IWidget * createSheet(AbstractComponentGUI *sheet, std::shared_ptr< AbstractSheetModel > model, bool showRowTitles, bool isMultipleSelection)=0
virtual IWidget * createSeparatorVertical()=0
virtual void setLabelResourceImage(IWidget *label, const iv::ui::resources::ImageResource &resource)=0
virtual void setAlignmentWidget(IWidget *widget, CEnumComponentsGUI::EAlignmentHorizontal alignmentHorizontal, CEnumComponentsGUI::EAlignmentVertical alignmentVertical)=0
virtual void runApplication(std::string_view titleApplication, std::string_view pathIconApplication, const iv::ui::ApplicationWidgets &applicationWidgets)=0
virtual void updateButton(IWidget *button, std::string text, std::optional< iv::ui::resources::ImageResource > resource, iv::gui::eButtonBlinkType blinkType, CEnumComponentsGUI::EImageSize sizeImage)=0
virtual void removeAllColumnsFromSheet(IWidget *sheet)=0
virtual IWidget * createLabel(std::string text, const std::optional< iv::ui::resources::ImageResource > &resourceOpt, double spacing, CEnumCommon::eType type)=0
virtual void showProgressBarText(IWidget *progressBar, std::string text, bool showText)=0
virtual void setEntryText(IWidget *entry, const std::string &text)=0
virtual IWidget * createGooCanvas(CGooCanvas *canvas, iv::types::color colorRGBBackground)=0
virtual void updateViewWorkspace(const std::string &id, uint64_t indView, IWidget *component)=0
Definition IFilterModel.hpp:5
Definition IListenerTimer.hpp:5
Definition ImageResource.hpp:15
std::map< ColumnId, ColumnDefinition > ColumnsDefinitions
Definition structs.hpp:84
std::map< RowId, RowDefinition > RowsDefinitions
Definition structs.hpp:85
eLabelStyle
Definition enums.hpp:14
eButtonBlinkType
Definition enums.hpp:8
double height
Definition types.hpp:14
uint64_t milliseconds
Definition types.hpp:22
double padding
Definition types.hpp:16
double width
Definition types.hpp:23
uint32_t color
Definition types.hpp:12