15 #ifndef BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_SAMPLEEDITORCONTROLLER_H
16 #define BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_SAMPLEEDITORCONTROLLER_H
Defines class ItemWithParticlesCatalog.
Defines class SampleItem.
Abstract base class for SelectionDescriptor to ease referencing.
Describes properties of a double value which are necessary to allow GUI representation,...
Form for editing a core/shell particle.
Project document class handles all data related to the opened project (sample, job,...
Class to modify a sample from the layer oriented sample editor.
void setInt(int newValue, UIntDescriptor d)
void setMesoCrystalBasis(MesoCrystalForm *widget, ItemWithParticlesCatalog::Type type)
void setCoreFormFactor(ParticleCoreShellForm *widget, FormFactorItemCatalog::Type type)
ProjectDocument * projectDocument() const
The current document.
void removeLayout(LayerForm *layerItem, ParticleLayoutItem *layout)
MultiLayerItem * sampleItem() const
The item on which this controller operates.
void setMultiLayerForm(MultiLayerForm *view)
Set the current form.
void addLayer(LayerItem *before)
ItemWithParticles * createAndInitParticle(FormFactorItemCatalog::Type formFactorType) const
QUndoStack * undoStack()
The contained undo stack.
void setSampleDescription(const QString &description)
void requestViewInRealSpace(SampleItem item)
void setCurrentIndex(AbstractSelectionContainerForm *widget, int index, const AbstractSelectionDescriptor &d)
void setDouble(double newValue, DoubleDescriptor d)
MaterialItems * materialItems() const
The materials of the current document.
void addParticle(ParticleLayoutItem *layout, ItemWithParticlesCatalog::Type type)
void addLayerFromUndo(int atIndex)
void onStoppedToMoveLayer(QWidget *widgetToMove, QWidget *moveAboveThisWidget)
void setIntegrateOverXi(LatticeTypeSelectionForm *widget, bool newValue)
void onStartingToMoveLayer()
MultiLayerForm * sampleForm() const
The current form.
void addLayout(LayerForm *layerItem)
void selectMaterial(ItemWithMaterial *item, const QString &newMaterialIdentifier)
void setDensityRelatedValue(InterferenceItem *interferenceItem, double newValue, DoubleDescriptor d)
Set an interference function's value which affects the total particle density of the containing parti...
void setShellFormFactor(ParticleCoreShellForm *widget, FormFactorItemCatalog::Type type)
MultiLayerItem * m_sampleItem
MultiLayerForm * m_sampleForm
void aboutToRemoveItem(SampleItem item)
void setDoubleFromUndo(double newValue, const QString &path)
void removeLayer(LayerItem *layerItem)
ProjectDocument * m_document
void setSampleName(const QString &name)
SampleEditorController(ProjectDocument *document, MultiLayerItem *multi)
void removeLayerFromUndo(int atIndex)
void setMaterialValue(ItemWithMaterial *item, double newValue, DoubleDescriptor d)
void selectInterference(InterferenceForm *widget, int newIndex)
void removeParticle(ItemWithParticles *item)
This can hold any item which belongs to a sample.
Base class for a GUI data item.
Describes properties of a uint value which are necessary to allow GUI representation,...
QString const & name(EShape k)