Skip to content

Commit

Permalink
Merge pull request #36 from YoheiKakiuchi/pr_add_class_name
Browse files Browse the repository at this point in the history
Using 'class' key in Parts setting as a nickname
  • Loading branch information
YoheiKakiuchi authored Feb 6, 2023
2 parents d68bb23 + 1a872db commit 33e54c5
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 14 deletions.
7 changes: 6 additions & 1 deletion config/irsl/irsl_assembler_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -816,7 +816,11 @@ PartsSettings:
-
type: mesh
url: "meshes_xseries/bottom_mounter_m.stl"
scale : 1
scale : 1
mass-param:
mass: 1.0
center-of-mass: [0.0, 0.0, 0.0]
inertia-tensor: [1, 0.0, 0.0, 0.0, 1, 0.0, 0.0, 0.0, 1]
connecting-points :
-
name: connetct_point
Expand Down Expand Up @@ -870,6 +874,7 @@ PartsSettings:
rotation: [1., 0., 0., 0.0]
-
type: ax-12a
class: Dynamixel AX-12A
visual:
-
type: mesh
Expand Down
35 changes: 22 additions & 13 deletions src/AssemblerView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ class AssemblerView::Impl

void createButtons(PanelSettings &_settings);
void createButtonsOrg();
void partsButtonClicked(int index);
void createButtonClicked(const std::string &_name = std::string());
std::vector<PushButton *> partsButtons;
std::vector<std::string> comboItems;
Expand Down Expand Up @@ -206,6 +205,7 @@ void AssemblerView::Impl::initialize(bool config)
void AssemblerView::Impl::createButtons(PanelSettings &_settings)
{
if(_settings.tab_list.size() == 0 && _settings.combo_list.size() == 0) {
// No Tab
createButtonsOrg();
return;
}
Expand All @@ -226,9 +226,15 @@ void AssemblerView::Impl::createButtons(PanelSettings &_settings)
for(auto nameit = (*it).parts.begin();
nameit != (*it).parts.end(); nameit++) {
std::string name_ = (*nameit);
auto pt_ = manager->ra_settings->mapParts.find(name_);
auto pt_ = manager->ra_settings->mapParts.find(name_); // check exist parts
if(pt_ == manager->ra_settings->mapParts.end()) continue;
PushButton *bp = new PushButton(name_.c_str(), partsTab);
std::string label_;
if( pt_->second.class_name.size() > 0 ) {
label_ = pt_->second.class_name;
} else {
label_ = name_;
}
PushButton *bp = new PushButton(label_.c_str(), partsTab);
bp->sigClicked().connect( [this, name_]() {
createButtonClicked(name_); } );
qvbox->addWidget(bp);
Expand All @@ -246,6 +252,7 @@ void AssemblerView::Impl::createButtons(PanelSettings &_settings)
comboItems.push_back("dummy");
for(auto it = _settings.combo_list.begin();
it != _settings.combo_list.end(); it++) {
////
parts_combo->addItem((*it).c_str());
comboItems.push_back(*it);
}
Expand Down Expand Up @@ -283,10 +290,18 @@ void AssemblerView::Impl::createButtonsOrg()
//
for(int j = 0; j < 10; j++) {
if (parts != pt_lst.end()) {
std::string name = (*parts);
PushButton *bp = new PushButton(name.c_str(), partsTab);
bp->sigClicked().connect( [this, parts_index]() {
partsButtonClicked(parts_index); } );
std::string name_ = (*parts);
auto pt_ = manager->ra_settings->mapParts.find(name_); // check exist parts
if(pt_ == manager->ra_settings->mapParts.end()) continue;
std::string label_;
if( pt_->second.class_name.size() > 0 ) {
label_ = pt_->second.class_name;
} else {
label_ = name_;
}
PushButton *bp = new PushButton(label_.c_str(), partsTab);
bp->sigClicked().connect( [this, name_]() {
createButtonClicked(name_); } );
qvbox->addWidget(bp);
partsButtons.push_back(bp);
parts_index++;
Expand All @@ -303,12 +318,6 @@ void AssemblerView::Impl::createButtonsOrg()
//
topLayout->addWidget(partsTab);
}
void AssemblerView::Impl::partsButtonClicked(int index)
{
PushButton *bp = partsButtons[index];
//int color_id = color_combo->currentIndex();
manager->partsButtonClicked(bp->text().toStdString());
}
void AssemblerView::Impl::createButtonClicked(const std::string &_name)
{
int color_id = color_combo->currentIndex();
Expand Down

0 comments on commit 33e54c5

Please sign in to comment.