添加了代码文件

This commit is contained in:
玉宇清音 2023-08-24 23:00:31 +08:00
parent 8458a1a0f3
commit d4136a32b4
20 changed files with 1357 additions and 859 deletions

4
.gitignore vendored
View File

@ -11,3 +11,7 @@ libParse/release/
libProjectManager/debug/
libConfig/release/
libProjectManager/release/
/u_test/release/qmake/temp
/u_test/debug
/SplitView/debug
/u_test/release

View File

@ -16,8 +16,7 @@
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.22621.0</WindowsTargetPlatformMinVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild></PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v141</PlatformToolset>
@ -37,10 +36,7 @@
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>GenericConsole</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /><Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')"><Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." /></Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
@ -48,34 +44,8 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\WordsIDE\debug</OutDir>
<IntDir>debug\</IntDir>
<TargetName>GenericConsole</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>release\</OutDir>
<IntDir>release\</IntDir>
<TargetName>GenericConsole</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core</QtModules>
</PropertyGroup>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
<Import Project="$(QtMsBuild)\qt.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')"><Import Project="$(QtMsBuild)\qt_defaults.props" /></ImportGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"><OutDir>debug\</OutDir><IntDir>debug\</IntDir><TargetName>GenericConsole</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"><OutDir>release\</OutDir><IntDir>release\</IntDir><TargetName>GenericConsole</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary><LinkIncremental>false</LinkIncremental></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"><QtInstall>5.12.11_msvc2017_64</QtInstall><QtModules>core</QtModules></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"><QtInstall>5.12.11_msvc2017_64</QtInstall><QtModules>core</QtModules></PropertyGroup><ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')"><Import Project="$(QtMsBuild)\qt.props" /></ImportGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;release;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -89,14 +59,12 @@
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;GENERICCONSOLE_LIBRARY;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>
</ProgramDataBaseFileName>
<ProgramDataBaseFileName></ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
@ -136,8 +104,7 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
@ -175,13 +142,18 @@
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\moc_predefs.h;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<None Include="GenericConsole_zh_CN.ts" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')"><Import Project="$(QtMsBuild)\qt.targets" /></ImportGroup>
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -53,6 +53,9 @@
<CustomBuild Include="debug\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<None Include="GenericConsole_zh_CN.ts">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.15.0, 2023-08-21T22:09:20. -->
<!-- Written by QtCreator 4.15.0, 2023-08-24T22:54:09. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>

View File

@ -1,65 +1,48 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.33026.149
VisualStudioVersion = 15.0.33801.198
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CoreTest", "CoreTest\CoreTest.vcxproj", "{2CCAEF30-054D-3145-8644-812795679560}"
ProjectSection(ProjectDependencies) = postProject
{584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9} = {584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9}
{5CBE83F9-2019-33DC-8327-32F7A2AC9EF6} = {5CBE83F9-2019-33DC-8327-32F7A2AC9EF6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DesParser", "DesParser\DesParser.vcxproj", "{CDBA4FCE-9275-3B08-87C8-B4473EB323EA}"
ProjectSection(ProjectDependencies) = postProject
{BF0B8C4D-69F9-391A-85A1-237D14A69C5E} = {BF0B8C4D-69F9-391A-85A1-237D14A69C5E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GenericConsole", "GenericConsole\GenericConsole.vcxproj", "{5BB4976A-6252-3E36-851D-7F17F16DF17D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Testpad", "Testpad\Testpad.vcxproj", "{D35B67A8-36AB-3A8B-8F10-73A2007910CB}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SplitView", "SplitView\SplitView.vcxproj", "{DB7B1794-6682-38A2-B142-117D0E9F66E4}"
ProjectSection(ProjectDependencies) = postProject
{584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9} = {584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9}
{5CBE83F9-2019-33DC-8327-32F7A2AC9EF6} = {5CBE83F9-2019-33DC-8327-32F7A2AC9EF6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WordsIDE", "WordsIDE\WordsIDE.vcxproj", "{E0995577-1AB9-3B93-9990-97E99093D597}"
ProjectSection(ProjectDependencies) = postProject
{584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9} = {584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9}
{5CBE83F9-2019-33DC-8327-32F7A2AC9EF6} = {5CBE83F9-2019-33DC-8327-32F7A2AC9EF6}
{BF0B8C4D-69F9-391A-85A1-237D14A69C5E} = {BF0B8C4D-69F9-391A-85A1-237D14A69C5E}
{5BB4976A-6252-3E36-851D-7F17F16DF17D} = {5BB4976A-6252-3E36-851D-7F17F16DF17D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libConfig", "libConfig\libConfig.vcxproj", "{584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libParse", "libParse\libParse.vcxproj", "{BF0B8C4D-69F9-391A-85A1-237D14A69C5E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libProjectManager", "libProjectManager\libProjectManager.vcxproj", "{5CBE83F9-2019-33DC-8327-32F7A2AC9EF6}"
ProjectSection(ProjectDependencies) = postProject
{584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9} = {584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "u_test", "u_test\u_test.vcxproj", "{2A348B24-97E4-3DE1-84FD-5A95F92CEADE}"
ProjectSection(ProjectDependencies) = postProject
{DB7B1794-6682-38A2-B142-117D0E9F66E4} = {DB7B1794-6682-38A2-B142-117D0E9F66E4}
{5BB4976A-6252-3E36-851D-7F17F16DF17D} = {5BB4976A-6252-3E36-851D-7F17F16DF17D}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2CCAEF30-054D-3145-8644-812795679560}.Debug|x64.ActiveCfg = Debug|x64
{2CCAEF30-054D-3145-8644-812795679560}.Debug|x64.Build.0 = Debug|x64
{2CCAEF30-054D-3145-8644-812795679560}.Release|x64.ActiveCfg = Release|x64
{2CCAEF30-054D-3145-8644-812795679560}.Release|x64.Build.0 = Release|x64
{CDBA4FCE-9275-3B08-87C8-B4473EB323EA}.Debug|x64.ActiveCfg = Debug|x64
{CDBA4FCE-9275-3B08-87C8-B4473EB323EA}.Debug|x64.Build.0 = Debug|x64
{CDBA4FCE-9275-3B08-87C8-B4473EB323EA}.Release|x64.ActiveCfg = Release|x64
{CDBA4FCE-9275-3B08-87C8-B4473EB323EA}.Release|x64.Build.0 = Release|x64
{5BB4976A-6252-3E36-851D-7F17F16DF17D}.Debug|x64.ActiveCfg = Debug|x64
{5BB4976A-6252-3E36-851D-7F17F16DF17D}.Debug|x64.Build.0 = Debug|x64
{5BB4976A-6252-3E36-851D-7F17F16DF17D}.Release|x64.ActiveCfg = Release|x64
{5BB4976A-6252-3E36-851D-7F17F16DF17D}.Release|x64.Build.0 = Release|x64
{D35B67A8-36AB-3A8B-8F10-73A2007910CB}.Debug|x64.ActiveCfg = Debug|x64
{D35B67A8-36AB-3A8B-8F10-73A2007910CB}.Debug|x64.Build.0 = Debug|x64
{D35B67A8-36AB-3A8B-8F10-73A2007910CB}.Release|x64.ActiveCfg = Release|x64
{D35B67A8-36AB-3A8B-8F10-73A2007910CB}.Release|x64.Build.0 = Release|x64
{DB7B1794-6682-38A2-B142-117D0E9F66E4}.Debug|x64.ActiveCfg = Debug|x64
{DB7B1794-6682-38A2-B142-117D0E9F66E4}.Debug|x64.Build.0 = Debug|x64
{DB7B1794-6682-38A2-B142-117D0E9F66E4}.Release|x64.ActiveCfg = Release|x64
{DB7B1794-6682-38A2-B142-117D0E9F66E4}.Release|x64.Build.0 = Release|x64
{E0995577-1AB9-3B93-9990-97E99093D597}.Debug|x64.ActiveCfg = Debug|x64
{E0995577-1AB9-3B93-9990-97E99093D597}.Debug|x64.Build.0 = Debug|x64
{E0995577-1AB9-3B93-9990-97E99093D597}.Release|x64.ActiveCfg = Release|x64
@ -68,20 +51,20 @@ Global
{584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9}.Debug|x64.Build.0 = Debug|x64
{584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9}.Release|x64.ActiveCfg = Release|x64
{584ACAFD-87A5-3B62-B96B-4CE19B6FD6C9}.Release|x64.Build.0 = Release|x64
{BF0B8C4D-69F9-391A-85A1-237D14A69C5E}.Debug|x64.ActiveCfg = Debug|x64
{BF0B8C4D-69F9-391A-85A1-237D14A69C5E}.Debug|x64.Build.0 = Debug|x64
{BF0B8C4D-69F9-391A-85A1-237D14A69C5E}.Release|x64.ActiveCfg = Release|x64
{BF0B8C4D-69F9-391A-85A1-237D14A69C5E}.Release|x64.Build.0 = Release|x64
{5CBE83F9-2019-33DC-8327-32F7A2AC9EF6}.Debug|x64.ActiveCfg = Debug|x64
{5CBE83F9-2019-33DC-8327-32F7A2AC9EF6}.Debug|x64.Build.0 = Debug|x64
{5CBE83F9-2019-33DC-8327-32F7A2AC9EF6}.Release|x64.ActiveCfg = Release|x64
{5CBE83F9-2019-33DC-8327-32F7A2AC9EF6}.Release|x64.Build.0 = Release|x64
{2A348B24-97E4-3DE1-84FD-5A95F92CEADE}.Debug|x64.ActiveCfg = Debug|x64
{2A348B24-97E4-3DE1-84FD-5A95F92CEADE}.Debug|x64.Build.0 = Debug|x64
{2A348B24-97E4-3DE1-84FD-5A95F92CEADE}.Release|x64.ActiveCfg = Release|x64
{2A348B24-97E4-3DE1-84FD-5A95F92CEADE}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
Qt5Version = 5.12.11_msvc2017_64
SolutionGuid = {4A19B662-6911-4A57-99FE-053117EE4D99}
SolutionGuid = {55A4EA1C-4AF5-49EC-A1EF-A3CE53C97A13}
EndGlobalSection
EndGlobal

192
SplitView/SplitView.vcxproj Normal file
View File

@ -0,0 +1,192 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{DB7B1794-6682-38A2-B142-117D0E9F66E4}</ProjectGuid>
<RootNamespace>SplitView</RootNamespace>
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.22621.0</WindowsTargetPlatformMinVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v141</PlatformToolset>
<OutputDirectory>release\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<IntermediateDirectory>release\</IntermediateDirectory>
<PrimaryOutput>SplitView</PrimaryOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<PlatformToolset>v141</PlatformToolset>
<OutputDirectory>debug\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>SplitView</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)x64\Debug</OutDir>
<IntDir>debug\</IntDir>
<TargetName>SplitView</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>release\</OutDir>
<IntDir>release\</IntDir>
<TargetName>SplitView</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core;gui;widgets</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core;gui;widgets</QtModules>
</PropertyGroup>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
<Import Project="$(QtMsBuild)\qt.props" />
</ImportGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\libConfig;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>release\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>release\</ObjectFileName>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;SPLITVIEW_LIBRARY;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>
</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>libConfig.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>D:\Projects\Cpp\QtNovelDesc\libConfig\release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>false</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkDLL>true</LinkDLL>
<LinkIncremental>false</LinkIncremental>
<OutputFile>$(OutDir)\SplitView.dll</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Windows</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;SPLITVIEW_LIBRARY;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\libConfig;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>debug\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>debug\</ObjectFileName>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;SPLITVIEW_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>D:\Projects\Cpp\QtNovelDesc\libConfig\debug\libConfig.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>D:\Projects\Cpp\QtNovelDesc\libConfig\debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkDLL>true</LinkDLL>
<OutputFile>$(OutDir)\SplitView.dll</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Windows</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;SPLITVIEW_LIBRARY;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="splitview.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="SplitView_global.h" />
<ClInclude Include="splitview.h" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<FileType>Document</FileType>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;debug\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\moc_predefs.h;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</CustomBuild>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
</Filter>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="splitview.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="SplitView_global.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="splitview.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
</ItemGroup>
</Project>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View File

@ -40,59 +40,59 @@ void BaseView::setTitle(const QString &title) {
title_header->setText(title);
}
QString BaseView::title() const { return this->title_header->text(); }
QString BaseView::title() const {
return this->title_header->text();
}
void BaseView::setIcon(const QIcon &icon) { this->title_header->setIcon(icon); }
void BaseView::setIcon(const QIcon &icon) {
this->title_header->setIcon(icon);
}
QIcon BaseView::viewIcon() const { return title_header->icon(); }
QIcon BaseView::viewIcon() const {
return title_header->icon();
}
void BaseView::registComp(QWidget *child) {
if (this->comps_list.contains(child))
return;
comps_list << child;
if (child != this)
child->setParent(this);
}
ViewPresent *BaseView::viewPanel() const {
if (!parentRect())
return nullptr;
return parentRect()->viewPanel();
ViewPresent *BaseView::viewPanel() const { return parentRect()->viewPanel(); }
void BaseView::closeView() {
}
void BaseView::closeView() {}
bool BaseView::contains(QWidget *ptr) const {
return comps_list.contains(ptr);
}
bool BaseView::contains(QWidget *ptr) const { return comps_list.contains(ptr); }
QWidget *BaseView::bind() const {
return const_cast<BaseView *>(this);
}
QWidget *BaseView::bind() const { return const_cast<BaseView *>(this); }
SplitRect *BaseView::parentRect() const { return parent_store; }
SplitRect *BaseView::parentRect() const {
return parent_store;
}
void BaseView::setParentRect(SplitRect *pinst) {
if (pinst) {
auto conv = pinst->bind();
setParent(conv);
} else
setParent(nullptr);
this->parent_store = pinst;
this->setParent(pinst->bind());
}
std::pair<SplitRect *, SplitRect *> BaseView::child() const { return std::make_pair<SplitRect *, SplitRect *>(nullptr, nullptr); }
void BaseView::replaceComp(SplitRect *view, SplitRect *old) { throw new SimpleException<QString>("异常调用", "不能对ViewBase调用replace函数"); }
float BaseView::splitterWidth() const { return 0; }
float BaseView::splitterPos() const { return 0; }
SplitType BaseView::splitType() const { return SplitType::SPLIT_H; }
void BaseView::setSplitInfo(SplitType type, float pos, float width, bool relayout) {
throw new SimpleException<QString>("异常调用", "不能对ViewBase调用setSplitInfo函数");
QRectF BaseView::outline() const {
return this->rect();
}
QRectF BaseView::outline() const { return this->rect(); }
void BaseView::relayout(const QRectF &outline) { this->setGeometry(outline.toRect()); }
void BaseView::relayout(const QRectF &outline) {
this->setGeometry(outline.toRect());
update();
}
void BaseView::installPerceptionHandle(ViewPresent *obj) {
for (auto &it : comps_list) {
@ -102,18 +102,18 @@ void BaseView::installPerceptionHandle(ViewPresent *obj) {
}
}
void BaseView::paintEvent(QPaintEvent *ev) { QWidget::paintEvent(ev); }
void BaseView::paintEvent(QPaintEvent *ev) {
QWidget::paintEvent(ev);
}
void BaseView::removeComp(SplitRect *child_inst) { throw new SimpleException<QString>("非法操作", "BaseView不支持retrieveComp操作"); }
AttachPanel::AttachPanel(ViewPresent *host) : QWidget(), size_host(host) {
AttachPanel::AttachPanel(ViewPresent *host) : QWidget(host->bind()), adjust_host(host) {
setWindowOpacity(50);
setAcceptDrops(true);
}
void AttachPanel::bind(BaseView *widget) { this->current_target = widget; }
void AttachPanel::bindAttachment(BaseView *widget) { this->current_target = widget; }
BaseView *AttachPanel::attachTarget() const { return this->current_target; }
BaseView *AttachPanel::attachmentTarget() const { return this->current_target; }
void AttachPanel::paintEvent(QPaintEvent *event) {
QWidget::paintEvent(event);
@ -153,26 +153,29 @@ void AttachPanel::paintEvent(QPaintEvent *event) {
p.drawRoundRect(QRectF(lt1, QSizeF(300, 100)));
}
void AttachPanel::mouseMoveEvent(QMouseEvent *event) { QWidget::mouseMoveEvent(event); }
void AttachPanel::dragMoveEvent(QDragMoveEvent *event) {
QWidget::dragMoveEvent(event);
auto tuple_list = view_rects();
if (std::get<0>(tuple_list).contains(event->pos())) {
this->active_comp = ActiveArea::LEFT;
} else if (std::get<1>(tuple_list).contains(event->pos())) {
}
else if (std::get<1>(tuple_list).contains(event->pos())) {
this->active_comp = ActiveArea::RIGHT;
} else if (std::get<2>(tuple_list).contains(event->pos())) {
}
else if (std::get<2>(tuple_list).contains(event->pos())) {
this->active_comp = ActiveArea::TOP;
} else if (std::get<3>(tuple_list).contains(event->pos())) {
}
else if (std::get<3>(tuple_list).contains(event->pos())) {
this->active_comp = ActiveArea::BOTTOM;
} else if (std::get<4>(tuple_list).contains(event->pos())) {
}
else if (std::get<4>(tuple_list).contains(event->pos())) {
this->active_comp = ActiveArea::CENTER;
} else {
}
else {
this->active_comp = ActiveArea::NONE;
}
@ -182,7 +185,7 @@ void AttachPanel::dragMoveEvent(QDragMoveEvent *event) {
void AttachPanel::dragEnterEvent(QDragEnterEvent *event) {
QWidget::dragEnterEvent(event);
if (size_host->adjustState())
if (adjust_host->adjustState())
event->acceptProposedAction();
}
@ -190,49 +193,52 @@ void AttachPanel::dropEvent(QDropEvent *event) {
QWidget::dropEvent(event);
event->acceptProposedAction();
auto xsource = size_host->adjustView();
auto target = this->attachTarget();
auto xfrom = adjust_host->adjustView();
auto target = this->attachmentTarget();
if (target != xsource) {
SplitRect *newsplit = nullptr;
if (target != xfrom && active_comp != ActiveArea::NONE) {
RectCom *newsplit = nullptr;
if (xsource->parentRect())
xsource->parentRect()->removeComp(xsource);
xfrom->parentRect()->removeComp(xfrom);
adjust_host->objsRelateRebuild();
auto ptarget = target->parentRect();
auto target_rect = target->outline();
switch (this->active_comp) {
case ActiveArea::LEFT: {
newsplit = new SplitView(xsource, target, size_host);
newsplit = new SplitView(xfrom, target, adjust_host);
newsplit->relayout(target_rect);
newsplit->setSplitInfo(SplitType::SPLIT_H, target_rect.width() / 2, size_host->splitterWidth());
static_cast<SplitView *>(newsplit)->setSplitInfo(SplitType::SPLIT_H, target_rect.width() / 2, adjust_host->splitterWidth(), true);
} break;
case ActiveArea::RIGHT: {
newsplit = new SplitView(target, xsource, size_host);
newsplit = new SplitView(target, xfrom, adjust_host);
newsplit->relayout(target_rect);
newsplit->setSplitInfo(SplitType::SPLIT_H, target_rect.width() / 2, size_host->splitterWidth());
static_cast<SplitView *>(newsplit)->setSplitInfo(SplitType::SPLIT_H, target_rect.width() / 2, adjust_host->splitterWidth(), true);
} break;
case ActiveArea::TOP: {
newsplit = new SplitView(xsource, target, size_host);
newsplit = new SplitView(xfrom, target, adjust_host);
newsplit->relayout(target_rect);
newsplit->setSplitInfo(SplitType::SPLIT_V, target_rect.height() / 2, size_host->splitterWidth());
static_cast<SplitView *>(newsplit)->setSplitInfo(SplitType::SPLIT_V, target_rect.height() / 2, adjust_host->splitterWidth(), true);
} break;
case ActiveArea::BOTTOM: {
newsplit = new SplitView(target, xsource, size_host);
newsplit = new SplitView(target, xfrom, adjust_host);
newsplit->relayout(target_rect);
newsplit->setSplitInfo(SplitType::SPLIT_V, target_rect.height() / 2, size_host->splitterWidth());
static_cast<SplitView *>(newsplit)->setSplitInfo(SplitType::SPLIT_V, target_rect.height() / 2, adjust_host->splitterWidth(), true);
} break;
case ActiveArea::CENTER: {
newsplit = xsource;
newsplit = xfrom;
} break;
default:
return;
}
ptarget->replaceComp(newsplit, target);
adjust_host->objsRelateRebuild();
adjust_host->unusedResRelease();
}
adjust_host->setViewAdjust();
this->setVisible(false);
}
@ -245,16 +251,24 @@ std::tuple<QRectF, QRectF, QRectF, QRectF, QRectF> AttachPanel::view_rects() con
QRectF(lt0 + QPointF(0, 200), QSizeF(100, 100)), QRectF(lt1 + QPointF(100, 0), QSizeF(100, 100)));
}
ViewPresent::ViewPresent(SplitRect *initial_view, QWidget *parent) : QWidget(parent), accept_panel(new AttachPanel(this)) {
ViewPresent::ViewPresent(QWidget *parent) : QWidget(parent), accept_panel(new AttachPanel(this)) {
accept_panel->hide();
this->split_info_store = std::make_tuple(SplitType::SPLIT_H, 100, 7, 1);
initial_view->setParentRect(this);
setMouseTracking(true);
view_anchors << initial_view;
}
ViewPresent::~ViewPresent() { accept_panel->deleteLater(); }
ViewPresent::~ViewPresent() {
accept_panel->deleteLater();
}
void ViewPresent::addListener(FreedomViewsListener *lsn) {
if (lsn_list.contains(lsn))
return;
lsn_list << lsn;
}
void ViewPresent::removeListener(FreedomViewsListener *lsn) {
lsn_list.removeAll(lsn);
}
void ViewPresent::registViewComp(BaseView *it) {
if (this->all_sep_views.contains(it))
@ -264,42 +278,61 @@ void ViewPresent::registViewComp(BaseView *it) {
all_sep_views << it;
}
void ViewPresent::setViewAdjust(bool state, BaseView *one) {
this->adjust_state = state;
if (!state)
one = nullptr;
this->adjust_view_store = one;
void ViewPresent::markFreedom(BaseView *view) {
if (!freedom_views.contains(view))
freedom_views << view;
}
bool ViewPresent::adjustState() const { return this->adjust_state; }
// void ViewPresent::collectFreedomView(BaseView *invisible) {
// if (!freedom_views.contains(invisible)) {
// freedom_views << invisible;
BaseView *ViewPresent::adjustView() const { return this->adjust_view_store; }
// for (auto &it : lsn_list)
// it->freedomAppended(invisible);
// }
void ViewPresent::append(SplitRect *inst, uint index) {
auto pos = splitterPos();
auto width = splitterWidth();
auto idx = index ? 1 : 0;
auto type = splitType();
// invisible->setParentRect(nullptr);
// invisible->bind()->setVisible(false);
//}
if (view_anchors.size() == 2) {
view_anchors[idx]->setParentRect(nullptr);
view_anchors[idx]->bind()->setVisible(false);
view_anchors[idx] = inst;
view_anchors[idx]->setParentRect(this);
view_anchors[idx]->bind()->setVisible(true);
} else if (view_anchors.size() == 1) {
view_anchors.insert(idx, inst);
view_anchors[idx] = inst;
view_anchors[idx]->setParentRect(this);
view_anchors[idx]->bind()->setVisible(true);
} else {
view_anchors << inst;
view_anchors.last()->setParentRect(this);
view_anchors.last()->bind()->setVisible(true);
void ViewPresent::setTempVisible(BaseView *target) {
if (target != nullptr && !this->freedom_views.contains(target))
throw new SimpleException<QString>("参数异常", "非闲置视图不可以设置为临时视图");
if (this->temp_visible_view) {
// collectFreedomView(temp_visible_view);
}
this->split_info_store = std::make_tuple(type, pos, width, idx);
temp_visible_view = target;
if (temp_visible_view) {
temp_visible_view->setParentRect(this);
temp_visible_view->bind()->setVisible(true);
temp_visible_view->bind()->raise();
}
relayout();
}
void ViewPresent::setViewAdjust(BaseView *one) {
this->adjust_view_temp = one;
}
bool ViewPresent::adjustState() const {
return this->adjust_view_temp != nullptr;
}
BaseView *ViewPresent::adjustView() const {
return this->adjust_view_temp;
}
void ViewPresent::resetViews(RectCom *center, RectCom *extend) {
view_anchors << center;
if (extend) {
view_anchors << extend;
}
this->objsRelateRebuild();
this->relayout();
}
@ -311,32 +344,65 @@ bool ViewPresent::eventFilter(QObject *watched, QEvent *event) {
if (v->contains((QWidget *)watched)) {
auto outline = v->outline();
QPoint gpos(v->bind()->mapToGlobal(outline.topLeft().toPoint()));
QPoint localpos(mapFromGlobal(gpos));
accept_panel->setWindowFlag(Qt::FramelessWindowHint);
accept_panel->show();
accept_panel->setGeometry(QRect(gpos, outline.size().toSize()));
accept_panel->raise();
accept_panel->setGeometry(QRect(localpos, outline.size().toSize()));
accept_panel->setVisible(true);
accept_panel->bind(v);
accept_panel->bindAttachment(v);
event->accept();
return true;
}
}
}
if (event->type() == QEvent::Drop) {
accept_panel->hide();
accept_panel->lower();
}
if (this->temp_visible_view && event->type() == QEvent::MouseButtonPress) {
if (!temp_visible_view->contains((QWidget *)watched)) {
setTempVisible(nullptr);
}
}
return QWidget::eventFilter(watched, event);
}
QWidget *ViewPresent::bind() const { return const_cast<ViewPresent *>(this); }
ViewPresent *ViewPresent::viewPanel() const { return const_cast<ViewPresent *>(this); }
bool ViewPresent::contains(QWidget *ptr) const { return false; }
ViewPresent *ViewPresent::viewPanel() const {
return const_cast<ViewPresent *>(this);
}
SplitRect *ViewPresent::parentRect() const { return nullptr; }
void ViewPresent::setParentRect(SplitRect *pinst) { throw new SimpleException<QString>("非法操作", "不允许对ViewPresent调用setParentRect"); }
void ViewPresent::objsRelateRebuild() { setParentRect(nullptr); }
std::pair<SplitRect *, SplitRect *> ViewPresent::child() const {
SplitRect *inst0 = nullptr, *inst1 = nullptr;
void ViewPresent::markUnused(SplitRect *item) {
if (!this->unused_splits.contains(item))
unused_splits << item;
}
void ViewPresent::unusedResRelease() {
for (auto &it : unused_splits)
delete it;
unused_splits.clear();
}
void ViewPresent::setParentRect(SplitRect *) {
auto pair = child();
pair.first->setParentRect(this);
if (pair.second)
pair.second->setParentRect(this);
}
std::pair<RectCom *, RectCom *> ViewPresent::child() const {
RectCom *inst0 = nullptr, *inst1 = nullptr;
if (view_anchors.size() > 1)
inst1 = view_anchors[1];
if (view_anchors.size() > 0)
@ -345,7 +411,7 @@ std::pair<SplitRect *, SplitRect *> ViewPresent::child() const {
return std::make_pair(inst0, inst1);
}
void ViewPresent::replaceComp(SplitRect *view, SplitRect *old) {
void ViewPresent::replaceComp(RectCom *view, RectCom *old) {
if (!view_anchors.contains(old))
throw new SimpleException<QString>("参数错误", "指定替换的界面不属于此界面");
@ -353,25 +419,35 @@ void ViewPresent::replaceComp(SplitRect *view, SplitRect *old) {
return;
view_anchors.replace(view_anchors.indexOf(old), view);
relayout();
objsRelateRebuild();
update();
}
float ViewPresent::splitterWidth() const { return std::get<2>(split_info_store); }
float ViewPresent::splitterWidth() const {
return std::get<2>(split_info_store);
}
float ViewPresent::splitterPos() const { return std::get<1>(split_info_store); }
float ViewPresent::splitterPos() const {
return std::get<1>(split_info_store);
}
SplitType ViewPresent::splitType() const { return std::get<0>(split_info_store); }
SplitType ViewPresent::splitType() const {
return std::get<0>(split_info_store);
}
void ViewPresent::setSplitInfo(SplitType type, float pos, float width, bool relayout) {
this->split_info_store = std::make_tuple(type, pos, width, std::get<3>(split_info_store));
this->split_info_store = std::make_tuple(type, pos, width);
if (relayout)
this->relayout();
}
QRectF ViewPresent::outline() const { return this->rect(); }
QRectF ViewPresent::outline() const {
return this->rect();
}
void ViewPresent::relayout(const QRectF &outline) { setGeometry(outline.toRect()); }
void ViewPresent::relayout(const QRectF &outline) {
setGeometry(outline.toRect());
}
void ViewPresent::paintEvent(QPaintEvent *ev) {
QWidget::paintEvent(ev);
@ -382,26 +458,47 @@ void ViewPresent::paintEvent(QPaintEvent *ev) {
p.fillRect(handle_rect, QBrush(Qt::gray));
}
for (auto &it : view_anchors)
for (auto &it : view_anchors) {
it->bind()->setVisible(true);
it->bind()->update();
}
if (temp_visible_view) {
temp_visible_view->bind()->setVisible(true);
temp_visible_view->bind()->update();
}
for (auto &it : freedom_views) {
it->bind()->setVisible(false);
it->bind()->update();
}
}
void ViewPresent::removeComp(SplitRect *child_inst) {
void ViewPresent::removeComp(BaseView *child_inst) {
if (temp_visible_view == child_inst) {
temp_visible_view = nullptr;
freedom_views.removeAll(child_inst);
for (auto &lsn : lsn_list)
lsn->freedomRemoved(static_cast<BaseView *>(child_inst));
} else {
if (!view_anchors.contains(child_inst))
throw new SimpleException<QString>("参数非法", "回收的指定视图不属于本ViewPresent");
if (child_inst)
child_inst->bind()->setVisible(false);
markFreedom(child_inst);
view_anchors.removeAll(child_inst);
relayout();
}
viewPanel()->objsRelateRebuild();
viewPanel()->unusedResRelease();
update();
}
void ViewPresent::resizeEvent(QResizeEvent *ev) {
QWidget::resizeEvent(ev);
relayout();
}
void ViewPresent::mousePressEvent(QMouseEvent *event) {
QWidget::mousePressEvent(event);
@ -410,7 +507,6 @@ void ViewPresent::mousePressEvent(QMouseEvent *event) {
this->press_flags = true;
}
}
void ViewPresent::mouseReleaseEvent(QMouseEvent *event) {
QWidget::mouseReleaseEvent(event);
@ -418,7 +514,6 @@ void ViewPresent::mouseReleaseEvent(QMouseEvent *event) {
this->press_flags = false;
}
}
void ViewPresent::mouseMoveEvent(QMouseEvent *event) {
QWidget::mouseMoveEvent(event);
@ -428,7 +523,8 @@ void ViewPresent::mouseMoveEvent(QMouseEvent *event) {
setCursor(QCursor(Qt::CursorShape::SplitHCursor));
else
setCursor(QCursor(Qt::CursorShape::SplitVCursor));
} else {
}
else {
setCursor(QCursor(Qt::CursorShape::ArrowCursor));
}
@ -437,7 +533,8 @@ void ViewPresent::mouseMoveEvent(QMouseEvent *event) {
auto split_margin = splitterWidth();
if (std::get<0>(split_info_store) == SplitType::SPLIT_H) {
setSplitInfo(splitType(), pos.x() - split_margin / 2, split_margin, true);
} else {
}
else {
setSplitInfo(splitType(), pos.y() - split_margin / 2, split_margin, true);
}
@ -449,22 +546,18 @@ void ViewPresent::relayout() {
auto rects = viewRects();
if (view_anchors.size() == 2) {
view_anchors[0]->setParentRect(this);
view_anchors[0]->relayout(rects.first.toRect());
view_anchors[0]->bind()->setVisible(true);
view_anchors[1]->setParentRect(this);
view_anchors[1]->relayout(rects.second.toRect());
view_anchors[1]->bind()->setVisible(true);
} else if (view_anchors.size() == 1) {
view_anchors[0]->setParentRect(this);
view_anchors[0]->relayout(this->rect());
view_anchors[0]->bind()->setVisible(true);
}
if (temp_visible_view) {
temp_visible_view->relayout(QRectF(QPointF(), QSizeF(300, this->height())));
}
update();
}
std::pair<QRectF, QRectF> ViewPresent::viewRects() {
auto xrect = this->rect();
@ -482,7 +575,8 @@ std::pair<QRectF, QRectF> ViewPresent::viewRects() {
auto rect1 = QRectF(xrect.topLeft() + QPointF(rect0.width() + splitterWidth(), 0),
QSizeF(xrect.width() - rect0.width() - splitterWidth(), xrect.height()));
return std::make_pair(rect0, rect1);
} else {
}
else {
auto height0 = splitterPos();
if (height0 + splitterWidth() > xrect.height())
height0 = xrect.height() - splitterWidth();
@ -497,57 +591,61 @@ std::pair<QRectF, QRectF> ViewPresent::viewRects() {
return std::make_pair(rect0, rect1);
}
}
QRectF ViewPresent::handleRect() const {
QRectF rect;
auto width_middle = splitterWidth() - 2;
if (splitType() == SplitType::SPLIT_H) {
rect = QRectF(splitterPos() + 1, 0, width_middle, outline().height());
} else {
}
else {
rect = QRectF(0, splitterPos() + 1, outline().width(), width_middle);
}
return rect;
}
SplitView::SplitView(SplitRect *first, SplitRect *next, QWidget *parent) : QWidget(parent) {
SplitView::SplitView(RectCom *first, RectCom *next, QWidget *parent) : QWidget(parent) {
this->split_info_value = std::make_tuple(SplitType::SPLIT_H, 100, 7);
this->child_store << first;
this->child_store << next;
setMouseTracking(true);
first->setParentRect(this);
next->setParentRect(this);
}
QWidget *SplitView::bind() const { return const_cast<SplitView *>(this); }
ViewPresent *SplitView::viewPanel() const {
if (parentRect() == nullptr)
return nullptr;
return parentRect()->viewPanel();
SplitFrame::SplitView::~SplitView() {
}
SplitRect *SplitView::parentRect() const { return parent_inst; }
QWidget *SplitView::bind() const {
return const_cast<SplitView *>(this);
}
ViewPresent *SplitView::viewPanel() const { return parentRect()->viewPanel(); }
SplitRect *SplitView::parentRect() const {
return parent_inst;
}
void SplitView::setParentRect(SplitRect *pinst) {
if (pinst) {
auto pwidget = pinst->bind();
this->setParent(pwidget);
} else
this->setParent(nullptr);
QWidget::setParent(pinst->bind());
this->parent_inst = pinst;
auto pair = child();
pair.first->setParentRect(this);
pair.second->setParentRect(this);
}
std::pair<SplitRect *, SplitRect *> SplitView::child() const { return std::make_pair(child_store[0], child_store[1]); }
std::pair<RectCom *, RectCom *> SplitView::child() const { return std::make_pair(child_store[0], child_store[1]); }
float SplitView::splitterWidth() const { return std::get<2>(split_info_value); }
float SplitView::splitterWidth() const {
return std::get<2>(split_info_value);
}
float SplitView::splitterPos() const { return std::get<1>(split_info_value); }
float SplitView::splitterPos() const {
return std::get<1>(split_info_value);
}
SplitType SplitView::splitType() const { return std::get<0>(split_info_value); }
SplitType SplitView::splitType() const {
return std::get<0>(split_info_value);
}
void SplitView::setSplitInfo(SplitType type, float pos, float width, bool relayout) {
this->split_info_value = std::make_tuple(type, pos, width);
@ -555,34 +653,40 @@ void SplitView::setSplitInfo(SplitType type, float pos, float width, bool relayo
this->relayout();
}
void SplitView::replaceComp(SplitRect *view, SplitRect *old) {
if (child_store.contains(old) && !child_store.contains(view)) {
auto index = child_store.indexOf(old);
child_store.replace(index, view);
void SplitView::replaceComp(RectCom *view, RectCom *old) {
if (!child_store.contains(old) || child_store.contains(view)) {
throw new SimpleException<QString>("参数非法", "要替换的视图不属于本构件,或者新视图本就属于本构件");
}
relayout();
auto index = child_store.indexOf(old);
child_store.replace(index, view);
viewPanel()->objsRelateRebuild();
}
QRectF SplitView::outline() const { return this->rect(); }
QRectF SplitView::outline() const {
return this->rect();
}
void SplitView::relayout(const QRectF &outlinex) {
this->setGeometry(outlinex.toRect());
update();
}
void SplitView::removeComp(SplitRect *child_inst) {
void SplitView::removeComp(BaseView *child_inst) {
auto pinst = parentRect();
auto sib = this->child().first;
if (child_inst == sib)
sib = this->child().second;
child_inst->bind()->setVisible(false);
pinst->replaceComp(sib, this);
child_inst->setParentRect(nullptr);
delete this;
viewPanel()->markUnused(this);
viewPanel()->markFreedom(child_inst);
viewPanel()->objsRelateRebuild();
viewPanel()->unusedResRelease();
}
void SplitView::paintEvent(QPaintEvent *ev) {
@ -596,6 +700,8 @@ void SplitView::paintEvent(QPaintEvent *ev) {
it->bind()->update();
}
bool SplitView::contains(QWidget *ptr) const { return false; }
void SplitView::resizeEvent(QResizeEvent *ev) {
QWidget::resizeEvent(ev);
relayout();
@ -663,16 +769,9 @@ void SplitView::relayout() {
auto rects = viewRects();
auto pair = child();
pair.first->setParentRect(this);
pair.first->relayout(std::get<0>(rects));
pair.second->setParentRect(this);
pair.second->relayout(std::get<1>(rects));
auto awidget = dynamic_cast<QWidget *>(pair.first);
auto bwidget = dynamic_cast<QWidget *>(pair.second);
awidget->setVisible(true);
bwidget->setVisible(true);
update();
}
@ -693,7 +792,8 @@ std::pair<QRectF, QRectF> SplitView::viewRects() {
auto rect1 = QRectF(xrect.topLeft() + QPointF(rect0.width() + splitterWidth(), 0),
QSizeF(xrect.width() - rect0.width() - splitterWidth(), xrect.height()));
return std::make_pair(rect0, rect1);
} else {
}
else {
auto height0 = splitterPos();
if (height0 + splitterWidth() > xrect.height())
height0 = xrect.height() - splitterWidth();
@ -715,7 +815,8 @@ QRectF SplitView::handleRect() const {
auto width_middle = splitterWidth() - 2;
if (splitType() == SplitType::SPLIT_H) {
rect = QRectF(splitterPos() + 1, 0, width_middle, outline().height());
} else {
}
else {
rect = QRectF(0, splitterPos() + 1, outline().width(), width_middle);
}
@ -757,11 +858,17 @@ void DragHeader::setIcon(const QIcon &icon) {
this->icon_store->setPixmap(icon.pixmap(QSize(len, len)));
}
QIcon DragHeader::icon() const { return this->icon_inst; }
QIcon DragHeader::icon() const {
return this->icon_inst;
}
void DragHeader::setText(const QString &title) { this->title_store->setText(title); }
void DragHeader::setText(const QString &title) {
this->title_store->setText(title);
}
QString DragHeader::text() const { return title_store->text(); }
QString DragHeader::text() const {
return title_store->text();
}
void DragHeader::mousePressEvent(QMouseEvent *event) {
if (event->button() == Qt::LeftButton && !std::get<0>(press_flag)) {
@ -776,9 +883,10 @@ void DragHeader::mouseReleaseEvent(QMouseEvent *event) {
}
void DragHeader::mouseMoveEvent(QMouseEvent *event) {
if (std::get<0>(press_flag) && QLineF(std::get<1>(press_flag), event->pos()).length() > QApplication::startDragDistance()) {
auto distance = QLineF(std::get<1>(press_flag), event->pos()).length();
if (std::get<0>(press_flag) && distance > QApplication::startDragDistance()) {
auto panel = view_core->viewPanel();
panel->setViewAdjust(true, view_core);
panel->setViewAdjust(view_core);
QDrag *drag = new QDrag(this);
auto pix = view_core->grab();

View File

@ -21,17 +21,16 @@ namespace SplitFrame {
public:
AttachPanel(ViewPresent *host);
void bind(BaseView *widget);
BaseView *attachTarget() const;
void bindAttachment(BaseView *widget);
BaseView *attachmentTarget() const;
virtual void paintEvent(QPaintEvent *event) override;
virtual void mouseMoveEvent(QMouseEvent *event) override;
virtual void dragMoveEvent(QDragMoveEvent *event) override;
virtual void dragEnterEvent(QDragEnterEvent *event) override;
virtual void dropEvent(QDropEvent *event) override;
private:
ViewPresent *const size_host;
ViewPresent *const adjust_host;
BaseView *current_target;
ActiveArea active_comp;
@ -40,71 +39,94 @@ namespace SplitFrame {
enum class SplitType { SPLIT_H = 0, SPLIT_V = 1 };
/**
* @brief
*/
class SplitRect {
class RectCom {
public:
virtual ~SplitRect() = default;
virtual ~RectCom() = default;
virtual QWidget *bind() const = 0;
virtual ViewPresent *viewPanel() const = 0;
virtual SplitRect *parentRect() const = 0;
virtual void setParentRect(SplitRect *pinst) = 0;
virtual std::pair<SplitRect *, SplitRect *> child() const = 0;
virtual void removeComp(SplitRect *child) = 0;
virtual void replaceComp(SplitRect *view, SplitRect *old) = 0;
virtual float splitterWidth() const = 0;
virtual float splitterPos() const = 0;
virtual SplitType splitType() const = 0;
virtual void setSplitInfo(SplitType type, float pos, float width, bool relayout = true) = 0;
virtual QWidget *bind() const = 0;
virtual bool contains(QWidget *ptr) const = 0;
virtual QRectF outline() const = 0;
virtual void relayout(const QRectF &outline) = 0;
virtual void setParentRect(SplitRect *inst) = 0;
virtual SplitRect *parentRect() const = 0;
virtual void paintEvent(QPaintEvent *ev) = 0;
};
class ResManager {
public:
virtual ~ResManager() = default;
virtual void objsRelateRebuild() = 0;
virtual void markFreedom(BaseView *view) = 0;
virtual void markUnused(SplitRect *item) = 0;
virtual void unusedResRelease() = 0;
};
/**
* @brief
*/
class SplitRect : public RectCom {
public:
virtual ~SplitRect() = default;
virtual std::pair<RectCom *, RectCom *> child() const = 0;
virtual void removeComp(BaseView *child) = 0;
virtual void replaceComp(RectCom *view, RectCom *old) = 0;
virtual float splitterWidth() const = 0;
virtual float splitterPos() const = 0;
virtual SplitType splitType() const = 0;
virtual void setSplitInfo(SplitType type, float pos, float width, bool relayout = true) = 0;
};
/**
* @brief
*/
class SPLITVIEW_EXPORT SplitView : public QWidget, public SplitRect {
public:
SplitView(SplitRect *first, SplitRect *next, QWidget *parent = nullptr);
SplitView(RectCom *first, RectCom *next, QWidget *parent = nullptr);
virtual ~SplitView();
// SplitRect interface
// RectCom interface
public:
virtual QWidget *bind() const override;
virtual ViewPresent *viewPanel() const override;
virtual QRectF outline() const override;
virtual void relayout(const QRectF &outline) override;
virtual void setParentRect(SplitRect *inst) override;
virtual SplitRect *parentRect() const override;
virtual void setParentRect(SplitRect *pinst) override;
virtual void paintEvent(QPaintEvent *ev) override;
virtual bool contains(QWidget *ptr) const override;
virtual std::pair<SplitRect *, SplitRect *> child() const override;
// SplitRect interface
public:
virtual std::pair<RectCom *, RectCom *> child() const override;
virtual void removeComp(BaseView *child) override;
virtual void replaceComp(RectCom *view, RectCom *old) override;
virtual float splitterWidth() const override;
virtual float splitterPos() const override;
virtual SplitType splitType() const override;
virtual void setSplitInfo(SplitType type, float pos, float width, bool relayout) override;
virtual void replaceComp(SplitRect *view, SplitRect *old) override;
virtual QRectF outline() const override;
virtual void relayout(const QRectF &outline) override;
virtual void removeComp(SplitRect *child_inst) override;
// QWidget interface
protected:
virtual void paintEvent(QPaintEvent *ev) override;
virtual void resizeEvent(QResizeEvent *ev) override;
virtual void mousePressEvent(QMouseEvent *event) override;
virtual void mouseReleaseEvent(QMouseEvent *event) override;
virtual void mouseMoveEvent(QMouseEvent *event) override;
// QObject interface
public:
virtual bool eventFilter(QObject *watched, QEvent *event) override;
// QWidget interface
protected:
virtual void mousePressEvent(QMouseEvent *event) override;
virtual void mouseReleaseEvent(QMouseEvent *event) override;
virtual void mouseMoveEvent(QMouseEvent *event) override;
virtual void resizeEvent(QResizeEvent *event) override;
private:
SplitRect *parent_inst;
QList<SplitRect *> child_store;
QList<RectCom *> child_store;
// type, pos, width
std::tuple<SplitType, float, float> split_info_value;
bool press_flags = false, drags_flag = false;
@ -139,7 +161,7 @@ namespace SplitFrame {
/**
* @brief
*/
class SPLITVIEW_EXPORT BaseView : public QWidget, public SplitRect {
class SPLITVIEW_EXPORT BaseView : public QWidget, public RectCom {
friend class ViewPresent;
public:
@ -152,25 +174,17 @@ namespace SplitFrame {
virtual QIcon viewIcon() const;
virtual void closeView();
virtual bool contains(QWidget *ptr) const;
virtual bool contains(QWidget *inst) const override;
// SplitRect interface
// RectCom interface
public:
virtual QWidget *bind() const override;
virtual ViewPresent *viewPanel() const override;
virtual SplitRect *parentRect() const override;
virtual void setParentRect(SplitRect *pinst) override;
virtual std::pair<SplitRect *, SplitRect *> child() const override;
virtual void replaceComp(SplitRect *view, SplitRect *old) override;
virtual float splitterWidth() const override;
virtual float splitterPos() const override;
virtual SplitType splitType() const override;
virtual void setSplitInfo(SplitType type, float pos, float width, bool relayout) override;
virtual QRectF outline() const override;
virtual void relayout(const QRectF &outline) override;
virtual void setParentRect(SplitRect *inst) override;
virtual SplitRect *parentRect() const override;
virtual void paintEvent(QPaintEvent *ev) override;
virtual void removeComp(SplitRect *child_inst) override;
private:
DragHeader *title_header;
@ -182,46 +196,76 @@ namespace SplitFrame {
virtual void registComp(QWidget *child);
};
class FreedomViewsListener {
public:
virtual ~FreedomViewsListener() = default;
/**
* @brief
* @param ins
*/
virtual void freedomAppended(RectCom *ins) = 0;
/**
* @brief
* @param ins
*/
virtual void freedomRemoved(RectCom *ins) = 0;
};
/**
* @brief
*/
class SPLITVIEW_EXPORT ViewPresent : public QWidget, public SplitRect {
class SPLITVIEW_EXPORT ViewPresent : public QWidget, public SplitRect, public ResManager {
public:
ViewPresent(SplitRect *initial_view, QWidget *parent = nullptr);
ViewPresent(QWidget *parent = nullptr);
virtual ~ViewPresent();
void addListener(FreedomViewsListener *lsn);
void removeListener(FreedomViewsListener *lsn);
//======================================================
void registViewComp(BaseView *it);
//======================================================
virtual void markFreedom(BaseView *view) override;
void setTempVisible(BaseView *target = nullptr);
/**
* @brief
* @param state
*/
void setViewAdjust(bool state, BaseView *one = nullptr);
void setViewAdjust(BaseView *one = nullptr);
bool adjustState() const;
BaseView *adjustView() const;
void append(SplitRect *inst, uint index);
void resetViews(RectCom *center, RectCom *extend = nullptr);
// QObject interface
// RectCom interface
public:
virtual bool eventFilter(QObject *watched, QEvent *event) override;
virtual ViewPresent *viewPanel() const override;
virtual QWidget *bind() const override;
virtual bool contains(QWidget *ptr) const override;
virtual QRectF outline() const override;
virtual void relayout(const QRectF &outline) override;
virtual void setParentRect(SplitRect *) override;
virtual SplitRect *parentRect() const override;
// ResManager interface
public:
virtual void objsRelateRebuild() override;
virtual void markUnused(SplitRect *item) override;
virtual void unusedResRelease() override;
// SplitRect interface
public:
virtual QWidget *bind() const override;
virtual ViewPresent *viewPanel() const override;
virtual SplitRect *parentRect() const override;
virtual void setParentRect(SplitRect *pinst) override;
virtual std::pair<SplitRect *, SplitRect *> child() const override;
virtual void replaceComp(SplitRect *view, SplitRect *old) override;
virtual std::pair<RectCom *, RectCom *> child() const override;
virtual void removeComp(BaseView *child) override;
virtual void replaceComp(RectCom *view, RectCom *old) override;
virtual float splitterWidth() const override;
virtual float splitterPos() const override;
virtual SplitType splitType() const override;
virtual void setSplitInfo(SplitType type, float pos, float width, bool relayout) override;
virtual QRectF outline() const override;
virtual void relayout(const QRectF &outline) override;
virtual void removeComp(SplitRect *child_inst) override;
// QObject interface
public:
virtual bool eventFilter(QObject *watched, QEvent *event) override;
// QWidget interface
protected:
@ -233,14 +277,20 @@ namespace SplitFrame {
private:
AttachPanel *const accept_panel;
BaseView *adjust_view_store;
bool press_flags = false;
bool adjust_state = false;
QList<SplitRect *> view_anchors;
// 方向splitter位置splitter宽度extend索引
std::tuple<SplitType, float, float, uint> split_info_store;
QList<SplitRect *> unused_splits;
BaseView *adjust_view_temp; // 拖拽中转
bool press_flags = false; // 空间调整标志
// 方向splitter位置splitter宽度
std::tuple<SplitType, float, float> split_info_store = std::make_tuple(SplitType::SPLIT_H, 200, 8);
QList<RectCom *> view_anchors;
QList<BaseView *> all_sep_views;
QList<FreedomViewsListener *> lsn_list;
QList<RectCom *> freedom_views;
RectCom *temp_visible_view = nullptr;
virtual void relayout();
std::pair<QRectF, QRectF> viewRects();
QRectF handleRect() const;

View File

@ -16,8 +16,7 @@
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.22621.0</WindowsTargetPlatformMinVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild></PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v141</PlatformToolset>
@ -37,10 +36,7 @@
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>WordsIDE</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /><Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')"><Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." /></Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
@ -48,37 +44,11 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>debug\</OutDir>
<IntDir>debug\</IntDir>
<TargetName>WordsIDE</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>release\</OutDir>
<IntDir>release\</IntDir>
<TargetName>WordsIDE</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core;xml;gui;testlib;widgets</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core;xml;gui;testlib;widgets</QtModules>
</PropertyGroup>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
<Import Project="$(QtMsBuild)\qt.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')"><Import Project="$(QtMsBuild)\qt_defaults.props" /></ImportGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"><OutDir>debug\</OutDir><IntDir>debug\</IntDir><TargetName>WordsIDE</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"><OutDir>release\</OutDir><IntDir>release\</IntDir><TargetName>WordsIDE</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary><LinkIncremental>false</LinkIncremental></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"><QtInstall>5.12.11_msvc2017_64</QtInstall><QtModules>core;xml;gui;testlib;widgets</QtModules></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"><QtInstall>5.12.11_msvc2017_64</QtInstall><QtModules>core;xml;gui;testlib;widgets</QtModules></PropertyGroup><ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')"><Import Project="$(QtMsBuild)\qt.props" /></ImportGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\libConfig;..\libProjectManager;..\libParse;..\GenericConsole;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\libConfig;..\libProjectManager;..\GenericConsole;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>release\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
@ -89,17 +59,15 @@
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;QT_TESTCASE_BUILDDIR=".";NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>
</ProgramDataBaseFileName>
<ProgramDataBaseFileName></ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<Link>
<AdditionalDependencies>libConfig.lib;libProjectManager.lib;libParse.lib;GenericConsole.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>D:\Projects\Cpp\QtNovelDesc\libConfig\release;D:\Projects\Cpp\QtNovelDesc\libProjectManager\release;D:\Projects\Cpp\QtNovelDesc\libParse\release;D:\Projects\Cpp\QtNovelDesc\GenericConsole\release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libConfig.lib;libProjectManager.lib;GenericConsole.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>D:\Projects\Cpp\QtNovelDesc\libConfig\release;D:\Projects\Cpp\QtNovelDesc\libProjectManager\release;D:\Projects\Cpp\QtNovelDesc\GenericConsole\release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -118,25 +86,10 @@
<ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;QT_TESTCASE_BUILDDIR=".";%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtMoc>
<CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
<QtRcc>
<InitFuncName>qmake_qmake_qm_files</InitFuncName>
<Compression>default</Compression>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<QtRccDir>$(Configuration)</QtRccDir>
<QtRccFileName>qrc_%(Filename).cpp</QtRccFileName>
</QtRcc>
</ItemDefinitionGroup>
<QtMoc><CompilerFlavor>msvc</CompilerFlavor><Include>./$(Configuration)/moc_predefs.h</Include><ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription><DynamicSource>output</DynamicSource><QtMocDir>$(Configuration)</QtMocDir><QtMocFileName>moc_%(Filename).cpp</QtMocFileName></QtMoc><QtRcc><InitFuncName>qmake_qmake_qm_files</InitFuncName><Compression>default</Compression><ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription><QtRccDir>$(Configuration)</QtRccDir><QtRccFileName>qrc_%(Filename).cpp</QtRccFileName></QtRcc></ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\libConfig;..\libProjectManager;..\libParse;..\GenericConsole;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\libConfig;..\libProjectManager;..\GenericConsole;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>debug\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
@ -151,11 +104,10 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<Link>
<AdditionalDependencies>libConfig.lib;libProjectManager.lib;libParse.lib;GenericConsole.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>D:\Projects\Cpp\QtNovelDesc\libConfig\debug;D:\Projects\Cpp\QtNovelDesc\libProjectManager\debug;D:\Projects\Cpp\QtNovelDesc\libParse\debug;D:\Projects\Cpp\QtNovelDesc\GenericConsole\debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>D:\Projects\Cpp\QtNovelDesc\libConfig\debug\libConfig.lib;D:\Projects\Cpp\QtNovelDesc\libProjectManager\debug\libProjectManager.lib;D:\Projects\Cpp\QtNovelDesc\GenericConsole\debug\GenericConsole.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>D:\Projects\Cpp\QtNovelDesc\libConfig\debug;D:\Projects\Cpp\QtNovelDesc\libProjectManager\debug;D:\Projects\Cpp\QtNovelDesc\GenericConsole\debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
@ -173,88 +125,84 @@
<ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_TESTCASE_BUILDDIR=".";_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtRcc>
<InitFuncName>qmake_qmake_qm_files</InitFuncName>
<Compression>default</Compression>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<QtRccDir>$(Configuration)</QtRccDir>
<QtRccFileName>qrc_%(Filename).cpp</QtRccFileName>
</QtRcc>
<QtMoc>
<CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
</ItemDefinitionGroup>
<QtRcc><InitFuncName>qmake_qmake_qm_files</InitFuncName><Compression>default</Compression><ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription><QtRccDir>$(Configuration)</QtRccDir><QtRccFileName>qrc_%(Filename).cpp</QtRccFileName></QtRcc><QtMoc><CompilerFlavor>msvc</CompilerFlavor><Include>./$(Configuration)/moc_predefs.h</Include><ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription><DynamicSource>output</DynamicSource><QtMocDir>$(Configuration)</QtMocDir><QtMocFileName>moc_%(Filename).cpp</QtMocFileName></QtMoc></ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="ContentPresent.cpp" />
<ClCompile Include="DocsManager.cpp" />
<ClCompile Include="appcore.cpp" />
<ClCompile Include="command_list.cpp" />
<ClCompile Include="contentpresenttest.cpp" />
<ClCompile Include="fragmentsorderpresent.cpp" />
<ClCompile Include="keywordshighlighter.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="mainwindow.cpp" />
<ClCompile Include="manager_docs.cpp" />
<ClCompile Include="messagespresent.cpp" />
<ClCompile Include="parsebridge.cpp" />
<ClCompile Include="presentcontainer.cpp" />
<ClCompile Include="projectpresent.cpp" />
<ClCompile Include="route.cpp" />
<ClCompile Include="srcedit_defaulttext.cpp" />
<ClCompile Include="srcedit_storyboard.cpp" />
<ClCompile Include="srcedit_storychain.cpp" />
<ClCompile Include="srcedit_storyconcept.cpp" />
<ClCompile Include="srcedit_storyunit.cpp" />
<ClCompile Include="srcedit_storyvolume.cpp" />
<ClCompile Include="storyboardspresent.cpp" />
<ClCompile Include="storychainspresent.cpp" />
<ClCompile Include="storyconceptspresent.cpp" />
<ClCompile Include="storyunitspresent.cpp" />
<ClCompile Include="tools.cpp" />
<ClCompile Include="welcomepanel.cpp" />
<ClCompile Include="xapplication.cpp" />
<ClCompile Include="xapp.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="ContentPresent.h" />
<QtMoc Include="DocsManager.h">
</QtMoc>
<ClInclude Include="appcore.h" />
<ClInclude Include="command_list.h" />
<QtMoc Include="contentpresenttest.h">
</QtMoc>
<QtMoc Include="fragmentsorderpresent.h">
</QtMoc>
<ClInclude Include="keywordshighlighter.h" />
<QtMoc Include="mainwindow.h">
</QtMoc>
<ClInclude Include="manager_docs.h" />
<ClInclude Include="messagespresent.h" />
<ClInclude Include="opstream.h" />
<ClInclude Include="presentcontainer.h" />
<ClInclude Include="parsebridge.h" />
<QtMoc Include="presentcontainer.h">
</QtMoc>
<QtMoc Include="projectpresent.h">
</QtMoc>
<ClInclude Include="route.h" />
<ClInclude Include="srcedit_defaulttext.h" />
<ClInclude Include="srcedit_storyboard.h" />
<ClInclude Include="srcedit_storychain.h" />
<ClInclude Include="srcedit_storyconcept.h" />
<ClInclude Include="srcedit_storyunit.h" />
<ClInclude Include="srcedit_storyvolume.h" />
<ClInclude Include="storyboardspresent.h" />
<QtMoc Include="storychainspresent.h">
</QtMoc>
<ClInclude Include="storyconceptspresent.h" />
<QtMoc Include="storyunitspresent.h">
</QtMoc>
<ClInclude Include="tools.h" />
<ClInclude Include="welcomepanel.h" />
<ClInclude Include="xapplication.h" />
<ClInclude Include="xapp.h" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<FileType>Document</FileType>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
@ -263,6 +211,20 @@
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -O2 -MD -EHsc -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\moc_predefs.h;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="WordsIDE_zh_CN.ts">
@ -280,15 +242,29 @@
<None Include="debug\WordsIDE_zh_CN.qm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</None>
<None Include="release\WordsIDE_zh_CN.qm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</None>
<QtRcc Include="debug\qmake_qmake_qm_files.qrc">
</QtRcc>
<QtRcc Include="release\qmake_qmake_qm_files.qrc">
</QtRcc>
</ItemGroup>
<ItemGroup>
<None Include="design.md" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')"><Import Project="$(QtMsBuild)\qt.targets" /></ImportGroup>
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -57,9 +57,6 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="ContentPresent.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="DocsManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -69,15 +66,6 @@
<ClCompile Include="command_list.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="contentpresenttest.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="fragmentsorderpresent.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="keywordshighlighter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -90,6 +78,9 @@
<ClCompile Include="messagespresent.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="parsebridge.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="presentcontainer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -105,44 +96,17 @@
<ClCompile Include="srcedit_storyboard.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="srcedit_storychain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="srcedit_storyconcept.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="srcedit_storyunit.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="srcedit_storyvolume.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="storyboardspresent.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="storychainspresent.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="storyconceptspresent.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="storyunitspresent.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="tools.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="welcomepanel.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="xapplication.cpp">
<ClCompile Include="xapp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="ContentPresent.h">
<Filter>Header Files</Filter>
</ClInclude>
<QtMoc Include="DocsManager.h">
<Filter>Header Files</Filter>
</QtMoc>
@ -152,15 +116,6 @@
<ClInclude Include="command_list.h">
<Filter>Header Files</Filter>
</ClInclude>
<QtMoc Include="contentpresenttest.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="fragmentsorderpresent.h">
<Filter>Header Files</Filter>
</QtMoc>
<ClInclude Include="keywordshighlighter.h">
<Filter>Header Files</Filter>
</ClInclude>
<QtMoc Include="mainwindow.h">
<Filter>Header Files</Filter>
</QtMoc>
@ -173,9 +128,12 @@
<ClInclude Include="opstream.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="presentcontainer.h">
<ClInclude Include="parsebridge.h">
<Filter>Header Files</Filter>
</ClInclude>
<QtMoc Include="presentcontainer.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="projectpresent.h">
<Filter>Header Files</Filter>
</QtMoc>
@ -188,44 +146,33 @@
<ClInclude Include="srcedit_storyboard.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="srcedit_storychain.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="srcedit_storyconcept.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="srcedit_storyunit.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="srcedit_storyvolume.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="storyboardspresent.h">
<Filter>Header Files</Filter>
</ClInclude>
<QtMoc Include="storychainspresent.h">
<Filter>Header Files</Filter>
</QtMoc>
<ClInclude Include="storyconceptspresent.h">
<Filter>Header Files</Filter>
</ClInclude>
<QtMoc Include="storyunitspresent.h">
<Filter>Header Files</Filter>
</QtMoc>
<ClInclude Include="tools.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="welcomepanel.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="xapplication.h">
<ClInclude Include="xapp.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="WordsIDE_zh_CN.ts">
@ -236,9 +183,15 @@
<None Include="debug\WordsIDE_zh_CN.qm">
<Filter>Resource Files</Filter>
</None>
<None Include="release\WordsIDE_zh_CN.qm">
<Filter>Resource Files</Filter>
</None>
<QtRcc Include="debug\qmake_qmake_qm_files.qrc">
<Filter>Resource Files</Filter>
</QtRcc>
<QtRcc Include="release\qmake_qmake_qm_files.qrc">
<Filter>Resource Files</Filter>
</QtRcc>
</ItemGroup>
<ItemGroup>
<None Include="design.md">

View File

@ -16,8 +16,7 @@
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.22621.0</WindowsTargetPlatformMinVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild></PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v141</PlatformToolset>
@ -37,10 +36,7 @@
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>libConfig</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /><Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')"><Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." /></Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
@ -48,34 +44,8 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\WordsIDE\debug</OutDir>
<IntDir>debug\</IntDir>
<TargetName>libConfig</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>release\</OutDir>
<IntDir>release\</IntDir>
<TargetName>libConfig</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core;xml</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core;xml</QtModules>
</PropertyGroup>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
<Import Project="$(QtMsBuild)\qt.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')"><Import Project="$(QtMsBuild)\qt_defaults.props" /></ImportGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"><OutDir>debug\</OutDir><IntDir>debug\</IntDir><TargetName>libConfig</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"><OutDir>release\</OutDir><IntDir>release\</IntDir><TargetName>libConfig</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary><LinkIncremental>false</LinkIncremental></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"><QtInstall>5.12.11_msvc2017_64</QtInstall><QtModules>core;xml</QtModules></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"><QtInstall>5.12.11_msvc2017_64</QtInstall><QtModules>core;xml</QtModules></PropertyGroup><ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')"><Import Project="$(QtMsBuild)\qt.props" /></ImportGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;release;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -89,14 +59,12 @@
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;LIBCONFIG_LIBRARY;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>
</ProgramDataBaseFileName>
<ProgramDataBaseFileName></ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
@ -136,8 +104,7 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
@ -176,13 +143,18 @@
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -O2 -MD -EHsc -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\moc_predefs.h;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<None Include="libConfig_zh_CN.ts" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')"><Import Project="$(QtMsBuild)\qt.targets" /></ImportGroup>
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -56,6 +56,9 @@
<CustomBuild Include="debug\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<None Include="libConfig_zh_CN.ts">

View File

@ -16,8 +16,7 @@
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.22621.0</WindowsTargetPlatformMinVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild></PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v141</PlatformToolset>
@ -37,10 +36,7 @@
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>libProjectManager</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /><Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')"><Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." /></Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
@ -48,34 +44,8 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>..\WordsIDE\debug</OutDir>
<IntDir>debug\</IntDir>
<TargetName>libProjectManager</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>release\</OutDir>
<IntDir>release\</IntDir>
<TargetName>libProjectManager</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core;xml;gui</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core;xml;gui</QtModules>
</PropertyGroup>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
<Import Project="$(QtMsBuild)\qt.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')"><Import Project="$(QtMsBuild)\qt_defaults.props" /></ImportGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"><OutDir>debug\</OutDir><IntDir>debug\</IntDir><TargetName>libProjectManager</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"><OutDir>release\</OutDir><IntDir>release\</IntDir><TargetName>libProjectManager</TargetName><IgnoreImportLibrary>true</IgnoreImportLibrary><LinkIncremental>false</LinkIncremental></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"><QtInstall>5.12.11_msvc2017_64</QtInstall><QtModules>core;xml;gui</QtModules></PropertyGroup><PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"><QtInstall>5.12.11_msvc2017_64</QtInstall><QtModules>core;xml;gui</QtModules></PropertyGroup><ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')"><Import Project="$(QtMsBuild)\qt.props" /></ImportGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\libConfig;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -89,14 +59,12 @@
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;LIBPROJECTMANAGER_LIBRARY;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>
</ProgramDataBaseFileName>
<ProgramDataBaseFileName></ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<Link>
<AdditionalDependencies>libConfig.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>D:\Projects\Cpp\QtNovelDesc\libConfig\release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
@ -118,14 +86,7 @@
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;LIBPROJECTMANAGER_LIBRARY;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtRcc>
<InitFuncName>icons</InitFuncName>
<Compression>default</Compression>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<QtRccDir>$(Configuration)</QtRccDir>
<QtRccFileName>qrc_%(Filename).cpp</QtRccFileName>
</QtRcc>
</ItemDefinitionGroup>
<QtRcc><InitFuncName>icons</InitFuncName><Compression>default</Compression><ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription><QtRccDir>$(Configuration)</QtRccDir><QtRccFileName>qrc_%(Filename).cpp</QtRccFileName></QtRcc></ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\libConfig;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -143,10 +104,9 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<Link>
<AdditionalDependencies>libConfig.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>D:\Projects\Cpp\QtNovelDesc\libConfig\debug\libConfig.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>D:\Projects\Cpp\QtNovelDesc\libConfig\debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
@ -165,14 +125,7 @@
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;LIBPROJECTMANAGER_LIBRARY;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtRcc>
<InitFuncName>icons</InitFuncName>
<Compression>default</Compression>
<ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription>
<QtRccDir>$(Configuration)</QtRccDir>
<QtRccFileName>qrc_%(Filename).cpp</QtRccFileName>
</QtRcc>
</ItemDefinitionGroup>
<QtRcc><InitFuncName>icons</InitFuncName><Compression>default</Compression><ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription><QtRccDir>$(Configuration)</QtRccDir><QtRccFileName>qrc_%(Filename).cpp</QtRccFileName></QtRcc></ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="xmlprojectmanager.cpp" />
</ItemGroup>
@ -190,6 +143,16 @@
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -O2 -MD -EHsc -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\moc_predefs.h;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<None Include="libProjectManager_zh_CN.ts" />
@ -197,12 +160,18 @@
<ItemGroup>
<None Include="??.png" />
<QtRcc Include="icons.qrc">
</QtRcc>
<None Include="toplevel.png" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /><ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')"><Import Project="$(QtMsBuild)\qt.targets" /></ImportGroup>
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -66,17 +66,16 @@
<CustomBuild Include="debug\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<None Include="libProjectManager_zh_CN.ts">
<Filter>Translation Files</Filter>
</None>
<None Include="??.png" />
<None Include="??.png" />
<None Include="??.png" />
<None Include="??.png" />
<None Include="??.png" />
<None Include="??.png" />
</ItemGroup>
<ItemGroup>
<None Include="??.png">

View File

@ -29,21 +29,34 @@ int main(int argc, char *argv[]) {
win->menuBar()->addMenu("文件");
auto tbar = new QToolBar();
win->addToolBar(Qt::ToolBarArea::LeftToolBarArea, tbar);
tbar->addAction("添加");
auto b = tbar->addAction("添加");
auto aview = new BaseView("hello", new QWidget);
auto bview = new BaseView("world", new QWidget);
auto cview = new BaseView("everyone", new QWidget);
auto dview = new BaseView("forth", new XWidget);
auto conv0 = new SplitView(aview, bview);
conv0->setSplitInfo(SplitType::SPLIT_V, 100, 8, true);
auto conv = new ViewPresent(conv0);
auto conv = new ViewPresent();
win->setCentralWidget(conv);
conv->append(cview, 0);
conv->resetViews(conv0, cview);
conv->registViewComp(aview);
conv->registViewComp(bview);
conv->registViewComp(cview);
conv->registViewComp(dview);
conv->markFreedom(dview);
conv->objsRelateRebuild();
b->setCheckable(true);
win->connect(b, &QAction::triggered, [=](bool v) {
if (v)
conv->setTempVisible(dview);
else
conv->setTempVisible(nullptr);
});
win->show();

193
u_test/u_test.vcxproj Normal file
View File

@ -0,0 +1,193 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{2A348B24-97E4-3DE1-84FD-5A95F92CEADE}</ProjectGuid>
<RootNamespace>u_test</RootNamespace>
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.22621.0</WindowsTargetPlatformMinVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v141</PlatformToolset>
<OutputDirectory>release\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>release\</IntermediateDirectory>
<PrimaryOutput>u_test</PrimaryOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<PlatformToolset>v141</PlatformToolset>
<OutputDirectory>debug\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>u_test</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)x64\Debug</OutDir>
<IntDir>debug\</IntDir>
<TargetName>u_test</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LibraryPath>$(SolutionDir)x64\Debug;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>release\</OutDir>
<IntDir>release\</IntDir>
<TargetName>u_test</TargetName>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core;xml;gui;widgets</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtInstall>5.12.11_msvc2017_64</QtInstall>
<QtModules>core;xml;gui;widgets</QtModules>
</PropertyGroup>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
<Import Project="$(QtMsBuild)\qt.props" />
</ImportGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\SplitView;..\GenericConsole;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>release\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>release\</ObjectFileName>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>
</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>SplitView.lib;GenericConsole.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>D:\Projects\Cpp\QtNovelDesc\SplitView\release;D:\Projects\Cpp\QtNovelDesc\GenericConsole\release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>false</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
<OutputFile>$(OutDir)\u_test.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;..\SplitView;..\GenericConsole;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>debug\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>debug\</ObjectFileName>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>SplitView.lib;D:\Projects\Cpp\QtNovelDesc\GenericConsole\debug\GenericConsole.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>D:\Projects\Cpp\QtNovelDesc\SplitView\debug;D:\Projects\Cpp\QtNovelDesc\GenericConsole\debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<OutputFile>$(OutDir)\u_test.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_CONSOLE;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
<ClCompile Include="unnnn.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="unnnn.h" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<FileType>Document</FileType>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;debug\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;release\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\moc_predefs.h;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</CustomBuild>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
</Filter>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="unnnn.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="unnnn.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
</ItemGroup>
</Project>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>