some small place fixes

This commit is contained in:
Jinhao
2015-09-23 23:59:31 +08:00
parent 8d4ffa068d
commit b6dd03e2d5
2 changed files with 26 additions and 18 deletions

View File

@@ -1737,6 +1737,9 @@ namespace nana
decltype(dockable_field->dockarea) del(ptr);
});
this->set_display(false);
impl_ptr_->collocate();
API::close_window(window_handle);
}
private:

View File

@@ -301,30 +301,35 @@ namespace nana
else
r.height = 0;
if (!tabbar_ && panels_.size() > 0)
if (!tabbar_)
{
tabbar_.reset(new tabbar_lite(*this));
tabbar_->events().selected.clear();
tabbar_->events().selected([this]
if (panels_.size() > 0)
{
auto handle = tabbar_->attach(tabbar_->selected());
if (handle)
caption_.caption(API::window_caption(handle));
else
caption_.caption(::nana::string());
});
tabbar_.reset(new tabbar_lite(*this));
tabbar_->move({ 0, r.bottom() - 20, r.width, 20 });
r.height -= 20;
tabbar_->events().selected.clear();
tabbar_->events().selected([this]
{
auto handle = tabbar_->attach(tabbar_->selected());
if (handle)
caption_.caption(API::window_caption(handle));
else
caption_.caption(::nana::string());
});
std::size_t pos = 0;
for (auto & pn : panels_)
{
tabbar_->push_back(::nana::charset(pn.widget_ptr->caption()));
tabbar_->attach(pos++, *pn.widget_ptr);
tabbar_->move({ 0, r.bottom() - 20, r.width, 20 });
r.height -= 20;
std::size_t pos = 0;
for (auto & pn : panels_)
{
tabbar_->push_back(::nana::charset(pn.widget_ptr->caption()));
tabbar_->attach(pos++, *pn.widget_ptr);
}
}
}
else
r.height -= 20;
auto wdg = fn(*this);