Fixed some syntax errors and clang compiling warnings
GCC/VS2013/Clang is tested
This commit is contained in:
parent
1f559964f9
commit
0a5c85d21b
@ -44,7 +44,6 @@ namespace drawerbase
|
||||
private:
|
||||
static const int interval = 4;
|
||||
widget* widget_;
|
||||
unsigned state_;
|
||||
std::unique_ptr<implement> imptr_;
|
||||
implement * impl_;
|
||||
};
|
||||
|
@ -58,7 +58,7 @@ namespace nana
|
||||
bool _m_get_trace(point, int & res);
|
||||
void _m_perf_transform(transform_action tfid, graph_reference, graph_reference dirtybuf, graph_reference newbuf, const nana::point& refpos);
|
||||
private:
|
||||
void refresh(graph_reference);
|
||||
void refresh(graph_reference) override;
|
||||
void attached(widget_reference, graph_reference) override;
|
||||
void mouse_move(graph_reference, const arg_mouse&) override;
|
||||
void mouse_leave(graph_reference, const arg_mouse&) override;
|
||||
|
@ -44,7 +44,6 @@ namespace nana
|
||||
widget * widget_;
|
||||
nana::paint::graphics* graph_;
|
||||
unsigned draw_width_;
|
||||
bool has_value_;
|
||||
bool unknown_;
|
||||
unsigned max_;
|
||||
unsigned value_;
|
||||
|
@ -180,7 +180,7 @@ namespace nana
|
||||
return false;
|
||||
}
|
||||
private:
|
||||
void attached(widget_reference widget, graph_reference graph)
|
||||
void attached(widget_reference widget, graph_reference graph) override
|
||||
{
|
||||
graph_ = &graph;
|
||||
widget_ = static_cast< ::nana::scroll<Vertical>*>(&widget);
|
||||
@ -190,12 +190,12 @@ namespace nana
|
||||
timer_.elapse(std::bind(&trigger::_m_tick, this));
|
||||
}
|
||||
|
||||
void detached()
|
||||
void detached() override
|
||||
{
|
||||
graph_ = nullptr;
|
||||
}
|
||||
|
||||
void refresh(graph_reference graph)
|
||||
void refresh(graph_reference graph) override
|
||||
{
|
||||
drawer_.draw(graph, metrics_.what);
|
||||
}
|
||||
@ -213,7 +213,7 @@ namespace nana
|
||||
API::lazy_refresh();
|
||||
}
|
||||
|
||||
void mouse_move(graph_reference graph, const ::nana::arg_mouse& arg)
|
||||
void mouse_move(graph_reference graph, const ::nana::arg_mouse& arg) override
|
||||
{
|
||||
bool redraw = false;
|
||||
if(metrics_.pressed && (metrics_.what == buttons::scroll))
|
||||
@ -240,7 +240,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
void mouse_down(graph_reference graph, const arg_mouse& arg)
|
||||
void mouse_down(graph_reference graph, const arg_mouse& arg) override
|
||||
{
|
||||
if(arg.left_button)
|
||||
{
|
||||
@ -275,7 +275,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
void mouse_up(graph_reference graph, const arg_mouse& arg)
|
||||
void mouse_up(graph_reference graph, const arg_mouse& arg) override
|
||||
{
|
||||
timer_.stop();
|
||||
|
||||
@ -287,7 +287,7 @@ namespace nana
|
||||
API::lazy_refresh();
|
||||
}
|
||||
|
||||
void mouse_leave(graph_reference graph, const arg_mouse&)
|
||||
void mouse_leave(graph_reference graph, const arg_mouse&) override
|
||||
{
|
||||
if(metrics_.pressed) return;
|
||||
|
||||
@ -296,7 +296,7 @@ namespace nana
|
||||
API::lazy_refresh();
|
||||
}
|
||||
|
||||
void mouse_wheel(graph_reference graph, const arg_wheel& arg)
|
||||
void mouse_wheel(graph_reference graph, const arg_wheel& arg) override
|
||||
{
|
||||
if(make_step(arg.upwards == false, 3))
|
||||
{
|
||||
|
@ -45,9 +45,7 @@ namespace nana{ namespace widgets{ namespace skeletons
|
||||
tokenizer(const nana::string& s, bool format_enabled)
|
||||
: iptr_(s.data()),
|
||||
endptr_(s.data() + s.size()),
|
||||
format_enabled_(format_enabled),
|
||||
format_state_(false),
|
||||
revert_token_(token::eof)
|
||||
format_enabled_(format_enabled)
|
||||
{
|
||||
}
|
||||
|
||||
@ -414,17 +412,14 @@ namespace nana{ namespace widgets{ namespace skeletons
|
||||
}
|
||||
}
|
||||
private:
|
||||
const nana::char_t * iptr_;
|
||||
const nana::char_t * endptr_;
|
||||
const ::nana::char_t * iptr_;
|
||||
const ::nana::char_t * endptr_;
|
||||
const bool format_enabled_;
|
||||
bool format_state_;
|
||||
bool format_state_{false};
|
||||
|
||||
nana::string idstr_;
|
||||
::nana::string idstr_;
|
||||
std::pair<nana::string, nana::string> binary_;
|
||||
|
||||
std::size_t whspace_size_;
|
||||
|
||||
token revert_token_;
|
||||
token revert_token_{token::eof};
|
||||
};
|
||||
|
||||
//The fblock states a format, and a format from which it is inherted
|
||||
@ -528,7 +523,7 @@ namespace nana{ namespace widgets{ namespace skeletons
|
||||
{
|
||||
public:
|
||||
data_image(const nana::string& imgpath, const nana::size & sz, std::size_t limited)
|
||||
: image_(imgpath), limited_(limited)
|
||||
: image_(imgpath)//, limited_(limited)
|
||||
{
|
||||
size_ = image_.size();
|
||||
|
||||
@ -597,7 +592,6 @@ namespace nana{ namespace widgets{ namespace skeletons
|
||||
nana::string str_;
|
||||
nana::paint::image image_;
|
||||
nana::size size_;
|
||||
std::size_t limited_;
|
||||
};
|
||||
|
||||
class dstream
|
||||
@ -928,7 +922,6 @@ namespace nana{ namespace widgets{ namespace skeletons
|
||||
}
|
||||
|
||||
private:
|
||||
bool format_enabled_;
|
||||
std::vector<fblock*> fblocks_;
|
||||
std::list<std::deque<value> > lines_;
|
||||
|
||||
|
@ -200,7 +200,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
general_events& _m_get_general_events() const
|
||||
general_events& _m_get_general_events() const override
|
||||
{
|
||||
return *events_;
|
||||
}
|
||||
@ -275,7 +275,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
general_events& _m_get_general_events() const
|
||||
general_events& _m_get_general_events() const override
|
||||
{
|
||||
return *events_;
|
||||
}
|
||||
@ -404,7 +404,7 @@ namespace nana
|
||||
API::dev::attach_drawer(*this, trigger_);
|
||||
}
|
||||
|
||||
general_events& _m_get_general_events() const
|
||||
general_events& _m_get_general_events() const override
|
||||
{
|
||||
return *events_;
|
||||
}
|
||||
@ -487,7 +487,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
general_events& _m_get_general_events() const
|
||||
general_events& _m_get_general_events() const override
|
||||
{
|
||||
return *events_;
|
||||
}
|
||||
|
@ -127,7 +127,7 @@ namespace nana
|
||||
class arg_eval;
|
||||
|
||||
template<typename Return>
|
||||
class arg_function
|
||||
class arg_function: public eval_arg
|
||||
{
|
||||
public:
|
||||
arg_function(std::function<Return()> fn)
|
||||
|
@ -49,13 +49,13 @@ namespace nana
|
||||
|
||||
void trigger::week_name(unsigned index, const nana::string& str)
|
||||
{
|
||||
if(0 <= index && index < 7)
|
||||
if(index < 7)
|
||||
this->weekstr_[index] = str;
|
||||
}
|
||||
|
||||
void trigger::month_name(unsigned index, const nana::string& str)
|
||||
{
|
||||
if(0 <= index && index < 12)
|
||||
if(index < 12)
|
||||
this->monthstr_[index] = str;
|
||||
}
|
||||
|
||||
|
@ -3023,7 +3023,7 @@ namespace nana
|
||||
|
||||
item_proxy & item_proxy::bgcolor(nana::color_t col)
|
||||
{
|
||||
cat_->items.at(pos_.item).flags.selected;
|
||||
cat_->items.at(pos_.item).bgcolor = col;
|
||||
ess_->update();
|
||||
return *this;
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ namespace nana
|
||||
{
|
||||
//class trigger
|
||||
trigger::trigger()
|
||||
: graph_(nullptr), draw_width_(static_cast<unsigned>(-1)), has_value_(true),
|
||||
: graph_(nullptr), draw_width_(static_cast<unsigned>(-1)),
|
||||
unknown_(false), max_(100), value_(0)
|
||||
{}
|
||||
|
||||
|
@ -664,7 +664,7 @@ namespace nana{ namespace widgets
|
||||
pre_calc_line(i, pixels);
|
||||
}
|
||||
|
||||
std::size_t take_lines() const
|
||||
std::size_t take_lines() const override
|
||||
{
|
||||
std::size_t lines = 0;
|
||||
for (auto & mtr : linemtr_)
|
||||
@ -673,7 +673,7 @@ namespace nana{ namespace widgets
|
||||
return lines;
|
||||
}
|
||||
|
||||
std::size_t take_lines(std::size_t pos) const
|
||||
std::size_t take_lines(std::size_t pos) const override
|
||||
{
|
||||
return (pos < linemtr_.size() ? linemtr_[pos].take_lines : 0);
|
||||
}
|
||||
|
@ -25,53 +25,138 @@ namespace nana
|
||||
{
|
||||
typedef trigger::node_type node_type;
|
||||
|
||||
bool no_sensitive_compare(const nana::string& text, const nana::char_t *pattern, std::size_t len)
|
||||
bool no_sensitive_compare(const nana::string& text, const nana::char_t *pattern, std::size_t len)
|
||||
{
|
||||
if(len <= text.length())
|
||||
{
|
||||
if(len <= text.length())
|
||||
const nana::char_t * s = text.c_str();
|
||||
for(std::size_t i = 0; i < len; ++i)
|
||||
{
|
||||
const nana::char_t * s = text.c_str();
|
||||
for(std::size_t i = 0; i < len; ++i)
|
||||
if('a' <= s[i] && s[i] <= 'z')
|
||||
{
|
||||
if('a' <= s[i] && s[i] <= 'z')
|
||||
{
|
||||
if(pattern[i] != s[i] - ('a' - 'A'))
|
||||
return false;
|
||||
}
|
||||
else
|
||||
if(pattern[i] != s[i]) return false;
|
||||
if(pattern[i] != s[i] - ('a' - 'A'))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
else
|
||||
if(pattern[i] != s[i]) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
const node_type* find_track_child_node(const node_type* node, const node_type * end, const nana::char_t* pattern, std::size_t len, bool &finish)
|
||||
{
|
||||
if(node->value.second.expanded)
|
||||
{
|
||||
node = node->child;
|
||||
while(node)
|
||||
{
|
||||
if(no_sensitive_compare(node->value.second.text, pattern, len)) return node;
|
||||
|
||||
if(node == end) break;
|
||||
|
||||
if(node->value.second.expanded)
|
||||
{
|
||||
auto t = find_track_child_node(node, end, pattern, len, finish);
|
||||
if(t || finish)
|
||||
return t;
|
||||
}
|
||||
node = node->next;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
const node_type* find_track_child_node(const node_type* node, const node_type * end, const nana::char_t* pattern, std::size_t len, bool &finish)
|
||||
finish = (node && (node == end));
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
class tlwnd_drawer
|
||||
: public drawer_trigger, public compset_interface
|
||||
{
|
||||
public:
|
||||
typedef drawer_trigger::graph_reference graph_reference;
|
||||
|
||||
void assign(const item_attribute_t & item_attr, const pat::cloneable<renderer_interface>* renderer, const pat::cloneable<compset_placer_interface> * compset_placer)
|
||||
{
|
||||
if(node->value.second.expanded)
|
||||
if(renderer && compset_placer)
|
||||
{
|
||||
node = node->child;
|
||||
renderer_ = *renderer;
|
||||
placer_ = *compset_placer;
|
||||
|
||||
while(node)
|
||||
{
|
||||
if(no_sensitive_compare(node->value.second.text, pattern, len)) return node;
|
||||
item_attr_ = item_attr;
|
||||
|
||||
if(node == end) break;
|
||||
|
||||
if(node->value.second.expanded)
|
||||
{
|
||||
auto t = find_track_child_node(node, end, pattern, len, finish);
|
||||
if(t || finish)
|
||||
return t;
|
||||
}
|
||||
node = node->next;
|
||||
}
|
||||
_m_draw();
|
||||
}
|
||||
}
|
||||
private:
|
||||
void _m_draw()
|
||||
{
|
||||
item_r_.x = item_r_.y = 0;
|
||||
item_r_.width = placer_->item_width(*this->graph_, item_attr_);
|
||||
item_r_.height = placer_->item_height(*this->graph_);
|
||||
|
||||
finish = (node && (node == end));
|
||||
return nullptr;
|
||||
comp_attribute_t attr;
|
||||
if(comp_attribute(component::text, attr))
|
||||
{
|
||||
nana::paint::graphics item_graph(item_r_.width, item_r_.height);
|
||||
item_graph.typeface(graph_->typeface());
|
||||
|
||||
auto bgcolor = widget_->background();
|
||||
auto fgcolor = widget_->foreground();
|
||||
renderer_->bground(item_graph, bgcolor, fgcolor, this);
|
||||
renderer_->expander(item_graph, bgcolor, fgcolor, this);
|
||||
renderer_->crook(item_graph, bgcolor, fgcolor, this);
|
||||
renderer_->icon(item_graph, bgcolor, fgcolor, this);
|
||||
renderer_->text(item_graph, bgcolor, fgcolor, this);
|
||||
|
||||
item_graph.paste(attr.area, *graph_, 1, 1);
|
||||
graph_->rectangle(0x0, false);
|
||||
}
|
||||
}
|
||||
private:
|
||||
// Implementation of drawer_trigger
|
||||
void attached(widget_reference wd, graph_reference graph) override
|
||||
{
|
||||
widget_ = &wd;
|
||||
graph_ = &graph;
|
||||
graph.typeface(widget_->typeface());
|
||||
}
|
||||
private:
|
||||
// Implementation of compset_interface
|
||||
virtual const item_attribute_t& item_attribute() const override
|
||||
{
|
||||
return item_attr_;
|
||||
}
|
||||
|
||||
class tooltip_window;
|
||||
virtual bool comp_attribute(component_t comp, comp_attribute_t& comp_attr) const override
|
||||
{
|
||||
comp_attr.area = item_r_;
|
||||
return placer_->locate(comp, item_attr_, &comp_attr.area);
|
||||
}
|
||||
private:
|
||||
::nana::paint::graphics * graph_;
|
||||
::nana::pat::cloneable<renderer_interface> renderer_;
|
||||
::nana::pat::cloneable<compset_placer_interface> placer_;
|
||||
widget *widget_;
|
||||
item_attribute_t item_attr_;
|
||||
nana::rectangle item_r_;
|
||||
};//end class tlwnd_drawer
|
||||
|
||||
class tooltip_window
|
||||
: public widget_object<category::root_tag, tlwnd_drawer>
|
||||
{
|
||||
public:
|
||||
tooltip_window(window wd, const rectangle& r)
|
||||
: widget_object<category::root_tag, tlwnd_drawer>(wd, false, rectangle(r).pare_off(-1), appear::bald<appear::floating>())
|
||||
{
|
||||
API::take_active(handle(), false, nullptr);
|
||||
}
|
||||
|
||||
drawer_trigger_t & impl()
|
||||
{
|
||||
return get_drawer_trigger();
|
||||
}
|
||||
};//end class tooltip_window
|
||||
|
||||
//item_locator should be defined before the definition of basic_implement
|
||||
class trigger::item_locator
|
||||
@ -1355,95 +1440,6 @@ namespace nana
|
||||
//Treebox Implementation
|
||||
namespace treebox
|
||||
{
|
||||
class tlwnd_drawer
|
||||
: public drawer_trigger, public compset_interface
|
||||
{
|
||||
public:
|
||||
typedef drawer_trigger::graph_reference graph_reference;
|
||||
|
||||
void assign(const item_attribute_t & item_attr, const pat::cloneable<renderer_interface>* renderer, const pat::cloneable<compset_placer_interface> * compset_placer)
|
||||
{
|
||||
if(renderer && compset_placer)
|
||||
{
|
||||
renderer_ = *renderer;
|
||||
placer_ = *compset_placer;
|
||||
|
||||
item_attr_ = item_attr;
|
||||
|
||||
_m_draw();
|
||||
}
|
||||
}
|
||||
private:
|
||||
void _m_draw()
|
||||
{
|
||||
item_r_.x = item_r_.y = 0;
|
||||
item_r_.width = placer_->item_width(*this->graph_, item_attr_);
|
||||
item_r_.height = placer_->item_height(*this->graph_);
|
||||
|
||||
comp_attribute_t attr;
|
||||
if(comp_attribute(component::text, attr))
|
||||
{
|
||||
nana::paint::graphics item_graph(item_r_.width, item_r_.height);
|
||||
item_graph.typeface(graph_->typeface());
|
||||
|
||||
auto bgcolor = widget_->background();
|
||||
auto fgcolor = widget_->foreground();
|
||||
renderer_->bground(item_graph, bgcolor, fgcolor, this);
|
||||
renderer_->expander(item_graph, bgcolor, fgcolor, this);
|
||||
renderer_->crook(item_graph, bgcolor, fgcolor, this);
|
||||
renderer_->icon(item_graph, bgcolor, fgcolor, this);
|
||||
renderer_->text(item_graph, bgcolor, fgcolor, this);
|
||||
|
||||
item_graph.paste(attr.area, *graph_, 1, 1);
|
||||
graph_->rectangle(0x0, false);
|
||||
}
|
||||
}
|
||||
private:
|
||||
// Implementation of drawer_trigger
|
||||
void attached(widget_reference wd, graph_reference graph) override
|
||||
{
|
||||
widget_ = &wd;
|
||||
graph_ = &graph;
|
||||
graph.typeface(widget_->typeface());
|
||||
}
|
||||
private:
|
||||
// Implementation of compset_interface
|
||||
virtual const item_attribute_t& item_attribute() const override
|
||||
{
|
||||
return item_attr_;
|
||||
}
|
||||
|
||||
virtual bool comp_attribute(component_t comp, comp_attribute_t& comp_attr) const override
|
||||
{
|
||||
comp_attr.area = item_r_;
|
||||
return placer_->locate(comp, item_attr_, &comp_attr.area);
|
||||
}
|
||||
private:
|
||||
::nana::paint::graphics * graph_;
|
||||
::nana::pat::cloneable<renderer_interface> renderer_;
|
||||
::nana::pat::cloneable<compset_placer_interface> placer_;
|
||||
widget *widget_;
|
||||
item_attribute_t item_attr_;
|
||||
nana::rectangle item_r_;
|
||||
};//end class tlwnd_drawer
|
||||
|
||||
class tooltip_window
|
||||
: public widget_object<category::root_tag, tlwnd_drawer>
|
||||
{
|
||||
public:
|
||||
tooltip_window(window wd, const rectangle& r)
|
||||
: widget_object<category::root_tag, tlwnd_drawer>(wd, false, rectangle(r).pare_off(-1), appear::bald<appear::floating>())
|
||||
{
|
||||
API::take_active(handle(), false, nullptr);
|
||||
}
|
||||
|
||||
drawer_trigger_t & impl()
|
||||
{
|
||||
return get_drawer_trigger();
|
||||
}
|
||||
};//end class tooltip_window
|
||||
|
||||
|
||||
//class trigger
|
||||
//struct treebox_node_type
|
||||
trigger::treebox_node_type::treebox_node_type()
|
||||
|
@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Paint Image Implementation
|
||||
* Copyright(C) 2003-2013 Jinhao(cnjinhao@hotmail.com)
|
||||
* Nana C++ Library(http://www.nanapro.org)
|
||||
* Copyright(C) 2003-2015 Jinhao(cnjinhao@hotmail.com)
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* (See accompanying file LICENSE_1_0.txt or copy at
|
||||
@ -62,6 +63,8 @@ namespace paint
|
||||
::DeleteObject(info.hbmMask);
|
||||
return true;
|
||||
}
|
||||
#else
|
||||
if(is_ico_){} //kill the unused compiler warning in Linux.
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
@ -958,8 +958,7 @@ namespace nana
|
||||
|
||||
unsigned level_of_run = begin_character->level;
|
||||
bool head_of_run = true;
|
||||
std::vector<entity>::iterator last = end - 1;
|
||||
std::vector<entity>::iterator begin_neutral = end;
|
||||
auto begin_neutral = end;
|
||||
|
||||
//N1. A sequence of neutrals takes the direction of the surrounding strong text if the text on both sides has the same direction.
|
||||
//European and Arabic numbers act as if they were R in terms of their influence on neutrals.
|
||||
|
Loading…
x
Reference in New Issue
Block a user