21#ifndef FOOTPRINT_WIZARD_H
22#define FOOTPRINT_WIZARD_H
25#include <tl/expected.hpp>
28#include <api/common/types/wizards.pb.h>
43 void FromProto(
const kiapi::common::types::WizardMetaInfo& aProto );
59 virtual kiapi::common::types::WizardParameter
Pack(
bool aCompact =
true );
64 kiapi::common::types::WizardParameterCategory
category = kiapi::common::types::WPC_UNKNOWN;
65 kiapi::common::types::WizardParameterDataType
type = kiapi::common::types::WPDT_UNKNOWN;
67 static std::unique_ptr<WIZARD_PARAMETER>
Create(
const kiapi::common::types::WizardParameter& aProto );
76 kiapi::common::types::WizardParameter
Pack(
bool aCompact =
true )
override;
80 std::optional<int>
min;
81 std::optional<int>
max;
84 void FromProto(
const kiapi::common::types::WizardIntParameter& aProto );
91 kiapi::common::types::WizardParameter
Pack(
bool aCompact =
true )
override;
95 std::optional<double>
min;
96 std::optional<double>
max;
98 void FromProto(
const kiapi::common::types::WizardRealParameter& aProto );
105 kiapi::common::types::WizardParameter
Pack(
bool aCompact =
true )
override;
110 void FromProto(
const kiapi::common::types::WizardBoolParameter& aProto );
117 kiapi::common::types::WizardParameter
Pack(
bool aCompact =
true )
override;
123 void FromProto(
const kiapi::common::types::WizardStringParameter& aProto );
130 kiapi::common::types::WizardParameter
Pack(
bool aCompact =
true )
override;
136 std::vector<std::pair<wxString, wxString>>
choices;
138 void FromProto(
const kiapi::common::types::WizardEnumParameter& aProto );
147 void FromProto(
const kiapi::common::types::WizardInfo& aProto );
193 void ReloadWizards( std::shared_ptr<REPORTER> aReporter =
nullptr );
195 std::optional<FOOTPRINT_WIZARD*>
GetWizard(
const wxString& aIdentifier );
197 std::vector<FOOTPRINT_WIZARD*>
Wizards()
const;
219 std::map<wxString, std::unique_ptr<FOOTPRINT_WIZARD>>
m_wizards;
A pure virtual class used to derive REPORTER objects from.
void FromProto(const kiapi::common::types::WizardBoolParameter &aProto)
kiapi::common::types::WizardParameter Pack(bool aCompact=true) override
Packs the current state of this parameter back into a protobuf message.
std::vector< std::pair< wxString, wxString > > choices
pair<identifier, label>
kiapi::common::types::WizardParameter Pack(bool aCompact=true) override
Packs the current state of this parameter back into a protobuf message.
void FromProto(const kiapi::common::types::WizardEnumParameter &aProto)
void FromProto(const kiapi::common::types::WizardIntParameter &aProto)
std::optional< int > multiple
kiapi::common::types::WizardParameter Pack(bool aCompact=true) override
Packs the current state of this parameter back into a protobuf message.
virtual kiapi::common::types::WizardParameter Pack(bool aCompact=true)
Packs the current state of this parameter back into a protobuf message.
kiapi::common::types::WizardParameterDataType type
static wxString ParameterCategoryName(kiapi::common::types::WizardParameterCategory aCategory)
virtual ~WIZARD_PARAMETER()=default
static std::unique_ptr< WIZARD_PARAMETER > Create(const kiapi::common::types::WizardParameter &aProto)
kiapi::common::types::WizardParameterCategory category
WIZARD_PARAMETER()=default
kiapi::common::types::WizardParameter Pack(bool aCompact=true) override
Packs the current state of this parameter back into a protobuf message.
void FromProto(const kiapi::common::types::WizardRealParameter &aProto)
std::optional< double > min
std::optional< double > max
std::optional< wxString > validation_regex
kiapi::common::types::WizardParameter Pack(bool aCompact=true) override
Packs the current state of this parameter back into a protobuf message.
void FromProto(const kiapi::common::types::WizardStringParameter &aProto)
std::vector< std::unique_ptr< WIZARD_PARAMETER > > parameters
void FromProto(const kiapi::common::types::WizardInfo &aProto)