Convert place field of outline command into a ButtonSet

This commit is contained in:
David Capello 2019-04-16 18:12:07 -03:00
parent 266352cfec
commit 9746a30564
2 changed files with 13 additions and 7 deletions

View File

@ -33,8 +33,10 @@
</hbox>
</vbox>
<vbox>
<radio id="outside" text="@.outside" group="2" />
<radio id="inside" text="@.inside" group="2" />
<buttonset id="place" columns="1">
<item text="@.outside" />
<item text="@.inside" />
</buttonset>
</vbox>
</hbox>
</vbox>

View File

@ -80,19 +80,23 @@ public:
m_panel.color()->setColor(m_filter.color());
m_panel.bgColor()->setColor(m_filter.bgColor());
m_panel.outside()->setSelected(m_filter.place() == OutlineFilter::Place::Outside);
m_panel.inside()->setSelected(m_filter.place() == OutlineFilter::Place::Inside);
m_panel.place()->setSelectedItem((int)m_filter.place());
updateButtonsFromMatrix();
m_panel.color()->Change.connect(&OutlineWindow::onColorChange, this);
m_panel.bgColor()->Change.connect(&OutlineWindow::onBgColorChange, this);
m_panel.outside()->Click.connect([this](ui::Event&){ onPlaceChange(OutlineFilter::Place::Outside); });
m_panel.inside()->Click.connect([this](ui::Event&){ onPlaceChange(OutlineFilter::Place::Inside); });
m_panel.outlineType()->ItemChange.connect([this](ButtonSet::Item*){ onMatrixTypeChange(); });
m_panel.outlineType()->ItemChange.connect(
[this](ButtonSet::Item*){
onMatrixTypeChange();
});
m_panel.outlineMatrix()->ItemChange.connect(
[this](ButtonSet::Item* item){
onMatrixPixelChange(m_panel.outlineMatrix()->getItemIndex(item));
});
m_panel.place()->ItemChange.connect(
[this](ButtonSet::Item*){
onPlaceChange((OutlineFilter::Place)m_panel.place()->selectedItem());
});
}
private: