BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ModelView ::EditorBuilders Namespace Reference

Functions

builder_t BoolEditorBuilder ()
 
builder_t ColorEditorBuilder ()
 
builder_t ComboPropertyEditorBuilder ()
 
builder_t DoubleEditorBuilder ()
 
builder_t ExternalPropertyEditorBuilder ()
 
builder_t IntegerEditorBuilder ()
 
builder_t ScientificDoubleEditorBuilder ()
 
builder_t ScientificSpinBoxEditorBuilder ()
 
builder_t SelectableComboPropertyEditorBuilder ()
 

Function Documentation

◆ BoolEditorBuilder()

builder_t ModelView ::EditorBuilders::BoolEditorBuilder ( )

Definition at line 47 of file editorbuilders.cpp.

48 {
49  auto builder = [](const SessionItem*) -> editor_t { return std::make_unique<BoolEditor>(); };
50  return builder;
51 }
std::unique_ptr< CustomEditor > editor_t

◆ ColorEditorBuilder()

builder_t ModelView ::EditorBuilders::ColorEditorBuilder ( )

Definition at line 111 of file editorbuilders.cpp.

112 {
113  auto builder = [](const SessionItem*) -> editor_t { return std::make_unique<ColorEditor>(); };
114  return builder;
115 }

◆ ComboPropertyEditorBuilder()

builder_t ModelView ::EditorBuilders::ComboPropertyEditorBuilder ( )

Definition at line 117 of file editorbuilders.cpp.

118 {
119  auto builder = [](const SessionItem*) -> editor_t {
120  return std::make_unique<ComboPropertyEditor>();
121  };
122  return builder;
123 }

◆ DoubleEditorBuilder()

builder_t ModelView ::EditorBuilders::DoubleEditorBuilder ( )

Definition at line 66 of file editorbuilders.cpp.

67 {
68  auto builder = [](const SessionItem* item) -> editor_t {
69  auto editor = std::make_unique<DoubleEditor>();
70  if (item && item->hasData(ItemDataRole::LIMITS)) {
71  auto limits = item->data<RealLimits>(ItemDataRole::LIMITS);
72  editor->setRange(limits.lowerLimit(), limits.upperLimit());
73  editor->setSingleStep(singleStep(Constants::default_double_decimals));
74  editor->setDecimals(Constants::default_double_decimals);
75  }
76  return editor;
77  };
78  return builder;
79 }
Limits for a real fit parameter.
Definition: RealLimits.h:24
const int default_double_decimals
const int LIMITS
possibly limits on item's data
Definition: mvvm_types.h:33

References ModelView::Constants::default_double_decimals, and ModelView::ItemDataRole::LIMITS.

◆ ExternalPropertyEditorBuilder()

builder_t ModelView ::EditorBuilders::ExternalPropertyEditorBuilder ( )

Definition at line 125 of file editorbuilders.cpp.

126 {
127  auto builder = [](const SessionItem*) -> editor_t {
128  return std::make_unique<ExternalPropertyEditor>();
129  };
130  return builder;
131 }

◆ IntegerEditorBuilder()

builder_t ModelView ::EditorBuilders::IntegerEditorBuilder ( )

Definition at line 53 of file editorbuilders.cpp.

54 {
55  auto builder = [](const SessionItem* item) -> editor_t {
56  auto editor = std::make_unique<IntegerEditor>();
57  if (item && item->hasData(ItemDataRole::LIMITS)) {
58  auto limits = item->data<RealLimits>(ItemDataRole::LIMITS);
59  editor->setRange(limits.lowerLimit(), limits.upperLimit());
60  }
61  return editor;
62  };
63  return builder;
64 }

References ModelView::ItemDataRole::LIMITS.

◆ ScientificDoubleEditorBuilder()

builder_t ModelView ::EditorBuilders::ScientificDoubleEditorBuilder ( )

Definition at line 81 of file editorbuilders.cpp.

82 {
83  auto builder = [](const SessionItem* item) -> editor_t {
84  auto editor = std::make_unique<ScientificDoubleEditor>();
85  if (item && item->hasData(ItemDataRole::LIMITS)) {
86  auto limits = item->data<RealLimits>(ItemDataRole::LIMITS);
87  editor->setRange(limits.lowerLimit(), limits.upperLimit());
88  }
89  return editor;
90  };
91  return builder;
92 }

References ModelView::ItemDataRole::LIMITS.

◆ ScientificSpinBoxEditorBuilder()

builder_t ModelView ::EditorBuilders::ScientificSpinBoxEditorBuilder ( )

Definition at line 94 of file editorbuilders.cpp.

95 {
96  auto builder = [](const SessionItem* item) -> editor_t {
97  auto editor = std::make_unique<ScientificSpinBoxEditor>();
98  if (item) {
99  if (item->hasData(ItemDataRole::LIMITS)) {
100  auto limits = item->data<RealLimits>(ItemDataRole::LIMITS);
101  editor->setRange(limits.lowerLimit(), limits.upperLimit());
102  }
103  editor->setSingleStep(getStep(item->data<double>()));
104  }
105  editor->setDecimals(Constants::default_double_decimals);
106  return editor;
107  };
108  return builder;
109 }

References ModelView::Constants::default_double_decimals, and ModelView::ItemDataRole::LIMITS.

◆ SelectableComboPropertyEditorBuilder()

builder_t ModelView ::EditorBuilders::SelectableComboPropertyEditorBuilder ( )

Definition at line 133 of file editorbuilders.cpp.

134 {
135  auto builder = [](const SessionItem*) -> editor_t {
136  return std::make_unique<SelectableComboBoxEditor>();
137  };
138  return builder;
139 }