8 _showByLayer(showByLayer),
9 _showByBlock(showByBlock) {
18 connect(
this, SIGNAL(activated(
const QString&)),
this, SLOT(
onActivated(
const QString&)));
28 if(mdiChild ==
nullptr) {
62 return std::make_shared<const lc::DxfLinePatternByBlock>();
65 auto linePatterns =
_document->linePatterns();
66 auto position = std::find_if(linePatterns.begin(), linePatterns.end(), [&](
const lc::DxfLinePattern_CSPtr& item) {
67 return item->name() == currentText().toStdString();
70 if(position != linePatterns.end()) {
88 if(text.toStdString() ==
NEW_LP) {
125 auto linePatterns =
_document->linePatterns();
127 auto lp = std::dynamic_pointer_cast<
const lc::DxfLinePatternByValue>(
linePattern);
142 setCurrentText(event.linePattern()->name().c_str());
152 setCurrentText(event.newLinePattern()->name().c_str());
160 setItemIcon(index, icon);
void on_removeLinePatternEvent(const lc::RemoveLinePatternEvent &)
lc::ui::MetaInfoManager_SPtr metaInfoManager() const
Get the MetaInfo manager.
void onLayerChanged(lc::Layer_CSPtr layer)
Event when a new layer is selected.
void setMdiChild(CadMdiChild *mdiChild=nullptr)
Set the window on which line pattern is applied.
void setDocument(lc::Document_SPtr document=nullptr)
Change document.
void onActivated(const QString &text)
Create a new window which shows a list of line patterns.
LinePatternSelect(lc::Document_SPtr document=nullptr, QWidget *parent=0, bool showByLayer=false, bool showByBlock=false)
Create widget.
Create a dialog with all required fields to create a new line pattern.
void on_replaceLinePatternEvent(const lc::ReplaceLinePatternEvent &)
lc::Document_SPtr _document
Painting line patterns on a QPaintDevice.
lc::ui::MetaInfoManager_SPtr _metaInfoManager
QIcon generateQIcon(lc::DxfLinePatternByValue_CSPtr linePattern)
lc::DxfLinePattern_CSPtr linePattern()
Return selected line pattern.
Dropdown select for DxfLinePatterns.
std::shared_ptr< lc::Document > document() const
void on_addLinePatternEvent(const lc::AddLinePatternEvent &)
void drawLinePattern()
Paint line.