Tue, 10 Oct 2023 10:58:14 +0200
new winui vs project, add toolbar
--- a/.hgignore Fri Oct 06 19:38:10 2023 +0200 +++ b/.hgignore Tue Oct 10 10:58:14 2023 +0200 @@ -5,6 +5,7 @@ relre:^make/vs/packages/.* relre:^make/vs/.*vcxproj\.user relre:^ui/winui/winui\.vcxproj\.user +relre:^ui/winui/Generated Files relre:^ui/wpf/UIcore/obj relre:^ui/wpf/UIwrapper/.vs relre:^ui/wpf/UIwrapper/UIwrapper.VC
--- a/make/vs/testapp/main.c Fri Oct 06 19:38:10 2023 +0200 +++ b/make/vs/testapp/main.c Tue Oct 10 10:58:14 2023 +0200 @@ -268,6 +268,10 @@ ui_submenu_end(); ui_menuitem("Exit", NULL, NULL); + ui_toolbar_item("Test", .label = "Test"); + + ui_toolbar_add_default("Test"); + ui_main(); return (EXIT_SUCCESS);
--- a/make/vs/testapp/testapp.vcxproj Fri Oct 06 19:38:10 2023 +0200 +++ b/make/vs/testapp/testapp.vcxproj Tue Oct 10 10:58:14 2023 +0200 @@ -145,7 +145,7 @@ </ItemGroup> <ItemGroup> <ProjectReference Include="..\..\..\ui\winui\winui.vcxproj"> - <Project>{04d5ee2c-6076-4c7c-8b70-b0f6d602ff55}</Project> + <Project>{59f97886-bf49-4b3f-9ef6-fa7a84f3ab56}</Project> </ProjectReference> <ProjectReference Include="..\ucx\ucx.vcxproj"> <Project>{27da0164-3475-43e2-a1a4-a5d07d305749}</Project>
--- a/make/vs/testapp/testapp.vcxproj.filters Fri Oct 06 19:38:10 2023 +0200 +++ b/make/vs/testapp/testapp.vcxproj.filters Tue Oct 10 10:58:14 2023 +0200 @@ -22,4 +22,7 @@ <ItemGroup> <None Include="packages.config" /> </ItemGroup> + <ItemGroup> + <Natvis Include="$(MSBuildThisFileDirectory)..\..\natvis\wil.natvis" /> + </ItemGroup> </Project> \ No newline at end of file
--- a/make/vs/toolkit.sln Fri Oct 06 19:38:10 2023 +0200 +++ b/make/vs/toolkit.sln Tue Oct 10 10:58:14 2023 +0200 @@ -5,42 +5,76 @@ MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testapp", "testapp\testapp.vcxproj", "{3541F08B-E6CC-4C23-A0D3-51983AAB33C6}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winui", "..\..\ui\winui\winui.vcxproj", "{04D5EE2C-6076-4C7C-8B70-B0F6D602FF55}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ucx", "ucx\ucx.vcxproj", "{27DA0164-3475-43E2-A1A4-A5D07D305749}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ucx", "ucx\ucx.vcxproj", "{27DA0164-3475-43E2-A1A4-A5D07D305749}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winui", "..\..\ui\winui\winui.vcxproj", "{59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uicommon", "uicommon\uicommon.vcxproj", "{8B88698E-C185-4383-99FE-0C34D6DEED2E}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 + Release|ARM64 = Release|ARM64 Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Debug|ARM64.ActiveCfg = Debug|x64 + {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Debug|ARM64.Build.0 = Debug|x64 {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Debug|x64.ActiveCfg = Debug|x64 {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Debug|x64.Build.0 = Debug|x64 {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Debug|x86.ActiveCfg = Debug|Win32 {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Debug|x86.Build.0 = Debug|Win32 + {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Release|ARM64.ActiveCfg = Release|x64 + {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Release|ARM64.Build.0 = Release|x64 {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Release|x64.ActiveCfg = Release|x64 {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Release|x64.Build.0 = Release|x64 {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Release|x86.ActiveCfg = Release|Win32 {3541F08B-E6CC-4C23-A0D3-51983AAB33C6}.Release|x86.Build.0 = Release|Win32 - {04D5EE2C-6076-4C7C-8B70-B0F6D602FF55}.Debug|x64.ActiveCfg = Debug|x64 - {04D5EE2C-6076-4C7C-8B70-B0F6D602FF55}.Debug|x64.Build.0 = Debug|x64 - {04D5EE2C-6076-4C7C-8B70-B0F6D602FF55}.Debug|x86.ActiveCfg = Debug|Win32 - {04D5EE2C-6076-4C7C-8B70-B0F6D602FF55}.Debug|x86.Build.0 = Debug|Win32 - {04D5EE2C-6076-4C7C-8B70-B0F6D602FF55}.Release|x64.ActiveCfg = Release|x64 - {04D5EE2C-6076-4C7C-8B70-B0F6D602FF55}.Release|x64.Build.0 = Release|x64 - {04D5EE2C-6076-4C7C-8B70-B0F6D602FF55}.Release|x86.ActiveCfg = Release|Win32 - {04D5EE2C-6076-4C7C-8B70-B0F6D602FF55}.Release|x86.Build.0 = Release|Win32 + {27DA0164-3475-43E2-A1A4-A5D07D305749}.Debug|ARM64.ActiveCfg = Debug|x64 + {27DA0164-3475-43E2-A1A4-A5D07D305749}.Debug|ARM64.Build.0 = Debug|x64 {27DA0164-3475-43E2-A1A4-A5D07D305749}.Debug|x64.ActiveCfg = Debug|x64 {27DA0164-3475-43E2-A1A4-A5D07D305749}.Debug|x64.Build.0 = Debug|x64 {27DA0164-3475-43E2-A1A4-A5D07D305749}.Debug|x86.ActiveCfg = Debug|Win32 {27DA0164-3475-43E2-A1A4-A5D07D305749}.Debug|x86.Build.0 = Debug|Win32 + {27DA0164-3475-43E2-A1A4-A5D07D305749}.Release|ARM64.ActiveCfg = Release|x64 + {27DA0164-3475-43E2-A1A4-A5D07D305749}.Release|ARM64.Build.0 = Release|x64 {27DA0164-3475-43E2-A1A4-A5D07D305749}.Release|x64.ActiveCfg = Release|x64 {27DA0164-3475-43E2-A1A4-A5D07D305749}.Release|x64.Build.0 = Release|x64 {27DA0164-3475-43E2-A1A4-A5D07D305749}.Release|x86.ActiveCfg = Release|Win32 {27DA0164-3475-43E2-A1A4-A5D07D305749}.Release|x86.Build.0 = Release|Win32 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Debug|ARM64.Build.0 = Debug|ARM64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Debug|x64.ActiveCfg = Debug|x64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Debug|x64.Build.0 = Debug|x64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Debug|x64.Deploy.0 = Debug|x64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Debug|x86.ActiveCfg = Debug|Win32 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Debug|x86.Build.0 = Debug|Win32 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Debug|x86.Deploy.0 = Debug|Win32 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Release|ARM64.ActiveCfg = Release|ARM64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Release|ARM64.Build.0 = Release|ARM64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Release|ARM64.Deploy.0 = Release|ARM64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Release|x64.ActiveCfg = Release|x64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Release|x64.Build.0 = Release|x64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Release|x64.Deploy.0 = Release|x64 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Release|x86.ActiveCfg = Release|Win32 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Release|x86.Build.0 = Release|Win32 + {59F97886-BF49-4B3F-9EF6-FA7A84F3AB56}.Release|x86.Deploy.0 = Release|Win32 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Debug|ARM64.ActiveCfg = Debug|x64 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Debug|ARM64.Build.0 = Debug|x64 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Debug|x64.ActiveCfg = Debug|x64 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Debug|x64.Build.0 = Debug|x64 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Debug|x86.ActiveCfg = Debug|Win32 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Debug|x86.Build.0 = Debug|Win32 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Release|ARM64.ActiveCfg = Release|x64 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Release|ARM64.Build.0 = Release|x64 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Release|x64.ActiveCfg = Release|x64 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Release|x64.Build.0 = Release|x64 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Release|x86.ActiveCfg = Release|Win32 + {8B88698E-C185-4383-99FE-0C34D6DEED2E}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/vs/uicommon/uicommon.vcxproj Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,158 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <VCProjectVersion>17.0</VCProjectVersion> + <Keyword>Win32Proj</Keyword> + <ProjectGuid>{8b88698e-c185-4383-99fe-0c34d6deed2e}</ProjectGuid> + <RootNamespace>uicommon</RootNamespace> + <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v143</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v143</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v143</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v143</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="Shared"> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <OutDir>$(SolutionDir)..\..\build\vs\$(Platform)\$(Configuration)\</OutDir> + <IntDir>..\..\..\build\vs\testapp\$(Platform)\$(Configuration)\</IntDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <SDLCheck>false</SDLCheck> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;UI_WINUI;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + <LanguageStandard_C>stdc17</LanguageStandard_C> + <AdditionalIncludeDirectories>$(SolutionDir)..\..\ucx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\..\ui\common\context.c" /> + <ClCompile Include="..\..\..\ui\common\document.c" /> + <ClCompile Include="..\..\..\ui\common\menu.c" /> + <ClCompile Include="..\..\..\ui\common\object.c" /> + <ClCompile Include="..\..\..\ui\common\properties.c" /> + <ClCompile Include="..\..\..\ui\common\toolbar.c" /> + <ClCompile Include="..\..\..\ui\common\types.c" /> + <ClCompile Include="..\..\..\ui\common\ucx_properties.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\ui\common\context.h" /> + <ClInclude Include="..\..\..\ui\common\document.h" /> + <ClInclude Include="..\..\..\ui\common\menu.h" /> + <ClInclude Include="..\..\..\ui\common\object.h" /> + <ClInclude Include="..\..\..\ui\common\properties.h" /> + <ClInclude Include="..\..\..\ui\common\toolbar.h" /> + <ClInclude Include="..\..\..\ui\common\types.h" /> + <ClInclude Include="..\..\..\ui\common\ucx_properties.h" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/vs/uicommon/uicommon.vcxproj.filters Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Ressourcendateien"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + <Filter Include="Source"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\ui\common\context.c"> + <Filter>Source</Filter> + </ClCompile> + <ClCompile Include="..\..\..\ui\common\document.c"> + <Filter>Source</Filter> + </ClCompile> + <ClCompile Include="..\..\..\ui\common\menu.c"> + <Filter>Source</Filter> + </ClCompile> + <ClCompile Include="..\..\..\ui\common\object.c"> + <Filter>Source</Filter> + </ClCompile> + <ClCompile Include="..\..\..\ui\common\properties.c"> + <Filter>Source</Filter> + </ClCompile> + <ClCompile Include="..\..\..\ui\common\toolbar.c"> + <Filter>Source</Filter> + </ClCompile> + <ClCompile Include="..\..\..\ui\common\types.c"> + <Filter>Source</Filter> + </ClCompile> + <ClCompile Include="..\..\..\ui\common\ucx_properties.c"> + <Filter>Source</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\ui\common\context.h"> + <Filter>Source</Filter> + </ClInclude> + <ClInclude Include="..\..\..\ui\common\document.h"> + <Filter>Source</Filter> + </ClInclude> + <ClInclude Include="..\..\..\ui\common\menu.h"> + <Filter>Source</Filter> + </ClInclude> + <ClInclude Include="..\..\..\ui\common\object.h"> + <Filter>Source</Filter> + </ClInclude> + <ClInclude Include="..\..\..\ui\common\properties.h"> + <Filter>Source</Filter> + </ClInclude> + <ClInclude Include="..\..\..\ui\common\toolbar.h"> + <Filter>Source</Filter> + </ClInclude> + <ClInclude Include="..\..\..\ui\common\types.h"> + <Filter>Source</Filter> + </ClInclude> + <ClInclude Include="..\..\..\ui\common\ucx_properties.h"> + <Filter>Source</Filter> + </ClInclude> + </ItemGroup> +</Project> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/vs/uicommon/uicommon.vcxproj.user Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup /> +</Project> \ No newline at end of file
--- a/ui/common/menu.c Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/common/menu.c Tue Oct 10 10:58:14 2023 +0200 @@ -253,3 +253,4 @@ UiMenu* uic_get_menu_list(void) { return menus_begin; } +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/common/toolbar.c Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,102 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright 2023 Olaf Wintermann. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include "toolbar.h" + +#include <string.h> + +static CxMap* toolbar_items; + +static CxList* toolbar_defaults; + +void uic_toolbar_init(void) { + toolbar_items = cxHashMapCreate(cxDefaultAllocator, CX_STORE_POINTERS, 16); + toolbar_defaults = cxLinkedListCreateSimple(CX_STORE_POINTERS); +} + +static char* nl_strdup(char* str) { + return str ? strdup(str) : NULL; +} + +static UiToolbarItemArgs itemargs_copy(UiToolbarItemArgs args) { + UiToolbarItemArgs newargs; + newargs.label = nl_strdup(args.label); + newargs.stockid = nl_strdup(args.stockid); + newargs.icon = nl_strdup(args.icon); + newargs.onclick = args.onclick; + newargs.onclickdata = args.onclickdata; + return newargs; +} + +void ui_toolbar_item_create(const char* name, UiToolbarItemArgs args) { + UiToolbarItem* item = malloc(sizeof(UiToolbarItem)); + item->item.type = UI_TOOLBAR_ITEM; + item->args = itemargs_copy(args); + cxMapPut(toolbar_items, name, item); +} + + +static UiToolbarToggleItemArgs toggleitemargs_copy(UiToolbarToggleItemArgs args) { + UiToolbarToggleItemArgs newargs; + newargs.label = nl_strdup(args.label); + newargs.stockid = nl_strdup(args.stockid); + newargs.icon = nl_strdup(args.icon); + newargs.varname = nl_strdup(args.varname); + newargs.onchange = args.onchange; + newargs.onchangedata = args.onchangedata; + return newargs; +} + +void ui_toolbar_toggleitem_create(const char* name, UiToolbarToggleItemArgs args) { + UiToolbarToggleItem* item = malloc(sizeof(UiToolbarToggleItem)); + item->item.type = UI_TOOLBAR_TOGGLEITEM; + item->args = toggleitemargs_copy(args); + cxMapPut(toolbar_items, name, item); +} + + +CxMap* uic_get_toolbar_items(void) { + return toolbar_items; +} + +CxList* uic_get_toolbar_defaults(void) { + return toolbar_defaults; +} + +void ui_toolbar_add_default(const char* name) { + char* cp = strdup(name); + cxListAdd(toolbar_defaults, cp); +} + +UiBool uic_toolbar_isenabled(void) { + return toolbar_defaults->size > 0; +} + +UiToolbarItemI* uic_toolbar_get_item(const char* name) { + return cxMapGet(toolbar_items, name); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/common/toolbar.h Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,81 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright 2023 Olaf Wintermann. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef UIC_TOOLBAR_H +#define UIC_TOOLBAR_H + +#include "../ui/toolbar.h" + +#include <cx/linked_list.h> +#include <cx/hash_map.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct UiToolbarItemI UiToolbarItemI; + +typedef struct UiToolbarItem UiToolbarItem; +typedef struct UiToolbarToggleItem UiToolbarToggleItem; + +enum UiToolbarItemType { + UI_TOOLBAR_ITEM = 0, + UI_TOOLBAR_TOGGLEITEM +}; + +typedef enum UiToolbarItemType UiToolbarItemType; + +struct UiToolbarItemI { + UiToolbarItemType type; +}; + +struct UiToolbarItem { + UiToolbarItemI item; + UiToolbarItemArgs args; +}; + +struct UiToolbarToggleItem { + UiToolbarItemI item; + UiToolbarToggleItemArgs args; +}; + +void uic_toolbar_init(void); + +CxMap* uic_get_toolbar_items(void); +CxList* uic_get_toolbar_defaults(void); + +UiBool uic_toolbar_isenabled(void); + +UiToolbarItemI* uic_toolbar_get_item(const char* name); + +#ifdef __cplusplus +} +#endif + +#endif /* UIC_TOOLBAR_H */ +
--- a/ui/ui/toolbar.h Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/ui/toolbar.h Tue Oct 10 10:58:14 2023 +0200 @@ -36,7 +36,35 @@ extern "C" { #endif -void ui_toolitem(char *name, char *label, ui_callback f, void *udata); +typedef struct UiToolbarItemArgs { + const char* label; + const char* stockid; + const char* icon; + + ui_callback onclick; + void* onclickdata; +} UiToolbarItemArgs; + +typedef struct UiToolbarToggleItemArgs { + const char* label; + const char* stockid; + const char* icon; + + const char* varname; + ui_callback onchange; + void* onchangedata; +} UiToolbarToggleItemArgs; + + +#define ui_toolbar_item(name, ...) ui_toolbar_item_create(name, (UiToolbarItemArgs){ __VA_ARGS__ } ) +#define ui_toolbar_toggleitem(name, ...) ui_toolbar_item_create(name, (UiToolbarItemArgs){ __VA_ARGS__ } ) + +UIEXPORT void ui_toolbar_item_create(const char* name, UiToolbarItemArgs args); +UIEXPORT void ui_toolbar_toggleitem_create(const char* name, UiToolbarToggleItemArgs args); + + + +void ui_toolitem_deprecated(char *name, char *label, ui_callback f, void *udata); void ui_toolitem_st(char *name, char *stockid, ui_callback f, void *udata); void ui_toolitem_sti(char *name, char *stockid, ui_callback f, void *udata); void ui_toolitem_stgr(char *name, char *stockid, ui_callback f, void *udata, ...); @@ -52,7 +80,7 @@ void ui_toolbar_combobox_str(char *name, UiList *list, ui_callback f, void *udata); void ui_toolbar_combobox_nv(char *name, char *listname, ui_getvaluefunc getvalue, ui_callback f, void *udata); -void ui_toolbar_add_default(char *name); +UIEXPORT void ui_toolbar_add_default(const char *name); #ifdef __cplusplus }
--- a/ui/ui/toolkit.h Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/ui/toolkit.h Tue Oct 10 10:58:14 2023 +0200 @@ -73,11 +73,13 @@ #ifdef __cplusplus +#ifndef UI_WINUI_PCH #include <Windows.h> #undef GetCurrentTime #include <winrt/Windows.Foundation.Collections.h> #include <winrt/Windows.UI.Xaml.Interop.h> #include <winrt/Microsoft.UI.Xaml.Controls.h> +#endif class UiWindow { public:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/App.idl Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +namespace winui +{ +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/App.xaml Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<Application + x:Class="winui.App" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:winui"> + <Application.Resources> + <ResourceDictionary> + <ResourceDictionary.MergedDictionaries> + <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" /> + <!-- Other merged dictionaries here --> + </ResourceDictionary.MergedDictionaries> + <!-- Other app resources here --> + </ResourceDictionary> + </Application.Resources> +</Application>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/App.xaml.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +#include "pch.h" + +#include "App.xaml.h" +#include "MainWindow.xaml.h" + +using namespace winrt; +using namespace Windows::Foundation; +using namespace Microsoft::UI::Xaml; +using namespace Microsoft::UI::Xaml::Controls; +using namespace Microsoft::UI::Xaml::Navigation; +using namespace winui; +using namespace winui::implementation; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +/// <summary> +/// Initializes the singleton application object. This is the first line of authored code +/// executed, and as such is the logical equivalent of main() or WinMain(). +/// </summary> +App::App() +{ + InitializeComponent(); + +#if defined _DEBUG && !defined DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION + UnhandledException([this](IInspectable const&, UnhandledExceptionEventArgs const& e) + { + if (IsDebuggerPresent()) + { + auto errorMessage = e.Message(); + __debugbreak(); + } + }); +#endif +} + +/// <summary> +/// Invoked when the application is launched. +/// </summary> +/// <param name="e">Details about the launch request and process.</param> +void App::OnLaunched(LaunchActivatedEventArgs const&) +{ + window = make<MainWindow>(); + window.Activate(); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/App.xaml.h Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,19 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +#pragma once + +#include "App.xaml.g.h" + +namespace winrt::winui::implementation +{ + struct App : AppT<App> + { + App(); + + void OnLaunched(Microsoft::UI::Xaml::LaunchActivatedEventArgs const&); + + private: + winrt::Microsoft::UI::Xaml::Window window{ nullptr }; + }; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/MainWindow.idl Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +namespace winui +{ + [default_interface] + runtimeclass MainWindow : Microsoft.UI.Xaml.Window + { + MainWindow(); + Int32 MyProperty; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/MainWindow.xaml Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<Window + x:Class="winui.MainWindow" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="using:winui" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + mc:Ignorable="d"> + + <Window.SystemBackdrop> + <MicaBackdrop Kind="BaseAlt"/> + </Window.SystemBackdrop> + + <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> + <Button x:Name="myButton" Click="myButton_Click">Click Me !</Button> + </StackPanel> +</Window>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/MainWindow.xaml.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +#include "pch.h" +#include "MainWindow.xaml.h" +#if __has_include("MainWindow.g.cpp") +#include "MainWindow.g.cpp" +#endif + +using namespace winrt; +using namespace Microsoft::UI::Xaml; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace winrt::winui::implementation +{ + MainWindow::MainWindow() + { + InitializeComponent(); + } + + int32_t MainWindow::MyProperty() + { + throw hresult_not_implemented(); + } + + void MainWindow::MyProperty(int32_t /* value */) + { + throw hresult_not_implemented(); + } + + void MainWindow::myButton_Click(IInspectable const&, RoutedEventArgs const&) + { + myButton().Content(box_value(L"Clicked")); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/MainWindow.xaml.h Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +#pragma once + +#include "MainWindow.g.h" + +namespace winrt::winui::implementation +{ + struct MainWindow : MainWindowT<MainWindow> + { + MainWindow(); + + int32_t MyProperty(); + void MyProperty(int32_t value); + + void myButton_Click(Windows::Foundation::IInspectable const& sender, Microsoft::UI::Xaml::RoutedEventArgs const& args); + }; +} + +namespace winrt::winui::factory_implementation +{ + struct MainWindow : MainWindowT<MainWindow, implementation::MainWindow> + { + }; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/Package.appxmanifest Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8"?> + +<Package + xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" + xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" + xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" + xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" + IgnorableNamespaces="uap rescap"> + + <Identity + Name="e3554f39-079b-4a0b-aa08-4ce5c4306644" + Publisher="CN=Olaf" + Version="1.0.0.0" /> + + <mp:PhoneIdentity PhoneProductId="e3554f39-079b-4a0b-aa08-4ce5c4306644" PhonePublisherId="00000000-0000-0000-0000-000000000000"/> + + <Properties> + <DisplayName>winui</DisplayName> + <PublisherDisplayName>Olaf</PublisherDisplayName> + <Logo>Assets\StoreLogo.png</Logo> + </Properties> + + <Dependencies> + <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" /> + <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" /> + </Dependencies> + + <Resources> + <Resource Language="x-generate"/> + </Resources> + + <Applications> + <Application Id="App" + Executable="$targetnametoken$.exe" + EntryPoint="$targetentrypoint$"> + <uap:VisualElements + DisplayName="winui" + Description="winui" + BackgroundColor="transparent" + Square150x150Logo="Assets\Square150x150Logo.png" + Square44x44Logo="Assets\Square44x44Logo.png"> + <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png" /> + <uap:SplashScreen Image="Assets\SplashScreen.png" /> + </uap:VisualElements> + </Application> + </Applications> + + <Capabilities> + <rescap:Capability Name="runFullTrust" /> + </Capabilities> +</Package>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/app.manifest Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> + <assemblyIdentity version="1.0.0.0" name="winui.app"/> + + <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> + <application> + <!--The ID below informs the system that this application is compatible with OS features first introduced in Windows 8. + For more info see https://docs.microsoft.com/windows/win32/sysinfo/targeting-your-application-at-windows-8-1 + + It is also necessary to support features in unpackaged applications, for example the custom titlebar implementation.--> + <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" /> + </application> + </compatibility> + + <application xmlns="urn:schemas-microsoft-com:asm.v3"> + <windowsSettings> + <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness> + </windowsSettings> + </application> +</assembly> \ No newline at end of file
--- a/ui/winui/appmenu.cpp Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/appmenu.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -26,16 +26,9 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include "appmenu.h" +#include "pch.h" -#include <Windows.h> -#undef GetCurrentTime -#include <winrt/Windows.Foundation.Collections.h> -#include <winrt/Windows.UI.Xaml.Interop.h> -#include <winrt/Microsoft.UI.Xaml.Controls.h> -#include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h> -#include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h> -#include <winrt/Microsoft.UI.Xaml.Markup.h> +#include "appmenu.h" #include <cx/linked_list.h> #include <cx/array_list.h>
--- a/ui/winui/button.cpp Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/button.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -26,6 +26,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "pch.h" #include "button.h"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/commandbar.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,88 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright 2023 Olaf Wintermann. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include "pch.h" + +#include "commandbar.h" + +#include "util.h" + +using namespace winrt; +using namespace Microsoft::UI::Xaml; +using namespace Microsoft::UI::Xaml::Controls; +using namespace Microsoft::UI::Xaml::XamlTypeInfo; +using namespace Microsoft::UI::Xaml::Markup; +using namespace Windows::UI::Xaml::Interop; + +static void create_item(CommandBar cb, UiToolbarItemI* i); +static void create_cmditem(CommandBar cb, UiToolbarItem* item); +static void create_toggleitem(CommandBar cb, UiToolbarToggleItem* item); + +CommandBar ui_create_toolbar() { + CxList* defaults = uic_get_toolbar_defaults(); + CommandBar cb = CommandBar(); + CxIterator i = cxListIterator(defaults); + cx_foreach(char*, def, i) { + UiToolbarItemI* item = uic_toolbar_get_item(def); + if (!item) { + exit(-1); // TODO: maybe a error dialog? + } + + create_item(cb, item); + } + + return cb; +} + +static void create_item(CommandBar cb, UiToolbarItemI* i) { + switch (i->type) { + case UI_TOOLBAR_ITEM: { + create_cmditem(cb, (UiToolbarItem*)i); + break; + } + case UI_TOOLBAR_TOGGLEITEM: { + create_toggleitem(cb, (UiToolbarToggleItem*)i); + break; + } + } +} + +static void create_cmditem(CommandBar cb, UiToolbarItem* item) { + AppBarButton button = AppBarButton(); + if (item->args.label) { + wchar_t* wlabel = str2wstr(item->args.label, nullptr); + button.Content(box_value(wlabel)); + free(wlabel); + } + + cb.PrimaryCommands().Append(button); +} + +static void create_toggleitem(CommandBar cb, UiToolbarToggleItem* item) { + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/commandbar.h Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,45 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright 2023 Olaf Wintermann. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#pragma once + +#include "toolkit.h" +#include "../ui/toolbar.h" +#include "../common/toolbar.h" + +#include <Windows.h> +#undef GetCurrentTime +#include <winrt/Windows.Foundation.Collections.h> +#include <winrt/Windows.UI.Xaml.Interop.h> +#include <winrt/Microsoft.UI.Xaml.Controls.h> +#include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h> +#include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h> +#include <winrt/Microsoft.UI.Xaml.Markup.h> + +winrt::Microsoft::UI::Xaml::Controls::CommandBar ui_create_toolbar(); +
--- a/ui/winui/container.cpp Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/container.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -26,6 +26,8 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "pch.h" + #include "container.h" #include "../common/context.h" @@ -33,9 +35,6 @@ #include "util.h" -#include <winrt/Windows.UI.Xaml.Media.h> -#include <winrt/Microsoft.UI.Xaml.Media.h> - void ui_container_begin_close(UiObject* obj) { UiContainer* ct = uic_get_current_container(obj);
--- a/ui/winui/list.cpp Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/list.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -26,6 +26,8 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "pch.h" + #include "list.h" #include "container.h" #include "util.h" @@ -33,7 +35,6 @@ #include "../common/context.h" #include "../common/object.h" -#include <winrt/Microsoft.UI.Xaml.Data.h> using namespace winrt; using namespace Microsoft::UI::Xaml;
--- a/ui/winui/packages.config Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/packages.config Tue Oct 10 10:58:14 2023 +0200 @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Microsoft.Windows.CppWinRT" version="2.0.230225.1" targetFramework="native" /> - <package id="Microsoft.Windows.ImplementationLibrary" version="1.0.230824.2" targetFramework="native" /> - <package id="Microsoft.Windows.SDK.BuildTools" version="10.0.22621.1" targetFramework="native" /> - <package id="Microsoft.WindowsAppSDK" version="1.3.230331000" targetFramework="native" /> + <package id="Microsoft.Windows.CppWinRT" version="2.0.220929.3" targetFramework="native" /> + <package id="Microsoft.Windows.ImplementationLibrary" version="1.0.220914.1" targetFramework="native" /> + <package id="Microsoft.Windows.SDK.BuildTools" version="10.0.22621.755" targetFramework="native" /> + <package id="Microsoft.WindowsAppSDK" version="1.3.230602002" targetFramework="native" /> </packages> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/pch.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,4 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +#include "pch.h"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/pch.h Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +#pragma once +#include <windows.h> +#include <unknwn.h> +#include <restrictederrorinfo.h> +#include <hstring.h> + +// Undefine GetCurrentTime macro to prevent +// conflict with Storyboard::GetCurrentTime +#undef GetCurrentTime + +#include <winrt/Windows.Foundation.h> +#include <winrt/Windows.Foundation.Collections.h> +#include <winrt/Windows.ApplicationModel.Activation.h> +#include <winrt/Microsoft.UI.Composition.h> +#include <winrt/Microsoft.UI.Xaml.h> +#include <winrt/Microsoft.UI.Xaml.Controls.h> +#include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h> +#include <winrt/Microsoft.UI.Xaml.Data.h> +#include <winrt/Microsoft.UI.Xaml.Interop.h> +#include <winrt/Microsoft.UI.Xaml.Markup.h> +#include <winrt/Microsoft.UI.Xaml.Media.h> +#include <winrt/Microsoft.UI.Xaml.Navigation.h> +#include <winrt/Microsoft.UI.Xaml.Shapes.h> +#include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h> +#include <winrt/Microsoft.UI.Dispatching.h> +#include <wil/cppwinrt_helpers.h>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/winui/readme.txt Tue Oct 10 10:58:14 2023 +0200 @@ -0,0 +1,27 @@ +======================================================================== + winui Project Overview +======================================================================== + +This project demonstrates how to get started writing WinUI3 apps directly +with standard C++, using the Windows App SDK and C++/WinRT packages and +XAML compiler support to generate implementation headers from interface +(IDL) files. These headers can then be used to implement the local +Windows Runtime classes referenced in the app's XAML pages. + +Steps: +1. Create an interface (IDL) file to define any local Windows Runtime + classes referenced in the app's XAML pages. +2. Build the project once to generate implementation templates under + the "Generated Files" folder, as well as skeleton class definitions + under "Generated Files\sources". +3. Use the skeleton class definitions for reference to implement your + Windows Runtime classes. + +======================================================================== +Learn more about Windows App SDK here: +https://docs.microsoft.com/windows/apps/windows-app-sdk/ +Learn more about WinUI3 here: +https://docs.microsoft.com/windows/apps/winui/winui3/ +Learn more about C++/WinRT here: +http://aka.ms/cppwinrt/ +========================================================================
--- a/ui/winui/table.cpp Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/table.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -26,6 +26,8 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "pch.h" + #include "table.h" #include "container.h" #include "util.h"
--- a/ui/winui/text.cpp Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/text.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -26,6 +26,8 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "pch.h" + #include "text.h" #include "../common/context.h"
--- a/ui/winui/toolkit.cpp Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/toolkit.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -26,22 +26,19 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include "toolkit.h" +#include "pch.h" -#include <Windows.h> -#undef GetCurrentTime -#include <winrt/Windows.Foundation.Collections.h> -#include <winrt/Windows.UI.Xaml.Interop.h> -#include <winrt/Microsoft.UI.Xaml.Controls.h> -#include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h> -#include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h> -#include <winrt/Microsoft.UI.Xaml.Markup.h> +#include "toolkit.h" #include <cx/allocator.h> #include <cx/mempool.h> #include "../common/context.h" +#include "../common/toolbar.h" +#include "MainWindow.xaml.h" + +#include "App.xaml.h" using namespace winrt; using namespace Microsoft::UI::Xaml; @@ -77,6 +74,9 @@ if (startup_func) { startup_func(NULL, startup_data); } + + //auto window = make<winui::implementation::MainWindow>(); + //window.Activate(); } IXamlType GetXamlType(TypeName const& type) { return provider.GetXamlType(type); @@ -126,6 +126,8 @@ void ui_init(const char* appname, int argc, char** argv) { application_name = appname; + + uic_toolbar_init(); } const char* ui_appname() {
--- a/ui/winui/util.cpp Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/util.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -1,11 +1,9 @@ - +#include "pch.h" #include "util.h" #include <stdlib.h> -#include <Windows.h> - wchar_t* str2wstr(const char* str, int* newlen) { size_t len = strlen(str);
--- a/ui/winui/window.cpp Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/window.cpp Tue Oct 10 10:58:14 2023 +0200 @@ -26,19 +26,12 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "pch.h" + #include "window.h" -#include <Windows.h> -#undef GetCurrentTime -#include <winrt/Windows.Foundation.Collections.h> -#include <winrt/Windows.UI.Xaml.Interop.h> -#include <winrt/Microsoft.UI.Xaml.Controls.h> -#include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h> -#include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h> -#include <winrt/Microsoft.UI.Xaml.Markup.h> -#include <winrt/Microsoft.UI.Xaml.Media.h> - #include "appmenu.h" +#include "commandbar.h" #include "container.h" #include "util.h" @@ -48,6 +41,8 @@ #include <cx/mempool.h> +#include "MainWindow.xaml.h" + using namespace winrt; using namespace Microsoft::UI::Xaml; using namespace Microsoft::UI::Xaml::Controls; @@ -58,7 +53,6 @@ UiWindow::UiWindow(winrt::Microsoft::UI::Xaml::Window& win) : window(win) {} - UiObject* ui_window(const char* title, void* window_data) { CxMempool* mp = cxBasicMempoolCreate(256); UiObject* obj = (UiObject*)cxCalloc(mp->allocator, 1, sizeof(UiObject)); @@ -66,15 +60,16 @@ obj->ctx = uic_context(obj, mp); obj->window = window_data; - Window window = Window(); + //Window window = Window(); + Window window = make<winui::implementation::MainWindow>(); if (title) { wchar_t *wtitle = str2wstr(title, nullptr); window.Title(wtitle); free(wtitle); } - auto backdrop = winrt::Microsoft::UI::Xaml::Media::MicaBackdrop(); - backdrop.Kind(winrt::Microsoft::UI::Composition::SystemBackdrops::MicaKind::Base); // alternative: BaseAlt + //auto backdrop = winrt::Microsoft::UI::Xaml::Media::MicaBackdrop(); + //backdrop.Kind(winrt::Microsoft::UI::Composition::SystemBackdrops::MicaKind::Base); // alternative: BaseAlt // TODO: https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/system-backdrop-controller#example-use-mica-in-a-windows-appsdkwinui-3-app Grid grid = Grid(); @@ -97,6 +92,13 @@ obj->container->Add(mb, false); } + if (uic_toolbar_isenabled()) { + // create/add toolbar + CommandBar toolbar = ui_create_toolbar(); + toolbar.VerticalAlignment(VerticalAlignment::Top); + obj->container->Add(toolbar, false); + } + obj->window = window_data; return obj;
--- a/ui/winui/winui.cpp Fri Oct 06 19:38:10 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -#include "winui.h" \ No newline at end of file
--- a/ui/winui/winui.h Fri Oct 06 19:38:10 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -#pragma once - -#include <Windows.h> -#undef GetCurrentTime -#include <winrt/Windows.Foundation.Collections.h> -#include <winrt/Windows.UI.Xaml.Interop.h> -#include <winrt/Microsoft.UI.Xaml.Controls.h> \ No newline at end of file
--- a/ui/winui/winui.vcxproj Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/winui.vcxproj Tue Oct 10 10:58:14 2023 +0200 @@ -1,159 +1,153 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230331000\build\native\Microsoft.WindowsAppSDK.props" Condition="Exists('..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230331000\build\native\Microsoft.WindowsAppSDK.props')" /> - <Import Project="..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.1\build\Microsoft.Windows.SDK.BuildTools.props" Condition="Exists('..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.1\build\Microsoft.Windows.SDK.BuildTools.props')" /> - <Import Project="..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.230225.1\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.230225.1\build\native\Microsoft.Windows.CppWinRT.props')" /> +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230602002\build\native\Microsoft.WindowsAppSDK.props" Condition="Exists('..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230602002\build\native\Microsoft.WindowsAppSDK.props')" /> + <Import Project="..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.755\build\Microsoft.Windows.SDK.BuildTools.props" Condition="Exists('..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.755\build\Microsoft.Windows.SDK.BuildTools.props')" /> + <Import Project="..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.220929.3\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.220929.3\build\native\Microsoft.Windows.CppWinRT.props')" /> + <PropertyGroup Label="Globals"> + <CppWinRTOptimized>true</CppWinRTOptimized> + <CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge> + <MinimalCoreWin>true</MinimalCoreWin> + <ProjectGuid>{59f97886-bf49-4b3f-9ef6-fa7a84f3ab56}</ProjectGuid> + <ProjectName>winui</ProjectName> + <RootNamespace>winui</RootNamespace> + <!-- + $(TargetName) should be same as $(RootNamespace) so that the produced binaries (.exe/.pri/etc.) + have a name that matches the .winmd + --> + <TargetName>$(RootNamespace)</TargetName> + <DefaultLanguage>de-DE</DefaultLanguage> + <MinimumVisualStudioVersion>16.0</MinimumVisualStudioVersion> + <AppContainerApplication>false</AppContainerApplication> + <AppxPackage>false</AppxPackage> + <ApplicationType>Windows Store</ApplicationType> + <ApplicationTypeRevision>10.0</ApplicationTypeRevision> + <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> + <WindowsTargetPlatformMinVersion>10.0.17763.0</WindowsTargetPlatformMinVersion> + <UseWinUI>true</UseWinUI> + <EnableMsixTooling>true</EnableMsixTooling> + <WindowsPackageType>None</WindowsPackageType> + <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|Win32"> <Configuration>Debug</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> <ProjectConfiguration Include="Debug|x64"> <Configuration>Debug</Configuration> <Platform>x64</Platform> </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM64"> + <Configuration>Debug</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Release|x64"> <Configuration>Release</Configuration> <Platform>x64</Platform> </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> </ItemGroup> - <PropertyGroup Label="Globals"> - <VCProjectVersion>16.0</VCProjectVersion> - <Keyword>Win32Proj</Keyword> - <ProjectGuid>{04d5ee2c-6076-4c7c-8b70-b0f6d602ff55}</ProjectGuid> - <RootNamespace>winui</RootNamespace> - <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> - <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> - <WindowsPackageType>None</WindowsPackageType> - <AppxPackage>false</AppxPackage> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> + <PropertyGroup Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> <PlatformToolset>v143</PlatformToolset> <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v143</PlatformToolset> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> + <DesktopCompatible>true</DesktopCompatible> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>DynamicLibrary</ConfigurationType> + <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v143</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> + <LinkIncremental>true</LinkIncremental> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> + <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v143</PlatformToolset> <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> + <LinkIncremental>false</LinkIncremental> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <ImportGroup Label="ExtensionSettings"> </ImportGroup> - <ImportGroup Label="Shared"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ImportGroup Label="PropertySheets"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <OutDir>$(SolutionDir)..\..\build\vs\$(Platform)\$(Configuration)\</OutDir> - <IntDir>..\..\build\vs\winui\$(Platform)\$(Configuration)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ItemDefinitionGroup> <ClCompile> - <WarningLevel>Level3</WarningLevel> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> + <PrecompiledHeader>Use</PrecompiledHeader> + <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile> + <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile> + <WarningLevel>Level4</WarningLevel> + <AdditionalOptions>%(AdditionalOptions) /bigobj</AdditionalOptions> + </ClCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'"> + <ClCompile> + <PreprocessorDefinitions>_DEBUG;DISABLE_XAML_GENERATED_MAIN;UI_WINUI;UI_WINUI_PCH;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\..\ucx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ClCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'"> + <ClCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ClCompile> <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> <EnableCOMDATFolding>true</EnableCOMDATFolding> <OptimizeReferences>true</OptimizeReferences> - <GenerateDebugInformation>true</GenerateDebugInformation> </Link> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>_DEBUG;_CONSOLE;UI_WINUI;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> - <LanguageStandard_C>stdc17</LanguageStandard_C> - <AdditionalIncludeDirectories>$(SolutionDir)..\..\ucx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <AdditionalOptions> - </AdditionalOptions> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <PrecompiledHeaderFile>toolkit.h</PrecompiledHeaderFile> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> - </ClCompile> - <Link> - <SubSystem>Console</SubSystem> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> + <ItemGroup Condition="'$(WindowsPackageType)'!='None' and Exists('Package.appxmanifest')"> + <AppxManifest Include="Package.appxmanifest"> + <SubType>Designer</SubType> + </AppxManifest> + </ItemGroup> + <ItemGroup> + <Manifest Include="app.manifest" /> + </ItemGroup> <ItemGroup> - <ClCompile Include="..\common\context.c" /> - <ClCompile Include="..\common\document.c" /> - <ClCompile Include="..\common\menu.c" /> - <ClCompile Include="..\common\object.c" /> - <ClCompile Include="..\common\properties.c" /> - <ClCompile Include="..\common\types.c" /> - <ClCompile Include="..\common\ucx_properties.c" /> + <ClInclude Include="appmenu.h" /> + <ClInclude Include="button.h" /> + <ClInclude Include="commandbar.h" /> + <ClInclude Include="container.h" /> + <ClInclude Include="list.h" /> + <ClInclude Include="pch.h" /> + <ClInclude Include="App.xaml.h"> + <DependentUpon>App.xaml</DependentUpon> + </ClInclude> + <ClInclude Include="MainWindow.xaml.h"> + <DependentUpon>MainWindow.xaml</DependentUpon> + </ClInclude> + <ClInclude Include="table.h" /> + <ClInclude Include="text.h" /> + <ClInclude Include="toolkit.h" /> + <ClInclude Include="util.h" /> + <ClInclude Include="window.h" /> + </ItemGroup> + <ItemGroup> + <ApplicationDefinition Include="App.xaml" /> + <Page Include="MainWindow.xaml" /> + </ItemGroup> + <ItemGroup> <ClCompile Include="appmenu.cpp" /> <ClCompile Include="button.cpp" /> + <ClCompile Include="commandbar.cpp" /> <ClCompile Include="container.cpp" /> <ClCompile Include="list.cpp" /> + <ClCompile Include="pch.cpp"> + <PrecompiledHeader>Create</PrecompiledHeader> + </ClCompile> + <ClCompile Include="App.xaml.cpp"> + <DependentUpon>App.xaml</DependentUpon> + </ClCompile> + <ClCompile Include="MainWindow.xaml.cpp"> + <DependentUpon>MainWindow.xaml</DependentUpon> + </ClCompile> + <ClCompile Include="$(GeneratedFilesDir)module.g.cpp" /> <ClCompile Include="table.cpp" /> <ClCompile Include="text.cpp" /> <ClCompile Include="toolkit.cpp" /> @@ -161,65 +155,77 @@ <ClCompile Include="window.cpp" /> </ItemGroup> <ItemGroup> - <None Include="packages.config" /> + <Midl Include="App.idl"> + <SubType>Code</SubType> + <DependentUpon>App.xaml</DependentUpon> + </Midl> + <Midl Include="MainWindow.idl"> + <SubType>Code</SubType> + <DependentUpon>MainWindow.xaml</DependentUpon> + </Midl> + </ItemGroup> + <ItemGroup> + <Text Include="readme.txt"> + <DeploymentContent>false</DeploymentContent> + </Text> </ItemGroup> <ItemGroup> - <ClInclude Include="..\common\context.h" /> - <ClInclude Include="..\common\document.h" /> - <ClInclude Include="..\common\menu.h" /> - <ClInclude Include="..\common\object.h" /> - <ClInclude Include="..\common\properties.h" /> - <ClInclude Include="..\common\types.h" /> - <ClInclude Include="..\common\ucx_properties.h" /> - <ClInclude Include="..\ui\button.h" /> - <ClInclude Include="..\ui\container.h" /> - <ClInclude Include="..\ui\display.h" /> - <ClInclude Include="..\ui\dnd.h" /> - <ClInclude Include="..\ui\entry.h" /> - <ClInclude Include="..\ui\graphics.h" /> - <ClInclude Include="..\ui\image.h" /> - <ClInclude Include="..\ui\menu.h" /> - <ClInclude Include="..\ui\properties.h" /> - <ClInclude Include="..\ui\range.h" /> - <ClInclude Include="..\ui\stock.h" /> - <ClInclude Include="..\ui\text.h" /> - <ClInclude Include="..\ui\toolbar.h" /> - <ClInclude Include="..\ui\toolkit.h" /> - <ClInclude Include="..\ui\tree.h" /> - <ClInclude Include="..\ui\ui.h" /> - <ClInclude Include="..\ui\window.h" /> - <ClInclude Include="appmenu.h" /> - <ClInclude Include="button.h" /> - <ClInclude Include="container.h" /> - <ClInclude Include="list.h" /> - <ClInclude Include="table.h" /> - <ClInclude Include="text.h" /> - <ClInclude Include="toolkit.h" /> - <ClInclude Include="util.h" /> - <ClInclude Include="window.h" /> + <Image Include="Assets\LockScreenLogo.scale-200.png" /> + <Image Include="Assets\SplashScreen.scale-200.png" /> + <Image Include="Assets\Square150x150Logo.scale-200.png" /> + <Image Include="Assets\Square44x44Logo.scale-200.png" /> + <Image Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" /> + <Image Include="Assets\StoreLogo.png" /> + <Image Include="Assets\Wide310x150Logo.scale-200.png" /> + </ItemGroup> + <!-- + Defining the "Msix" ProjectCapability here allows the Single-project MSIX Packaging + Tools extension to be activated for this project even if the Windows App SDK Nuget + package has not yet been restored. + --> + <ItemGroup Condition="'$(DisableMsixProjectCapabilityAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'"> + <ProjectCapability Include="Msix" /> + </ItemGroup> + <ItemGroup> + <None Include="packages.config" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\..\make\vs\ucx\ucx.vcxproj"> <Project>{27da0164-3475-43e2-a1a4-a5d07d305749}</Project> </ProjectReference> + <ProjectReference Include="..\..\make\vs\uicommon\uicommon.vcxproj"> + <Project>{8b88698e-c185-4383-99fe-0c34d6deed2e}</Project> + </ProjectReference> </ItemGroup> + <!-- + Defining the "HasPackageAndPublishMenuAddedByProject" property here allows the Solution + Explorer "Package and Publish" context menu entry to be enabled for this project even if + the Windows App SDK Nuget package has not yet been restored. + --> + <PropertyGroup Condition="'$(DisableHasPackageAndPublishMenuAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'"> + <HasPackageAndPublishMenu>true</HasPackageAndPublishMenu> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <OutDir>$(SolutionDir)..\..\build\vs\$(Platform)\$(Configuration)\</OutDir> + <IntDir>..\..\build\vs\winui\$(Platform)\$(Configuration)\</IntDir> + </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> - <Import Project="..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.230225.1\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.230225.1\build\native\Microsoft.Windows.CppWinRT.targets')" /> - <Import Project="..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.1\build\Microsoft.Windows.SDK.BuildTools.targets" Condition="Exists('..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.1\build\Microsoft.Windows.SDK.BuildTools.targets')" /> - <Import Project="..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230331000\build\native\Microsoft.WindowsAppSDK.targets" Condition="Exists('..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230331000\build\native\Microsoft.WindowsAppSDK.targets')" /> - <Import Project="..\..\make\vs\packages\Microsoft.Windows.ImplementationLibrary.1.0.230824.2\build\native\Microsoft.Windows.ImplementationLibrary.targets" Condition="Exists('..\..\make\vs\packages\Microsoft.Windows.ImplementationLibrary.1.0.230824.2\build\native\Microsoft.Windows.ImplementationLibrary.targets')" /> + <Import Project="..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.220929.3\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.220929.3\build\native\Microsoft.Windows.CppWinRT.targets')" /> + <Import Project="..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.755\build\Microsoft.Windows.SDK.BuildTools.targets" Condition="Exists('..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.755\build\Microsoft.Windows.SDK.BuildTools.targets')" /> + <Import Project="..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230602002\build\native\Microsoft.WindowsAppSDK.targets" Condition="Exists('..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230602002\build\native\Microsoft.WindowsAppSDK.targets')" /> + <Import Project="..\..\make\vs\packages\Microsoft.Windows.ImplementationLibrary.1.0.220914.1\build\native\Microsoft.Windows.ImplementationLibrary.targets" Condition="Exists('..\..\make\vs\packages\Microsoft.Windows.ImplementationLibrary.1.0.220914.1\build\native\Microsoft.Windows.ImplementationLibrary.targets')" /> </ImportGroup> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + <ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.230225.1\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.230225.1\build\native\Microsoft.Windows.CppWinRT.props'))" /> - <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.230225.1\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.230225.1\build\native\Microsoft.Windows.CppWinRT.targets'))" /> - <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.1\build\Microsoft.Windows.SDK.BuildTools.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.1\build\Microsoft.Windows.SDK.BuildTools.props'))" /> - <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.1\build\Microsoft.Windows.SDK.BuildTools.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.1\build\Microsoft.Windows.SDK.BuildTools.targets'))" /> - <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230331000\build\native\Microsoft.WindowsAppSDK.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230331000\build\native\Microsoft.WindowsAppSDK.props'))" /> - <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230331000\build\native\Microsoft.WindowsAppSDK.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230331000\build\native\Microsoft.WindowsAppSDK.targets'))" /> - <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.Windows.ImplementationLibrary.1.0.230824.2\build\native\Microsoft.Windows.ImplementationLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.Windows.ImplementationLibrary.1.0.230824.2\build\native\Microsoft.Windows.ImplementationLibrary.targets'))" /> + <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.220929.3\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.220929.3\build\native\Microsoft.Windows.CppWinRT.props'))" /> + <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.220929.3\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.Windows.CppWinRT.2.0.220929.3\build\native\Microsoft.Windows.CppWinRT.targets'))" /> + <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.755\build\Microsoft.Windows.SDK.BuildTools.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.755\build\Microsoft.Windows.SDK.BuildTools.props'))" /> + <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.755\build\Microsoft.Windows.SDK.BuildTools.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.755\build\Microsoft.Windows.SDK.BuildTools.targets'))" /> + <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230602002\build\native\Microsoft.WindowsAppSDK.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230602002\build\native\Microsoft.WindowsAppSDK.props'))" /> + <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230602002\build\native\Microsoft.WindowsAppSDK.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.WindowsAppSDK.1.3.230602002\build\native\Microsoft.WindowsAppSDK.targets'))" /> + <Error Condition="!Exists('..\..\make\vs\packages\Microsoft.Windows.ImplementationLibrary.1.0.220914.1\build\native\Microsoft.Windows.ImplementationLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\make\vs\packages\Microsoft.Windows.ImplementationLibrary.1.0.220914.1\build\native\Microsoft.Windows.ImplementationLibrary.targets'))" /> </Target> </Project> \ No newline at end of file
--- a/ui/winui/winui.vcxproj.filters Fri Oct 06 19:38:10 2023 +0200 +++ b/ui/winui/winui.vcxproj.filters Tue Oct 10 10:58:14 2023 +0200 @@ -1,183 +1,60 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> - <Filter Include="Quelldateien"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Headerdateien"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions> - </Filter> - <Filter Include="Ressourcendateien"> - <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> - </Filter> - <Filter Include="Quelldateien\common"> - <UniqueIdentifier>{f54c3ad7-3a41-4d22-8850-ab4d9272e509}</UniqueIdentifier> - </Filter> - <Filter Include="Headerdateien\common"> - <UniqueIdentifier>{e701397e-2637-4a23-a260-1d3259292fa8}</UniqueIdentifier> - </Filter> - <Filter Include="public"> - <UniqueIdentifier>{135ba0dc-0817-4d23-b816-1ac0fa785bb9}</UniqueIdentifier> + <ApplicationDefinition Include="App.xaml" /> + </ItemGroup> + <ItemGroup> + <Page Include="MainWindow.xaml" /> + </ItemGroup> + <ItemGroup> + <Midl Include="App.idl" /> + <Midl Include="MainWindow.idl" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="pch.cpp" /> + <ClCompile Include="$(GeneratedFilesDir)module.g.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="pch.h" /> + </ItemGroup> + <ItemGroup> + <Image Include="Assets\Wide310x150Logo.scale-200.png"> + <Filter>Assets</Filter> + </Image> + <Image Include="Assets\StoreLogo.png"> + <Filter>Assets</Filter> + </Image> + <Image Include="Assets\Square150x150Logo.scale-200.png"> + <Filter>Assets</Filter> + </Image> + <Image Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png"> + <Filter>Assets</Filter> + </Image> + <Image Include="Assets\Square44x44Logo.scale-200.png"> + <Filter>Assets</Filter> + </Image> + <Image Include="Assets\SplashScreen.scale-200.png"> + <Filter>Assets</Filter> + </Image> + <Image Include="Assets\LockScreenLogo.scale-200.png"> + <Filter>Assets</Filter> + </Image> + </ItemGroup> + <ItemGroup> + <Filter Include="Assets"> + <UniqueIdentifier>{59f97886-bf49-4b3f-9ef6-fa7a84f3ab56}</UniqueIdentifier> </Filter> </ItemGroup> <ItemGroup> - <ClCompile Include="toolkit.cpp"> - <Filter>Quelldateien</Filter> - </ClCompile> - <ClCompile Include="window.cpp"> - <Filter>Quelldateien</Filter> - </ClCompile> - <ClCompile Include="..\common\context.c"> - <Filter>Quelldateien\common</Filter> - </ClCompile> - <ClCompile Include="..\common\document.c"> - <Filter>Quelldateien\common</Filter> - </ClCompile> - <ClCompile Include="..\common\menu.c"> - <Filter>Quelldateien\common</Filter> - </ClCompile> - <ClCompile Include="..\common\object.c"> - <Filter>Quelldateien\common</Filter> - </ClCompile> - <ClCompile Include="..\common\properties.c"> - <Filter>Quelldateien\common</Filter> - </ClCompile> - <ClCompile Include="..\common\types.c"> - <Filter>Quelldateien\common</Filter> - </ClCompile> - <ClCompile Include="..\common\ucx_properties.c"> - <Filter>Quelldateien\common</Filter> - </ClCompile> - <ClCompile Include="appmenu.cpp"> - <Filter>Quelldateien</Filter> - </ClCompile> - <ClCompile Include="util.cpp"> - <Filter>Quelldateien</Filter> - </ClCompile> - <ClCompile Include="container.cpp"> - <Filter>Quelldateien</Filter> - </ClCompile> - <ClCompile Include="button.cpp"> - <Filter>Quelldateien</Filter> - </ClCompile> - <ClCompile Include="text.cpp"> - <Filter>Quelldateien</Filter> - </ClCompile> - <ClCompile Include="list.cpp"> - <Filter>Quelldateien</Filter> - </ClCompile> - <ClCompile Include="table.cpp"> - <Filter>Quelldateien</Filter> - </ClCompile> + <Text Include="readme.txt" /> + </ItemGroup> + <ItemGroup> + <Manifest Include="app.manifest" /> + </ItemGroup> + <ItemGroup> + <AppxManifest Include="Package.appxmanifest" /> </ItemGroup> <ItemGroup> <None Include="packages.config" /> </ItemGroup> - <ItemGroup> - <ClInclude Include="toolkit.h"> - <Filter>Headerdateien</Filter> - </ClInclude> - <ClInclude Include="window.h"> - <Filter>Headerdateien</Filter> - </ClInclude> - <ClInclude Include="..\common\context.h"> - <Filter>Headerdateien\common</Filter> - </ClInclude> - <ClInclude Include="..\common\document.h"> - <Filter>Headerdateien\common</Filter> - </ClInclude> - <ClInclude Include="..\common\menu.h"> - <Filter>Headerdateien\common</Filter> - </ClInclude> - <ClInclude Include="..\common\object.h"> - <Filter>Headerdateien\common</Filter> - </ClInclude> - <ClInclude Include="..\common\properties.h"> - <Filter>Headerdateien\common</Filter> - </ClInclude> - <ClInclude Include="..\common\types.h"> - <Filter>Headerdateien\common</Filter> - </ClInclude> - <ClInclude Include="..\common\ucx_properties.h"> - <Filter>Headerdateien\common</Filter> - </ClInclude> - <ClInclude Include="appmenu.h"> - <Filter>Headerdateien</Filter> - </ClInclude> - <ClInclude Include="util.h"> - <Filter>Headerdateien</Filter> - </ClInclude> - <ClInclude Include="container.h"> - <Filter>Headerdateien</Filter> - </ClInclude> - <ClInclude Include="button.h"> - <Filter>Headerdateien</Filter> - </ClInclude> - <ClInclude Include="..\ui\button.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\container.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\display.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\dnd.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\entry.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\graphics.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\image.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\menu.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\properties.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\range.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\stock.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\text.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\toolbar.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\toolkit.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\tree.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\ui.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="..\ui\window.h"> - <Filter>public</Filter> - </ClInclude> - <ClInclude Include="text.h"> - <Filter>Headerdateien</Filter> - </ClInclude> - <ClInclude Include="list.h"> - <Filter>Headerdateien</Filter> - </ClInclude> - <ClInclude Include="table.h"> - <Filter>Headerdateien</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <Natvis Include="$(MSBuildThisFileDirectory)..\..\natvis\wil.natvis" /> - </ItemGroup> </Project> \ No newline at end of file