diff --git a/include/nana/basic_types.hpp b/include/nana/basic_types.hpp index e990a681..4fb4385d 100644 --- a/include/nana/basic_types.hpp +++ b/include/nana/basic_types.hpp @@ -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 }; diff --git a/include/nana/detail/linux_X11/platform_spec.hpp b/include/nana/detail/linux_X11/platform_spec.hpp index c8866d9d..12bb65c3 100644 --- a/include/nana/detail/linux_X11/platform_spec.hpp +++ b/include/nana/detail/linux_X11/platform_spec.hpp @@ -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 }; diff --git a/include/nana/gui/detail/general_events.hpp b/include/nana/gui/detail/general_events.hpp index 29dae364..454b407f 100644 --- a/include/nana/gui/detail/general_events.hpp +++ b/include/nana/gui/detail/general_events.hpp @@ -429,7 +429,7 @@ namespace nana private: unsigned emitting_count_{ 0 }; bool deleted_flags_{ false }; - std::unique_ptr>> dockers_; + std::unique_ptr>> dockers_{ nullptr }; }; struct arg_mouse diff --git a/include/nana/gui/widgets/spinbox.hpp b/include/nana/gui/widgets/spinbox.hpp index e3d28505..fd60f070 100644 --- a/include/nana/gui/widgets/spinbox.hpp +++ b/include/nana/gui/widgets/spinbox.hpp @@ -68,7 +68,7 @@ namespace nana private: implementation * const impl_; }; - }; + } }//end namespace drawerbase /// Spinbox Widget diff --git a/include/nana/gui/widgets/treebox.hpp b/include/nana/gui/widgets/treebox.hpp index f0cc4cd1..487812ea 100644 --- a/include/nana/gui/widgets/treebox.hpp +++ b/include/nana/gui/widgets/treebox.hpp @@ -307,14 +307,14 @@ namespace nana { _m_value() = t; return *this; - }; + } template item_proxy & value(T&& t) { _m_value() = std::move(t); return *this; - }; + } // Undocumentated methods for internal use trigger::node_type * _m_node() const; diff --git a/include/nana/system/shared_wrapper.hpp b/include/nana/system/shared_wrapper.hpp index b1737cc2..ab14997e 100644 --- a/include/nana/system/shared_wrapper.hpp +++ b/include/nana/system/shared_wrapper.hpp @@ -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 diff --git a/include/nana/unicode_bidi.hpp b/include/nana/unicode_bidi.hpp index acd2b057..766edf46 100644 --- a/include/nana/unicode_bidi.hpp +++ b/include/nana/unicode_bidi.hpp @@ -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 & reordered); + void _m_reordering_resolved_levels(std::vector & reordered); static bidi_category _m_bidi_category(bidi_char); static bidi_char _m_char_dir(char_type); private: diff --git a/source/datetime.cpp b/source/datetime.cpp index 4682c32c..849ec940 100644 --- a/source/datetime.cpp +++ b/source/datetime.cpp @@ -264,6 +264,7 @@ namespace nana } time::time() + : value_{} { struct tm t; localtime(t); diff --git a/source/detail/platform_spec_posix.cpp b/source/detail/platform_spec_posix.cpp index 9713a0c9..accaeed2 100644 --- a/source/detail/platform_spec_posix.cpp +++ b/source/detail/platform_spec_posix.cpp @@ -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; } diff --git a/source/filesystem/filesystem.cpp b/source/filesystem/filesystem.cpp index ead15a1a..69f467cf 100644 --- a/source/filesystem/filesystem.cpp +++ b/source/filesystem/filesystem.cpp @@ -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); diff --git a/source/gui/detail/bedrock_posix.cpp b/source/gui/detail/bedrock_posix.cpp index 052a61aa..a8fa2254 100644 --- a/source/gui/detail/bedrock_posix.cpp +++ b/source/gui/detail/bedrock_posix.cpp @@ -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) diff --git a/source/gui/detail/native_window_interface.cpp b/source/gui/detail/native_window_interface.cpp index ea84c1d3..258f3d1c 100644 --- a/source/gui/detail/native_window_interface.cpp +++ b/source/gui/detail/native_window_interface.cpp @@ -173,6 +173,8 @@ namespace nana{ mi.rcWork.right - mi.rcWork.left, mi.rcWork.bottom - mi.rcWork.top); } } +#else + static_cast(pos); //eliminate unused parameter compiler warning. #endif return rectangle{ primary_monitor_size() }; } @@ -547,6 +549,8 @@ namespace nana{ activate_window(reinterpret_cast( ::GetWindow(reinterpret_cast(wd), GW_OWNER) )); +#else + static_cast(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(wd); //eliminate unused parameter compiler warning. #endif } @@ -640,6 +646,7 @@ namespace nana{ ::XFlush(disp); } + static_cast(active); //eliminate unused parameter compiler warning. #endif } @@ -715,6 +722,7 @@ namespace nana{ #if defined(NANA_WINDOWS) ::InvalidateRect(reinterpret_cast(wd), nullptr, true); #elif defined(NANA_X11) + static_cast(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(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(y) > sz.height + ext_height) sz.height = static_cast(y); } +#else + //eliminate unused parameter compiler warning. + static_cast(ext_width); + static_cast(ext_height); + static_cast(true_for_max); #endif return sz; } diff --git a/source/gui/detail/window_layout.cpp b/source/gui/detail/window_layout.cpp index f44be0a6..d2556323 100644 --- a/source/gui/detail/window_layout.cpp +++ b/source/gui/detail/window_layout.cpp @@ -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; diff --git a/source/gui/element.cpp b/source/gui/element.cpp index b2fdbb7f..e1f4b649 100644 --- a/source/gui/element.cpp +++ b/source/gui/element.cpp @@ -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((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; diff --git a/source/gui/msgbox.cpp b/source/gui/msgbox.cpp index dd20cf6e..8d4914f6 100644 --- a/source/gui/msgbox.cpp +++ b/source/gui/msgbox.cpp @@ -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 }); diff --git a/source/gui/notifier.cpp b/source/gui/notifier.cpp index 4e98e037..4a9f6ac3 100644 --- a/source/gui/notifier.cpp +++ b/source/gui/notifier.cpp @@ -314,6 +314,8 @@ namespace nana ::Shell_NotifyIcon(impl_->icon_added ? NIM_MODIFY : NIM_ADD, &icon_data); impl_->icon_added = true; +#else + static_cast(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(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(icon_file); //to eliminate unused parameter compiler warning. #endif } @@ -352,6 +358,8 @@ namespace nana } else impl_->ani_timer.stop(); +#else + static_cast(ms); //to eliminate unused parameter compiler warning. #endif } diff --git a/source/gui/place.cpp b/source/gui/place.cpp index df89bbeb..1a0e5cb1 100644 --- a/source/gui/place.cpp +++ b/source/gui/place.cpp @@ -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) { diff --git a/source/gui/programming_interface.cpp b/source/gui/programming_interface.cpp index 12670941..e36e1a36 100644 --- a/source/gui/programming_interface.cpp +++ b/source/gui/programming_interface.cpp @@ -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(static_cast(en) | static_cast(iwd->effect.edge_nimbus)); } diff --git a/source/gui/screen.cpp b/source/gui/screen.cpp index 1a0be98b..da390bda 100644 --- a/source/gui/screen.cpp +++ b/source/gui/screen.cpp @@ -167,6 +167,8 @@ namespace nana } } } +#else + static_cast(pos); //to eliminate unused parameter compiler warning. #endif return get_primary(); } diff --git a/source/gui/tooltip.cpp b/source/gui/tooltip.cpp index ac76b7d6..433c247b 100644 --- a/source/gui/tooltip.cpp +++ b/source/gui/tooltip.cpp @@ -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()) { diff --git a/source/gui/widgets/button.cpp b/source/gui/widgets/button.cpp index 301c07c7..f1541cfa 100644 --- a/source/gui/widgets/button.cpp +++ b/source/gui/widgets/button.cpp @@ -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) diff --git a/source/gui/widgets/checkbox.cpp b/source/gui/widgets/checkbox.cpp index 4a14a7fc..c535378c 100644 --- a/source/gui/widgets/checkbox.cpp +++ b/source/gui/widgets/checkbox.cpp @@ -216,7 +216,7 @@ namespace nana{ namespace drawerbase uiobj.check(false); uiobj.react(false); - element_tag el = {}; + element_tag el; el.uiobj = &uiobj; diff --git a/source/gui/widgets/combox.cpp b/source/gui/widgets/combox.cpp index c5df35f8..a4631668 100644 --- a/source/gui/widgets/combox.cpp +++ b/source/gui/widgets/combox.cpp @@ -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(); diff --git a/source/gui/widgets/form.cpp b/source/gui/widgets/form.cpp index eab587ad..af43ea37 100644 --- a/source/gui/widgets/form.cpp +++ b/source/gui/widgets/form.cpp @@ -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); diff --git a/source/gui/widgets/label.cpp b/source/gui/widgets/label.cpp index ed6c2828..d500eed9 100644 --- a/source/gui/widgets/label.cpp +++ b/source/gui/widgets/label.cpp @@ -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; diff --git a/source/gui/widgets/listbox.cpp b/source/gui/widgets/listbox.cpp index 3e214531..56eff953 100644 --- a/source/gui/widgets/listbox.cpp +++ b/source/gui/widgets/listbox.cpp @@ -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) { diff --git a/source/gui/widgets/skeletons/text_editor.cpp b/source/gui/widgets/skeletons/text_editor.cpp index fc6086cc..79731abf 100644 --- a/source/gui/widgets/skeletons/text_editor.cpp +++ b/source/gui/widgets/skeletons/text_editor.cpp @@ -53,7 +53,7 @@ namespace nana{ namespace widgets return cmd_; } - virtual bool merge(const undoable_command_interface& rhs) override + virtual bool merge(const undoable_command_interface&) 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(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_)); diff --git a/source/gui/widgets/spinbox.cpp b/source/gui/widgets/spinbox.cpp index 880fa7f1..da0a8bd0 100644 --- a/source/gui/widgets/spinbox.cpp +++ b/source/gui/widgets/spinbox.cpp @@ -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(); diff --git a/source/gui/widgets/tabbar.cpp b/source/gui/widgets/tabbar.cpp index 8aa7037e..9e1c05e0 100644 --- a/source/gui/widgets/tabbar.cpp +++ b/source/gui/widgets/tabbar.cpp @@ -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); diff --git a/source/gui/widgets/textbox.cpp b/source/gui/widgets/textbox.cpp index a4d4d499..8fedd8eb 100644 --- a/source/gui/widgets/textbox.cpp +++ b/source/gui/widgets/textbox.cpp @@ -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(); diff --git a/source/gui/wvl.cpp b/source/gui/wvl.cpp index 1b475c80..6877ef41 100644 --- a/source/gui/wvl.cpp +++ b/source/gui/wvl.cpp @@ -82,8 +82,12 @@ namespace nana if (t.joinable()) t.join(); - #else - pump(); + #else + static_cast(wait); + static_cast(wait_end); + static_cast(f); //to eliminte unused parameter compiler warning. + + pump(); #endif } }//end namespace nana diff --git a/source/paint/graphics.cpp b/source/paint/graphics.cpp index 07153126..57d8138f 100644 --- a/source/paint/graphics.cpp +++ b/source/paint/graphics.cpp @@ -867,7 +867,7 @@ namespace paint ::DeleteObject(hBmp); ::DeleteDC(hdcMem); #elif defined(NANA_X11) - + static_cast(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(radius_x); + static_cast(radius_y); #endif } } diff --git a/source/paint/image.cpp b/source/paint/image.cpp index f14de479..3d23e3f5 100644 --- a/source/paint/image.cpp +++ b/source/paint/image.cpp @@ -73,7 +73,8 @@ namespace paint return true; } #else - if(is_ico_){} //kill the unused compiler warning in Linux. + static_cast(is_ico_); //eliminate the unused compiler warning in Linux. + static_cast(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(is_ico_); //kill the unused compiler warning in Linux. + static_cast(data); //to eliminate unused parameter compiler warning. + static_cast(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(src_r); //eliminate unused parameter compiler warning. + static_cast(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(r); //eliminate unused parameter compiler warning. #endif } } diff --git a/source/paint/pixel_buffer.cpp b/source/paint/pixel_buffer.cpp index c3330c8d..574c8951 100644 --- a/source/paint/pixel_buffer.cpp +++ b/source/paint/pixel_buffer.cpp @@ -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; diff --git a/source/system/dataexch.cpp b/source/system/dataexch.cpp index 992a76d3..d229dea0 100644 --- a/source/system/dataexch.cpp +++ b/source/system/dataexch.cpp @@ -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(g); //eliminate unused parameter compiler warning. throw "not implemented yet."; return false; #endif diff --git a/source/system/platform.cpp b/source/system/platform.cpp index 042c5892..092c53e5 100644 --- a/source/system/platform.cpp +++ b/source/system/platform.cpp @@ -93,6 +93,7 @@ namespace system return (::GetAsyncKeyState(button) != 0); #elif defined(NANA_LINUX) || defined(NANA_MACOS) + static_cast(button); //eliminate unused parameter compiler warning. return false; #endif } diff --git a/source/system/shared_wrapper.cpp b/source/system/shared_wrapper.cpp index dce6d621..124f2822 100644 --- a/source/system/shared_wrapper.cpp +++ b/source/system/shared_wrapper.cpp @@ -54,7 +54,7 @@ namespace system ::FreeLibrary(reinterpret_cast(handle)); #endif } - }; //end struct shared_helper + } //end namespace shared_helper }//end namespace detail diff --git a/source/unicode_bidi.cpp b/source/unicode_bidi.cpp index 5ef940ec..f92bd5ee 100644 --- a/source/unicode_bidi.cpp +++ b/source/unicode_bidi.cpp @@ -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 & reordered) + void unicode_bidi::_m_reordering_resolved_levels(std::vector & reordered) { reordered = levels_;