eliminate -Wextra and -pedantic warnings
This commit is contained in:
parent
8f995ee2cf
commit
6b6b527007
@ -337,9 +337,9 @@ namespace nana
|
||||
bool operator==(const color& other) const;
|
||||
bool operator!=(const color& other) const;
|
||||
private:
|
||||
double r_;
|
||||
double g_;
|
||||
double b_;
|
||||
double r_{ 0.0 };
|
||||
double g_{ 0.0 };
|
||||
double b_{ 0.0 };
|
||||
double a_{ 0.0 }; //invisible
|
||||
};
|
||||
|
||||
|
@ -60,6 +60,8 @@ namespace detail
|
||||
|
||||
class charset_conv
|
||||
{
|
||||
charset_conv(const charset_conv&) = delete;
|
||||
charset_conv& operator=(const charset_conv*) = delete;
|
||||
public:
|
||||
charset_conv(const char* tocode, const char* fromcode);
|
||||
~charset_conv();
|
||||
@ -118,6 +120,9 @@ namespace detail
|
||||
void update_color();
|
||||
void update_text_color();
|
||||
private:
|
||||
drawable_impl_type(const drawable_impl_type&) = delete;
|
||||
drawable_impl_type& operator=(const drawable_impl_type&) = delete;
|
||||
|
||||
unsigned current_color_{ 0xFFFFFF };
|
||||
unsigned color_{ 0xFFFFFFFF };
|
||||
unsigned text_color_{ 0xFFFFFFFF };
|
||||
|
@ -429,7 +429,7 @@ namespace nana
|
||||
private:
|
||||
unsigned emitting_count_{ 0 };
|
||||
bool deleted_flags_{ false };
|
||||
std::unique_ptr<std::vector<std::unique_ptr<detail::docker_interface>>> dockers_;
|
||||
std::unique_ptr<std::vector<std::unique_ptr<detail::docker_interface>>> dockers_{ nullptr };
|
||||
};
|
||||
|
||||
struct arg_mouse
|
||||
|
@ -68,7 +68,7 @@ namespace nana
|
||||
private:
|
||||
implementation * const impl_;
|
||||
};
|
||||
};
|
||||
}
|
||||
}//end namespace drawerbase
|
||||
|
||||
/// Spinbox Widget
|
||||
|
@ -307,14 +307,14 @@ namespace nana
|
||||
{
|
||||
_m_value() = t;
|
||||
return *this;
|
||||
};
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
item_proxy & value(T&& t)
|
||||
{
|
||||
_m_value() = std::move(t);
|
||||
return *this;
|
||||
};
|
||||
}
|
||||
|
||||
// Undocumentated methods for internal use
|
||||
trigger::node_type * _m_node() const;
|
||||
|
@ -30,7 +30,7 @@ namespace system
|
||||
typedef void* module_t;
|
||||
void* symbols(module_t handle, const char* symbol);
|
||||
|
||||
}; //end struct shared_helper
|
||||
} //end namespace shared_helper
|
||||
}//end namespace detail
|
||||
|
||||
class shared_wrapper
|
||||
|
@ -60,7 +60,7 @@ namespace nana
|
||||
void _m_resolve_weak_types();
|
||||
void _m_resolve_neutral_types();
|
||||
void _m_resolve_implicit_levels();
|
||||
void _m_reordering_resolved_levels(const char_type*, std::vector<entity> & reordered);
|
||||
void _m_reordering_resolved_levels(std::vector<entity> & reordered);
|
||||
static bidi_category _m_bidi_category(bidi_char);
|
||||
static bidi_char _m_char_dir(char_type);
|
||||
private:
|
||||
|
@ -264,6 +264,7 @@ namespace nana
|
||||
}
|
||||
|
||||
time::time()
|
||||
: value_{}
|
||||
{
|
||||
struct tm t;
|
||||
localtime(t);
|
||||
|
@ -432,13 +432,13 @@ namespace detail
|
||||
platform_spec::instance().unlock_xlib();
|
||||
}
|
||||
|
||||
int X11_error_handler(Display* disp, XErrorEvent* err)
|
||||
int X11_error_handler(Display*, XErrorEvent* err)
|
||||
{
|
||||
platform_spec::instance().error_code = err->error_code;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int X11_fatal_handler(Display* disp)
|
||||
int X11_fatal_handler(Display*)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
@ -813,6 +813,7 @@ namespace nana { namespace experimental { namespace filesystem
|
||||
|
||||
bool remove(const path& p, std::error_code & ec)
|
||||
{
|
||||
ec.clear();
|
||||
auto stat = status(p);
|
||||
if (stat.type() == file_type::directory)
|
||||
return detail::rm_dir(p);
|
||||
|
@ -153,7 +153,7 @@ namespace detail
|
||||
delete impl_;
|
||||
}
|
||||
|
||||
void bedrock::map_thread_root_buffer(core_window_t*, bool forced, const rectangle*)
|
||||
void bedrock::map_thread_root_buffer(core_window_t*, bool /*forced*/, const rectangle*)
|
||||
{
|
||||
//GUI in X11 is thread-independent, so no implementation.
|
||||
}
|
||||
@ -366,7 +366,7 @@ namespace detail
|
||||
return impl_->estore;
|
||||
}
|
||||
|
||||
void bedrock::map_through_widgets(core_window_t* wd, native_drawable_type drawable)
|
||||
void bedrock::map_through_widgets(core_window_t*, native_drawable_type)
|
||||
{
|
||||
//No implementation for Linux
|
||||
}
|
||||
@ -523,7 +523,7 @@ namespace detail
|
||||
}
|
||||
}
|
||||
|
||||
void window_proc_for_packet(Display * display, nana::detail::msg_packet_tag& msg)
|
||||
void window_proc_for_packet(Display * /*display*/, nana::detail::msg_packet_tag& msg)
|
||||
{
|
||||
static auto& brock = detail::bedrock::instance();
|
||||
|
||||
@ -642,7 +642,7 @@ namespace detail
|
||||
return wchar_t(keysym);
|
||||
}
|
||||
|
||||
void window_proc_for_xevent(Display* display, XEvent& xevent)
|
||||
void window_proc_for_xevent(Display* /*display*/, XEvent& xevent)
|
||||
{
|
||||
typedef detail::bedrock::core_window_t core_window_t;
|
||||
|
||||
@ -1308,7 +1308,7 @@ namespace detail
|
||||
}
|
||||
}
|
||||
|
||||
void bedrock::pump_event(window modal_window, bool is_modal)
|
||||
void bedrock::pump_event(window modal_window, bool /*is_modal*/)
|
||||
{
|
||||
thread_context * context = open_thread_context();
|
||||
if(0 == context->window_count)
|
||||
|
@ -173,6 +173,8 @@ namespace nana{
|
||||
mi.rcWork.right - mi.rcWork.left, mi.rcWork.bottom - mi.rcWork.top);
|
||||
}
|
||||
}
|
||||
#else
|
||||
static_cast<void>(pos); //eliminate unused parameter compiler warning.
|
||||
#endif
|
||||
return rectangle{ primary_monitor_size() };
|
||||
}
|
||||
@ -547,6 +549,8 @@ namespace nana{
|
||||
activate_window(reinterpret_cast<native_window_type>(
|
||||
::GetWindow(reinterpret_cast<HWND>(wd), GW_OWNER)
|
||||
));
|
||||
#else
|
||||
static_cast<void>(wd); //eliminate unused parameter compiler warning.
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -565,6 +569,8 @@ namespace nana{
|
||||
else
|
||||
::PostMessage(native_wd, nana::detail::messages::async_activate, 0, 0);
|
||||
}
|
||||
#else
|
||||
static_cast<void>(wd); //eliminate unused parameter compiler warning.
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -640,6 +646,7 @@ namespace nana{
|
||||
|
||||
::XFlush(disp);
|
||||
}
|
||||
static_cast<void>(active); //eliminate unused parameter compiler warning.
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -715,6 +722,7 @@ namespace nana{
|
||||
#if defined(NANA_WINDOWS)
|
||||
::InvalidateRect(reinterpret_cast<HWND>(wd), nullptr, true);
|
||||
#elif defined(NANA_X11)
|
||||
static_cast<void>(wd); //eliminate unused parameter compiler warning.
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -963,6 +971,7 @@ namespace nana{
|
||||
::SetWindowPos(native_wd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
|
||||
::AttachThreadInput(::GetCurrentThreadId(), fg_tid, FALSE);
|
||||
#else
|
||||
static_cast<void>(activated); //eliminate unused parameter compiler warning.
|
||||
set_window_z_order(wd, nullptr, z_order_action::top);
|
||||
#endif
|
||||
}
|
||||
@ -1414,6 +1423,11 @@ namespace nana{
|
||||
if(static_cast<unsigned>(y) > sz.height + ext_height)
|
||||
sz.height = static_cast<unsigned>(y);
|
||||
}
|
||||
#else
|
||||
//eliminate unused parameter compiler warning.
|
||||
static_cast<void>(ext_width);
|
||||
static_cast<void>(ext_height);
|
||||
static_cast<void>(true_for_max);
|
||||
#endif
|
||||
return sz;
|
||||
}
|
||||
|
@ -357,7 +357,7 @@ namespace nana
|
||||
|
||||
//_m_notify_glasses
|
||||
//@brief: Notify the glass windows that are overlapped with the specified vis_rect
|
||||
void window_layout::_m_notify_glasses(core_window_t* const sigwd, const nana::rectangle& r_visual)
|
||||
void window_layout::_m_notify_glasses(core_window_t* const sigwd, const nana::rectangle& /*r_visual*/)
|
||||
{
|
||||
typedef category::flags cat_flags;
|
||||
|
||||
|
@ -212,7 +212,7 @@ namespace nana
|
||||
class menu_crook
|
||||
: public crook_interface
|
||||
{
|
||||
bool draw(graph_reference graph, const ::nana::color&, const ::nana::color& fgcolor, const nana::rectangle& r, element_state es, const data& crook_data) override
|
||||
bool draw(graph_reference graph, const ::nana::color&, const ::nana::color& fgcolor, const nana::rectangle& r, element_state, const data& crook_data) override
|
||||
{
|
||||
if(crook_data.check_state == state::unchecked)
|
||||
return true;
|
||||
@ -266,7 +266,7 @@ namespace nana
|
||||
class border_depressed
|
||||
: public border_interface
|
||||
{
|
||||
bool draw(graph_reference graph, const ::nana::color& bgcolor, const ::nana::color& fgcolor, const ::nana::rectangle& r, element_state estate, unsigned weight)
|
||||
bool draw(graph_reference graph, const ::nana::color& bgcolor, const ::nana::color&, const ::nana::rectangle& r, element_state estate, unsigned)
|
||||
{
|
||||
graph.rectangle(r, false, static_cast<color_rgb>((element_state::focus_hovered == estate || element_state::focus_normal == estate) ? 0x0595E2 : 0x999A9E));
|
||||
graph.rectangle(::nana::rectangle(r).pare_off(1), false, bgcolor);
|
||||
@ -277,7 +277,7 @@ namespace nana
|
||||
class arrow_solid_triangle
|
||||
: public arrow_interface
|
||||
{
|
||||
bool draw(graph_reference graph, const ::nana::color& bgcolor, const ::nana::color& fgcolor, const ::nana::rectangle& r, element_state estate, direction dir) override
|
||||
bool draw(graph_reference graph, const ::nana::color&, const ::nana::color&, const ::nana::rectangle& r, element_state, direction dir) override
|
||||
{
|
||||
::nana::point pos{ r.x + 3, r.y + 3 };
|
||||
switch (dir)
|
||||
@ -318,7 +318,7 @@ namespace nana
|
||||
class arrow_hollow_triangle
|
||||
: public arrow_interface
|
||||
{
|
||||
bool draw(graph_reference graph, const ::nana::color& bgcolor, const ::nana::color& fgcolor, const ::nana::rectangle& r, element_state estate, ::nana::direction dir) override
|
||||
bool draw(graph_reference graph, const ::nana::color&, const ::nana::color&, const ::nana::rectangle& r, element_state, ::nana::direction dir) override
|
||||
{
|
||||
int x = r.x + 3;
|
||||
int y = r.y + 3;
|
||||
@ -364,7 +364,7 @@ namespace nana
|
||||
class arrowhead
|
||||
: public arrow_interface
|
||||
{
|
||||
bool draw(graph_reference graph, const ::nana::color& bgcolor, const ::nana::color& fgcolor, const ::nana::rectangle& r, element_state estate, ::nana::direction dir) override
|
||||
bool draw(graph_reference graph, const ::nana::color&, const ::nana::color&, const ::nana::rectangle& r, element_state, ::nana::direction dir) override
|
||||
{
|
||||
int x = r.x;
|
||||
int y = r.y + 5;
|
||||
@ -425,7 +425,7 @@ namespace nana
|
||||
class arrow_double
|
||||
: public arrow_interface
|
||||
{
|
||||
bool draw(graph_reference graph, const ::nana::color& bgcolor, const ::nana::color& fgcolor, const ::nana::rectangle& r, element_state estate, ::nana::direction dir) override
|
||||
bool draw(graph_reference graph, const ::nana::color&, const ::nana::color&, const ::nana::rectangle& r, element_state, ::nana::direction dir) override
|
||||
{
|
||||
int x = r.x;
|
||||
int y = r.y;
|
||||
@ -486,7 +486,7 @@ namespace nana
|
||||
class annex_button
|
||||
: public element_interface
|
||||
{
|
||||
bool draw(graph_reference graph, const ::nana::color& arg_bgcolor, const ::nana::color& fgcolor, const rectangle& r, element_state estate) override
|
||||
bool draw(graph_reference graph, const ::nana::color& arg_bgcolor, const ::nana::color&, const rectangle& r, element_state estate) override
|
||||
{
|
||||
auto bgcolor = arg_bgcolor;
|
||||
|
||||
|
@ -702,7 +702,7 @@ namespace nana
|
||||
|
||||
impl->spinbox.value(std::to_string(impl->value));
|
||||
|
||||
impl->dock.events().resized.connect_unignorable([impl, label_px, value_px](const ::nana::arg_resized& arg)
|
||||
impl->dock.events().resized.connect_unignorable([impl, label_px, value_px](const ::nana::arg_resized&)
|
||||
{
|
||||
impl->label.size({ label_px, 24 });
|
||||
impl->spinbox.size({ value_px, 24 });
|
||||
@ -780,7 +780,7 @@ namespace nana
|
||||
|
||||
impl->spinbox.value(std::to_string(impl->value));
|
||||
|
||||
impl->dock.events().resized.connect_unignorable([impl, label_px, value_px](const ::nana::arg_resized& arg)
|
||||
impl->dock.events().resized.connect_unignorable([impl, label_px, value_px](const ::nana::arg_resized&)
|
||||
{
|
||||
impl->label.size(::nana::size{ label_px, 24 });
|
||||
impl->spinbox.size(::nana::size{ value_px, 24 });
|
||||
|
@ -314,6 +314,8 @@ namespace nana
|
||||
|
||||
::Shell_NotifyIcon(impl_->icon_added ? NIM_MODIFY : NIM_ADD, &icon_data);
|
||||
impl_->icon_added = true;
|
||||
#else
|
||||
static_cast<void>(str); //to eliminate unused parameter compiler warning.
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -330,6 +332,8 @@ namespace nana
|
||||
impl_->set_icon(impl_->icon_handle);
|
||||
::DestroyIcon(pre_icon);
|
||||
}
|
||||
#else
|
||||
static_cast<void>(icon_file); //to eliminate unused parameter compiler warning
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -338,6 +342,8 @@ namespace nana
|
||||
#if defined(NANA_WINDOWS)
|
||||
auto icon = (HICON)::LoadImage(0, to_wstring(icon_file).data(), IMAGE_ICON, 0, 0, LR_LOADFROMFILE);
|
||||
impl_->icons.push_back(icon);
|
||||
#else
|
||||
static_cast<void>(icon_file); //to eliminate unused parameter compiler warning.
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -352,6 +358,8 @@ namespace nana
|
||||
}
|
||||
else
|
||||
impl_->ani_timer.stop();
|
||||
#else
|
||||
static_cast<void>(ms); //to eliminate unused parameter compiler warning.
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -524,7 +524,7 @@ namespace nana
|
||||
//It will delete the element and recollocate when the window destroyed.
|
||||
event_handle _m_make_destroy(window wd)
|
||||
{
|
||||
return API::events(wd).destroy.connect([this, wd](const arg_destroy& arg)
|
||||
return API::events(wd).destroy.connect([this, wd](const arg_destroy&)
|
||||
{
|
||||
for (auto i = elements.begin(), end = elements.end(); i != end; ++i)
|
||||
{
|
||||
@ -1127,7 +1127,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
void collocate(window wd) override
|
||||
void collocate(window) override
|
||||
{
|
||||
if (!field || !(visible && display))
|
||||
return;
|
||||
@ -1563,7 +1563,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
void collocate(window wd) override
|
||||
void collocate(window) override
|
||||
{
|
||||
if (!dockable_field)
|
||||
{
|
||||
|
@ -104,8 +104,7 @@ namespace API
|
||||
{
|
||||
if (iwd->effect.edge_nimbus == effects::edge_nimbus::none)
|
||||
{
|
||||
basic_window::edge_nimbus_action ena = { iwd };
|
||||
cont.push_back(ena);
|
||||
cont.push_back(basic_window::edge_nimbus_action{ iwd, false});
|
||||
}
|
||||
iwd->effect.edge_nimbus = static_cast<effects::edge_nimbus>(static_cast<unsigned>(en) | static_cast<unsigned>(iwd->effect.edge_nimbus));
|
||||
}
|
||||
|
@ -167,6 +167,8 @@ namespace nana
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
static_cast<void>(pos); //to eliminate unused parameter compiler warning.
|
||||
#endif
|
||||
return get_primary();
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ namespace nana
|
||||
window_->tooltip_move(API::cursor_position(), true);
|
||||
}
|
||||
|
||||
void show_duration(window wd, point pos, const std::string& text, std::size_t duration)
|
||||
void show_duration(window /*wd*/, point pos, const std::string& text, std::size_t duration)
|
||||
{
|
||||
if (nullptr == window_ || window_->tooltip_empty())
|
||||
{
|
||||
|
@ -163,7 +163,7 @@ namespace nana{ namespace drawerbase
|
||||
_m_press(graph, false);
|
||||
}
|
||||
|
||||
void trigger::key_press(graph_reference graph, const arg_keyboard& arg)
|
||||
void trigger::key_press(graph_reference, const arg_keyboard& arg)
|
||||
{
|
||||
bool ch_tabstop_next;
|
||||
switch(arg.key)
|
||||
|
@ -216,7 +216,7 @@ namespace nana{ namespace drawerbase
|
||||
uiobj.check(false);
|
||||
uiobj.react(false);
|
||||
|
||||
element_tag el = {};
|
||||
element_tag el;
|
||||
|
||||
el.uiobj = &uiobj;
|
||||
|
||||
|
@ -615,7 +615,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
void trigger::mouse_down(graph_reference graph, const arg_mouse& arg)
|
||||
void trigger::mouse_down(graph_reference, const arg_mouse& arg)
|
||||
{
|
||||
//drawer_->set_mouse_press(true);
|
||||
drawer_->set_button_state(element_state::pressed, false);
|
||||
@ -633,7 +633,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
void trigger::mouse_up(graph_reference graph, const arg_mouse& arg)
|
||||
void trigger::mouse_up(graph_reference, const arg_mouse& arg)
|
||||
{
|
||||
if (drawer_->widget_ptr()->enabled() && !drawer_->has_lister())
|
||||
{
|
||||
@ -660,7 +660,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
void trigger::mouse_wheel(graph_reference graph, const arg_wheel& arg)
|
||||
void trigger::mouse_wheel(graph_reference, const arg_wheel& arg)
|
||||
{
|
||||
if(drawer_->widget_ptr()->enabled())
|
||||
{
|
||||
@ -718,7 +718,7 @@ namespace nana
|
||||
API::lazy_refresh();
|
||||
}
|
||||
|
||||
void trigger::key_char(graph_reference graph, const arg_keyboard& arg)
|
||||
void trigger::key_char(graph_reference, const arg_keyboard& arg)
|
||||
{
|
||||
if (drawer_->editor()->respond_char(arg))
|
||||
API::lazy_refresh();
|
||||
|
@ -18,7 +18,7 @@ namespace nana
|
||||
namespace form
|
||||
{
|
||||
//class trigger
|
||||
void trigger::attached(widget_reference wdg, graph_reference graph)
|
||||
void trigger::attached(widget_reference wdg, graph_reference)
|
||||
{
|
||||
wd_ = &wdg;
|
||||
API::ignore_mouse_focus(wdg, true);
|
||||
|
@ -437,7 +437,7 @@ namespace nana
|
||||
return total_w;
|
||||
}
|
||||
|
||||
bool _m_each_line(graph_reference graph, dstream::linecontainer& line, render_status& rs)
|
||||
bool _m_each_line(graph_reference graph, dstream::linecontainer&, render_status& rs)
|
||||
{
|
||||
std::wstring text;
|
||||
iterator block_start;
|
||||
|
@ -2614,15 +2614,15 @@ namespace nana
|
||||
return list_str ;
|
||||
}
|
||||
|
||||
void es_lister::categ_selected(size_type cat, bool sel)
|
||||
void es_lister::categ_selected(size_type cat, bool sel)
|
||||
{
|
||||
cat_proxy cpx{ess_,cat};
|
||||
for (item_proxy &it : cpx )
|
||||
{
|
||||
if (it.selected() != sel)
|
||||
cat_proxy cpx{ess_,cat};
|
||||
for (item_proxy &it : cpx )
|
||||
{
|
||||
if (it.selected() != sel)
|
||||
it.select(sel);
|
||||
}
|
||||
last_selected_abs = last_selected_dpl = index_pair{cat, npos};
|
||||
}
|
||||
last_selected_abs = last_selected_dpl = index_pair{cat, npos};
|
||||
}
|
||||
|
||||
class drawer_header_impl
|
||||
@ -3549,15 +3549,16 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
void trigger::dbl_click(graph_reference graph, const arg_mouse& arg)
|
||||
void trigger::dbl_click(graph_reference graph, const arg_mouse&)
|
||||
{
|
||||
if (essence_->pointer_where.first == essence_t::parts::header)
|
||||
if (cursor::size_we == essence_->lister.wd_ptr()->cursor())
|
||||
{
|
||||
if (essence(). auto_width(drawer_header_->item_spliter() )) // ? in order
|
||||
essence().update();
|
||||
return;
|
||||
}
|
||||
{
|
||||
//adjust the width of column to its content.
|
||||
if (essence_->auto_width(drawer_header_->item_spliter() ))
|
||||
essence_->update();
|
||||
return;
|
||||
}
|
||||
|
||||
if (essence_->pointer_where.first != essence_t::parts::lister)
|
||||
return;
|
||||
@ -3571,24 +3572,25 @@ namespace nana
|
||||
if (!item_pos.is_category()) //being the npos of item.second is a category
|
||||
return;
|
||||
|
||||
arg_category ai(cat_proxy(essence_, item_pos.cat));
|
||||
lister.wd_ptr()->events().category_dbl_click.emit(ai);
|
||||
arg_category ai(cat_proxy(essence_, item_pos.cat));
|
||||
lister.wd_ptr()->events().category_dbl_click.emit(ai);
|
||||
|
||||
if(!ai.category_change_blocked()){
|
||||
bool do_expand = (lister.expand(item_pos.cat) == false);
|
||||
lister.expand(item_pos.cat, do_expand);
|
||||
if(!ai.category_change_blocked())
|
||||
{
|
||||
bool do_expand = (lister.expand(item_pos.cat) == false);
|
||||
lister.expand(item_pos.cat, do_expand);
|
||||
|
||||
if(false == do_expand)
|
||||
{
|
||||
auto last = lister.last();
|
||||
size_type n = essence_->number_of_lister_items(false);
|
||||
if (lister.backward(last, n, last))
|
||||
offset_y = last;
|
||||
}
|
||||
essence_->adjust_scroll_life();
|
||||
refresh(graph);
|
||||
API::lazy_refresh();
|
||||
}
|
||||
if(false == do_expand)
|
||||
{
|
||||
auto last = lister.last();
|
||||
size_type n = essence_->number_of_lister_items(false);
|
||||
if (lister.backward(last, n, last))
|
||||
offset_y = last;
|
||||
}
|
||||
essence_->adjust_scroll_life();
|
||||
refresh(graph);
|
||||
API::lazy_refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3603,8 +3605,8 @@ namespace nana
|
||||
{
|
||||
bool up = false;
|
||||
|
||||
if (essence_->lister.size_categ()==1 && essence_->lister.size_item(0)==0)
|
||||
return ;
|
||||
if (essence_->lister.size_categ()==1 && essence_->lister.size_item(0)==0)
|
||||
return ;
|
||||
|
||||
switch(arg.key)
|
||||
{
|
||||
@ -3622,49 +3624,46 @@ namespace nana
|
||||
}
|
||||
break;
|
||||
|
||||
case keyboard::os_pageup :
|
||||
case keyboard::os_pageup :
|
||||
up = true;
|
||||
case keyboard::os_pagedown:
|
||||
{
|
||||
auto& scrl = essence_->scroll.v;
|
||||
if (! scrl.make_page_scroll(!up))
|
||||
return;
|
||||
essence_->lister.select_for_all(false);
|
||||
case keyboard::os_pagedown:
|
||||
{
|
||||
auto& scrl = essence_->scroll.v;
|
||||
if (! scrl.make_page_scroll(!up))
|
||||
return;
|
||||
essence_->lister.select_for_all(false);
|
||||
|
||||
index_pair idx{essence_->scroll_y_dpl()};
|
||||
if (!up)
|
||||
essence_->lister.forward(idx, scrl.range()-1, idx);
|
||||
index_pair idx{essence_->scroll_y_dpl()};
|
||||
if (!up)
|
||||
essence_->lister.forward(idx, scrl.range()-1, idx);
|
||||
|
||||
if (idx.is_item())
|
||||
item_proxy::from_display(essence_, idx).select(true);
|
||||
else
|
||||
if(!essence_->lister.single_selection())
|
||||
if (idx.is_item())
|
||||
item_proxy::from_display(essence_, idx).select(true);
|
||||
else if(!essence_->lister.single_selection())
|
||||
essence_->lister.categ_selected(idx.cat, true);
|
||||
|
||||
essence_->trace_last_selected_item ();
|
||||
essence_->trace_last_selected_item ();
|
||||
|
||||
break;
|
||||
}
|
||||
case keyboard::os_home:
|
||||
{
|
||||
essence_->lister.select_for_all(false);
|
||||
break;
|
||||
}
|
||||
case keyboard::os_home:
|
||||
{
|
||||
essence_->lister.select_for_all(false);
|
||||
|
||||
index_pair frst{essence_->lister.first()};
|
||||
if (frst.is_item())
|
||||
item_proxy::from_display(essence_, frst).select(true);
|
||||
else
|
||||
if(!essence_->lister.single_selection())
|
||||
index_pair frst{essence_->lister.first()};
|
||||
if (frst.is_item())
|
||||
item_proxy::from_display(essence_, frst).select(true);
|
||||
else if(!essence_->lister.single_selection())
|
||||
essence_->lister.categ_selected(frst.cat, true);
|
||||
|
||||
essence_->trace_last_selected_item ();
|
||||
break;
|
||||
}
|
||||
case keyboard::os_end:
|
||||
essence_->lister.select_for_all(false);
|
||||
item_proxy::from_display(essence_, essence_->lister.last()).select(true);
|
||||
essence_->trace_last_selected_item ();
|
||||
break;
|
||||
|
||||
essence_->trace_last_selected_item ();
|
||||
break;
|
||||
}
|
||||
case keyboard::os_end:
|
||||
essence_->lister.select_for_all(false);
|
||||
item_proxy::from_display(essence_, essence_->lister.last()).select(true);
|
||||
essence_->trace_last_selected_item ();
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
@ -3676,20 +3675,19 @@ namespace nana
|
||||
{
|
||||
switch(arg.key)
|
||||
{
|
||||
case keyboard::copy:
|
||||
{
|
||||
export_options exp_opt {essence_->def_exp_options};
|
||||
exp_opt.columns_order = essence_->header.all_headers(true);
|
||||
exp_opt.only_selected_items = true;
|
||||
::nana::system::dataexch().set(essence_->to_string(exp_opt));
|
||||
return;
|
||||
}
|
||||
case keyboard::select_all :
|
||||
essence_->lister.select_for_all(true);
|
||||
case keyboard::copy:
|
||||
{
|
||||
export_options exp_opt {essence_->def_exp_options};
|
||||
exp_opt.columns_order = essence_->header.all_headers(true);
|
||||
exp_opt.only_selected_items = true;
|
||||
::nana::system::dataexch().set(essence_->to_string(exp_opt));
|
||||
return;
|
||||
}
|
||||
case keyboard::select_all :
|
||||
essence_->lister.select_for_all(true);
|
||||
refresh(graph);
|
||||
API::lazy_refresh();
|
||||
break;
|
||||
|
||||
API::lazy_refresh();
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
@ -3713,23 +3711,24 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
/// the main porpose of this it to make obvious that item_proxy operate with absolute positions, and dont get moved during sort()
|
||||
item_proxy item_proxy::from_display(essence_t *ess, const index_pair &relative)
|
||||
{
|
||||
return item_proxy{ess, ess->lister.absolute_pair(relative)};
|
||||
}
|
||||
item_proxy item_proxy::from_display(const index_pair &relative) const
|
||||
{
|
||||
return item_proxy{ess_, ess_->lister.absolute_pair(relative)};
|
||||
}
|
||||
/// the main porpose of this it to make obvious that item_proxy operate with absolute positions, and dont get moved during sort()
|
||||
item_proxy item_proxy::from_display(essence_t *ess, const index_pair &relative)
|
||||
{
|
||||
return item_proxy{ess, ess->lister.absolute_pair(relative)};
|
||||
}
|
||||
|
||||
/// posible use: last_selected_display = last_selected.to_display().item; use with caution, it get invalidated after a sort()
|
||||
index_pair item_proxy::to_display() const
|
||||
{
|
||||
return ess_->lister.relative_pair(pos_);
|
||||
}
|
||||
item_proxy item_proxy::from_display(const index_pair &relative) const
|
||||
{
|
||||
return item_proxy{ess_, ess_->lister.absolute_pair(relative)};
|
||||
}
|
||||
|
||||
bool item_proxy::empty() const
|
||||
/// posible use: last_selected_display = last_selected.to_display().item; use with caution, it get invalidated after a sort()
|
||||
index_pair item_proxy::to_display() const
|
||||
{
|
||||
return ess_->lister.relative_pair(pos_);
|
||||
}
|
||||
|
||||
bool item_proxy::empty() const
|
||||
{
|
||||
return !ess_;
|
||||
}
|
||||
@ -3752,14 +3751,14 @@ namespace nana
|
||||
return cat_->items.at(pos_.item).flags.checked;
|
||||
}
|
||||
|
||||
/// is ignored if no change (maybe set last_selected anyway??), but if change emit event, deselect others if need ans set/unset last_selected
|
||||
item_proxy & item_proxy::select(bool s)
|
||||
/// is ignored if no change (maybe set last_selected anyway??), but if change emit event, deselect others if need ans set/unset last_selected
|
||||
item_proxy & item_proxy::select(bool s)
|
||||
{
|
||||
auto & m = cat_->items.at(pos_.item); // a ref to the real item // what is pos is a cat?
|
||||
if(m.flags.selected == s) return *this; // ignore if no change
|
||||
m.flags.selected = s; // actually change selection
|
||||
|
||||
arg_listbox arg{*this, s};
|
||||
arg_listbox arg{*this, s};
|
||||
ess_->lister.wd_ptr()->events().selected.emit(arg);
|
||||
|
||||
if (m.flags.selected)
|
||||
@ -4394,7 +4393,7 @@ namespace nana
|
||||
}
|
||||
unsigned listbox::auto_width(size_type pos, unsigned max)
|
||||
{
|
||||
auto & ess = _m_ess();
|
||||
auto & ess = _m_ess();
|
||||
unsigned max_w = ess.auto_width(pos, max);
|
||||
ess.update();
|
||||
return max_w;
|
||||
@ -4480,34 +4479,33 @@ namespace nana
|
||||
return *this;
|
||||
}
|
||||
|
||||
listbox::item_proxy listbox::at(const index_pair& pos_abs) const
|
||||
listbox::item_proxy listbox::at(const index_pair& pos_abs) const
|
||||
{
|
||||
return at(pos_abs.cat).at(pos_abs.item);
|
||||
}
|
||||
|
||||
|
||||
// Contributed by leobackes(pr#97)
|
||||
listbox::index_pair listbox::at ( const point& pos ) const
|
||||
{
|
||||
auto & ess=_m_ess();
|
||||
auto _where=ess.where(pos.x, pos.y);
|
||||
index_pair item_pos{npos,npos};
|
||||
if(_where.first==drawerbase::listbox::essence_t::parts::lister){
|
||||
auto & offset_y = ess.scroll.offset_y_dpl;
|
||||
ess.lister.forward(offset_y, _where.second, item_pos);
|
||||
}
|
||||
return item_pos;
|
||||
}
|
||||
listbox::index_pair listbox::at ( const point& pos ) const
|
||||
{
|
||||
auto & ess=_m_ess();
|
||||
auto _where=ess.where(pos.x, pos.y);
|
||||
index_pair item_pos{npos,npos};
|
||||
if(_where.first==drawerbase::listbox::essence_t::parts::lister)
|
||||
{
|
||||
auto & offset_y = ess.scroll.offset_y_dpl;
|
||||
ess.lister.forward(offset_y, _where.second, item_pos);
|
||||
}
|
||||
return item_pos;
|
||||
}
|
||||
|
||||
//Contributed by leobackes(pr#97)
|
||||
listbox::columns_indexs listbox::column_from_pos ( const point& pos )
|
||||
{
|
||||
auto & ess=_m_ess();
|
||||
columns_indexs col=ess.header.item_by_x(pos.x - 2 - ess.scroll.offset_x);
|
||||
return col;
|
||||
}
|
||||
|
||||
|
||||
listbox::columns_indexs listbox::column_from_pos ( const point& pos )
|
||||
{
|
||||
auto & ess=_m_ess();
|
||||
columns_indexs col=ess.header.item_by_x(pos.x - 2 - ess.scroll.offset_x);
|
||||
return col;
|
||||
}
|
||||
|
||||
void listbox::insert(const index_pair& pos, std::string text)
|
||||
{
|
||||
|
@ -53,7 +53,7 @@ namespace nana{ namespace widgets
|
||||
return cmd_;
|
||||
}
|
||||
|
||||
virtual bool merge(const undoable_command_interface<EnumCommand>& rhs) override
|
||||
virtual bool merge(const undoable_command_interface<EnumCommand>&) override
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -273,8 +273,8 @@ namespace nana{ namespace widgets
|
||||
: editor_(editor)
|
||||
{}
|
||||
|
||||
void merge_lines(std::size_t first, std::size_t second) override{}
|
||||
void add_lines(std::size_t pos, std::size_t lines) override{}
|
||||
void merge_lines(std::size_t, std::size_t) override{}
|
||||
void add_lines(std::size_t, std::size_t) override{}
|
||||
void pre_calc_line(std::size_t, unsigned) override{}
|
||||
void pre_calc_lines(unsigned) override{}
|
||||
|
||||
@ -283,12 +283,12 @@ namespace nana{ namespace widgets
|
||||
return editor_.textbase_.lines();
|
||||
}
|
||||
|
||||
std::size_t take_lines(std::size_t pos) const override
|
||||
std::size_t take_lines(std::size_t) const override
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
void update_line(std::size_t textline, std::size_t secondary_before) override
|
||||
void update_line(std::size_t textline, std::size_t) override
|
||||
{
|
||||
int top = editor_._m_text_top_base() + static_cast<int>(editor_.line_height() * (textline - editor_.points_.offset.y));
|
||||
editor_.graph_.rectangle({ editor_.text_area_.area.x, top, editor_.text_area_.area.width, editor_.line_height() }, true, API::bgcolor(editor_.window_));
|
||||
|
@ -518,7 +518,7 @@ namespace nana
|
||||
impl_->render();
|
||||
}
|
||||
|
||||
void drawer::focus(graph_reference, const arg_focus& arg)
|
||||
void drawer::focus(graph_reference, const arg_focus&)
|
||||
{
|
||||
impl_->reset_text();
|
||||
impl_->render();
|
||||
@ -578,7 +578,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
void drawer::resized(graph_reference graph, const arg_resized& arg)
|
||||
void drawer::resized(graph_reference, const arg_resized&)
|
||||
{
|
||||
impl_->reset_text_area();
|
||||
impl_->render();
|
||||
|
@ -43,7 +43,7 @@ namespace nana
|
||||
: public item_renderer
|
||||
{
|
||||
private:
|
||||
virtual void background(graph_reference graph, const nana::rectangle& r, const ::nana::color& bgcolor)
|
||||
virtual void background(graph_reference graph, const nana::rectangle&, const ::nana::color& bgcolor)
|
||||
{
|
||||
if(bgcolor_ != bgcolor)
|
||||
{
|
||||
@ -59,7 +59,6 @@ namespace nana
|
||||
|
||||
virtual void item(graph_reference graph, const item_t& m, bool active, state_t sta)
|
||||
{
|
||||
//*
|
||||
const nana::rectangle & r = m.r;
|
||||
color bgcolor;
|
||||
color blcolor;
|
||||
@ -961,7 +960,8 @@ namespace nana
|
||||
auto bgcolor = API::bgcolor(basis_.wd);
|
||||
auto fgcolor = API::fgcolor(basis_.wd);
|
||||
|
||||
item_renderer::item_t m{ ::nana::rectangle{ basis_.graph->size() } };
|
||||
item_renderer::item_t m;
|
||||
m.r = ::nana::rectangle{ basis_.graph->size() };
|
||||
|
||||
basis_.renderer->background(*basis_.graph, m.r, bgcolor);
|
||||
|
||||
|
@ -88,7 +88,7 @@ namespace drawerbase {
|
||||
editor_ = nullptr;
|
||||
}
|
||||
|
||||
void drawer::refresh(graph_reference graph)
|
||||
void drawer::refresh(graph_reference)
|
||||
{
|
||||
editor_->render(API::is_focus_ready(*widget_));
|
||||
}
|
||||
@ -121,7 +121,7 @@ namespace drawerbase {
|
||||
API::lazy_refresh();
|
||||
}
|
||||
|
||||
void drawer::mouse_up(graph_reference graph, const arg_mouse& arg)
|
||||
void drawer::mouse_up(graph_reference, const arg_mouse& arg)
|
||||
{
|
||||
if(editor_->mouse_pressed(arg))
|
||||
API::lazy_refresh();
|
||||
|
@ -82,8 +82,12 @@ namespace nana
|
||||
if (t.joinable())
|
||||
t.join();
|
||||
|
||||
#else
|
||||
pump();
|
||||
#else
|
||||
static_cast<void>(wait);
|
||||
static_cast<void>(wait_end);
|
||||
static_cast<void>(f); //to eliminte unused parameter compiler warning.
|
||||
|
||||
pump();
|
||||
#endif
|
||||
}
|
||||
}//end namespace nana
|
||||
|
@ -867,7 +867,7 @@ namespace paint
|
||||
::DeleteObject(hBmp);
|
||||
::DeleteDC(hdcMem);
|
||||
#elif defined(NANA_X11)
|
||||
|
||||
static_cast<void>(file_utf8); //eliminate unused parameter compil warning.
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@ -1201,6 +1201,10 @@ namespace paint
|
||||
if(solid)
|
||||
rectangle(::nana::rectangle(r).pare_off(1), true, solid_clr);
|
||||
}
|
||||
|
||||
//eliminate unused parameter compiler warning.
|
||||
static_cast<void>(radius_x);
|
||||
static_cast<void>(radius_y);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -73,7 +73,8 @@ namespace paint
|
||||
return true;
|
||||
}
|
||||
#else
|
||||
if(is_ico_){} //kill the unused compiler warning in Linux.
|
||||
static_cast<void>(is_ico_); //eliminate the unused compiler warning in Linux.
|
||||
static_cast<void>(file); //to eliminate the unused parameter compiler warning.
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
@ -98,7 +99,9 @@ namespace paint
|
||||
}
|
||||
}
|
||||
#else
|
||||
if(is_ico_){} //kill the unused compiler warning in Linux.
|
||||
static_cast<void>(is_ico_); //kill the unused compiler warning in Linux.
|
||||
static_cast<void>(data); //to eliminate unused parameter compiler warning.
|
||||
static_cast<void>(bytes);
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
@ -129,6 +132,9 @@ namespace paint
|
||||
{
|
||||
#if defined(NANA_WINDOWS)
|
||||
::DrawIconEx(graph.handle()->context, p_dst.x, p_dst.y, *ptr_, src_r.width, src_r.height, 0, 0, DI_NORMAL);
|
||||
#else
|
||||
static_cast<void>(src_r); //eliminate unused parameter compiler warning.
|
||||
static_cast<void>(p_dst);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@ -139,6 +145,8 @@ namespace paint
|
||||
{
|
||||
#if defined(NANA_WINDOWS)
|
||||
::DrawIconEx(graph.handle()->context, r.x, r.y, *ptr_, r.width, r.height, 0, 0, DI_NORMAL);
|
||||
#else
|
||||
static_cast<void>(r); //eliminate unused parameter compiler warning.
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -977,7 +977,7 @@ namespace nana{ namespace paint
|
||||
}
|
||||
}
|
||||
|
||||
void pixel_buffer::gradual_rectangle(const ::nana::rectangle& draw_rct, const ::nana::color& from, const ::nana::color& to, double fade_rate, bool vertical)
|
||||
void pixel_buffer::gradual_rectangle(const ::nana::rectangle& draw_rct, const ::nana::color& from, const ::nana::color& to, double /*fade_rate*/, bool vertical)
|
||||
{
|
||||
auto sp = storage_.get();
|
||||
if (nullptr == sp) return;
|
||||
|
@ -82,31 +82,35 @@ namespace nana{ namespace system{
|
||||
// Bitmaps are huge, so to avoid unnegligible extra copy, this routine does not use private _m_set method.
|
||||
HGLOBAL h_gmem = ::GlobalAlloc(GHND | GMEM_SHARE, header_size + bitmap_bytes);
|
||||
void * gmem = ::GlobalLock(h_gmem);
|
||||
if (gmem) {
|
||||
char* p = (char*)gmem;
|
||||
// Fix BITMAPINFOHEADER obtained from GetDIBits WinAPI
|
||||
bmi.bmiHeader.biCompression = BI_RGB;
|
||||
bmi.bmiHeader.biHeight = ::abs(bmi.bmiHeader.biHeight);
|
||||
memcpy(p, &bmi, header_size);
|
||||
p += header_size;
|
||||
// many programs do not support bottom-up DIB, so reversing row order is needed.
|
||||
for (int y=0; y<bmi.bmiHeader.biHeight; ++y) {
|
||||
memcpy(p, pbuffer.raw_ptr(bmi.bmiHeader.biHeight - 1 - y), bytes_per_line);
|
||||
p += bytes_per_line;
|
||||
}
|
||||
if (::GlobalUnlock(h_gmem) || GetLastError() == NO_ERROR)
|
||||
if (::OpenClipboard(::GetFocus()))
|
||||
if (::EmptyClipboard())
|
||||
if (::SetClipboardData(CF_DIB, h_gmem))
|
||||
if (::CloseClipboard())
|
||||
return true;
|
||||
if (gmem)
|
||||
{
|
||||
char* p = (char*)gmem;
|
||||
// Fix BITMAPINFOHEADER obtained from GetDIBits WinAPI
|
||||
bmi.bmiHeader.biCompression = BI_RGB;
|
||||
bmi.bmiHeader.biHeight = ::abs(bmi.bmiHeader.biHeight);
|
||||
std::memcpy(p, &bmi, header_size);
|
||||
p += header_size;
|
||||
// many programs do not support bottom-up DIB, so reversing row order is needed.
|
||||
for (int y=0; y<bmi.bmiHeader.biHeight; ++y)
|
||||
{
|
||||
memcpy(p, pbuffer.raw_ptr(bmi.bmiHeader.biHeight - 1 - y), bytes_per_line);
|
||||
p += bytes_per_line;
|
||||
}
|
||||
|
||||
if (::GlobalUnlock(h_gmem) || GetLastError() == NO_ERROR)
|
||||
if (::OpenClipboard(::GetFocus()))
|
||||
if (::EmptyClipboard())
|
||||
if (::SetClipboardData(CF_DIB, h_gmem))
|
||||
if (::CloseClipboard())
|
||||
return true;
|
||||
}
|
||||
assert(false);
|
||||
assert(false);
|
||||
::GlobalFree(h_gmem);
|
||||
return false;
|
||||
|
||||
//#elif defined(NANA_X11)
|
||||
#else
|
||||
static_cast<void>(g); //eliminate unused parameter compiler warning.
|
||||
throw "not implemented yet.";
|
||||
return false;
|
||||
#endif
|
||||
|
@ -93,6 +93,7 @@ namespace system
|
||||
|
||||
return (::GetAsyncKeyState(button) != 0);
|
||||
#elif defined(NANA_LINUX) || defined(NANA_MACOS)
|
||||
static_cast<void>(button); //eliminate unused parameter compiler warning.
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ namespace system
|
||||
::FreeLibrary(reinterpret_cast<HMODULE>(handle));
|
||||
#endif
|
||||
}
|
||||
}; //end struct shared_helper
|
||||
} //end namespace shared_helper
|
||||
}//end namespace detail
|
||||
|
||||
|
||||
|
@ -584,7 +584,7 @@ namespace nana
|
||||
_m_resolve_weak_types();
|
||||
_m_resolve_neutral_types();
|
||||
_m_resolve_implicit_levels();
|
||||
_m_reordering_resolved_levels(str, reordered);
|
||||
_m_reordering_resolved_levels(reordered);
|
||||
}
|
||||
|
||||
unsigned unicode_bidi::_m_paragraph_level(const char_type * begin, const char_type * end)
|
||||
@ -885,7 +885,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
|
||||
void unicode_bidi::_m_reordering_resolved_levels(const char_type * str, std::vector<entity> & reordered)
|
||||
void unicode_bidi::_m_reordering_resolved_levels(std::vector<entity> & reordered)
|
||||
{
|
||||
reordered = levels_;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user