refacter tooltip
remove compiler warnings remove deprecated code
This commit is contained in:
parent
9b90f3d3fd
commit
3657be8f7d
@ -62,7 +62,7 @@ namespace nana
|
|||||||
_m_hold_factory(new factory<TooltipWindow>);
|
_m_hold_factory(new factory<TooltipWindow>);
|
||||||
}
|
}
|
||||||
|
|
||||||
tooltip(){}
|
tooltip() = default;
|
||||||
tooltip(window w, const ::std::string &tip){set(w,tip);}
|
tooltip(window w, const ::std::string &tip){set(w,tip);}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -43,19 +43,10 @@ namespace nana
|
|||||||
~font();
|
~font();
|
||||||
bool empty() const;
|
bool empty() const;
|
||||||
|
|
||||||
/* //deprecated
|
|
||||||
void make(const ::std::string& name, unsigned size, bool bold = false, bool italic = false, bool underline = false, bool strike_out = false);
|
|
||||||
void make_raw(const ::std::string& name, unsigned height, unsigned weight, bool italic, bool underline, bool strike_out);
|
|
||||||
|
|
||||||
void make(const ::std::string& font_family, unsigned size, const font_style& fs = {});
|
|
||||||
void make_from_ttf(const path_type& truetype, unsigned size, const font_style& fs = {});
|
|
||||||
*/
|
|
||||||
|
|
||||||
void set_default() const;
|
void set_default() const;
|
||||||
::std::string name() const;
|
::std::string name() const;
|
||||||
double size() const;
|
double size() const;
|
||||||
bool bold() const;
|
bool bold() const;
|
||||||
//unsigned height() const; //deprecated
|
|
||||||
unsigned weight() const;
|
unsigned weight() const;
|
||||||
bool italic() const;
|
bool italic() const;
|
||||||
native_font_type handle() const;
|
native_font_type handle() const;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* A Tooltip Implementation
|
* A Tooltip Implementation
|
||||||
* Nana C++ Library(http://www.nanapro.org)
|
* Nana C++ Library(http://www.nanapro.org)
|
||||||
* Copyright(C) 2003-2015 Jinhao(cnjinhao@hotmail.com)
|
* Copyright(C) 2003-2017 Jinhao(cnjinhao@hotmail.com)
|
||||||
*
|
*
|
||||||
* Distributed under the Boost Software License, Version 1.0.
|
* Distributed under the Boost Software License, Version 1.0.
|
||||||
* (See accompanying file LICENSE_1_0.txt or copy at
|
* (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
@ -210,24 +210,7 @@ namespace nana
|
|||||||
_m_get(wd).second = str;
|
_m_get(wd).second = str;
|
||||||
}
|
}
|
||||||
|
|
||||||
void show(const std::string& text)
|
void show(const std::string& text, const point* pos, std::size_t duration)
|
||||||
{
|
|
||||||
if (nullptr == window_ || window_->tooltip_empty())
|
|
||||||
{
|
|
||||||
auto fp = factory();
|
|
||||||
|
|
||||||
window_ = std::unique_ptr<tooltip_interface, deleter_type>(fp->create(), [fp](tooltip_interface* ti)
|
|
||||||
{
|
|
||||||
fp->destroy(ti);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
window_->duration(0);
|
|
||||||
window_->tooltip_text(text);
|
|
||||||
window_->tooltip_move(API::cursor_position(), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
void show_duration(window /*wd*/, point pos, const std::string& text, std::size_t duration)
|
|
||||||
{
|
{
|
||||||
if (nullptr == window_ || window_->tooltip_empty())
|
if (nullptr == window_ || window_->tooltip_empty())
|
||||||
{
|
{
|
||||||
@ -242,8 +225,10 @@ namespace nana
|
|||||||
window_->duration(duration);
|
window_->duration(duration);
|
||||||
window_->tooltip_text(text);
|
window_->tooltip_text(text);
|
||||||
|
|
||||||
pos = pos_by_screen(pos, window_->tooltip_size(), true);
|
if (pos)
|
||||||
window_->tooltip_move(pos, false);
|
window_->tooltip_move(pos_by_screen(*pos, window_->tooltip_size(), true), false);
|
||||||
|
else
|
||||||
|
window_->tooltip_move(API::cursor_position(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void close()
|
void close()
|
||||||
@ -289,7 +274,7 @@ namespace nana
|
|||||||
{
|
{
|
||||||
auto & pr = _m_get(arg.window_handle);
|
auto & pr = _m_get(arg.window_handle);
|
||||||
if (pr.second.size())
|
if (pr.second.size())
|
||||||
this->show(pr.second);
|
this->show(pr.second, nullptr, 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
this->close();
|
this->close();
|
||||||
@ -329,7 +314,7 @@ namespace nana
|
|||||||
{
|
{
|
||||||
internal_scope_guard lock;
|
internal_scope_guard lock;
|
||||||
API::calc_screen_point(wd, pos);
|
API::calc_screen_point(wd, pos);
|
||||||
ctrl::instance()->show_duration(wd, pos, text, duration);
|
ctrl::instance()->show(text, &pos, duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tooltip::close()
|
void tooltip::close()
|
||||||
|
|||||||
@ -105,11 +105,10 @@ namespace nana
|
|||||||
text.resize(string_length);
|
text.resize(string_length);
|
||||||
ifs.read(&text.front(), string_length);
|
ifs.read(&text.front(), string_length);
|
||||||
|
|
||||||
for (auto i = 0; i < string_length; i += 2)
|
for (std::size_t i = 0; i < string_length; i += 2)
|
||||||
{
|
|
||||||
std::swap(text[i], text[i + 1]);
|
std::swap(text[i], text[i + 1]);
|
||||||
}
|
|
||||||
text = nana::charset(text, nana::unicode::utf16).to_bytes(nana::unicode::utf8);
|
text = ::nana::charset(text, nana::unicode::utf16).to_bytes(nana::unicode::utf8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user