Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CPanelLogicsEditBlockParams.hpp
Go to the documentation of this file.
1#ifndef LIBS_PANELS_CPANELLOGICSEDITBLOCKPARAMS_HPP_
2#define LIBS_PANELS_CPANELLOGICSEDITBLOCKPARAMS_HPP_
3
5#include "logic/types.hpp"
7
8#include <bits/stdint-uintn.h>
9#include <list>
10#include <memory>
11
13{
14public:
16 CLogicsAllowed::TMapDBBlockParamNStr &mapBlockParamsValues,
17 CLogicsAllowed::TMapDBBlockParamNStr &mapBlockParamsExternalDesc,
18 std::map<iv::logic::ParamId, bool> &mapVisibleParams,
19 iv::types::logic::ComponentType componentType, bool insideLibrary,
20 bool isLibraryBlock = false);
22 virtual ~CPanelLogicsEditBlockParams() = default;
27
29
30 bool validateSheet();
31
32private:
34
35 std::shared_ptr<AbstractSheetModel> prvCreateSheetModel();
36
37 void prvAddColumnDefinitionsToSheetModel(const std::shared_ptr<AbstractSheetModel> &sheetModel) const;
38 void prvConnectRowsToSheetModel(const std::shared_ptr<AbstractSheetModel> &sheetModel);
39 void prvConnectRowToSheetModel(const std::shared_ptr<AbstractSheetModel> &sheetModel,
40 const iv::gui::sheets::RowId &rowId, uint32_t rowPosition,
42
44 uint32_t rowPosition,
48 uint32_t rowPosition, iv::logic::eDBBlockParamType paramType);
49
50 void prvCreateDescriptionCellDefinition(uint32_t rowPosition, iv::gui::sheets::CellDefinition &cellDefinition,
51 std::string &cellTooltip);
52 void prvCreateValueCellDefinition(uint32_t rowPosition, iv::gui::sheets::CellDefinition &cellDefinition,
53 std::string &cellTooltip, iv::logic::eDBBlockParamType paramType);
54 void prvCreateParameterOnlineCellDefinition(uint32_t rowPosition, iv::gui::sheets::CellDefinition &cellDefinition,
55 std::string &cellTooltip, iv::logic::eDBBlockParamType paramType);
56 void prvCreateExternalDescriptionCellDefinition(uint32_t rowPosition,
57 iv::gui::sheets::CellDefinition &cellDefinition,
58 std::string &cellTooltip, iv::logic::eDBBlockParamType paramType);
59 void prvCreateIsVisibleCellDefinition(uint32_t rowPosition, iv::gui::sheets::CellDefinition &cellDefinition,
60 std::string &cellTooltip, iv::logic::eDBBlockParamType paramType);
61
62 bool prvRequiresSpecialCellDefinition(std::string_view rowDescription);
63
65 std::string *rowValueRef);
66
68 prvCreateComboBoxStringsToIntCellDefinition(std::string *stringValueRef,
69 const std::map<uint32_t, std::string_view> &valuesIntString);
70
75 std::map<iv::logic::ParamId, bool> &m_mapVisibleParams;
76
81
82 std::list<uint32_t> m_comboBoxValue;
83};
84
85#endif /* LIBS_PANELS_CPANELLOGICSEDITBLOCKPARAMS_HPP_ */
Definition AbstractComponentGUI.hpp:30
std::map< iv::logic::ParamId, std::string > TMapDBBlockParamNStr
Definition CLogicsAllowed.hpp:25
Definition CPanelLogicsEditBlockParams.hpp:13
void prvConnectRowsToSheetModel(const std::shared_ptr< AbstractSheetModel > &sheetModel)
Definition CPanelLogicsEditBlockParams.cpp:517
virtual ~CPanelLogicsEditBlockParams()=default
void prvAddColumnDefinitionsToSheetModel(const std::shared_ptr< AbstractSheetModel > &sheetModel) const
Definition CPanelLogicsEditBlockParams.cpp:417
void prvCreateValueCellDefinition(uint32_t rowPosition, iv::gui::sheets::CellDefinition &cellDefinition, std::string &cellTooltip, iv::logic::eDBBlockParamType paramType)
Definition CPanelLogicsEditBlockParams.cpp:651
virtual AbstractComponentGUI * buildPanel()
Definition CPanelLogicsEditBlockParams.cpp:317
CPanelLogicsEditBlockParams & operator=(const CPanelLogicsEditBlockParams &other)=delete
iv::gui::sheets::CellDefinition prvCreateComboBoxStringsToIntCellDefinition(std::string *stringValueRef, const std::map< uint32_t, std::string_view > &valuesIntString)
Definition CPanelLogicsEditBlockParams.cpp:799
iv::gui::sheets::CellDefinition prvCreateCellDefinitionInsideLibrary(const iv::gui::sheets::ColumnDefinition &columnDefinition, uint32_t rowPosition, iv::logic::eDBBlockParamType paramType)
Definition CPanelLogicsEditBlockParams.cpp:595
uint16_t prvCalculateMinDescriptionColumnWidth()
Definition CPanelLogicsEditBlockParams.cpp:371
const CLogicsAllowed::TMapDBBlockParamNStr & m_mapBlockParamsDesc
Definition CPanelLogicsEditBlockParams.hpp:72
iv::gui::sheets::CellDefinition prvCreateSpecialCellValueDefinition(std::string_view rowDescription, std::string *rowValueRef)
Definition CPanelLogicsEditBlockParams.cpp:757
iv::types::logic::ComponentType m_componentType
Definition CPanelLogicsEditBlockParams.hpp:71
bool m_insideLibrary
Definition CPanelLogicsEditBlockParams.hpp:77
bool prvRequiresSpecialCellDefinition(std::string_view rowDescription)
Definition CPanelLogicsEditBlockParams.cpp:750
CPanelLogicsEditBlockParams(CPanelLogicsEditBlockParams &&other)=delete
uint16_t m_minDescriptionColumnWidth
Definition CPanelLogicsEditBlockParams.hpp:80
void prvCreateDescriptionCellDefinition(uint32_t rowPosition, iv::gui::sheets::CellDefinition &cellDefinition, std::string &cellTooltip)
Definition CPanelLogicsEditBlockParams.cpp:639
void prvConnectRowToSheetModel(const std::shared_ptr< AbstractSheetModel > &sheetModel, const iv::gui::sheets::RowId &rowId, uint32_t rowPosition, iv::logic::eDBBlockParamType paramType)
Definition CPanelLogicsEditBlockParams.cpp:532
std::shared_ptr< AbstractSheetModel > prvCreateSheetModel()
Definition CPanelLogicsEditBlockParams.cpp:389
void prvCreateExternalDescriptionCellDefinition(uint32_t rowPosition, iv::gui::sheets::CellDefinition &cellDefinition, std::string &cellTooltip, iv::logic::eDBBlockParamType paramType)
Definition CPanelLogicsEditBlockParams.cpp:699
CLogicsAllowed::TMapDBBlockParamNStr & m_mapBlockParamsExternalDescParamOnline
Definition CPanelLogicsEditBlockParams.hpp:74
CLogicsAllowed::TMapDBBlockParamNStr & m_mapBlockParamsValues
Definition CPanelLogicsEditBlockParams.hpp:73
void prvCreateIsVisibleCellDefinition(uint32_t rowPosition, iv::gui::sheets::CellDefinition &cellDefinition, std::string &cellTooltip, iv::logic::eDBBlockParamType paramType)
Definition CPanelLogicsEditBlockParams.cpp:726
bool validateSheet()
Definition CPanelLogicsEditBlockParams.cpp:359
std::map< iv::logic::ParamId, bool > & m_mapVisibleParams
Definition CPanelLogicsEditBlockParams.hpp:75
iv::gui::sheets::CellDefinition prvCreateCellDefinition(const iv::gui::sheets::ColumnDefinition &columnDefinition, uint32_t rowPosition, iv::logic::eDBBlockParamType paramType)
Definition CPanelLogicsEditBlockParams.cpp:553
CPanelLogicsEditBlockParams & operator=(CPanelLogicsEditBlockParams &&other)=delete
void prvCreateParameterOnlineCellDefinition(uint32_t rowPosition, iv::gui::sheets::CellDefinition &cellDefinition, std::string &cellTooltip, iv::logic::eDBBlockParamType paramType)
Definition CPanelLogicsEditBlockParams.cpp:672
std::list< uint32_t > m_comboBoxValue
Definition CPanelLogicsEditBlockParams.hpp:82
bool m_isLibraryBlock
Definition CPanelLogicsEditBlockParams.hpp:78
CSheet * m_sheetLogicsBlockParamsRef
Definition CPanelLogicsEditBlockParams.hpp:79
CPanelLogicsEditBlockParams(const CPanelLogicsEditBlockParams &other)=delete
Definition CSheet.hpp:20
eDBBlockParamType
Definition defines.hpp:20
Definition structs.hpp:18
Definition structs.hpp:36
Definition structs.hpp:50
Tuple containing the type of logic component (logic blocks, library blocks & others blocks).
Definition types.hpp:22