Merge branch 'hotfix-1.2' into prepare-utf8
This commit is contained in:
commit
689738acb1
@ -49,14 +49,16 @@
|
|||||||
<Unit filename="../../source/charset.cpp" />
|
<Unit filename="../../source/charset.cpp" />
|
||||||
<Unit filename="../../source/datetime.cpp" />
|
<Unit filename="../../source/datetime.cpp" />
|
||||||
<Unit filename="../../source/deploy.cpp" />
|
<Unit filename="../../source/deploy.cpp" />
|
||||||
<Unit filename="../../source/detail/platform_spec_selector.cpp" />
|
<Unit filename="../../source/detail/platform_spec_posix.cpp" />
|
||||||
|
<Unit filename="../../source/detail/platform_spec_windows.cpp" />
|
||||||
<Unit filename="../../source/filesystem/file_iterator.cpp" />
|
<Unit filename="../../source/filesystem/file_iterator.cpp" />
|
||||||
<Unit filename="../../source/filesystem/fs_utility.cpp" />
|
<Unit filename="../../source/filesystem/fs_utility.cpp" />
|
||||||
<Unit filename="../../source/gui/animation.cpp" />
|
<Unit filename="../../source/gui/animation.cpp" />
|
||||||
<Unit filename="../../source/gui/basis.cpp" />
|
<Unit filename="../../source/gui/basis.cpp" />
|
||||||
<Unit filename="../../source/gui/detail/basic_window.cpp" />
|
<Unit filename="../../source/gui/detail/basic_window.cpp" />
|
||||||
<Unit filename="../../source/gui/detail/bedrock_pi.cpp" />
|
<Unit filename="../../source/gui/detail/bedrock_pi.cpp" />
|
||||||
<Unit filename="../../source/gui/detail/bedrock_selector.cpp" />
|
<Unit filename="../../source/gui/detail/bedrock_posix.cpp" />
|
||||||
|
<Unit filename="../../source/gui/detail/bedrock_windows.cpp" />
|
||||||
<Unit filename="../../source/gui/detail/color_schemes.cpp" />
|
<Unit filename="../../source/gui/detail/color_schemes.cpp" />
|
||||||
<Unit filename="../../source/gui/detail/drawer.cpp" />
|
<Unit filename="../../source/gui/detail/drawer.cpp" />
|
||||||
<Unit filename="../../source/gui/detail/element_store.cpp" />
|
<Unit filename="../../source/gui/detail/element_store.cpp" />
|
||||||
|
|||||||
@ -187,7 +187,7 @@
|
|||||||
<ClCompile Include="..\..\source\charset.cpp" />
|
<ClCompile Include="..\..\source\charset.cpp" />
|
||||||
<ClCompile Include="..\..\source\datetime.cpp" />
|
<ClCompile Include="..\..\source\datetime.cpp" />
|
||||||
<ClCompile Include="..\..\source\deploy.cpp" />
|
<ClCompile Include="..\..\source\deploy.cpp" />
|
||||||
<ClCompile Include="..\..\source\detail\win32\platform_spec.cpp" />
|
<ClCompile Include="..\..\source\detail\platform_spec_windows.cpp" />
|
||||||
<ClCompile Include="..\..\source\filesystem\filesystem.cpp" />
|
<ClCompile Include="..\..\source\filesystem\filesystem.cpp" />
|
||||||
<ClCompile Include="..\..\source\filesystem\file_iterator.cpp" />
|
<ClCompile Include="..\..\source\filesystem\file_iterator.cpp" />
|
||||||
<ClCompile Include="..\..\source\filesystem\fs_utility.cpp" />
|
<ClCompile Include="..\..\source\filesystem\fs_utility.cpp" />
|
||||||
@ -195,12 +195,12 @@
|
|||||||
<ClCompile Include="..\..\source\gui\basis.cpp" />
|
<ClCompile Include="..\..\source\gui\basis.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\basic_window.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\basic_window.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\bedrock_pi.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\bedrock_pi.cpp" />
|
||||||
|
<ClCompile Include="..\..\source\gui\detail\bedrock_windows.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\color_schemes.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\color_schemes.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\drawer.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\drawer.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\element_store.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\element_store.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\events_operation.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\events_operation.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\native_window_interface.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\native_window_interface.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\win32\bedrock.cpp" />
|
|
||||||
<ClCompile Include="..\..\source\gui\detail\window_layout.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\window_layout.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\window_manager.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\window_manager.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\dragger.cpp" />
|
<ClCompile Include="..\..\source\gui\dragger.cpp" />
|
||||||
|
|||||||
@ -25,9 +25,6 @@
|
|||||||
<Filter Include="Source Files\nana\detail">
|
<Filter Include="Source Files\nana\detail">
|
||||||
<UniqueIdentifier>{e2569be2-9e68-477d-8b59-e248595de6c7}</UniqueIdentifier>
|
<UniqueIdentifier>{e2569be2-9e68-477d-8b59-e248595de6c7}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Source Files\nana\detail\win32">
|
|
||||||
<UniqueIdentifier>{52ed7f8e-fa48-495e-af1f-4df013205a35}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Source Files\nana\filesystem">
|
<Filter Include="Source Files\nana\filesystem">
|
||||||
<UniqueIdentifier>{87d14798-9015-4162-b9ab-72c741cff063}</UniqueIdentifier>
|
<UniqueIdentifier>{87d14798-9015-4162-b9ab-72c741cff063}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
@ -37,9 +34,6 @@
|
|||||||
<Filter Include="Source Files\nana\gui\detail">
|
<Filter Include="Source Files\nana\gui\detail">
|
||||||
<UniqueIdentifier>{85c9c1bb-d87b-4481-bf3c-7425f680a12d}</UniqueIdentifier>
|
<UniqueIdentifier>{85c9c1bb-d87b-4481-bf3c-7425f680a12d}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Source Files\nana\gui\detail\win32">
|
|
||||||
<UniqueIdentifier>{8058b530-86ec-4d72-890d-345aa30db056}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Source Files\nana\gui\widgets">
|
<Filter Include="Source Files\nana\gui\widgets">
|
||||||
<UniqueIdentifier>{87b124cb-408d-460b-a81b-8a788bbae0d9}</UniqueIdentifier>
|
<UniqueIdentifier>{87b124cb-408d-460b-a81b-8a788bbae0d9}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
@ -114,9 +108,6 @@
|
|||||||
<ClCompile Include="..\..\source\audio\player.cpp">
|
<ClCompile Include="..\..\source\audio\player.cpp">
|
||||||
<Filter>Source Files\nana\audio</Filter>
|
<Filter>Source Files\nana\audio</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\source\detail\win32\platform_spec.cpp">
|
|
||||||
<Filter>Source Files\nana\detail\win32</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\source\filesystem\filesystem.cpp">
|
<ClCompile Include="..\..\source\filesystem\filesystem.cpp">
|
||||||
<Filter>Source Files\nana\filesystem</Filter>
|
<Filter>Source Files\nana\filesystem</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@ -126,9 +117,6 @@
|
|||||||
<ClCompile Include="..\..\source\filesystem\fs_utility.cpp">
|
<ClCompile Include="..\..\source\filesystem\fs_utility.cpp">
|
||||||
<Filter>Source Files\nana\filesystem</Filter>
|
<Filter>Source Files\nana\filesystem</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\source\gui\detail\win32\bedrock.cpp">
|
|
||||||
<Filter>Source Files\nana\gui\detail\win32</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\source\gui\detail\basic_window.cpp">
|
<ClCompile Include="..\..\source\gui\detail\basic_window.cpp">
|
||||||
<Filter>Source Files\nana\gui\detail</Filter>
|
<Filter>Source Files\nana\gui\detail</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@ -339,6 +327,12 @@
|
|||||||
<ClCompile Include="..\..\source\gui\widgets\spinbox.cpp">
|
<ClCompile Include="..\..\source\gui\widgets\spinbox.cpp">
|
||||||
<Filter>Source Files\nana\gui\widgets</Filter>
|
<Filter>Source Files\nana\gui\widgets</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\source\detail\platform_spec_windows.cpp">
|
||||||
|
<Filter>Source Files\nana\detail</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\source\gui\detail\bedrock_windows.cpp">
|
||||||
|
<Filter>Source Files\nana\gui\detail</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\source\gui\widgets\group.cpp">
|
<ClCompile Include="..\..\source\gui\widgets\group.cpp">
|
||||||
|
|||||||
@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
|||||||
# Visual Studio 14
|
# Visual Studio 14
|
||||||
VisualStudioVersion = 14.0.23107.0
|
VisualStudioVersion = 14.0.23107.0
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nana", "nana.vcxproj", "{98091380-2EC4-44B4-82A2-F0A6393BA908}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nana", "nana.vcxproj", "{25B21068-491B-4A9F-B99F-6C27BF31BAAD}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
@ -13,14 +13,14 @@ Global
|
|||||||
Release|x86 = Release|x86
|
Release|x86 = Release|x86
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Debug|x64.ActiveCfg = Debug|x64
|
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Debug|x64.Build.0 = Debug|x64
|
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Debug|x64.Build.0 = Debug|x64
|
||||||
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Debug|x86.ActiveCfg = Debug|Win32
|
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Debug|x86.Build.0 = Debug|Win32
|
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Debug|x86.Build.0 = Debug|Win32
|
||||||
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Release|x64.ActiveCfg = Release|x64
|
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Release|x64.ActiveCfg = Release|x64
|
||||||
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Release|x64.Build.0 = Release|x64
|
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Release|x64.Build.0 = Release|x64
|
||||||
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Release|x86.ActiveCfg = Release|Win32
|
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Release|x86.ActiveCfg = Release|Win32
|
||||||
{98091380-2EC4-44B4-82A2-F0A6393BA908}.Release|x86.Build.0 = Release|Win32
|
{25B21068-491B-4A9F-B99F-6C27BF31BAAD}.Release|x86.Build.0 = Release|Win32
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
@ -181,7 +181,7 @@
|
|||||||
<ClCompile Include="..\..\source\charset.cpp" />
|
<ClCompile Include="..\..\source\charset.cpp" />
|
||||||
<ClCompile Include="..\..\source\datetime.cpp" />
|
<ClCompile Include="..\..\source\datetime.cpp" />
|
||||||
<ClCompile Include="..\..\source\deploy.cpp" />
|
<ClCompile Include="..\..\source\deploy.cpp" />
|
||||||
<ClCompile Include="..\..\source\detail\win32\platform_spec.cpp" />
|
<ClCompile Include="..\..\source\detail\platform_spec_windows.cpp" />
|
||||||
<ClCompile Include="..\..\source\filesystem\filesystem.cpp" />
|
<ClCompile Include="..\..\source\filesystem\filesystem.cpp" />
|
||||||
<ClCompile Include="..\..\source\filesystem\file_iterator.cpp" />
|
<ClCompile Include="..\..\source\filesystem\file_iterator.cpp" />
|
||||||
<ClCompile Include="..\..\source\filesystem\fs_utility.cpp" />
|
<ClCompile Include="..\..\source\filesystem\fs_utility.cpp" />
|
||||||
@ -189,12 +189,12 @@
|
|||||||
<ClCompile Include="..\..\source\gui\basis.cpp" />
|
<ClCompile Include="..\..\source\gui\basis.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\basic_window.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\basic_window.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\bedrock_pi.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\bedrock_pi.cpp" />
|
||||||
|
<ClCompile Include="..\..\source\gui\detail\bedrock_windows.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\color_schemes.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\color_schemes.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\drawer.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\drawer.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\element_store.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\element_store.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\events_operation.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\events_operation.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\native_window_interface.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\native_window_interface.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\win32\bedrock.cpp" />
|
|
||||||
<ClCompile Include="..\..\source\gui\detail\window_layout.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\window_layout.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\detail\window_manager.cpp" />
|
<ClCompile Include="..\..\source\gui\detail\window_manager.cpp" />
|
||||||
<ClCompile Include="..\..\source\gui\dragger.cpp" />
|
<ClCompile Include="..\..\source\gui\dragger.cpp" />
|
||||||
|
|||||||
@ -37,18 +37,12 @@
|
|||||||
<Filter Include="Source Files\audio\detail">
|
<Filter Include="Source Files\audio\detail">
|
||||||
<UniqueIdentifier>{b3023f5e-2759-409d-b6e8-5ef2fe6601ae}</UniqueIdentifier>
|
<UniqueIdentifier>{b3023f5e-2759-409d-b6e8-5ef2fe6601ae}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Source Files\detail\win32">
|
|
||||||
<UniqueIdentifier>{2ce139f3-ef8e-48b7-a82a-68003eac75da}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Source Files\gui\detail">
|
<Filter Include="Source Files\gui\detail">
|
||||||
<UniqueIdentifier>{b9f9a5a8-fd1a-4b99-b530-d8a4c45e62ec}</UniqueIdentifier>
|
<UniqueIdentifier>{b9f9a5a8-fd1a-4b99-b530-d8a4c45e62ec}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Source Files\gui\widgets">
|
<Filter Include="Source Files\gui\widgets">
|
||||||
<UniqueIdentifier>{4b04c197-4a1e-41f9-bfa3-d82c18bcad51}</UniqueIdentifier>
|
<UniqueIdentifier>{4b04c197-4a1e-41f9-bfa3-d82c18bcad51}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Source Files\gui\detail\win32">
|
|
||||||
<UniqueIdentifier>{cd6e7f3f-fe5b-44c6-ae8d-15554f926055}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Source Files\gui\widgets\skeletons">
|
<Filter Include="Source Files\gui\widgets\skeletons">
|
||||||
<UniqueIdentifier>{60f588f2-bdb9-4b1d-9e23-40a73f327283}</UniqueIdentifier>
|
<UniqueIdentifier>{60f588f2-bdb9-4b1d-9e23-40a73f327283}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
@ -93,9 +87,6 @@
|
|||||||
<ClCompile Include="..\..\source\audio\player.cpp">
|
<ClCompile Include="..\..\source\audio\player.cpp">
|
||||||
<Filter>Source Files\audio</Filter>
|
<Filter>Source Files\audio</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\source\detail\win32\platform_spec.cpp">
|
|
||||||
<Filter>Source Files\detail\win32</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\source\filesystem\file_iterator.cpp">
|
<ClCompile Include="..\..\source\filesystem\file_iterator.cpp">
|
||||||
<Filter>Source Files\filesystem</Filter>
|
<Filter>Source Files\filesystem</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@ -132,9 +123,6 @@
|
|||||||
<ClCompile Include="..\..\source\gui\detail\window_manager.cpp">
|
<ClCompile Include="..\..\source\gui\detail\window_manager.cpp">
|
||||||
<Filter>Source Files\gui\detail</Filter>
|
<Filter>Source Files\gui\detail</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\source\gui\detail\win32\bedrock.cpp">
|
|
||||||
<Filter>Source Files\gui\detail\win32</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\source\gui\widgets\skeletons\text_editor.cpp">
|
<ClCompile Include="..\..\source\gui\widgets\skeletons\text_editor.cpp">
|
||||||
<Filter>Source Files\gui\widgets\skeletons</Filter>
|
<Filter>Source Files\gui\widgets\skeletons</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@ -294,5 +282,11 @@
|
|||||||
<ClCompile Include="..\..\source\paint\text_renderer.cpp">
|
<ClCompile Include="..\..\source\paint\text_renderer.cpp">
|
||||||
<Filter>Source Files\paint</Filter>
|
<Filter>Source Files\paint</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\source\detail\platform_spec_windows.cpp">
|
||||||
|
<Filter>Source Files\detail</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\source\gui\detail\bedrock_windows.cpp">
|
||||||
|
<Filter>Source Files\gui\detail</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@ -18,12 +18,43 @@
|
|||||||
// Windows:
|
// Windows:
|
||||||
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||||
|
|
||||||
#define NANA_WINDOWS 1
|
#define NANA_WINDOWS
|
||||||
|
|
||||||
// compilers in Windows...
|
// MINGW ...
|
||||||
|
#if defined(__MINGW32__) || defined(__MINGW64__) || defined(MINGW)
|
||||||
|
#define NANA_MINGW
|
||||||
|
#endif // MINGW
|
||||||
|
|
||||||
// MSVC++ versions
|
// end Windows
|
||||||
#if defined(_MSC_VER)
|
|
||||||
|
|
||||||
|
// MacOS: who define APPLE ??
|
||||||
|
//#define APPLE
|
||||||
|
#elif defined(APPLE)
|
||||||
|
#define NANA_MACOS
|
||||||
|
#define NANA_X11
|
||||||
|
// how to add this: include_directories(/opt/X11/include/)
|
||||||
|
// end MacOS
|
||||||
|
|
||||||
|
// Linux: (not sure about __GNU__ ??)
|
||||||
|
#elif (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
|
||||||
|
#define NANA_LINUX
|
||||||
|
#define NANA_X11
|
||||||
|
// end Linux
|
||||||
|
#else
|
||||||
|
# static_assert(false, "Only Windows and Unix are supported now (Mac OS is experimental)");
|
||||||
|
#endif // Select platform
|
||||||
|
|
||||||
|
#if defined(NANA_LINUX) || defined(NANA_MACOS)
|
||||||
|
#define NANA_POSIX
|
||||||
|
#undef NANA_WINDOWS
|
||||||
|
#endif
|
||||||
|
// End Select platform ......
|
||||||
|
|
||||||
|
// compilers ...
|
||||||
|
|
||||||
|
// MSVC++ versions
|
||||||
|
#if defined(_MSC_VER)
|
||||||
#define _SCL_SECURE_NO_WARNNGS
|
#define _SCL_SECURE_NO_WARNNGS
|
||||||
#define _CRT_SECURE_NO_DEPRECATE
|
#define _CRT_SECURE_NO_DEPRECATE
|
||||||
#pragma warning(disable : 4996)
|
#pragma warning(disable : 4996)
|
||||||
@ -36,73 +67,44 @@
|
|||||||
// google: That's a known issue, tracked by an active bug (DevDiv#1060849). We were able to update the STL's headers in response to char16_t/char32_t, but we still need to update the separately compiled sources.
|
// google: That's a known issue, tracked by an active bug (DevDiv#1060849). We were able to update the STL's headers in response to char16_t/char32_t, but we still need to update the separately compiled sources.
|
||||||
#define STD_CODECVT_NOT_SUPPORTED
|
#define STD_CODECVT_NOT_SUPPORTED
|
||||||
#endif // _MSC_VER == 1900
|
#endif // _MSC_VER == 1900
|
||||||
#endif // _MSVC
|
#endif // _MSVC
|
||||||
|
|
||||||
// MINGW ...
|
#if defined(__clang__)
|
||||||
#if defined(__MINGW32__) || defined(__MINGW64__) || defined(MINGW)
|
#if defined(__GLIBCPP__) || defined(__GLIBCXX__)
|
||||||
#define NANA_MINGW
|
//<codecvt> is a known issue on libstdc++, it works on libc++
|
||||||
//#define STD_THREAD_NOT_SUPPORTED // don't works? why? where __GNUC__, etc. are set? by CLion ??
|
|
||||||
//Use this flag if MinGW version is older than 4.8.1
|
|
||||||
#if ((__GNUC__ == 4) && ((__GNUC_MINOR__ < 8) || (__GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ < 2)))
|
|
||||||
// don't works? why? where __GNUC__, etc. are set? by CLion ??
|
|
||||||
// ??
|
|
||||||
#define UNDEFINED_to_string
|
|
||||||
|
|
||||||
// https://github.com/meganz/mingw-std-threads
|
|
||||||
#define STD_THREAD_NOT_SUPPORTED
|
|
||||||
#define USE_github_com_meganz_mingw_std_threads
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // MINGW
|
|
||||||
|
|
||||||
// end Windows
|
|
||||||
|
|
||||||
|
|
||||||
// MacOS: who define APPLE ??
|
|
||||||
//#define APPLE
|
|
||||||
#elif defined(APPLE)
|
|
||||||
#define NANA_MACOS 1
|
|
||||||
#define NANA_X11 1
|
|
||||||
// how to add this: include_directories(/opt/X11/include/)
|
|
||||||
// end MacOS
|
|
||||||
|
|
||||||
// Linux: (not sure about __GNU__ ??)
|
|
||||||
#elif (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
|
|
||||||
#define NANA_LINUX 1
|
|
||||||
#define NANA_X11 1
|
|
||||||
// end Linux
|
|
||||||
|
|
||||||
|
|
||||||
#else
|
|
||||||
# static_assert(false, "Only Windows and Unix are supported now (Mac OS is experimental)");
|
|
||||||
#endif // Select platform
|
|
||||||
|
|
||||||
#if defined(NANA_LINUX) || defined(NANA_MACOS)
|
|
||||||
#undef NANA_WINDOWS
|
|
||||||
#endif
|
|
||||||
// End Select platform ......
|
|
||||||
|
|
||||||
// compilers ...
|
|
||||||
|
|
||||||
// temp
|
|
||||||
//#define STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED // don't works?
|
|
||||||
//#define STD_CODECVT_NOT_SUPPORTED
|
|
||||||
|
|
||||||
// GCC ...
|
|
||||||
#if defined(__GNU__)
|
|
||||||
#if (__GNUC__ == 4) && (__GNUC_MINOR__ == 8) && (__GNUC_PATCHLEVEL__ <= 1)
|
|
||||||
// don't works?
|
|
||||||
|
|
||||||
//GCC 4.7.0 does not implement the <codecvt> and codecvt_utfx classes ??
|
|
||||||
#define STD_CODECVT_NOT_SUPPORTED
|
#define STD_CODECVT_NOT_SUPPORTED
|
||||||
|
#endif
|
||||||
|
|
||||||
//Some functions which are specified in 21.5 Numeric conversions in Strings library have not yet implemented
|
#elif defined(__GNUC__) //GCC
|
||||||
|
#if defined(__GLIBCPP__) || defined(__GLIBCXX__)
|
||||||
|
//<codecvt> is a known issue on libstdc++, it works on libc++
|
||||||
|
#define STD_CODECVT_NOT_SUPPORTED
|
||||||
|
#endif
|
||||||
|
|
||||||
//Implement workarounds for GCC/MinGW which version is below 4.8.2
|
#if (__GNUC__ == 4)
|
||||||
|
#if ((__GNUC_MINOR__ < 8) || (__GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ < 1))
|
||||||
|
#define STD_THREAD_NOT_SUPPORTED
|
||||||
|
|
||||||
|
//boost.thread is preferred
|
||||||
|
//but if USE_github_com_meganz_mingw_std_threads is enabled,
|
||||||
|
//boost.thread will be replaced with meganz's mingw-std-threads.
|
||||||
|
// https://github.com/meganz/mingw-std-threads
|
||||||
|
//#define USE_github_com_meganz_mingw_std_threads
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(NANA_MINGW)
|
||||||
|
//It's a known issue under MinGW
|
||||||
#define STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED
|
#define STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED
|
||||||
#endif
|
#endif
|
||||||
#endif // GCC
|
|
||||||
|
#if ((__GNUC_MINOR__ < 8) || defined(NANA_MINGW))
|
||||||
|
#define STD_TO_STRING_NOT_SUPPORTED
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// End compilers ...
|
// End compilers ...
|
||||||
|
|
||||||
|
|
||||||
@ -115,7 +117,7 @@
|
|||||||
//#define NANA_ENABLE_PNG //!
|
//#define NANA_ENABLE_PNG //!
|
||||||
//#define USE_LIBPNG_FROM_OS // Un-Comment it to use libpng from operating system.
|
//#define USE_LIBPNG_FROM_OS // Un-Comment it to use libpng from operating system.
|
||||||
#if defined(NANA_ENABLE_PNG)
|
#if defined(NANA_ENABLE_PNG)
|
||||||
#if not defined(USE_LIBPNG_FROM_OS)
|
#if !defined(USE_LIBPNG_FROM_OS)
|
||||||
#define NANA_LIBPNG
|
#define NANA_LIBPNG
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
@ -127,7 +129,7 @@
|
|||||||
//#define NANA_ENABLE_JPEG //!
|
//#define NANA_ENABLE_JPEG //!
|
||||||
//#define USE_LIBJPEG_FROM_OS // Un-Comment it to use libjpeg from operating system.
|
//#define USE_LIBJPEG_FROM_OS // Un-Comment it to use libjpeg from operating system.
|
||||||
#if defined(NANA_ENABLE_JPEG)
|
#if defined(NANA_ENABLE_JPEG)
|
||||||
#if not defined(USE_LIBJPEG_FROM_OS)
|
#if !defined(USE_LIBJPEG_FROM_OS)
|
||||||
#define NANA_LIBJPEG
|
#define NANA_LIBJPEG
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -56,8 +56,23 @@ namespace std
|
|||||||
//Workaround for no implemenation of std::stoull in MinGW.
|
//Workaround for no implemenation of std::stoull in MinGW.
|
||||||
unsigned long long stoull(const std::string&, std::size_t* pos = nullptr, int base = 10);
|
unsigned long long stoull(const std::string&, std::size_t* pos = nullptr, int base = 10);
|
||||||
unsigned long long stoull(const std::wstring&, std::size_t* pos = nullptr, int base = 10);
|
unsigned long long stoull(const std::wstring&, std::size_t* pos = nullptr, int base = 10);
|
||||||
|
}
|
||||||
|
#endif //STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED
|
||||||
|
|
||||||
|
#ifdef STD_TO_STRING_NOT_SUPPORTED
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
//Workaround for no implemenation of std::to_string/std::to_wstring in MinGW.
|
||||||
|
std::string to_string(long double);
|
||||||
|
std::string to_string(double);
|
||||||
|
std::string to_string(unsigned);
|
||||||
|
std::string to_string(int);
|
||||||
|
std::string to_string(long);
|
||||||
|
std::string to_string(unsigned long);
|
||||||
|
std::string to_string(long long);
|
||||||
|
std::string to_string(unsigned long long);
|
||||||
|
std::string to_string(float);
|
||||||
|
|
||||||
//Workaround for no implemenation of std::to_wstring in MinGW.
|
|
||||||
std::wstring to_wstring(long double);
|
std::wstring to_wstring(long double);
|
||||||
std::wstring to_wstring(double);
|
std::wstring to_wstring(double);
|
||||||
std::wstring to_wstring(unsigned);
|
std::wstring to_wstring(unsigned);
|
||||||
|
|||||||
@ -38,8 +38,8 @@ namespace filesystem
|
|||||||
fileinfo();
|
fileinfo();
|
||||||
#ifdef NANA_WINDOWS
|
#ifdef NANA_WINDOWS
|
||||||
fileinfo(const WIN32_FIND_DATA& wfd);
|
fileinfo(const WIN32_FIND_DATA& wfd);
|
||||||
#elif NANA_LINUX or NANA_MACOS
|
#elif defined(NANA_POSIX)
|
||||||
fileinfo(const ::std::string& filename, const struct stat &);
|
fileinfo(const nana::string& filename, const struct stat &);
|
||||||
#endif
|
#endif
|
||||||
::std::string name;
|
::std::string name;
|
||||||
|
|
||||||
|
|||||||
@ -228,18 +228,6 @@ namespace nana
|
|||||||
this->create(wd, rectangle(), visible);
|
this->create(wd, rectangle(), visible);
|
||||||
}
|
}
|
||||||
|
|
||||||
tabbar(window wd, const nana::char_t* text, bool visible)
|
|
||||||
: tabbar(wd, ::nana::string(text), visible)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
tabbar(window wd, const nana::string& text, bool visible)
|
|
||||||
: tabbar()
|
|
||||||
{
|
|
||||||
this->create(wd, rectangle(), visible);
|
|
||||||
this->caption(text);
|
|
||||||
}
|
|
||||||
|
|
||||||
tabbar(window wd, const rectangle& r = rectangle(), bool visible = true)
|
tabbar(window wd, const rectangle& r = rectangle(), bool visible = true)
|
||||||
: tabbar()
|
: tabbar()
|
||||||
{
|
{
|
||||||
@ -256,7 +244,7 @@ namespace nana
|
|||||||
return static_cast<value_type&>(this->get_drawer_trigger().at_no_bound_check(pos));
|
return static_cast<value_type&>(this->get_drawer_trigger().at_no_bound_check(pos));
|
||||||
}
|
}
|
||||||
|
|
||||||
void activate(std::size_t pos) /// Activates a tab specified by i.
|
void activated(std::size_t pos) /// Activates a tab specified by pos.
|
||||||
{
|
{
|
||||||
this->get_drawer_trigger().activate(pos);
|
this->get_drawer_trigger().activate(pos);
|
||||||
}
|
}
|
||||||
@ -266,9 +254,9 @@ namespace nana
|
|||||||
return this->get_drawer_trigger().activated();
|
return this->get_drawer_trigger().activated();
|
||||||
}
|
}
|
||||||
|
|
||||||
value_type & at(std::size_t i) const /// Returns i'th element
|
value_type & at(std::size_t pos) const /// Returns pos'th element
|
||||||
{
|
{
|
||||||
return static_cast<value_type&>(this->get_drawer_trigger().at(i));
|
return static_cast<value_type&>(this->get_drawer_trigger().at(pos));
|
||||||
}
|
}
|
||||||
|
|
||||||
void close_fly(bool fly) /// Draw or not a close button in each tab.
|
void close_fly(bool fly) /// Draw or not a close button in each tab.
|
||||||
@ -277,12 +265,12 @@ namespace nana
|
|||||||
API::refresh_window(this->handle());
|
API::refresh_window(this->handle());
|
||||||
}
|
}
|
||||||
|
|
||||||
pat::cloneable<item_renderer>& ext_renderer() const
|
pat::cloneable<item_renderer>& renderer() const
|
||||||
{
|
{
|
||||||
return this->get_drawer_trigger().ext_renderer();
|
return this->get_drawer_trigger().ext_renderer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ext_renderer(const pat::cloneable<item_renderer>& ir)
|
void renderer(const pat::cloneable<item_renderer>& ir)
|
||||||
{
|
{
|
||||||
this->get_drawer_trigger().ext_renderer(ir);
|
this->get_drawer_trigger().ext_renderer(ir);
|
||||||
}
|
}
|
||||||
@ -292,14 +280,14 @@ namespace nana
|
|||||||
return this->get_drawer_trigger().length();
|
return this->get_drawer_trigger().length();
|
||||||
}
|
}
|
||||||
|
|
||||||
void append(const std::string& text, window attach_wd, value_type value = {})
|
tabbar& append(std::string text, window attach_wd, value_type value = {})
|
||||||
{
|
{
|
||||||
this->append(static_cast<std::wstring>(nana::charset(text, nana::unicode::utf8)), attach_wd);
|
return this->append(static_cast<std::wstring>(nana::charset(text, nana::unicode::utf8)), attach_wd);
|
||||||
}
|
}
|
||||||
|
|
||||||
void append(const std::wstring& text, window attach_wd, value_type value = {})
|
tabbar& append(std::wstring text, window attach_wd, value_type value = {})
|
||||||
{
|
{
|
||||||
this->get_drawer_trigger().insert(::nana::npos, std::wstring(text), std::move(value));
|
this->get_drawer_trigger().insert(::nana::npos, std::move(text), std::move(value));
|
||||||
if (attach_wd)
|
if (attach_wd)
|
||||||
{
|
{
|
||||||
auto pos = this->get_drawer_trigger().length();
|
auto pos = this->get_drawer_trigger().length();
|
||||||
@ -307,6 +295,7 @@ namespace nana
|
|||||||
}
|
}
|
||||||
|
|
||||||
API::update_window(*this);
|
API::update_window(*this);
|
||||||
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void push_back(nana::string text) /// Append a new item.
|
void push_back(nana::string text) /// Append a new item.
|
||||||
@ -315,17 +304,17 @@ namespace nana
|
|||||||
API::update_window(*this);
|
API::update_window(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void insert(std::size_t pos, const std::string& text, const value_type& value = {})
|
void insert(std::size_t pos, std::string text, value_type value = {})
|
||||||
{
|
{
|
||||||
this->insert(pos, static_cast<std::wstring>(nana::charset(text, nana::unicode::utf8)), value);
|
return this->insert(pos, static_cast<std::wstring>(nana::charset(text, nana::unicode::utf8)), std::move(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
void insert(std::size_t pos, const std::wstring& text, const value_type& value = {})
|
void insert(std::size_t pos, std::wstring text, value_type value = {})
|
||||||
{
|
{
|
||||||
if (pos > length())
|
if (pos > length())
|
||||||
throw std::out_of_range("tabbar::insert invalid position");
|
throw std::out_of_range("tabbar::insert invalid position");
|
||||||
|
|
||||||
this->get_drawer_trigger().insert(pos, std::wstring(text), value_type(value));
|
this->get_drawer_trigger().insert(pos, std::move(text), std::move(value));
|
||||||
API::update_window(*this);
|
API::update_window(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -345,19 +334,19 @@ namespace nana
|
|||||||
this->get_drawer_trigger().erase(pos);
|
this->get_drawer_trigger().erase(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tab_bgcolor(std::size_t i, const ::nana::color& clr)
|
void tab_bgcolor(std::size_t pos, const ::nana::color& clr)
|
||||||
{
|
{
|
||||||
this->get_drawer_trigger().tab_color(i, true, clr);
|
this->get_drawer_trigger().tab_color(pos, true, clr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tab_fgcolor(std::size_t i, const ::nana::color& clr)
|
void tab_fgcolor(std::size_t pos, const ::nana::color& clr)
|
||||||
{
|
{
|
||||||
this->get_drawer_trigger().tab_color(i, false, clr);
|
this->get_drawer_trigger().tab_color(pos, false, clr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tab_image(std::size_t i, const nana::paint::image& img)
|
void tab_image(std::size_t pos, const nana::paint::image& img)
|
||||||
{
|
{
|
||||||
this->get_drawer_trigger().tab_image(i, img);
|
this->get_drawer_trigger().tab_image(pos, img);
|
||||||
}
|
}
|
||||||
/// Sets buttons of the tabbar's toolbox, refer to notes for more details.
|
/// Sets buttons of the tabbar's toolbox, refer to notes for more details.
|
||||||
template<typename Add, typename Scroll, typename List, typename Close>
|
template<typename Add, typename Scroll, typename List, typename Close>
|
||||||
|
|||||||
@ -294,6 +294,74 @@ namespace std
|
|||||||
*pos = (std::size_t)(end - ptr);
|
*pos = (std::size_t)(end - ptr);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
}//end namespace std
|
||||||
|
#endif //STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED
|
||||||
|
|
||||||
|
#ifdef STD_TO_STRING_NOT_SUPPORTED
|
||||||
|
namespace std
|
||||||
|
{
|
||||||
|
std::string to_string(double v)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << v;
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string to_string(long double v)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << v;
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string to_string(unsigned v)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << v;
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string to_string(int v)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << v;
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string to_string(long v)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << v;
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string to_string(unsigned long v)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << v;
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string to_string(long long v)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << v;
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string to_string(unsigned long long v)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << v;
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string to_string(float v)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << v;
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
std::wstring to_wstring(double v)
|
std::wstring to_wstring(double v)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <nana/detail/platform_spec_selector.hpp>
|
#include <nana/detail/platform_spec_selector.hpp>
|
||||||
|
#if defined(NANA_POSIX) && defined(NANA_X11)
|
||||||
#include <X11/Xlocale.h>
|
#include <X11/Xlocale.h>
|
||||||
#include <locale>
|
#include <locale>
|
||||||
#include <map>
|
#include <map>
|
||||||
@ -28,7 +29,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#include "msg_dispatcher.hpp"
|
#include "x11/msg_dispatcher.hpp"
|
||||||
|
|
||||||
namespace nana
|
namespace nana
|
||||||
{
|
{
|
||||||
@ -1412,3 +1413,4 @@ namespace detail
|
|||||||
}
|
}
|
||||||
}//end namespace detail
|
}//end namespace detail
|
||||||
}//end namespace nana
|
}//end namespace nana
|
||||||
|
#endif //NANA_POSIX && NANA_X11
|
||||||
@ -1,22 +0,0 @@
|
|||||||
/*
|
|
||||||
* Platform Specification Selector
|
|
||||||
* Nana C++ Library(http://www.nanapro.org)
|
|
||||||
* Copyright(C) 2003-2014 Jinhao(cnjinhao@hotmail.com)
|
|
||||||
*
|
|
||||||
* Distributed under the Nana Software License, Version 1.0.
|
|
||||||
* (See accompanying file LICENSE_1_0.txt or copy at
|
|
||||||
* http://nanapro.org/LICENSE_1_0.txt)
|
|
||||||
*
|
|
||||||
* @file: nana/detail/platform_spec_selector.cpp
|
|
||||||
*
|
|
||||||
* This file is used to support the Nana project of some cross-platform IDE,
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <nana/config.hpp>
|
|
||||||
|
|
||||||
#if defined(NANA_WINDOWS)
|
|
||||||
#include "win32/platform_spec.cpp"
|
|
||||||
#elif defined(NANA_LINUX) || defined(NANA_MACOS)
|
|
||||||
#include "linux_X11/platform_spec.cpp"
|
|
||||||
#endif
|
|
||||||
@ -13,6 +13,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <nana/detail/platform_spec_selector.hpp>
|
#include <nana/detail/platform_spec_selector.hpp>
|
||||||
|
|
||||||
|
#if defined(NANA_WINDOWS)
|
||||||
|
|
||||||
#include <shellapi.h>
|
#include <shellapi.h>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
@ -290,3 +293,5 @@ namespace detail
|
|||||||
}
|
}
|
||||||
}//end namespace detail
|
}//end namespace detail
|
||||||
}//end namespace nana
|
}//end namespace nana
|
||||||
|
|
||||||
|
#endif //NANA_WINDOWS
|
||||||
@ -11,6 +11,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <nana/detail/platform_spec_selector.hpp>
|
#include <nana/detail/platform_spec_selector.hpp>
|
||||||
|
#if defined(NANA_POSIX) && defined(NANA_X11)
|
||||||
#include <nana/gui/detail/bedrock_pi_data.hpp>
|
#include <nana/gui/detail/bedrock_pi_data.hpp>
|
||||||
#include <nana/gui/detail/event_code.hpp>
|
#include <nana/gui/detail/event_code.hpp>
|
||||||
#include <nana/system/platform.hpp>
|
#include <nana/system/platform.hpp>
|
||||||
@ -468,8 +469,8 @@ namespace detail
|
|||||||
arg.right_button = ((Button2Mask & mask_state) != 0) || (::nana::mouse::right_button == arg.button);
|
arg.right_button = ((Button2Mask & mask_state) != 0) || (::nana::mouse::right_button == arg.button);
|
||||||
arg.mid_button = ((Button3Mask & mask_state) != 0) || (::nana::mouse::middle_button == arg.button);
|
arg.mid_button = ((Button3Mask & mask_state) != 0) || (::nana::mouse::middle_button == arg.button);
|
||||||
arg.alt = ((Mod1Mask & mask_state) != 0);
|
arg.alt = ((Mod1Mask & mask_state) != 0);
|
||||||
arg.shift = £¨(ShiftMask & mask_state) != 0);
|
arg.shift = ((ShiftMask & mask_state) != 0);
|
||||||
arg.ctrl = £¨(ControlMask & mask_state) != 0);
|
arg.ctrl = ((ControlMask & mask_state) != 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -833,7 +834,7 @@ namespace detail
|
|||||||
msgwnd->flags.action = mouse_action::over;
|
msgwnd->flags.action = mouse_action::over;
|
||||||
|
|
||||||
click_arg.window_handle = reinterpret_cast<window>(msgwnd);
|
click_arg.window_handle = reinterpret_cast<window>(msgwnd);
|
||||||
emit_drawer(&drawer::click, msgwnd, arg, &context);
|
emit_drawer(&drawer::click, msgwnd, click_arg, &context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1399,3 +1400,4 @@ namespace detail
|
|||||||
}
|
}
|
||||||
}//end namespace detail
|
}//end namespace detail
|
||||||
}//end namespace nana
|
}//end namespace nana
|
||||||
|
#endif //NANA_POSIX && NANA_X11
|
||||||
@ -1,23 +0,0 @@
|
|||||||
/*
|
|
||||||
* Bedrock Selector
|
|
||||||
* Nana C++ Library(http://www.nanapro.org)
|
|
||||||
* Copyright(C) 2003-2015 Jinhao(cnjinhao@hotmail.com)
|
|
||||||
*
|
|
||||||
* Distributed under the Nana Software License, Version 1.0.
|
|
||||||
* (See accompanying file LICENSE_1_0.txt or copy at
|
|
||||||
* http://nanapro.sourceforge.net/LICENSE_1_0.txt)
|
|
||||||
*
|
|
||||||
* @file: nana/gui/detail/bedrock_selector.cpp
|
|
||||||
*
|
|
||||||
* This file is used to support the Nana project of some cross-platform IDE,
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <nana/config.hpp>
|
|
||||||
|
|
||||||
#if defined(NANA_WINDOWS)
|
|
||||||
#include "win32/bedrock.cpp"
|
|
||||||
#elif defined(NANA_LINUX) || defined(NANA_MACOS)
|
|
||||||
#include "linux_X11/bedrock.cpp"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@ -12,6 +12,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <nana/detail/platform_spec_selector.hpp>
|
#include <nana/detail/platform_spec_selector.hpp>
|
||||||
|
#if defined(NANA_WINDOWS)
|
||||||
#include <nana/gui/detail/bedrock.hpp>
|
#include <nana/gui/detail/bedrock.hpp>
|
||||||
#include <nana/gui/detail/bedrock_pi_data.hpp>
|
#include <nana/gui/detail/bedrock_pi_data.hpp>
|
||||||
#include <nana/gui/detail/event_code.hpp>
|
#include <nana/gui/detail/event_code.hpp>
|
||||||
@ -1895,3 +1896,4 @@ namespace detail
|
|||||||
}
|
}
|
||||||
}//end namespace detail
|
}//end namespace detail
|
||||||
}//end namespace nana
|
}//end namespace nana
|
||||||
|
#endif //NANA_WINDOWS
|
||||||
@ -15,6 +15,7 @@
|
|||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
|
#include <nana/deploy.hpp>
|
||||||
#include <nana/gui/place.hpp>
|
#include <nana/gui/place.hpp>
|
||||||
#include <nana/gui/programming_interface.hpp>
|
#include <nana/gui/programming_interface.hpp>
|
||||||
#include <nana/gui/widgets/label.hpp>
|
#include <nana/gui/widgets/label.hpp>
|
||||||
@ -95,13 +96,7 @@ namespace nana
|
|||||||
|
|
||||||
std::string pos_str() const
|
std::string pos_str() const
|
||||||
{
|
{
|
||||||
#ifdef UNDEFINED_to_string
|
|
||||||
std::stringstream ss;
|
|
||||||
ss<<pos();
|
|
||||||
return ss.str();
|
|
||||||
#else
|
|
||||||
return std::to_string(pos());
|
return std::to_string(pos());
|
||||||
#endif // UNDEFINED_to_string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
token read()
|
token read()
|
||||||
|
|||||||
@ -605,17 +605,17 @@ namespace nana
|
|||||||
|
|
||||||
void attach(std::size_t pos, window wd)
|
void attach(std::size_t pos, window wd)
|
||||||
{
|
{
|
||||||
if(pos < list_.size())
|
if (pos >= list_.size())
|
||||||
{
|
throw std::out_of_range("tabbar: invalid position");
|
||||||
iterator_at(pos)->relative = wd;
|
|
||||||
API::show_window(wd, basis_.active == pos);
|
API::show_window(wd, basis_.active == pos);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
bool tab_color(std::size_t pos, bool is_bgcolor, const ::nana::color& clr)
|
bool tab_color(std::size_t pos, bool is_bgcolor, const ::nana::color& clr)
|
||||||
{
|
{
|
||||||
if(pos < list_.size())
|
if (pos >= list_.size())
|
||||||
{
|
throw std::out_of_range("tabbar: invalid position");
|
||||||
|
|
||||||
auto & m = *iterator_at(pos);
|
auto & m = *iterator_at(pos);
|
||||||
auto & m_clr = (is_bgcolor ? m.bgcolor : m.fgcolor);
|
auto & m_clr = (is_bgcolor ? m.bgcolor : m.fgcolor);
|
||||||
if (m_clr != clr)
|
if (m_clr != clr)
|
||||||
@ -623,42 +623,42 @@ namespace nana
|
|||||||
m_clr = clr;
|
m_clr = clr;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool tab_image(std::size_t pos, const nana::paint::image& img)
|
void tab_image(std::size_t pos, const nana::paint::image& img)
|
||||||
{
|
{
|
||||||
if(pos > list_.size()) return false;
|
if (pos >= list_.size())
|
||||||
|
throw std::out_of_range("tabbar: invalid position");
|
||||||
|
|
||||||
auto & m = *iterator_at(pos);
|
auto & m = *iterator_at(pos);
|
||||||
if(img)
|
if(img)
|
||||||
m.img = img;
|
m.img = img;
|
||||||
else
|
else
|
||||||
m.img.close();
|
m.img.close();
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool text(std::size_t pos, const nana::string& str)
|
bool text(std::size_t pos, const nana::string& str)
|
||||||
{
|
{
|
||||||
if(pos < list_.size())
|
if (pos >= list_.size())
|
||||||
{
|
throw std::out_of_range("tabbar: invalid position");
|
||||||
|
|
||||||
auto & m = *iterator_at(pos);
|
auto & m = *iterator_at(pos);
|
||||||
if(m.text != str)
|
if(m.text != str)
|
||||||
{
|
{
|
||||||
m.text = str;
|
m.text = str;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
nana::string text(std::size_t pos) const
|
nana::string text(std::size_t pos) const
|
||||||
{
|
{
|
||||||
if(pos < list_.size())
|
if (pos >= list_.size())
|
||||||
return iterator_at(pos)->text;
|
throw std::out_of_range("tabbar: invalid position");
|
||||||
|
|
||||||
return nana::string();
|
return iterator_at(pos)->text;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool toolbox_answer(const arg_mouse& arg)
|
bool toolbox_answer(const arg_mouse& arg)
|
||||||
@ -1195,7 +1195,7 @@ namespace nana
|
|||||||
|
|
||||||
void trigger::tab_image(std::size_t i, const nana::paint::image& img)
|
void trigger::tab_image(std::size_t i, const nana::paint::image& img)
|
||||||
{
|
{
|
||||||
if(layouter_->tab_image(i, img))
|
layouter_->tab_image(i, img);
|
||||||
API::refresh_window(layouter_->widget_handle());
|
API::refresh_window(layouter_->widget_handle());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user