mirror of
https://github.com/leozide/leocad.git
synced 2026-07-27 19:56:49 +00:00
Initial background color support.
This commit is contained in:
@@ -24,6 +24,28 @@ lcInstructions::lcInstructions(Project* Project)
|
||||
CreatePages();
|
||||
}
|
||||
|
||||
lcInstructionsStepProperties lcInstructions::GetStepProperties(lcModel* Model, lcStep Step) const
|
||||
{
|
||||
lcInstructionsStepProperties StepProperties = mStepProperties;
|
||||
|
||||
std::map<lcModel*, lcInstructionsModel>::const_iterator ModelIt = mModels.find(Model);
|
||||
|
||||
if (ModelIt == mModels.end())
|
||||
return StepProperties;
|
||||
|
||||
const lcInstructionsModel& InstructionModel = ModelIt->second;
|
||||
|
||||
for (lcStep StepIndex = 0; StepIndex <= Step; StepIndex++)
|
||||
{
|
||||
const lcInstructionsStepProperties& Properties = InstructionModel.StepProperties[StepIndex];
|
||||
|
||||
if (Properties.BackgroundColorMode == lcInstructionsPropertyMode::Set || (Properties.BackgroundColorMode == lcInstructionsPropertyMode::StepOnly && Step == StepIndex))
|
||||
StepProperties.BackgroundColor = Properties.BackgroundColor;
|
||||
}
|
||||
|
||||
return StepProperties;
|
||||
}
|
||||
|
||||
void lcInstructions::SetDefaultPageSettings(const lcInstructionsPageSettings& PageSettings)
|
||||
{
|
||||
mPageSettings = PageSettings;
|
||||
@@ -31,6 +53,17 @@ void lcInstructions::SetDefaultPageSettings(const lcInstructionsPageSettings& Pa
|
||||
CreatePages();
|
||||
}
|
||||
|
||||
void lcInstructions::SetDefaultStepBackgroundColor(quint32 Color)
|
||||
{
|
||||
if (mStepProperties.BackgroundColor == Color)
|
||||
return;
|
||||
|
||||
mStepProperties.BackgroundColor = Color;
|
||||
|
||||
for (size_t PageIndex = 0; PageIndex < mPages.size(); PageIndex++)
|
||||
emit PageInvalid(static_cast<int>(PageIndex)); // todo: invalidate steps, not pages
|
||||
}
|
||||
|
||||
void lcInstructions::CreatePages()
|
||||
{
|
||||
mPages.clear();
|
||||
@@ -57,6 +90,10 @@ void lcInstructions::AddDefaultPages(lcModel* Model, std::vector<const lcModel*>
|
||||
lcInstructionsPage Page;
|
||||
int Row = 0, Column = 0;
|
||||
|
||||
lcInstructionsModel InstructionModel;
|
||||
InstructionModel.StepProperties.resize(LastStep + 1);
|
||||
mModels.emplace(Model, std::move(InstructionModel));
|
||||
|
||||
for (lcStep Step = 1; Step <= LastStep; Step++)
|
||||
{
|
||||
std::set<lcModel*> StepSubModels;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "lc_math.h"
|
||||
|
||||
struct lcInstructionsPageSetup
|
||||
{
|
||||
float Width;
|
||||
@@ -23,11 +25,26 @@ struct lcInstructionsPageSettings
|
||||
lcInstructionsDirection Direction;
|
||||
};
|
||||
|
||||
enum class lcInstructionsPropertyMode
|
||||
{
|
||||
NotSet,
|
||||
Set,
|
||||
StepOnly
|
||||
};
|
||||
|
||||
struct lcInstructionsStepProperties
|
||||
{
|
||||
lcInstructionsPropertyMode BackgroundColorMode = lcInstructionsPropertyMode::NotSet;
|
||||
quint32 BackgroundColor = LC_RGBA(255, 255, 255, 0);
|
||||
};
|
||||
|
||||
struct lcInstructionsStep
|
||||
{
|
||||
QRectF Rect;
|
||||
lcModel* Model;
|
||||
lcStep Step;
|
||||
|
||||
lcInstructionsStepProperties Properties;
|
||||
};
|
||||
|
||||
struct lcInstructionsPage
|
||||
@@ -36,16 +53,31 @@ struct lcInstructionsPage
|
||||
std::vector<lcInstructionsStep> Steps;
|
||||
};
|
||||
|
||||
class lcInstructions
|
||||
struct lcInstructionsModel
|
||||
{
|
||||
std::vector<lcInstructionsStepProperties> StepProperties;
|
||||
};
|
||||
|
||||
class lcInstructions : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
lcInstructions(Project* Project = nullptr);
|
||||
|
||||
lcInstructionsStepProperties GetStepProperties(lcModel* Model, lcStep Step) const;
|
||||
void SetDefaultPageSettings(const lcInstructionsPageSettings& PageSettings);
|
||||
void SetDefaultStepBackgroundColor(quint32 Color);
|
||||
|
||||
std::vector<lcInstructionsPage> mPages;
|
||||
lcInstructionsPageSettings mPageSettings;
|
||||
lcInstructionsPageSetup mPageSetup;
|
||||
lcInstructionsStepProperties mStepProperties;
|
||||
|
||||
std::map<lcModel*, lcInstructionsModel> mModels;
|
||||
|
||||
signals:
|
||||
void PageInvalid(int PageIndex);
|
||||
|
||||
protected:
|
||||
void CreatePages();
|
||||
|
||||
@@ -4,13 +4,33 @@
|
||||
#include "project.h"
|
||||
#include "lc_model.h"
|
||||
#include "lc_view.h"
|
||||
#include "lc_collapsiblewidget.h"
|
||||
|
||||
lcInstructionsStepItem::lcInstructionsStepItem(const QPixmap& Pixmap, QGraphicsItem* Parent, lcInstructionsPropertiesWidget* PropertiesWidget)
|
||||
: QGraphicsPixmapItem(Pixmap, Parent), mPropertiesWidget(PropertiesWidget)
|
||||
{
|
||||
}
|
||||
|
||||
void lcInstructionsStepItem::focusInEvent(QFocusEvent* FocusEvent)
|
||||
{
|
||||
mPropertiesWidget->StepItemFocusIn(this);
|
||||
|
||||
QGraphicsPixmapItem::focusInEvent(FocusEvent);
|
||||
}
|
||||
|
||||
void lcInstructionsStepItem::focusOutEvent(QFocusEvent* FocusEvent)
|
||||
{
|
||||
mPropertiesWidget->ItemFocusOut(this);
|
||||
|
||||
QGraphicsPixmapItem::focusOutEvent(FocusEvent);
|
||||
}
|
||||
|
||||
lcInstructionsPageWidget::lcInstructionsPageWidget(QWidget* Parent, lcInstructions* Instructions)
|
||||
: QGraphicsView(Parent), mInstructions(Instructions)
|
||||
{
|
||||
}
|
||||
|
||||
void lcInstructionsPageWidget::SetCurrentPage(const lcInstructionsPage* Page)
|
||||
void lcInstructionsPageWidget::SetCurrentPage(const lcInstructionsPage* Page, lcInstructionsPropertiesWidget* PropertiesWidget)
|
||||
{
|
||||
QGraphicsScene* Scene = new QGraphicsScene();
|
||||
setScene(Scene);
|
||||
@@ -30,12 +50,13 @@ void lcInstructionsPageWidget::SetCurrentPage(const lcInstructionsPage* Page)
|
||||
{
|
||||
const float StepWidth = MarginsRect.width() * Step.Rect.width();
|
||||
const float StepHeight = MarginsRect.height() * Step.Rect.height();
|
||||
const lcInstructionsStepProperties StepProperties = mInstructions->GetStepProperties(Step.Model, Step.Step);
|
||||
|
||||
lcView View(lcViewType::View, Step.Model);
|
||||
|
||||
View.SetOffscreenContext();
|
||||
View.MakeCurrent();
|
||||
// View.SetBackgroundColorOverride(LC_RGBA(255, 255, 0, 255));
|
||||
View.SetBackgroundColorOverride(StepProperties.BackgroundColor);
|
||||
View.SetSize(StepWidth, StepHeight);
|
||||
|
||||
std::vector<QImage> Images = View.GetStepImages(Step.Step, Step.Step);
|
||||
@@ -45,7 +66,7 @@ void lcInstructionsPageWidget::SetCurrentPage(const lcInstructionsPage* Page)
|
||||
|
||||
QImage& StepImage = Images.front();
|
||||
|
||||
QGraphicsPixmapItem* StepImageItem = new QGraphicsPixmapItem(QPixmap::fromImage(StepImage), PageItem);
|
||||
lcInstructionsStepItem* StepImageItem = new lcInstructionsStepItem(QPixmap::fromImage(StepImage), PageItem, PropertiesWidget);
|
||||
StepImageItem->setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemIsFocusable);
|
||||
StepImageItem->setPos(MarginsRect.left() + MarginsRect.width() * Step.Rect.x(), MarginsRect.top() + MarginsRect.height() * Step.Rect.y());
|
||||
|
||||
@@ -175,6 +196,79 @@ void lcInstructionsPageListWidget::ShowPageSetupDialog()
|
||||
return;
|
||||
}
|
||||
|
||||
lcInstructionsPropertiesWidget::lcInstructionsPropertiesWidget(QWidget* Parent, lcInstructions* Instructions)
|
||||
: QDockWidget(Parent), mInstructions(Instructions)
|
||||
{
|
||||
QWidget* CentralWidget = new QWidget(this);
|
||||
setWidget(CentralWidget);
|
||||
setWindowTitle(tr("Properties"));
|
||||
|
||||
QGridLayout* Layout = new QGridLayout(CentralWidget);
|
||||
Layout->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
QComboBox* ScopeComboBox = new QComboBox(CentralWidget);
|
||||
ScopeComboBox->addItems(QStringList() << tr("Default") << tr("Current Model") << tr("Current Step Only") << tr("Current Step Forward"));
|
||||
|
||||
Layout->addWidget(new QLabel(tr("Scope:")), 0, 0);
|
||||
Layout->addWidget(ScopeComboBox, 0, 1);
|
||||
|
||||
QComboBox* PresetComboBox = new QComboBox(CentralWidget);
|
||||
|
||||
Layout->addWidget(new QLabel(tr("Preset:")), 1, 0);
|
||||
Layout->addWidget(PresetComboBox, 1, 1);
|
||||
|
||||
Layout->setRowStretch(3, 1);
|
||||
}
|
||||
|
||||
void lcInstructionsPropertiesWidget::ColorButtonClicked()
|
||||
{
|
||||
// const lcInstructionsStepProperties StepProperties = mInstructions->GetStepProperties(Step.Model, Step.Step);
|
||||
|
||||
QColor Color = QColorDialog::getColor();
|
||||
|
||||
if (!Color.isValid())
|
||||
return;
|
||||
|
||||
mInstructions->SetDefaultStepBackgroundColor(LC_RGBA(Color.red(), Color.green(), Color.blue(), Color.alpha()));
|
||||
|
||||
// mPageListWidget->mThumbnailsWidget->setCurrentRow(0);
|
||||
}
|
||||
|
||||
void lcInstructionsPropertiesWidget::StepItemFocusIn(lcInstructionsStepItem* StepItem)
|
||||
{
|
||||
if (mFocusItem == StepItem)
|
||||
return;
|
||||
|
||||
mFocusItem = StepItem;
|
||||
|
||||
delete mWidget;
|
||||
mWidget = new lcCollapsibleWidget(tr("Step Properties")); // todo: disable collapse
|
||||
|
||||
QGridLayout* WidgetLayout = qobject_cast<QGridLayout*>(widget()->layout());
|
||||
WidgetLayout->addWidget(mWidget, 2, 0, 1, -1);
|
||||
|
||||
QGridLayout* Layout = new QGridLayout();
|
||||
mWidget->SetChildLayout(Layout);
|
||||
|
||||
QToolButton* ColorButton = new QToolButton();
|
||||
ColorButton->setText("background");
|
||||
|
||||
Layout->addWidget(ColorButton);
|
||||
|
||||
connect(ColorButton, &QToolButton::clicked, this, &lcInstructionsPropertiesWidget::ColorButtonClicked);
|
||||
}
|
||||
|
||||
void lcInstructionsPropertiesWidget::ItemFocusOut(QGraphicsItem* Item)
|
||||
{
|
||||
if (mFocusItem != Item)
|
||||
return;
|
||||
|
||||
mFocusItem = nullptr;
|
||||
|
||||
delete mWidget;
|
||||
mWidget = nullptr;
|
||||
}
|
||||
|
||||
lcInstructionsDialog::lcInstructionsDialog(QWidget* Parent, Project* Project)
|
||||
: QMainWindow(Parent), mProject(Project)
|
||||
{
|
||||
@@ -182,13 +276,17 @@ lcInstructionsDialog::lcInstructionsDialog(QWidget* Parent, Project* Project)
|
||||
|
||||
mInstructions = mProject->GetInstructions();
|
||||
|
||||
mPageWidget = new lcInstructionsPageWidget(this, &mInstructions);
|
||||
mPageWidget = new lcInstructionsPageWidget(this, mInstructions);
|
||||
setCentralWidget(mPageWidget);
|
||||
|
||||
mPageListWidget = new lcInstructionsPageListWidget(this, &mInstructions);
|
||||
mPageListWidget->setObjectName("PageList");
|
||||
mPageListWidget = new lcInstructionsPageListWidget(this, mInstructions);
|
||||
mPageListWidget->setObjectName("InstructionsPageList");
|
||||
addDockWidget(Qt::LeftDockWidgetArea, mPageListWidget);
|
||||
|
||||
mPropertiesWidget = new lcInstructionsPropertiesWidget(this, mInstructions);
|
||||
mPropertiesWidget->setObjectName("InstructionsProperties");
|
||||
addDockWidget(Qt::RightDockWidgetArea, mPropertiesWidget);
|
||||
|
||||
mPageSettingsToolBar = addToolBar(tr("Page Settings"));
|
||||
mPageSettingsToolBar->setObjectName("PageSettings");
|
||||
mPageSettingsToolBar->setFloatable(false);
|
||||
@@ -209,12 +307,13 @@ lcInstructionsDialog::lcInstructionsDialog(QWidget* Parent, Project* Project)
|
||||
PageDirectionGroup->addAction(mVerticalPageAction);
|
||||
PageDirectionGroup->addAction(mHorizontalPageAction);
|
||||
|
||||
for (size_t PageNumber = 0; PageNumber < mInstructions.mPages.size(); PageNumber++)
|
||||
for (size_t PageNumber = 0; PageNumber < mInstructions->mPages.size(); PageNumber++)
|
||||
mPageListWidget->mThumbnailsWidget->addItem(QString("Page %1").arg(PageNumber + 1));
|
||||
|
||||
connect(mPageListWidget->mThumbnailsWidget, SIGNAL(currentRowChanged(int)), this, SLOT(CurrentThumbnailChanged(int)));
|
||||
mPageListWidget->mThumbnailsWidget->setCurrentRow(0);
|
||||
|
||||
connect(mInstructions, &lcInstructions::PageInvalid, this, &lcInstructionsDialog::PageInvalid);
|
||||
connect(mVerticalPageAction, SIGNAL(toggled(bool)), this, SLOT(UpdatePageSettings()));
|
||||
connect(mHorizontalPageAction, SIGNAL(toggled(bool)), this, SLOT(UpdatePageSettings()));
|
||||
connect(mRowsSpinBox, SIGNAL(valueChanged(int)), this, SLOT(UpdatePageSettings()));
|
||||
@@ -233,11 +332,11 @@ void lcInstructionsDialog::UpdatePageSettings()
|
||||
else
|
||||
PageSettings.Direction = lcInstructionsDirection::Vertical;
|
||||
|
||||
mInstructions.SetDefaultPageSettings(PageSettings);
|
||||
mInstructions->SetDefaultPageSettings(PageSettings);
|
||||
// lcInstructionsPage* Page = &mInstructions.mPages[mThumbnailsWidget->currentIndex().row()];
|
||||
|
||||
mPageListWidget->mThumbnailsWidget->clear();
|
||||
for (size_t PageNumber = 0; PageNumber < mInstructions.mPages.size(); PageNumber++)
|
||||
for (size_t PageNumber = 0; PageNumber < mInstructions->mPages.size(); PageNumber++)
|
||||
mPageListWidget->mThumbnailsWidget->addItem(QString("Page %1").arg(PageNumber + 1));
|
||||
|
||||
// mThumbnailsWidget->setCurrentRow(0);
|
||||
@@ -247,17 +346,17 @@ void lcInstructionsDialog::UpdatePageSettings()
|
||||
|
||||
void lcInstructionsDialog::CurrentThumbnailChanged(int Index)
|
||||
{
|
||||
if (Index < 0 || Index >= static_cast<int>(mInstructions.mPages.size()))
|
||||
if (Index < 0 || Index >= static_cast<int>(mInstructions->mPages.size()))
|
||||
{
|
||||
mPageWidget->SetCurrentPage(nullptr);
|
||||
mPageWidget->SetCurrentPage(nullptr, mPropertiesWidget);
|
||||
return;
|
||||
}
|
||||
|
||||
const lcInstructionsPage* Page = &mInstructions.mPages[Index];
|
||||
const lcInstructionsPage* Page = &mInstructions->mPages[Index];
|
||||
// const lcInstructionsPageSettings& PageSettings = Page->Settings;
|
||||
const lcInstructionsPageSettings& PageSettings = mInstructions.mPageSettings;
|
||||
const lcInstructionsPageSettings& PageSettings = mInstructions->mPageSettings;
|
||||
|
||||
mPageWidget->SetCurrentPage(Page);
|
||||
mPageWidget->SetCurrentPage(Page, mPropertiesWidget);
|
||||
|
||||
if (PageSettings.Direction == lcInstructionsDirection::Horizontal)
|
||||
{
|
||||
@@ -280,3 +379,12 @@ void lcInstructionsDialog::CurrentThumbnailChanged(int Index)
|
||||
mColumnsSpinBox->setValue(PageSettings.Columns);
|
||||
mColumnsSpinBox->blockSignals(false);
|
||||
}
|
||||
|
||||
void lcInstructionsDialog::PageInvalid(int PageIndex)
|
||||
{
|
||||
if (mPageListWidget->mThumbnailsWidget->currentRow() == PageIndex)
|
||||
{
|
||||
const lcInstructionsPage* Page = &mInstructions->mPages[PageIndex];
|
||||
mPageWidget->SetCurrentPage(Page, mPropertiesWidget);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,20 @@
|
||||
|
||||
#include "lc_instructions.h"
|
||||
|
||||
class lcInstructionsPropertiesWidget;
|
||||
|
||||
class lcInstructionsStepItem : public QGraphicsPixmapItem
|
||||
{
|
||||
public:
|
||||
lcInstructionsStepItem(const QPixmap& Pixmap, QGraphicsItem* Parent, lcInstructionsPropertiesWidget* PropertiesWidget);
|
||||
|
||||
protected:
|
||||
void focusInEvent(QFocusEvent* FocusEvent) override;
|
||||
void focusOutEvent(QFocusEvent* FocusEvent) override;
|
||||
|
||||
lcInstructionsPropertiesWidget* mPropertiesWidget = nullptr;
|
||||
};
|
||||
|
||||
class lcInstructionsPageWidget : public QGraphicsView
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -9,7 +23,7 @@ class lcInstructionsPageWidget : public QGraphicsView
|
||||
public:
|
||||
lcInstructionsPageWidget(QWidget* Parent, lcInstructions* Instructions);
|
||||
|
||||
void SetCurrentPage(const lcInstructionsPage* Page);
|
||||
void SetCurrentPage(const lcInstructionsPage* Page, lcInstructionsPropertiesWidget* PropertiesWidget);
|
||||
|
||||
protected:
|
||||
lcInstructions* mInstructions;
|
||||
@@ -47,6 +61,25 @@ protected:
|
||||
lcInstructions* mInstructions;
|
||||
};
|
||||
|
||||
class lcInstructionsPropertiesWidget : public QDockWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
lcInstructionsPropertiesWidget(QWidget* Parent, lcInstructions* Instructions);
|
||||
|
||||
void StepItemFocusIn(lcInstructionsStepItem* StepItem);
|
||||
void ItemFocusOut(QGraphicsItem* Item);
|
||||
|
||||
protected slots:
|
||||
void ColorButtonClicked();
|
||||
|
||||
protected:
|
||||
lcCollapsibleWidget* mWidget = nullptr;
|
||||
lcInstructions* mInstructions = nullptr;
|
||||
QGraphicsItem* mFocusItem = nullptr;
|
||||
};
|
||||
|
||||
class lcInstructionsDialog : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -57,15 +90,17 @@ public:
|
||||
protected slots:
|
||||
void UpdatePageSettings();
|
||||
void CurrentThumbnailChanged(int Index);
|
||||
void PageInvalid(int PageIndex);
|
||||
|
||||
protected:
|
||||
Project* mProject = nullptr;
|
||||
|
||||
int mCurrentPageNumber;
|
||||
lcInstructions mInstructions;
|
||||
lcInstructions* mInstructions;
|
||||
|
||||
lcInstructionsPageWidget* mPageWidget = nullptr;
|
||||
lcInstructionsPageListWidget* mPageListWidget = nullptr;
|
||||
lcInstructionsPropertiesWidget* mPropertiesWidget = nullptr;
|
||||
|
||||
QToolBar* mPageSettingsToolBar = nullptr;
|
||||
QAction* mVerticalPageAction = nullptr;
|
||||
|
||||
@@ -1127,8 +1127,8 @@ void lcMainWindow::Print(QPrinter* Printer)
|
||||
int DocCopies;
|
||||
int PageCopies;
|
||||
|
||||
lcInstructions Instructions = lcGetActiveProject()->GetInstructions();
|
||||
const int PageCount = static_cast<int>(Instructions.mPages.size());
|
||||
lcInstructions* Instructions = lcGetActiveProject()->GetInstructions();
|
||||
const int PageCount = static_cast<int>(Instructions->mPages.size());
|
||||
|
||||
if (Printer->collateCopies())
|
||||
{
|
||||
@@ -1193,7 +1193,7 @@ void lcMainWindow::Print(QPrinter* Printer)
|
||||
int StepWidth = MarginRect.width();
|
||||
int StepHeight = MarginRect.height();
|
||||
|
||||
const lcInstructionsPage& PageLayout = Instructions.mPages[Page - 1];
|
||||
const lcInstructionsPage& PageLayout = Instructions->mPages[Page - 1];
|
||||
lcModel* Model = PageLayout.Steps[0].Model;
|
||||
lcStep Step = PageLayout.Steps[0].Step;
|
||||
QImage Image = Model->GetStepImage(false, StepWidth, StepHeight, Step);
|
||||
@@ -1299,7 +1299,7 @@ void lcMainWindow::ShowInstructionsDialog()
|
||||
void lcMainWindow::ShowPrintDialog()
|
||||
{
|
||||
#ifndef QT_NO_PRINTER
|
||||
int PageCount = static_cast<int>(lcGetActiveProject()->GetInstructions().mPages.size());
|
||||
int PageCount = static_cast<int>(lcGetActiveProject()->GetInstructions()->mPages.size());
|
||||
|
||||
QPrinter Printer(QPrinter::HighResolution);
|
||||
Printer.setFromTo(1, PageCount + 1);
|
||||
@@ -1923,7 +1923,7 @@ void lcMainWindow::TogglePrintPreview()
|
||||
#ifndef QT_NO_PRINTER
|
||||
// todo: print preview inside main window
|
||||
|
||||
int PageCount = static_cast<int>(lcGetActiveProject()->GetInstructions().mPages.size());
|
||||
int PageCount = static_cast<int>(lcGetActiveProject()->GetInstructions()->mPages.size());
|
||||
|
||||
QPrinter Printer(QPrinter::ScreenResolution);
|
||||
Printer.setFromTo(1, PageCount + 1);
|
||||
|
||||
+5
-2
@@ -1504,9 +1504,12 @@ void Project::ExportCSV()
|
||||
}
|
||||
}
|
||||
|
||||
lcInstructions Project::GetInstructions()
|
||||
lcInstructions* Project::GetInstructions()
|
||||
{
|
||||
return lcInstructions(this);
|
||||
mInstructions.reset();
|
||||
mInstructions = std::unique_ptr<lcInstructions>(new lcInstructions(this));
|
||||
|
||||
return mInstructions.get();
|
||||
}
|
||||
|
||||
void Project::ExportHTML(const lcHTMLExportOptions& Options)
|
||||
|
||||
+2
-1
@@ -70,7 +70,7 @@ public:
|
||||
|
||||
QString GetImageFileName(bool AllowCurrentFolder) const;
|
||||
|
||||
lcInstructions GetInstructions();
|
||||
lcInstructions* GetInstructions();
|
||||
|
||||
void SetActiveModel(int ModelIndex);
|
||||
void SetActiveModel(const QString& FileName);
|
||||
@@ -110,6 +110,7 @@ protected:
|
||||
|
||||
lcArray<lcModel*> mModels;
|
||||
lcModel* mActiveModel;
|
||||
std::unique_ptr<lcInstructions> mInstructions;
|
||||
|
||||
Q_DECLARE_TR_FUNCTIONS(Project);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user