temps-now
This commit is contained in:
parent
df4933c839
commit
04f6aaa3a5
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.15.0, 2022-11-24T10:20:15. -->
|
||||
<!-- Written by QtCreator 4.15.0, 2022-11-29T01:19:02. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ SOURCES += \
|
|||
widget.cpp
|
||||
|
||||
HEADERS += \
|
||||
tools.h \
|
||||
widget.h
|
||||
|
||||
TRANSLATIONS += \
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.33026.149
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWidget", "TestWidget.vcxproj", "{A9990EF2-F9AA-317F-AAB2-ED848703C5E1}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{A9990EF2-F9AA-317F-AAB2-ED848703C5E1}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A9990EF2-F9AA-317F-AAB2-ED848703C5E1}.Debug|x64.Build.0 = Debug|x64
|
||||
{A9990EF2-F9AA-317F-AAB2-ED848703C5E1}.Release|x64.ActiveCfg = Release|x64
|
||||
{A9990EF2-F9AA-317F-AAB2-ED848703C5E1}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {4C2E60F2-FFE2-4D0E-BA13-B408FA3B518C}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
@ -0,0 +1,236 @@
|
|||
<?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>{A9990EF2-F9AA-317F-AAB2-ED848703C5E1}</ProjectGuid>
|
||||
<RootNamespace>TestWidget</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>TestWidget</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>TestWidget</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>debug\</OutDir>
|
||||
<IntDir>debug\</IntDir>
|
||||
<TargetName>TestWidget</TargetName>
|
||||
<IgnoreImportLibrary>true</IgnoreImportLibrary>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>release\</OutDir>
|
||||
<IntDir>release\</IntDir>
|
||||
<TargetName>TestWidget</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;.;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>_WINDOWS;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>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.6.11-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(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)\TestWidget.exe</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;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(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>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;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>_WINDOWS;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>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.6.11-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(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)\TestWidget.exe</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;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;_DEBUG;%(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>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp" />
|
||||
<ClCompile Include="widget.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="tools.h" />
|
||||
<QtMoc Include="widget.h">
|
||||
</QtMoc>
|
||||
</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>NUL >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>NUL >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="TestWidget_zh_CN.ts">
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">TestWidget_zh_CN.ts;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\lrelease.exe TestWidget_zh_CN.ts -qm release\TestWidget_zh_CN.qm</Command>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">lrelease</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\TestWidget_zh_CN.qm;%(Outputs)</Outputs>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">TestWidget_zh_CN.ts;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\lrelease.exe TestWidget_zh_CN.ts -qm debug\TestWidget_zh_CN.qm</Command>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">lrelease</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\TestWidget_zh_CN.qm;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
|
||||
<Import Project="$(QtMsBuild)\qt.targets" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
<?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="Resource Files">
|
||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||
<Extensions>qrc;*</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||
<Extensions>qrc;*</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</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>
|
||||
<Filter Include="Translation Files">
|
||||
<UniqueIdentifier>{639EADAA-A684-42e4-A9AD-28FC9BCB8F7C}</UniqueIdentifier>
|
||||
<Extensions>ts;xlf</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</Filter>
|
||||
<Filter Include="Translation Files">
|
||||
<UniqueIdentifier>{639EADAA-A684-42e4-A9AD-28FC9BCB8F7C}</UniqueIdentifier>
|
||||
<Extensions>ts;xlf</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="widget.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="tools.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<QtMoc Include="widget.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
</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="TestWidget_zh_CN.ts">
|
||||
<Filter>Translation Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup />
|
||||
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<QtLastBackgroundBuild>2022-11-28T01:11:57.9884290Z</QtLastBackgroundBuild>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<QtLastBackgroundBuild>2022-11-28T01:11:58.0910934Z</QtLastBackgroundBuild>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,28 @@
|
|||
Moc'ing widget.h...
|
||||
main.cpp
|
||||
widget.cpp
|
||||
d:\projects\cpp\qtnoveldesc\testpad\opstream.h(76): warning C4189: “one”: 局部变量已初始化但不引用 (编译源文件 widget.cpp)
|
||||
d:\projects\cpp\qtnoveldesc\testpad\opstream.h(73): note: 编译 类 模板 成员函数 "Operate::OpStream<QStandardItem *>::OpStream(std::function<ValueType (int &,int)>)" 时
|
||||
with
|
||||
[
|
||||
ValueType=QStandardItem *
|
||||
] (编译源文件 widget.cpp)
|
||||
d:\projects\cpp\qtnoveldesc\testwidget\tools.h(31): note: 参见对正在编译的函数 模板 实例化“Operate::OpStream<QStandardItem *>::OpStream(std::function<ValueType (int &,int)>)”的引用
|
||||
with
|
||||
[
|
||||
ValueType=QStandardItem *
|
||||
] (编译源文件 widget.cpp)
|
||||
d:\projects\cpp\qtnoveldesc\testwidget\tools.h(26): note: 参见对正在编译的 类 模板 实例化 "Operate::OpStream<QStandardItem *>" 的引用 (编译源文件 widget.cpp)
|
||||
d:\projects\cpp\qtnoveldesc\testwidget\tools.h(19): note: 编译 类 模板 成员函数 "void Tools::ModelSyncs<QString>::presentSync(std::function<QList<QString> (const BaseType &)>)" 时
|
||||
with
|
||||
[
|
||||
BaseType=QString
|
||||
] (编译源文件 widget.cpp)
|
||||
d:\projects\cpp\qtnoveldesc\testwidget\widget.cpp(27): note: 参见对正在编译的函数 模板 实例化“void Tools::ModelSyncs<QString>::presentSync(std::function<QList<QString> (const BaseType &)>)”的引用
|
||||
with
|
||||
[
|
||||
BaseType=QString
|
||||
]
|
||||
d:\projects\cpp\qtnoveldesc\testwidget\widget.cpp(17): note: 参见对正在编译的 类 模板 实例化 "Tools::ModelSyncs<QString>" 的引用
|
||||
moc_widget.cpp
|
||||
TestWidget.vcxproj -> D:\Projects\Cpp\QtNovelDesc\TestWidget\debug\TestWidget.exe
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,2 @@
|
|||
#TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.22621.0
|
||||
Debug|x64|D:\Projects\Cpp\QtNovelDesc\TestWidget\|
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1 @@
|
|||
<クdハ<>箆!ソ`。スン
|
||||
Binary file not shown.
|
|
@ -0,0 +1,13 @@
|
|||
#define _MSC_EXTENSIONS
|
||||
#define _INTEGRAL_MAX_BITS 64
|
||||
#define _MSC_VER 1916
|
||||
#define _MSC_FULL_VER 191627048
|
||||
#define _MSC_BUILD 0
|
||||
#define _M_AMD64 100
|
||||
#define _M_X64 100
|
||||
#define _WIN64
|
||||
#define _WIN32
|
||||
#define _CPPRTTI
|
||||
#define _DEBUG
|
||||
#define _MT
|
||||
#define _DLL
|
||||
|
|
@ -0,0 +1 @@
|
|||
This is a dummy file needed to create debug/moc_predefs.h
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'widget.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.11)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include "../widget.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'widget.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.12.11. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_Widget_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[7];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_Widget_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_Widget_t qt_meta_stringdata_Widget = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 6) // "Widget"
|
||||
|
||||
},
|
||||
"Widget"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_Widget[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void Widget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject Widget::staticMetaObject = { {
|
||||
&QWidget::staticMetaObject,
|
||||
qt_meta_stringdata_Widget.data,
|
||||
qt_meta_data_Widget,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *Widget::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *Widget::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_Widget.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QWidget::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int Widget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QWidget::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
||||
Binary file not shown.
|
|
@ -0,0 +1,59 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>D:\Projects\Cpp\QtNovelDesc\TestWidget\debug\qmake\temp;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtGui;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtCore;D:\Projects\Cpp\QtNovelDesc\TestWidget\debug\qmake\temp;/include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_STDCPP_></Qt_STDCPP_>
|
||||
<Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus</Qt_CL_OPTIONS_>
|
||||
<Qt_LIBS_>C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Widgetsd.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Guid.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Cored.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\qtmaind.lib;shell32.lib</Qt_LIBS_>
|
||||
<Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>C:/Qt/Qt5.12.11/Docs/Qt-5.12.11</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>C:/Qt/Qt5.12.11/Examples/Qt-5.12.11</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>C:/Qt/Qt5.12.11/Examples/Qt-5.12.11</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.12.11</QMake_QT_VERSION_>
|
||||
<Qt_INCLUDEPATH_
|
||||
>$(Qt_INCLUDEPATH_);Debug</Qt_INCLUDEPATH_>
|
||||
<QtBkup_QtInstall
|
||||
>5.12.11_msvc2017_64</QtBkup_QtInstall>
|
||||
<QtBkup_QtModules
|
||||
>core;gui;widgets</QtBkup_QtModules>
|
||||
<QtBkup_QtPathBinaries
|
||||
>bin</QtBkup_QtPathBinaries>
|
||||
<QtBkup_QtPathLibraryExecutables
|
||||
>bin</QtBkup_QtPathLibraryExecutables>
|
||||
<QtBkup_QtHeaderSearchPath
|
||||
></QtBkup_QtHeaderSearchPath>
|
||||
<QtBkup_QtLibrarySearchPath
|
||||
></QtBkup_QtLibrarySearchPath>
|
||||
<QtBkup_QtVars
|
||||
>DEFINES=/Project/ItemDefinitionGroup/ClCompile/PreprocessorDefinitions;INCLUDEPATH=/Project/ItemDefinitionGroup/ClCompile/AdditionalIncludeDirectories;STDCPP=/Project/ItemDefinitionGroup/ClCompile/LanguageStandard;CL_OPTIONS=/Project/ItemDefinitionGroup/ClCompile/AdditionalOptions;LIBS=/Project/ItemDefinitionGroup/Link/AdditionalDependencies;LINK_OPTIONS=/Project/ItemDefinitionGroup/Link/AdditionalOptions</QtBkup_QtVars>
|
||||
<QtBkup_QMakeCodeLines
|
||||
></QtBkup_QMakeCodeLines>
|
||||
<QtBkup_QtBuildConfig
|
||||
>debug</QtBkup_QtBuildConfig>
|
||||
<QtVersion>5.12.11</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>12</QtVersionMinor>
|
||||
<QtVersionPatch>11</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1 @@
|
|||
C:\Users\WS\AppData\Local\Temp\1sd2f2ws.lo5.designtime.props
|
||||
|
|
@ -0,0 +1 @@
|
|||
This is a dummy file needed to create ./moc_predefs.h
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
QT_SYSROOT:
|
||||
QT_INSTALL_PREFIX:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64
|
||||
QT_INSTALL_ARCHDATA:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64
|
||||
QT_INSTALL_DATA:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64
|
||||
QT_INSTALL_DOCS:C:/Qt/Qt5.12.11/Docs/Qt-5.12.11
|
||||
QT_INSTALL_HEADERS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/include
|
||||
QT_INSTALL_LIBS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib
|
||||
QT_INSTALL_LIBEXECS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin
|
||||
QT_INSTALL_BINS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin
|
||||
QT_INSTALL_TESTS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/tests
|
||||
QT_INSTALL_PLUGINS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/plugins
|
||||
QT_INSTALL_IMPORTS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/imports
|
||||
QT_INSTALL_QML:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/qml
|
||||
QT_INSTALL_TRANSLATIONS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/translations
|
||||
QT_INSTALL_CONFIGURATION:
|
||||
QT_INSTALL_EXAMPLES:C:/Qt/Qt5.12.11/Examples/Qt-5.12.11
|
||||
QT_INSTALL_DEMOS:C:/Qt/Qt5.12.11/Examples/Qt-5.12.11
|
||||
QT_HOST_PREFIX:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64
|
||||
QT_HOST_DATA:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64
|
||||
QT_HOST_BINS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin
|
||||
QT_HOST_LIBS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib
|
||||
QMAKE_SPEC:win32-msvc
|
||||
QMAKE_XSPEC:win32-msvc
|
||||
QMAKE_VERSION:3.1
|
||||
QT_VERSION:5.12.11
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
CONFIG += no_fixpath
|
||||
QT += core gui widgets
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid></ProjectGuid>
|
||||
<RootNamespace>qtvars</RootNamespace>
|
||||
<Keyword>Qt4VSv1.0</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<OutputDirectory>.\</OutputDirectory>
|
||||
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PrimaryOutput>qtvars</PrimaryOutput>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<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" />
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\</OutDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">qtvars</TargetName>
|
||||
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IgnoreImportLibrary>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>D:\Projects\Cpp\QtNovelDesc\TestWidget\debug\qmake\temp;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtGui;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtCore;D:\Projects\Cpp\QtNovelDesc\TestWidget\debug\qmake\temp;/include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
|
||||
<AssemblerListingLocation>.\</AssemblerListingLocation>
|
||||
<BrowseInformation>false</BrowseInformation>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<ObjectFileName>.\</ObjectFileName>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessToFile>false</PreprocessToFile>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Widgetsd.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Guid.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Cored.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\qtmaind.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.6.11-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(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)\qtvars.exe</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;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="moc_predefs.h.cbt">
|
||||
<FileType>Document</FileType>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl -BxC:\Qt\Qt5.12.11\5.12.11\msvc2017_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -W0 -E C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\mkspecs\features\data\dummy.cpp 2>NUL >moc_predefs.h</Command>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">moc_predefs.h;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<?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>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="moc_predefs.h.cbt">
|
||||
<Filter>Generated Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>D:\Projects\Cpp\QtNovelDesc\TestWidget\debug\qmake\temp;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtGui;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtCore;D:\Projects\Cpp\QtNovelDesc\TestWidget\debug\qmake\temp;/include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_STDCPP_></Qt_STDCPP_>
|
||||
<Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus</Qt_CL_OPTIONS_>
|
||||
<Qt_LIBS_>C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Widgetsd.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Guid.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Cored.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\qtmaind.lib;shell32.lib</Qt_LIBS_>
|
||||
<Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>C:/Qt/Qt5.12.11/Docs/Qt-5.12.11</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>C:/Qt/Qt5.12.11/Examples/Qt-5.12.11</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>C:/Qt/Qt5.12.11/Examples/Qt-5.12.11</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.12.11</QMake_QT_VERSION_>
|
||||
<Qt_INCLUDEPATH_
|
||||
>$(Qt_INCLUDEPATH_);Debug</Qt_INCLUDEPATH_>
|
||||
<QtBkup_QtInstall
|
||||
>5.12.11_msvc2017_64</QtBkup_QtInstall>
|
||||
<QtBkup_QtModules
|
||||
>core;gui;widgets</QtBkup_QtModules>
|
||||
<QtBkup_QtPathBinaries
|
||||
>bin</QtBkup_QtPathBinaries>
|
||||
<QtBkup_QtPathLibraryExecutables
|
||||
>bin</QtBkup_QtPathLibraryExecutables>
|
||||
<QtBkup_QtHeaderSearchPath
|
||||
></QtBkup_QtHeaderSearchPath>
|
||||
<QtBkup_QtLibrarySearchPath
|
||||
></QtBkup_QtLibrarySearchPath>
|
||||
<QtBkup_QtVars
|
||||
>DEFINES=/Project/ItemDefinitionGroup/ClCompile/PreprocessorDefinitions;INCLUDEPATH=/Project/ItemDefinitionGroup/ClCompile/AdditionalIncludeDirectories;STDCPP=/Project/ItemDefinitionGroup/ClCompile/LanguageStandard;CL_OPTIONS=/Project/ItemDefinitionGroup/ClCompile/AdditionalOptions;LIBS=/Project/ItemDefinitionGroup/Link/AdditionalDependencies;LINK_OPTIONS=/Project/ItemDefinitionGroup/Link/AdditionalOptions</QtBkup_QtVars>
|
||||
<QtBkup_QMakeCodeLines
|
||||
></QtBkup_QMakeCodeLines>
|
||||
<QtBkup_QtBuildConfig
|
||||
>debug</QtBkup_QtBuildConfig>
|
||||
<QtVersion>5.12.11</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>12</QtVersionMinor>
|
||||
<QtVersionPatch>11</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource prefix="i18n">
|
||||
<file alias="TestWidget_zh_CN.qm">D:/Projects/Cpp/QtNovelDesc/TestWidget/debug/TestWidget_zh_CN.qm</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
/****************************************************************************
|
||||
** Resource object code
|
||||
**
|
||||
** Created by: The Resource Compiler for Qt version 5.12.11
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
static const unsigned char qt_resource_data[] = {
|
||||
// D:/Projects/Cpp/QtNovelDesc/TestWidget/debug/TestWidget_zh_CN.qm
|
||||
0x0,0x0,0x0,0x10,
|
||||
0x3c,
|
||||
0xb8,0x64,0x18,0xca,0xef,0x9c,0x95,0xcd,0x21,0x1c,0xbf,0x60,0xa1,0xbd,0xdd,
|
||||
|
||||
};
|
||||
|
||||
static const unsigned char qt_resource_name[] = {
|
||||
// i18n
|
||||
0x0,0x4,
|
||||
0x0,0x6,0xc4,0xee,
|
||||
0x0,0x69,
|
||||
0x0,0x31,0x0,0x38,0x0,0x6e,
|
||||
// TestWidget_zh_CN.qm
|
||||
0x0,0x13,
|
||||
0x4,0xa7,0xae,0x5d,
|
||||
0x0,0x54,
|
||||
0x0,0x65,0x0,0x73,0x0,0x74,0x0,0x57,0x0,0x69,0x0,0x64,0x0,0x67,0x0,0x65,0x0,0x74,0x0,0x5f,0x0,0x7a,0x0,0x68,0x0,0x5f,0x0,0x43,0x0,0x4e,0x0,0x2e,
|
||||
0x0,0x71,0x0,0x6d,
|
||||
|
||||
};
|
||||
|
||||
static const unsigned char qt_resource_struct[] = {
|
||||
// :
|
||||
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
// :/i18n
|
||||
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
// :/i18n/TestWidget_zh_CN.qm
|
||||
0x0,0x0,0x0,0xe,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
|
||||
0x0,0x0,0x1,0x84,0xbb,0xcd,0x97,0xa7,
|
||||
|
||||
};
|
||||
|
||||
#ifdef QT_NAMESPACE
|
||||
# define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name
|
||||
# define QT_RCC_MANGLE_NAMESPACE0(x) x
|
||||
# define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b
|
||||
# define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b)
|
||||
# define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \
|
||||
QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE))
|
||||
#else
|
||||
# define QT_RCC_PREPEND_NAMESPACE(name) name
|
||||
# define QT_RCC_MANGLE_NAMESPACE(name) name
|
||||
#endif
|
||||
|
||||
#ifdef QT_NAMESPACE
|
||||
namespace QT_NAMESPACE {
|
||||
#endif
|
||||
|
||||
bool qRegisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
|
||||
|
||||
bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
|
||||
|
||||
#ifdef QT_NAMESPACE
|
||||
}
|
||||
#endif
|
||||
|
||||
int QT_RCC_MANGLE_NAMESPACE(qInitResources_qmake_qmake_qm_files)();
|
||||
int QT_RCC_MANGLE_NAMESPACE(qInitResources_qmake_qmake_qm_files)()
|
||||
{
|
||||
QT_RCC_PREPEND_NAMESPACE(qRegisterResourceData)
|
||||
(0x2, qt_resource_struct, qt_resource_name, qt_resource_data);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_qmake_qmake_qm_files)();
|
||||
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_qmake_qmake_qm_files)()
|
||||
{
|
||||
QT_RCC_PREPEND_NAMESPACE(qUnregisterResourceData)
|
||||
(0x2, qt_resource_struct, qt_resource_name, qt_resource_data);
|
||||
return 1;
|
||||
}
|
||||
|
||||
namespace {
|
||||
struct initializer {
|
||||
initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_qmake_qmake_qm_files)(); }
|
||||
~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_qmake_qmake_qm_files)(); }
|
||||
} dummy;
|
||||
}
|
||||
|
|
@ -0,0 +1,835 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2022 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt VS Tools.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************
|
||||
-->
|
||||
|
||||
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
||||
|
||||
<Type Name="QPoint">
|
||||
<AlternativeType Name="QPointF"/>
|
||||
<DisplayString>{{ x = {xp}, y = {yp} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[x]">xp</Item>
|
||||
<Item Name="[y]">yp</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QRect">
|
||||
<DisplayString>{{ x = {x1}, y = {y1}, width = {x2 - x1 + 1}, height = {y2 - y1 + 1} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[x]">x1</Item>
|
||||
<Item Name="[y]">y1</Item>
|
||||
<Item Name="[width]">x2 - x1 + 1</Item>
|
||||
<Item Name="[height]">y2 - y1 + 1</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QRectF">
|
||||
<DisplayString>{{ x = {xp}, y = {yp}, width = {w}, height = {h} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[x]">xp</Item>
|
||||
<Item Name="[y]">yp</Item>
|
||||
<Item Name="[width]">w</Item>
|
||||
<Item Name="[height]">h</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QSize">
|
||||
<AlternativeType Name="QSizeF"/>
|
||||
<DisplayString>{{ width = {wd}, height = {ht} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[width]">wd</Item>
|
||||
<Item Name="[height]">ht</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QLine">
|
||||
<AlternativeType Name="QLineF"/>
|
||||
<DisplayString>{{ start point = {pt1}, end point = {pt2} }}</DisplayString>
|
||||
<Expand>
|
||||
<Synthetic Name="[start point]">
|
||||
<DisplayString>{pt1}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>pt1</ExpandedItem>
|
||||
</Expand>
|
||||
</Synthetic>
|
||||
<Synthetic Name="[end point]">
|
||||
<DisplayString>{pt2}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>pt2</ExpandedItem>
|
||||
</Expand>
|
||||
</Synthetic>
|
||||
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QPolygon">
|
||||
<DisplayString>{{ size = {d->size} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
|
||||
<ArrayItems>
|
||||
<Size>d->size</Size>
|
||||
<ValuePointer>(QPoint*)((reinterpret_cast<char*>(d)) + d->offset)</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QPolygonF">
|
||||
<DisplayString>{{ size = {d->size} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[closed]">
|
||||
d->size > 0
|
||||
&& ((((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[0]).xp
|
||||
== (((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[d->size - 1]).xp)
|
||||
&& ((((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[0]).yp
|
||||
== (((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[d->size - 1]).yp)
|
||||
</Item>
|
||||
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
|
||||
<ArrayItems>
|
||||
<Size>d->size</Size>
|
||||
<ValuePointer>(QPointF*)((reinterpret_cast<char*>(d)) + d->offset)</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name ="QVector2D">
|
||||
<DisplayString>{{ x = {xp}, y = {yp} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[x]">xp</Item>
|
||||
<Item Name="[y]">yp</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name ="QVector3D">
|
||||
<DisplayString>{{ x = {xp}, y = {yp}, z = {zp} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[x]">xp</Item>
|
||||
<Item Name="[y]">yp</Item>
|
||||
<Item Name="[z]">zp</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name ="QVector4D">
|
||||
<DisplayString>{{ x = {xp}, y = {yp}, z = {zp}, w = {wp} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[x]">xp</Item>
|
||||
<Item Name="[y]">yp</Item>
|
||||
<Item Name="[z]">zp</Item>
|
||||
<Item Name="[w]">wp</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name ="QMatrix">
|
||||
<DisplayString>
|
||||
{{ m11 = {_m11}, m12 = {_m12}, m21 = {_m21}, m22 = {_m22}, ... }}
|
||||
</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[m11]">_m11</Item>
|
||||
<Item Name="[m12]">_m12</Item>
|
||||
<Item Name="[m21]">_m21</Item>
|
||||
<Item Name="[m22]">_m22</Item>
|
||||
<Item Name="[dx]">_dx</Item>
|
||||
<Item Name="[dy]">_dy</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name ="QMatrix4x4">
|
||||
<DisplayString>
|
||||
{{ m11 = {m[0][0]}, m12 = {m[1][0]}, m13 = {m[2][0]}, m14 = {m[3][0]}, ... }}
|
||||
</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[m11]">m[0][0]</Item>
|
||||
<Item Name="[m12]">m[1][0]</Item>
|
||||
<Item Name="[m13]">m[2][0]</Item>
|
||||
<Item Name="[m14]">m[3][0]</Item>
|
||||
<Item Name="[m21]">m[0][1]</Item>
|
||||
<Item Name="[m22]">m[1][1]</Item>
|
||||
<Item Name="[m23]">m[2][1]</Item>
|
||||
<Item Name="[m24]">m[3][1]</Item>
|
||||
<Item Name="[m31]">m[0][2]</Item>
|
||||
<Item Name="[m32]">m[1][2]</Item>
|
||||
<Item Name="[m33]">m[2][2]</Item>
|
||||
<Item Name="[m34]">m[3][2]</Item>
|
||||
<Item Name="[m41]">m[0][3]</Item>
|
||||
<Item Name="[m42]">m[1][3]</Item>
|
||||
<Item Name="[m43]">m[2][3]</Item>
|
||||
<Item Name="[m44]">m[3][3]</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QSizePolicy">
|
||||
<DisplayString>
|
||||
{{ horizontal = {static_cast<Policy>(bits.horPolicy)}, vertical = {static_cast<Policy>(bits.verPolicy)}, type = {ControlType(1 << bits.ctype)} }}
|
||||
</DisplayString>
|
||||
<Expand>
|
||||
<Synthetic Name="[vertical policy]">
|
||||
<DisplayString>QSizePolicy::Policy::{static_cast<Policy>(bits.verPolicy)}</DisplayString>
|
||||
</Synthetic>
|
||||
<Synthetic Name="[horizontal policy]">
|
||||
<DisplayString>QSizePolicy::Policy::{static_cast<Policy>(bits.horPolicy)}</DisplayString>
|
||||
</Synthetic>
|
||||
<Synthetic Name="[control type]">
|
||||
<DisplayString>QSizePolicy::ControlType::{ControlType(1 << bits.ctype)}</DisplayString>
|
||||
</Synthetic>
|
||||
<Synthetic Name="[expanding directions]">
|
||||
<DisplayString
|
||||
Condition="(static_cast<Policy>(bits.verPolicy) & ExpandFlag)">
|
||||
Qt::Vertical (2)
|
||||
</DisplayString>
|
||||
<DisplayString
|
||||
Condition="(static_cast<Policy>(bits.horPolicy) & ExpandFlag)">
|
||||
Qt::Horizontal (1)
|
||||
</DisplayString>
|
||||
</Synthetic>
|
||||
<Item Name="[vertical stretch]">static_cast<int>(bits.verStretch)</Item>
|
||||
<Item Name="[horizontal stretch]">static_cast<int>(bits.horStretch)</Item>
|
||||
<Item Name="[has height for width]">bits.hfw == 1</Item>
|
||||
<Item Name="[has width for height]">bits.wfh == 1</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QChar">
|
||||
<DisplayString>{ucs,c}</DisplayString>
|
||||
<StringView>ucs,c</StringView>
|
||||
<Expand>
|
||||
<Item Name="[latin 1]">ucs > 0xff ? '\0' : char(ucs),c</Item>
|
||||
<Item Name="[unicode]">ucs,c</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QString">
|
||||
<DisplayString>{((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),sub}</DisplayString>
|
||||
<StringView>((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),sub</StringView>
|
||||
<Expand>
|
||||
<Item Name="[size]">d->size</Item>
|
||||
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
|
||||
<ArrayItems>
|
||||
<Size>d->size</Size>
|
||||
<ValuePointer>((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),c</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QStringRef">
|
||||
<Intrinsic Name="offset" Expression="(reinterpret_cast<char16_t*>(m_string->d))
|
||||
+ m_string->d->offset / 2" />
|
||||
<DisplayString Condition="m_string == nullptr">{m_string,[m_size]} u""</DisplayString>
|
||||
<DisplayString Condition="m_string != nullptr">{offset() + m_position,[m_size]}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[position]" ExcludeView="simple">m_position</Item>
|
||||
<Item Name="[size]" ExcludeView="simple">m_size</Item>
|
||||
<ArrayItems Condition="m_string != nullptr">
|
||||
<Size>m_size</Size>
|
||||
<ValuePointer>offset()+m_position</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QStringView">
|
||||
<DisplayString>{m_data,[m_size]}</DisplayString>
|
||||
<StringView>m_data,[m_size]</StringView>
|
||||
<Expand>
|
||||
<Item Name="[size]" ExcludeView="simple">m_size</Item>
|
||||
<ArrayItems>
|
||||
<Size>m_size</Size>
|
||||
<ValuePointer>m_data</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QByteArray">
|
||||
<DisplayString>{((reinterpret_cast<char*>(d)) + d->offset),sb}</DisplayString>
|
||||
<StringView>((reinterpret_cast<char*>(d)) + d->offset),sb</StringView>
|
||||
<Expand>
|
||||
<Item Name="[size]">d->size</Item>
|
||||
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
|
||||
<ArrayItems>
|
||||
<Size>d->size</Size>
|
||||
<ValuePointer>((reinterpret_cast<char*>(d)) + d->offset),c</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QUrl">
|
||||
<Intrinsic Name="isEmpty" Expression="size==0">
|
||||
<Parameter Name="size" Type="int"/>
|
||||
</Intrinsic>
|
||||
<Intrinsic Name="memberOffset" Expression="sizeof(QAtomicInt) + sizeof(int) + (sizeof(QString) * count)">
|
||||
<Parameter Name="count" Type="int"/>
|
||||
</Intrinsic>
|
||||
<Intrinsic Name="scheme" Expression="*((QString*)(((char*)(d) + memberOffset(0))))" />
|
||||
<Intrinsic Name="username" Expression="*((QString*)(((char*)(d) + memberOffset(1))))" />
|
||||
<Intrinsic Name="password" Expression="*((QString*)(((char*)(d) + memberOffset(2))))" />
|
||||
<Intrinsic Name="host" Expression="*((QString*)(((char*)(d) + memberOffset(3))))" />
|
||||
<Intrinsic Name="path" Expression="*((QString*)(((char*)(d) + memberOffset(4))))" />
|
||||
<Intrinsic Name="query" Expression="*((QString*)(((char*)(d) + memberOffset(5))))" />
|
||||
<Intrinsic Name="fragment" Expression="*((QString*)(((char*)(d) + memberOffset(6))))" />
|
||||
|
||||
<DisplayString Condition="!isEmpty(scheme().d->size)">{scheme()}://{host()}{path()}</DisplayString>
|
||||
<DisplayString Condition="isEmpty(scheme().d->size)">{path()}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[scheme]">scheme()</Item>
|
||||
<Item Name="[username]">username()</Item>
|
||||
<Item Name="[password]">password()</Item>
|
||||
<Item Name="[host]">host()</Item>
|
||||
<Item Name="[path]">path()</Item>
|
||||
<Item Name="[query]">query()</Item>
|
||||
<Item Name="[fragment]">fragment()</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QBitArray">
|
||||
<DisplayString>{{ size = {(d.d->size << 3) - *((reinterpret_cast<char*>(d.d)) + d.d->offset)} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[referenced]">d.d->ref.atomic._q_value</Item>
|
||||
<IndexListItems>
|
||||
<Size>(d.d->size << 3) - *((reinterpret_cast<char*>(d.d)) + d.d->offset)</Size>
|
||||
<ValueNode>
|
||||
(*(reinterpret_cast<const unsigned char*>((reinterpret_cast<char*>(d.d)) + d.d->offset) + 1
|
||||
+ ($i >> 3)) & (1 << ($i & 7))) != 0
|
||||
</ValueNode>
|
||||
</IndexListItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QVarLengthArray<*>">
|
||||
<AlternativeType Name="QVarLengthArray<*, int>"/>
|
||||
<DisplayString>{{ size = {s} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[capacity]">a</Item>
|
||||
<ArrayItems>
|
||||
<Size>s</Size>
|
||||
<ValuePointer>ptr</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QDate">
|
||||
<DisplayString>{{ julian day = {jd} }}</DisplayString>
|
||||
<Expand></Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QTime">
|
||||
<DisplayString
|
||||
Condition="mds == 1">{{ millisecond = {mds} }}</DisplayString>
|
||||
<DisplayString
|
||||
Condition="mds != 1">{{ milliseconds = {mds} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[hour]"
|
||||
Condition="(mds / 3600000) == 1">mds / 3600000, d</Item>
|
||||
<Item Name="[hours]"
|
||||
Condition="(mds / 3600000) != 1">mds / 3600000, d</Item>
|
||||
<Item Name="[minute]"
|
||||
Condition="((mds % 3600000) / 60000) == 1">(mds % 3600000) / 60000, d</Item>
|
||||
<Item Name="[minutes]"
|
||||
Condition="((mds % 3600000) / 60000) != 1">(mds % 3600000) / 60000, d</Item>
|
||||
<Item Name="[second]"
|
||||
Condition="((mds / 1000) % 60) == 1">(mds / 1000) % 60, d</Item>
|
||||
<Item Name="[seconds]"
|
||||
Condition="((mds / 1000) % 60) != 1">(mds / 1000) % 60, d</Item>
|
||||
<Item Name="[millisecond]"
|
||||
Condition="(mds % 1000) == 1">mds % 1000, d</Item>
|
||||
<Item Name="[milliseconds]"
|
||||
Condition="(mds % 1000) != 1">mds % 1000, d</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QRegularExpression">
|
||||
<DisplayString>{d.pattern}</DisplayString>
|
||||
</Type>
|
||||
|
||||
<Type Name="QSharedData">
|
||||
<Expand>
|
||||
<Item Name="[referenced]">ref._q_value</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QSharedPointer<*>">
|
||||
<DisplayString>strong reference to shared pointer of type {"$T1"}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[is null]">value == 0</Item>
|
||||
<Item Name="[weak referenced]">d->weakref._q_value</Item>
|
||||
<Item Name="[strong referenced]">d->strongref._q_value</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QSharedDataPointer<*>">
|
||||
<DisplayString>pointer to implicit shared object of type {"$T1"}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>d</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QExplicitlySharedDataPointer<*>">
|
||||
<DisplayString>pointer to explicit shared object of type {"$T1"}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>d</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QPointer<*>">
|
||||
<DisplayString>guarded pointer to subclass of QObject of type {"$T1"}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[is null]">wp.d == 0 || wp.d->strongref._q_value == 0 || wp.value == 0</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QWeakPointer<*>">
|
||||
<DisplayString>weak reference to shared pointer of type {"$T1"}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[is null]">d == 0 || d->strongref._q_value == 0 || value == 0</Item>
|
||||
<Item Name="[weak referenced]">d->weakref._q_value</Item>
|
||||
<Item Name="[strong referenced]">d->strongref._q_value</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QScopedPointer<*>">
|
||||
<DisplayString>scoped pointer to a dynamically allocated object of type {"$T1"}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[is null]">!d</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QScopedArrayPointer<*>">
|
||||
<DisplayString>scoped pointer to dynamically allocated array of objects of type {"$T1"}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[is null]">!d</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QPair<*,*>">
|
||||
<DisplayString>({first}, {second})</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[first]">first</Item>
|
||||
<Item Name="[second]">second</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QVector<*>">
|
||||
<AlternativeType Name="QStack<*>"></AlternativeType>
|
||||
<DisplayString>{{ size = {d->size} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
|
||||
<ArrayItems>
|
||||
<Size>d->size</Size>
|
||||
<ValuePointer>($T1*)((reinterpret_cast<char*>(d)) + d->offset)</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QList<*>">
|
||||
<AlternativeType Name="QQueue<*>"></AlternativeType>
|
||||
<DisplayString>{{ size = {d->end - d->begin} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
|
||||
<IndexListItems>
|
||||
<Size>d->end - d->begin</Size>
|
||||
<ValueNode>*reinterpret_cast<$T1*>((sizeof($T1) > sizeof(void*))
|
||||
? reinterpret_cast<Node*>(d->array + d->begin + $i)->v
|
||||
: reinterpret_cast<$T1*>(d->array + d->begin + $i))
|
||||
</ValueNode>
|
||||
</IndexListItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QStringList">
|
||||
<DisplayString>{{ size = {d->end - d->begin} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
|
||||
<IndexListItems>
|
||||
<Size>d->end - d->begin</Size>
|
||||
<ValueNode>
|
||||
*reinterpret_cast<QString*>((sizeof(QString) > sizeof(void*))
|
||||
? reinterpret_cast<Node*>(d->array + d->begin + $i)->v
|
||||
: reinterpret_cast<QString*>(d->array + d->begin + $i))
|
||||
</ValueNode>
|
||||
</IndexListItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QList<QVariant>">
|
||||
<DisplayString>{{ size = {d->end - d->begin} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
|
||||
<IndexListItems>
|
||||
<Size>d->end - d->begin</Size>
|
||||
<ValueNode>
|
||||
*reinterpret_cast<QVariant*>((sizeof(QVariant) > sizeof(void*))
|
||||
? reinterpret_cast<Node*>(d->array + d->begin + $i)->v
|
||||
: reinterpret_cast<QVariant*>(d->array + d->begin + $i))
|
||||
</ValueNode>
|
||||
</IndexListItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QLinkedList<*>">
|
||||
<DisplayString>{{ size = {d->size} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
|
||||
<LinkedListItems>
|
||||
<Size>d->size</Size>
|
||||
<HeadPointer>d->n</HeadPointer>
|
||||
<NextPointer>n</NextPointer>
|
||||
<ValueNode>(*(QLinkedListNode<$T1>*)this).t</ValueNode>
|
||||
</LinkedListItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QMapNode<*,*>">
|
||||
<DisplayString>({key}, {value})</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[key]">key</Item>
|
||||
<Item Name="[value]">value</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QMap<*,*>">
|
||||
<AlternativeType Name="QMultiMap<*,*>"/>
|
||||
<DisplayString>{{ size = {d->size} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[referenced]">d->ref.atomic._q_value</Item>
|
||||
<TreeItems>
|
||||
<Size>d->size</Size>
|
||||
<HeadPointer>d->header.left</HeadPointer>
|
||||
<LeftPointer>left</LeftPointer>
|
||||
<RightPointer>right</RightPointer>
|
||||
<ValueNode>*((QMapNode<$T1,$T2>*)this)</ValueNode>
|
||||
</TreeItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QHashNode<*,*>">
|
||||
<DisplayString Condition="next == 0">(empty)</DisplayString>
|
||||
<DisplayString Condition="next != 0">({key}, {value})</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[key]" Condition="next != 0">key</Item>
|
||||
<Item Name="[value]" Condition="next != 0">value</Item>
|
||||
<Item Name="[next]" Condition="next != 0">next</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QHash<*,*>">
|
||||
<AlternativeType Name="QMultiHash<*,*>"/>
|
||||
<DisplayString>{{ size = {d->size} }}</DisplayString>
|
||||
<Expand>
|
||||
<ArrayItems IncludeView="buckets">
|
||||
<Size>d->numBuckets</Size>
|
||||
<ValuePointer>reinterpret_cast<Node **>(d->buckets)</ValuePointer>
|
||||
</ArrayItems>
|
||||
<CustomListItems ExcludeView="buckets">
|
||||
<Variable Name="n" InitialValue="d->numBuckets"/>
|
||||
<Variable Name="bucket" InitialValue="d->buckets"/>
|
||||
<Variable Name="node" InitialValue="d->buckets[0]"/>
|
||||
<Variable Name="keyValuePair" InitialValue="reinterpret_cast<Node *>(0)"/>
|
||||
<Size>d->size</Size>
|
||||
<Loop>
|
||||
<Break Condition="n == 0"/>
|
||||
<Exec>node = *(bucket++)</Exec>
|
||||
<Exec>--n</Exec>
|
||||
<Loop>
|
||||
<Break Condition="!node || !node->next"/>
|
||||
<Exec>keyValuePair = reinterpret_cast<Node *>(node)</Exec>
|
||||
<Item Name="[{keyValuePair->key}]">keyValuePair->value</Item>
|
||||
<Exec>node = node->next</Exec>
|
||||
</Loop>
|
||||
</Loop>
|
||||
</CustomListItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QHashNode<*,QHashDummyValue>">
|
||||
<DisplayString Condition="next == 0">(empty)</DisplayString>
|
||||
<DisplayString Condition="next != 0">({key})</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[key]" Condition="next != 0">key</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QSet<*>">
|
||||
<DisplayString>{{ size = {q_hash.d->size} }}</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem>q_hash</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QCache<*,*>::Node">
|
||||
<DisplayString>({*keyPtr}, {*t})</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[key]">*keyPtr</Item>
|
||||
<Item Name="[value]">*t</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QCache<*,*>">
|
||||
<DisplayString>{{ size = {hash.d->size} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[max coast]">mx</Item>
|
||||
<Item Name="[total coast]">total</Item>
|
||||
<Item Name="[referenced]">hash.d->ref.atomic._q_value</Item>
|
||||
<LinkedListItems>
|
||||
<Size>hash.d->size</Size>
|
||||
<HeadPointer>f</HeadPointer>
|
||||
<NextPointer>n</NextPointer>
|
||||
<ValueNode>*((Node*)this)</ValueNode>
|
||||
</LinkedListItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QStandardItemPrivate">
|
||||
<Intrinsic Name="memberOffset" Expression="sizeof(QStandardItemModel *)
|
||||
+ sizeof(QStandardItem *)
|
||||
+ sizeof(int *)
|
||||
+ sizeof(int *)
|
||||
+ (sizeof(int) * count)">
|
||||
<Parameter Name="count" Type="int"/>
|
||||
</Intrinsic>
|
||||
<Intrinsic Name="rows" Expression="*((int*)(((char*)(this)) + memberOffset(0)))" />
|
||||
<Intrinsic Name="columns" Expression="*((int*)(((char*)(this)) + memberOffset(1)))" />
|
||||
</Type>
|
||||
|
||||
<Type Name="QStandardItem">
|
||||
<DisplayString>{{ row count = {(*d_ptr.d).rows()}, column count = {(*d_ptr.d).columns()} }}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="[d]">d_ptr.d,!</Item>
|
||||
<Item Name="[row count]">(*d_ptr.d).rows()</Item>
|
||||
<Item Name="[column count]">(*d_ptr.d).columns()</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="QVariant">
|
||||
<!--Region DisplayString QVariant-->
|
||||
|
||||
<DisplayString Condition="d.type == QMetaType::UnknownType">Invalid</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::Bool">{d.data.b}</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::Int">{d.data.i}</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::UInt">{d.data.u}</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::LongLong">{d.data.ll}</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::ULongLong">{d.data.ull}</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::Double">{d.data.d}</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QChar">{d.data.c}</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QVariantMap">
|
||||
{*((QMap<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QVariantList">
|
||||
{*((QList<QVariant>*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QString">
|
||||
{*((QString*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QStringList">
|
||||
{*((QStringList*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QByteArray">
|
||||
{*((QByteArray*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QBitArray">
|
||||
{*((QBitArray*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QDate">
|
||||
{*((QDate*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QTime">
|
||||
{*((QTime*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QDateTime">DateTime</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QUrl">Url</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QLocale">Locale</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QRect">
|
||||
{*((QRect*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QRectF">
|
||||
{*((QRectF*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QSize">
|
||||
{*((QSize*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QSizeF">
|
||||
{*((QSizeF*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QLine">
|
||||
{*((QLine*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QLineF">
|
||||
{*((QLineF*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QPoint">
|
||||
{*((QPoint*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QPointF">
|
||||
{*((QPointF*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QRegExp">RegExp</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QRegularExpression">RegularExpression</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QVariantHash">
|
||||
{*((QHash<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))}
|
||||
</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QEasingCurve">EasingCurve</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QUuid">Uuid</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QModelIndex">ModelIndex</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::LastCoreType">LastCoreType</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QFont">Font</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QPixmap">Pixmap</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QBrush">Brush</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QColor">Color</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QPalette">Palette</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QImage">Image</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QPolygon">Polygon</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QRegion">Region</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QBitmap">Bitmap</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QCursor">Cursor</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QKeySequence">KeySequence</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QPen">Pen</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QTextLength">TextLength</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QTextFormat">TextFormat</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QMatrix">Matrix</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QTransform">Transform</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QMatrix4x4">Matrix4x4</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QVector2D">Vector2D</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QVector3D">Vector3D</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QVector4D">Vector4D</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QQuaternion">Quaternion</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QPolygonF">PolygonF</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QIcon">Icon</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::LastGuiType">LastGuiType</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::QSizePolicy">SizePolicy</DisplayString>
|
||||
<DisplayString Condition="d.type == QMetaType::User">UserType</DisplayString>
|
||||
<DisplayString Condition="d.type == 0xffffffff">LastType</DisplayString>
|
||||
|
||||
<!--End region DisplayString QVariant-->
|
||||
|
||||
<!--Region DisplayView QVariant-->
|
||||
|
||||
<StringView Condition="d.type == QMetaType::QChar">d.data.c</StringView>
|
||||
|
||||
<StringView Condition="d.type == QMetaType::QString">
|
||||
*((QString*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</StringView>
|
||||
|
||||
<StringView Condition="d.type == QMetaType::QByteArray">
|
||||
*((QByteArray*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</StringView>
|
||||
|
||||
<!--End region DisplayView QVariant-->
|
||||
|
||||
<!--Region Expand QVariant-->
|
||||
|
||||
<Expand>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QVariantMap">
|
||||
*((QMap<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QVariantList">
|
||||
*((QList<QVariant>*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QString">
|
||||
*((QString*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QStringList">
|
||||
*((QStringList*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QByteArray">
|
||||
*((QByteArray*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QBitArray">
|
||||
*((QBitArray*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QDate">
|
||||
*((QDate*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QTime">
|
||||
*((QTime*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QRect">
|
||||
*((QRect*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QRectF">
|
||||
*((QRectF*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QSize">
|
||||
*((QSize*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QSizeF">
|
||||
*((QSizeF*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QLine">
|
||||
*((QLine*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QLineF">
|
||||
*((QLineF*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QPoint">
|
||||
*((QPoint*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QPointF">
|
||||
*((QPointF*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
<ExpandedItem Condition="d.type == QMetaType::QVariantHash">
|
||||
*((QHash<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr
|
||||
: reinterpret_cast<const void *>(&d.data.ptr)))
|
||||
</ExpandedItem>
|
||||
</Expand>
|
||||
|
||||
<!--End region Expand QVariant-->
|
||||
</Type>
|
||||
|
||||
</AutoVisualizer>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1 @@
|
|||
This is a dummy file needed to create release/moc_predefs.h
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;NDEBUG</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>D:\Projects\Cpp\QtNovelDesc\TestWidget\release\qmake\temp;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtGui;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtCore;D:\Projects\Cpp\QtNovelDesc\TestWidget\release\qmake\temp;/include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_STDCPP_></Qt_STDCPP_>
|
||||
<Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus</Qt_CL_OPTIONS_>
|
||||
<Qt_LIBS_>C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Widgets.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Gui.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Core.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\qtmain.lib;shell32.lib</Qt_LIBS_>
|
||||
<Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>C:/Qt/Qt5.12.11/Docs/Qt-5.12.11</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>C:/Qt/Qt5.12.11/Examples/Qt-5.12.11</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>C:/Qt/Qt5.12.11/Examples/Qt-5.12.11</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.12.11</QMake_QT_VERSION_>
|
||||
<Qt_INCLUDEPATH_
|
||||
>$(Qt_INCLUDEPATH_);Release</Qt_INCLUDEPATH_>
|
||||
<QtBkup_QtInstall
|
||||
>5.12.11_msvc2017_64</QtBkup_QtInstall>
|
||||
<QtBkup_QtModules
|
||||
>core;gui;widgets</QtBkup_QtModules>
|
||||
<QtBkup_QtPathBinaries
|
||||
>bin</QtBkup_QtPathBinaries>
|
||||
<QtBkup_QtPathLibraryExecutables
|
||||
>bin</QtBkup_QtPathLibraryExecutables>
|
||||
<QtBkup_QtHeaderSearchPath
|
||||
></QtBkup_QtHeaderSearchPath>
|
||||
<QtBkup_QtLibrarySearchPath
|
||||
></QtBkup_QtLibrarySearchPath>
|
||||
<QtBkup_QtVars
|
||||
>DEFINES=/Project/ItemDefinitionGroup/ClCompile/PreprocessorDefinitions;INCLUDEPATH=/Project/ItemDefinitionGroup/ClCompile/AdditionalIncludeDirectories;STDCPP=/Project/ItemDefinitionGroup/ClCompile/LanguageStandard;CL_OPTIONS=/Project/ItemDefinitionGroup/ClCompile/AdditionalOptions;LIBS=/Project/ItemDefinitionGroup/Link/AdditionalDependencies;LINK_OPTIONS=/Project/ItemDefinitionGroup/Link/AdditionalOptions</QtBkup_QtVars>
|
||||
<QtBkup_QMakeCodeLines
|
||||
></QtBkup_QMakeCodeLines>
|
||||
<QtBkup_QtBuildConfig
|
||||
>release</QtBkup_QtBuildConfig>
|
||||
<QtVersion>5.12.11</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>12</QtVersionMinor>
|
||||
<QtVersionPatch>11</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1 @@
|
|||
C:\Users\WS\AppData\Local\Temp\dztjsegl.olu.designtime.props
|
||||
|
|
@ -0,0 +1 @@
|
|||
This is a dummy file needed to create ./moc_predefs.h
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
QT_SYSROOT:
|
||||
QT_INSTALL_PREFIX:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64
|
||||
QT_INSTALL_ARCHDATA:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64
|
||||
QT_INSTALL_DATA:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64
|
||||
QT_INSTALL_DOCS:C:/Qt/Qt5.12.11/Docs/Qt-5.12.11
|
||||
QT_INSTALL_HEADERS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/include
|
||||
QT_INSTALL_LIBS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib
|
||||
QT_INSTALL_LIBEXECS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin
|
||||
QT_INSTALL_BINS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin
|
||||
QT_INSTALL_TESTS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/tests
|
||||
QT_INSTALL_PLUGINS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/plugins
|
||||
QT_INSTALL_IMPORTS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/imports
|
||||
QT_INSTALL_QML:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/qml
|
||||
QT_INSTALL_TRANSLATIONS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/translations
|
||||
QT_INSTALL_CONFIGURATION:
|
||||
QT_INSTALL_EXAMPLES:C:/Qt/Qt5.12.11/Examples/Qt-5.12.11
|
||||
QT_INSTALL_DEMOS:C:/Qt/Qt5.12.11/Examples/Qt-5.12.11
|
||||
QT_HOST_PREFIX:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64
|
||||
QT_HOST_DATA:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64
|
||||
QT_HOST_BINS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin
|
||||
QT_HOST_LIBS:C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib
|
||||
QMAKE_SPEC:win32-msvc
|
||||
QMAKE_XSPEC:win32-msvc
|
||||
QMAKE_VERSION:3.1
|
||||
QT_VERSION:5.12.11
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
CONFIG += no_fixpath
|
||||
QT += core gui widgets
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
<?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>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid></ProjectGuid>
|
||||
<RootNamespace>qtvars</RootNamespace>
|
||||
<Keyword>Qt4VSv1.0</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<OutputDirectory>.\</OutputDirectory>
|
||||
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PrimaryOutput>qtvars</PrimaryOutput>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<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>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\</OutDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">qtvars</TargetName>
|
||||
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</IgnoreImportLibrary>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>D:\Projects\Cpp\QtNovelDesc\TestWidget\release\qmake\temp;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtGui;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtCore;D:\Projects\Cpp\QtNovelDesc\TestWidget\release\qmake\temp;/include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
|
||||
<AssemblerListingLocation>.\</AssemblerListingLocation>
|
||||
<BrowseInformation>false</BrowseInformation>
|
||||
<DebugInformationFormat>None</DebugInformationFormat>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<ObjectFileName>.\</ObjectFileName>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessToFile>false</PreprocessToFile>
|
||||
<ProgramDataBaseFileName></ProgramDataBaseFileName>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Widgets.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Gui.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Core.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\qtmain.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.6.11-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(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)\qtvars.exe</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;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="moc_predefs.h.cbt">
|
||||
<FileType>Document</FileType>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -BxC:\Qt\Qt5.12.11\5.12.11\msvc2017_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -W0 -E C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\mkspecs\features\data\dummy.cpp 2>NUL >moc_predefs.h</Command>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">moc_predefs.h;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<?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>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="moc_predefs.h.cbt">
|
||||
<Filter>Generated Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;NDEBUG</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>D:\Projects\Cpp\QtNovelDesc\TestWidget\release\qmake\temp;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtGui;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\include\QtCore;D:\Projects\Cpp\QtNovelDesc\TestWidget\release\qmake\temp;/include;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_STDCPP_></Qt_STDCPP_>
|
||||
<Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus</Qt_CL_OPTIONS_>
|
||||
<Qt_LIBS_>C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Widgets.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Gui.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\Qt5Core.lib;C:\Qt\Qt5.12.11\5.12.11\msvc2017_64\lib\qtmain.lib;shell32.lib</Qt_LIBS_>
|
||||
<Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>C:/Qt/Qt5.12.11/Docs/Qt-5.12.11</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>C:/Qt/Qt5.12.11/Examples/Qt-5.12.11</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>C:/Qt/Qt5.12.11/Examples/Qt-5.12.11</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>C:/Qt/Qt5.12.11/5.12.11/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.12.11</QMake_QT_VERSION_>
|
||||
<Qt_INCLUDEPATH_
|
||||
>$(Qt_INCLUDEPATH_);Release</Qt_INCLUDEPATH_>
|
||||
<QtBkup_QtInstall
|
||||
>5.12.11_msvc2017_64</QtBkup_QtInstall>
|
||||
<QtBkup_QtModules
|
||||
>core;gui;widgets</QtBkup_QtModules>
|
||||
<QtBkup_QtPathBinaries
|
||||
>bin</QtBkup_QtPathBinaries>
|
||||
<QtBkup_QtPathLibraryExecutables
|
||||
>bin</QtBkup_QtPathLibraryExecutables>
|
||||
<QtBkup_QtHeaderSearchPath
|
||||
></QtBkup_QtHeaderSearchPath>
|
||||
<QtBkup_QtLibrarySearchPath
|
||||
></QtBkup_QtLibrarySearchPath>
|
||||
<QtBkup_QtVars
|
||||
>DEFINES=/Project/ItemDefinitionGroup/ClCompile/PreprocessorDefinitions;INCLUDEPATH=/Project/ItemDefinitionGroup/ClCompile/AdditionalIncludeDirectories;STDCPP=/Project/ItemDefinitionGroup/ClCompile/LanguageStandard;CL_OPTIONS=/Project/ItemDefinitionGroup/ClCompile/AdditionalOptions;LIBS=/Project/ItemDefinitionGroup/Link/AdditionalDependencies;LINK_OPTIONS=/Project/ItemDefinitionGroup/Link/AdditionalOptions</QtBkup_QtVars>
|
||||
<QtBkup_QMakeCodeLines
|
||||
></QtBkup_QMakeCodeLines>
|
||||
<QtBkup_QtBuildConfig
|
||||
>release</QtBkup_QtBuildConfig>
|
||||
<QtVersion>5.12.11</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>12</QtVersionMinor>
|
||||
<QtVersionPatch>11</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource prefix="i18n">
|
||||
<file alias="TestWidget_zh_CN.qm">D:/Projects/Cpp/QtNovelDesc/TestWidget/release/TestWidget_zh_CN.qm</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
#ifndef COMNTOOLS_H
|
||||
#define COMNTOOLS_H
|
||||
|
||||
#include "../Testpad/opstream.h"
|
||||
#include <QStandardItemModel>
|
||||
#include <functional>
|
||||
|
||||
namespace Tools {
|
||||
|
||||
template<class BaseType>
|
||||
class ModelSyncs
|
||||
{
|
||||
public:
|
||||
ModelSyncs(QStandardItemModel *model_base, std::function<bool(const BaseType &n, QStandardItem *p)> _equal,
|
||||
std::function<void(const BaseType &n, QStandardItem *p)> sync_proc)
|
||||
: model_present(model_base), sync_process(sync_proc), compare_process(_equal){}
|
||||
|
||||
void presentSync(std::function<QList<BaseType>(const BaseType &pnode)> items_peak)
|
||||
{
|
||||
auto default_pdata = BaseType();
|
||||
auto datas = items_peak(default_pdata);
|
||||
|
||||
Operate::OpStream<QStandardItem*>([this](int &cnt, int idx)->QStandardItem*{
|
||||
cnt = model_present->rowCount();
|
||||
return model_present->item(idx);
|
||||
}).filter([&datas, this](QStandardItem *const &it)->bool{
|
||||
for(auto &d : datas)
|
||||
if(compare_process(d, it))
|
||||
return false;
|
||||
return true;
|
||||
}).forEach([this](QStandardItem *const &it){
|
||||
model_present->removeRow(it->row());
|
||||
});
|
||||
|
||||
for (auto idx = 0; idx < datas.size(); ++idx) {
|
||||
if (idx >= model_present->rowCount()) {
|
||||
auto ins = new QStandardItem();
|
||||
ins->setEditable(false);
|
||||
model_present->appendRow(ins);
|
||||
}
|
||||
|
||||
auto &data = datas[idx];
|
||||
auto item = model_present->item(idx);
|
||||
sync_process(data, item);
|
||||
|
||||
layer_items_sync(data, item, items_peak);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private:
|
||||
QStandardItemModel *model_present;
|
||||
std::function<void(const BaseType &n, QStandardItem *p)> sync_process;
|
||||
std::function<bool(const BaseType &n, QStandardItem *p)> compare_process;
|
||||
|
||||
void layer_items_sync(const BaseType &data, QStandardItem *pnode,
|
||||
std::function<QList<BaseType>(const BaseType &pnode)> items_peak){
|
||||
auto datas = items_peak(data);
|
||||
|
||||
Operate::OpStream<QStandardItem*>([pnode](int &cnt, int idx)->QStandardItem*{
|
||||
cnt = pnode->rowCount();
|
||||
return pnode->child(idx);
|
||||
}).filter([&datas, this](QStandardItem *const &it)->bool{
|
||||
for(auto &d : datas)
|
||||
if(compare_process(d, it))
|
||||
return false;
|
||||
return true;
|
||||
}).forEach([pnode](QStandardItem *const &it){
|
||||
pnode->removeRow(it->row());
|
||||
});
|
||||
|
||||
for (auto idx = 0; idx < datas.size(); ++idx) {
|
||||
if (idx >= pnode->rowCount()) {
|
||||
auto ins = new QStandardItem();
|
||||
ins->setEditable(false);
|
||||
pnode->appendRow(ins);
|
||||
}
|
||||
|
||||
auto &data = datas[idx];
|
||||
auto item = pnode->child(idx);
|
||||
sync_process(data, item);
|
||||
|
||||
layer_items_sync(data, item, items_peak);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif // COMNTOOLS_H
|
||||
|
|
@ -1,8 +1,36 @@
|
|||
#include "widget.h"
|
||||
#include "tools.h"
|
||||
|
||||
#include <QPushButton>
|
||||
#include <QTreeView>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
Widget::Widget(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
: QWidget(parent), model(new QStandardItemModel(this))
|
||||
{
|
||||
auto layout = new QVBoxLayout(this);
|
||||
auto widget = new QTreeView(this);
|
||||
layout->addWidget(widget);
|
||||
widget->setModel(model);
|
||||
|
||||
|
||||
Tools::ModelSyncs<QString>* xmodel = new Tools::ModelSyncs<QString>(model,
|
||||
[](const QString &d, QStandardItem *n){return d == n->text();},
|
||||
[](const QString &d, QStandardItem *i){i->setText(d);});
|
||||
|
||||
model->appendRow(new QStandardItem("sldkjflkdf"));
|
||||
|
||||
auto button = new QPushButton("click");
|
||||
layout->addWidget(button);
|
||||
|
||||
connect(button, &QPushButton::clicked, [this, xmodel](){
|
||||
xmodel->presentSync([](const QString &x){
|
||||
if(x.length() > 3)
|
||||
return QList<QString>();
|
||||
|
||||
return QList<QString>() << x + "a" << x + "b" << x + "c" << x + "d";
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Widget::~Widget()
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef WIDGET_H
|
||||
#define WIDGET_H
|
||||
|
||||
#include <QStandardItemModel>
|
||||
#include <QWidget>
|
||||
|
||||
class Widget : public QWidget
|
||||
|
|
@ -10,5 +11,8 @@ class Widget : public QWidget
|
|||
public:
|
||||
Widget(QWidget *parent = nullptr);
|
||||
~Widget();
|
||||
|
||||
private:
|
||||
QStandardItemModel *const model;
|
||||
};
|
||||
#endif // WIDGET_H
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@ CONFIG -= app_bundle
|
|||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||
|
||||
SOURCES += \
|
||||
main.cpp
|
||||
main.cpp \
|
||||
opstream.cpp
|
||||
|
||||
# Default rules for deployment.
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
|
|
@ -36,3 +37,6 @@ else:unix: LIBS += -L$$OUT_PWD/../libProjectManager/ -llibProjectManager
|
|||
|
||||
INCLUDEPATH += $$PWD/../libProjectManager
|
||||
DEPENDPATH += $$PWD/../libProjectManager
|
||||
|
||||
HEADERS += \
|
||||
opstream.h
|
||||
|
|
|
|||
|
|
@ -2,15 +2,22 @@
|
|||
#include <QDebug>
|
||||
#include <xmlconfig.h>
|
||||
#include <xmlprojectmanager.h>
|
||||
#include <QDebug>
|
||||
|
||||
#include "opstream.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QCoreApplication a(argc, argv);
|
||||
|
||||
|
||||
QRegExp exp("([^\\.]+)");
|
||||
qDebug() << exp.indexIn("packagea.packageb.packagec.packaged");
|
||||
qDebug() << exp.capturedTexts();
|
||||
QList<QString> list;
|
||||
list << "a" << "b" << "c" << "d";
|
||||
|
||||
|
||||
qDebug() << Operate::OpStream<QString>(list)
|
||||
.filter([](const QString &it){ return it > QString("b"); })
|
||||
.select<QString>([](const QString n)->QString{ return n + "xx"; }).toList();
|
||||
|
||||
|
||||
return a.exec();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
#include "opstream.h"
|
||||
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
#ifndef OPSTREAM_H
|
||||
#define OPSTREAM_H
|
||||
|
||||
#include <QList>
|
||||
#include <functional>
|
||||
|
||||
namespace Operate {
|
||||
|
||||
template<class ValueType, class TargetType>
|
||||
class Result
|
||||
{
|
||||
public:
|
||||
Result(QList<ValueType> source, std::function<bool(const ValueType&)> list_filter, std::function<TargetType(const ValueType&)> list_peaks)
|
||||
: source_store(source), peak_store(list_peaks), filter_store(list_filter){}
|
||||
virtual ~Result() = default;
|
||||
|
||||
virtual QList<TargetType> toList()
|
||||
{
|
||||
QList<TargetType> rets_list;
|
||||
|
||||
for(auto &it : source_store)
|
||||
if(filter_store(it))
|
||||
rets_list << peak_store(it);
|
||||
|
||||
return rets_list;
|
||||
}
|
||||
|
||||
template<class Key>
|
||||
QHash<Key, TargetType> toMap(std::function<Key(ValueType)> key_selector)
|
||||
{
|
||||
QHash<Key, TargetType> map;
|
||||
|
||||
for(auto &it : source_store)
|
||||
if(filter_store(it))
|
||||
map[key_selector(it)] = peak_store(it);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
virtual void forEach(std::function<void(TargetType)> ex_proc)
|
||||
{
|
||||
auto items = toList();
|
||||
for(auto &it : items)
|
||||
ex_proc(it);
|
||||
}
|
||||
|
||||
Result<ValueType, TargetType> filter(std::function<bool(const ValueType&)> filter){
|
||||
auto filter_combine = [filter, this](const ValueType& it){ return filter(it) && filter_store(it); };
|
||||
return Result<ValueType, TargetType>(source_store, filter_combine, peak_store);
|
||||
}
|
||||
|
||||
template<class TargetTypeOut>
|
||||
Result<TargetType, TargetTypeOut> select(std::function<TargetTypeOut(const TargetType&)> peak){
|
||||
auto peak_combine = [peak, this](const TargetType &it){
|
||||
auto temp = this->peak_store(it);
|
||||
return peak(temp);
|
||||
};
|
||||
return Result<TargetType, TargetTypeOut>(source_store, filter_store, peak_combine);
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
QList<ValueType> source_store;
|
||||
std::function<TargetType(const ValueType&)> peak_store;
|
||||
std::function<bool(const ValueType&)> filter_store;
|
||||
};
|
||||
|
||||
|
||||
template<class ValueType>
|
||||
class OpStream
|
||||
{
|
||||
public:
|
||||
OpStream(std::function<ValueType(int &cnt, int idx)> peak_proc)
|
||||
{
|
||||
int count = 0, index = 0;
|
||||
ValueType one = peak_proc(count, index);
|
||||
for(; index < count; ++index)
|
||||
source_store << peak_proc(count, index);
|
||||
}
|
||||
OpStream(QList<ValueType> source)
|
||||
: source_store(source){}
|
||||
|
||||
template<class TargetType>
|
||||
Result<ValueType, TargetType> select(std::function<TargetType(const ValueType&)> value_selector)
|
||||
{
|
||||
return Result<ValueType, TargetType>(source_store, [](const ValueType& it){return true;}, value_selector);
|
||||
}
|
||||
Result<ValueType, ValueType> select()
|
||||
{
|
||||
return Result<ValueType, ValueType>(source_store, [](const ValueType& it){return true;}, [](const ValueType& it){return it;});
|
||||
}
|
||||
|
||||
Result<ValueType, ValueType> filter(std::function<bool(const ValueType&)> filter)
|
||||
{
|
||||
return Result<ValueType, ValueType>(source_store, filter, [](const ValueType& it){ return it; });
|
||||
}
|
||||
|
||||
private:
|
||||
QList<ValueType> source_store;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // OPSTREAM_H
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include <QMessageBox>
|
||||
#include <QTextStream>
|
||||
#include <QDebug>
|
||||
|
||||
using namespace MakeTools;
|
||||
|
||||
|
|
@ -106,15 +107,15 @@ void SensitiveCore::recompile(const QString &file_path, const QString &doc_name)
|
|||
VariedTextView::VariedTextView()
|
||||
: QObject(nullptr){}
|
||||
|
||||
void VariedTextView::setSource(Core::AppCore *core, const QFileInfo &src, const QString &name, QWidget *parent)
|
||||
void VariedTextView::initSource(Core::AppCore *core, const QFileInfo &src, const QString &name, QWidget *parent)
|
||||
{
|
||||
this->doc_name = name;
|
||||
this->setSource(core, src, parent);
|
||||
this->initSource(core, src, parent);
|
||||
}
|
||||
|
||||
QString VariedTextView::filePath() const
|
||||
{
|
||||
return source_x.absoluteFilePath();
|
||||
return source_x;
|
||||
}
|
||||
|
||||
void VariedTextView::save() const
|
||||
|
|
@ -135,9 +136,9 @@ QString VariedTextView::docName() const
|
|||
return doc_name;
|
||||
}
|
||||
|
||||
void VariedTextView::setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
void VariedTextView::initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
{
|
||||
this->source_x = src;
|
||||
this->source_x = src.absoluteFilePath();
|
||||
if(parent)
|
||||
this->setParent(parent);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ namespace MakeTools {
|
|||
explicit VariedTextView();
|
||||
virtual ~VariedTextView() = default;
|
||||
|
||||
void setSource(Core::AppCore *core, const QFileInfo &src, const QString &name, QWidget *parent=nullptr);
|
||||
void initSource(Core::AppCore *core, const QFileInfo &src, const QString &name, QWidget *parent=nullptr);
|
||||
|
||||
QString filePath() const;
|
||||
void save() const;
|
||||
|
|
@ -34,10 +34,10 @@ namespace MakeTools {
|
|||
void dataChanged(const QString &filePath);
|
||||
|
||||
protected:
|
||||
virtual void setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent=nullptr);
|
||||
virtual void initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent=nullptr);
|
||||
|
||||
private:
|
||||
QFileInfo source_x;
|
||||
QString source_x;
|
||||
QString doc_name;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ void TextContentEdit::jumpTo(const QList<QString> &path)
|
|||
|
||||
}
|
||||
|
||||
void TextContentEdit::reload(QList<Config::Configration *> configs)
|
||||
void TextContentEdit::reloadConfigrations(QList<Config::Configration *> configs)
|
||||
{
|
||||
// TODO: 设置格式
|
||||
auto font_family = Config::ConfigHelper::getConfigAsDefaultSequence
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ namespace Components {
|
|||
// Plugin interface
|
||||
public:
|
||||
virtual Core::FileExtensionFactory *factory() const override;
|
||||
virtual void reload(QList<Config::Configration *> configs) override;
|
||||
virtual void reloadConfigrations(QList<Config::Configration *> configs) override;
|
||||
|
||||
// ModeView interface
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ SOURCES += \
|
|||
SensitiveCore.cpp \
|
||||
SourceEditView.cpp \
|
||||
appcore.cpp \
|
||||
conceptview.cpp \
|
||||
keywordshightlighter.cpp \
|
||||
main.cpp \
|
||||
mainwindow.cpp \
|
||||
|
|
@ -24,28 +23,32 @@ SOURCES += \
|
|||
storyboardspresent.cpp \
|
||||
storychainsourceeditor.cpp \
|
||||
storychainspresent.cpp \
|
||||
storyconceptspresent.cpp \
|
||||
storyunitsourceedit.cpp \
|
||||
storyunitspresent.cpp \
|
||||
storyvolumesourceedit.cpp
|
||||
storyvolumesourceedit.cpp \
|
||||
tools.cpp
|
||||
|
||||
HEADERS += \
|
||||
ContentPresent.h \
|
||||
SensitiveCore.h \
|
||||
SourceEditView.h \
|
||||
appcore.h \
|
||||
conceptview.h \
|
||||
keywordshightlighter.h \
|
||||
mainwindow.h \
|
||||
messagepresent.h \
|
||||
opstream.h \
|
||||
projectview.h \
|
||||
sourcecodeeditor.h \
|
||||
storyboardsourceedit.h \
|
||||
storyboardspresent.h \
|
||||
storychainsourceeditor.h \
|
||||
storychainspresent.h \
|
||||
storyconceptspresent.h \
|
||||
storyunitsourceedit.h \
|
||||
storyunitspresent.h \
|
||||
storyvolumesourceedit.h
|
||||
storyvolumesourceedit.h \
|
||||
tools.h
|
||||
|
||||
TRANSLATIONS += \
|
||||
WordsIDE_zh_CN.ts
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ using namespace Parse::Result;
|
|||
using namespace MakeTools;
|
||||
|
||||
AppCore::AppCore(MainWindow *win, QObject *parent)
|
||||
: QObject(parent), views(win),
|
||||
: QObject(parent), views_holder(win),
|
||||
global_config(new Config::XMLConfig(this)),
|
||||
parse_core(new ParseCore()),
|
||||
make_tool(new StoryTool(parse_core)),
|
||||
|
|
@ -106,30 +106,30 @@ void AppCore::openTextDocument(const QString &src, const QString &name)
|
|||
if(framework->contains(src)){
|
||||
auto ins = framework->queryTextComponent(QFileInfo(src));
|
||||
|
||||
dynamic_cast<Extension*>(ins)->resetProcsType(QFileInfo(src).suffix());
|
||||
dynamic_cast<Core::Extension*>(ins)->reload(this->getConfigs(xfactorys[0]->configs()));
|
||||
views->contentViewAppend(ins->textView(), name);
|
||||
dynamic_cast<Core::Extension*>(ins)->reloadConfigrations(this->getConfigs(xfactorys[0]->configs()));
|
||||
views_holder->contentViewAppend(ins->textView(), name);
|
||||
return;
|
||||
}
|
||||
|
||||
VariedTextView *tview = dynamic_cast<VariedTextView*>(xfactorys[0]->newInstance(this));
|
||||
dynamic_cast<Extension*>(tview)->resetProcsType(QFileInfo(src).suffix());
|
||||
dynamic_cast<Core::Extension*>(tview)->reload(this->getConfigs(xfactorys[0]->configs()));
|
||||
|
||||
this->make_tool->compile(QFileInfo(src), name);
|
||||
tview->setSource(this, QFileInfo(src), name, views);
|
||||
|
||||
VariedTextView *tview = dynamic_cast<VariedTextView*>(xfactorys[0]->newInstance(this));
|
||||
tview->initSource(this, QFileInfo(src), name, views_holder);
|
||||
framework->addPerceptionList(tview);
|
||||
|
||||
dynamic_cast<Extension*>(tview)->resetProcsType(QFileInfo(src).suffix());
|
||||
dynamic_cast<Core::Extension*>(tview)->reloadConfigrations(this->getConfigs(xfactorys[0]->configs()));
|
||||
|
||||
QFile fin(src);
|
||||
if(!fin.open(QIODevice::ReadOnly | QIODevice::Text)){
|
||||
QMessageBox::critical(views, "系统错误", QString("无法打开指定文件:%1(%2)").arg(name, src));
|
||||
QMessageBox::critical(views_holder, "系统错误", QString("无法打开指定文件:%1(%2)").arg(name, src));
|
||||
return;
|
||||
}
|
||||
|
||||
QTextStream tin(&fin);
|
||||
tview->textContentReset(tin.readAll());
|
||||
|
||||
views->contentViewAppend(tview->textView(), name);
|
||||
views_holder->contentViewAppend(tview->textView(), name);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ namespace Core {
|
|||
* @brief 载入指定的配置端口实例
|
||||
* @param configs
|
||||
*/
|
||||
virtual void reload(QList<Config::Configration*> configs) = 0;
|
||||
virtual void reloadConfigrations(QList<Config::Configration*> configs) = 0;
|
||||
|
||||
};
|
||||
|
||||
|
|
@ -129,7 +129,7 @@ namespace Core {
|
|||
void openTextDocument(const QString &src, const QString &name);
|
||||
|
||||
private:
|
||||
MainWindow *const views;
|
||||
MainWindow *const views_holder;
|
||||
Config::Configration *const global_config;
|
||||
Project::ProjectManager * current_project;
|
||||
QList<Core::FileExtensionFactory*> extensions_list;
|
||||
|
|
|
|||
|
|
@ -35,6 +35,9 @@ void KeywordsHightlighter::highlightBlock(const QString &text)
|
|||
QList<ErrorMessage> xerrors;
|
||||
|
||||
if(w->host() == parse_core->unknowns()){
|
||||
unknowns.setUnderlineStyle(QTextCharFormat::UnderlineStyle::WaveUnderline);
|
||||
unknowns.setUnderlineColor(QColor(Qt::red));
|
||||
|
||||
setFormat(w->column()-1, w->toString().length(), unknowns);
|
||||
}
|
||||
else if(!w->host()->check(xerrors)){
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
units_view(new StoryUnitsPresent(app_core, this)),
|
||||
errors_present(new MessagePresent(app_core->getMake_tool(), this)),
|
||||
boards_view(new StoryBoardsPresent(app_core, this)),
|
||||
concept_view(new ConceptView(app_core, this))
|
||||
concept_view(new StoryConceptsPresent(app_core, this))
|
||||
{
|
||||
QApplication::instance()->installEventFilter(this);
|
||||
this->app_core->setCurrentProject(project_manager);
|
||||
|
|
@ -343,6 +343,17 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
app_core->getFramework()->closeTextComponent(QFileInfo(comp->filePath()));
|
||||
});
|
||||
|
||||
connect(project_structure, &ProjectView::aboutToBoDelete,
|
||||
[this](QList<QFileInfo> infos){
|
||||
for(auto &key : infos){
|
||||
auto comp = app_core->getFramework()->queryTextComponent(key);
|
||||
if(comp){
|
||||
toggle_widget_visible(false, center_funcs, comp->textView());
|
||||
app_core->getFramework()->closeTextComponent(key);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
this->app_core->getFramework()->addProcTrigger([this](){
|
||||
this->chains_view->refresh();
|
||||
this->units_view->refresh();
|
||||
|
|
@ -376,12 +387,11 @@ void MainWindow::contentViewAppend(QWidget *widget, const QString &name)
|
|||
for(auto idx=0; idx<center_funcs->count(); ++idx){
|
||||
if(center_funcs->widget(idx) == widget){
|
||||
center_funcs->setCurrentWidget(widget);
|
||||
}
|
||||
else {
|
||||
center_funcs->addTab(widget, name);
|
||||
center_funcs->setCurrentWidget(widget);
|
||||
return;
|
||||
}
|
||||
}
|
||||
center_funcs->addTab(widget, name);
|
||||
center_funcs->setCurrentWidget(widget);
|
||||
}
|
||||
|
||||
void MainWindow::build_internal(bool all_from_disk)
|
||||
|
|
@ -419,8 +429,8 @@ void MainWindow::build_internal(bool all_from_disk)
|
|||
void MainWindow::toggle_widget_visible(bool visible, QTabWidget *con, QWidget *target, const QString &title)
|
||||
{
|
||||
if(visible && con->indexOf(target) == -1){
|
||||
con->addTab(target, title);
|
||||
target->setVisible(true);
|
||||
con->addTab(target, title);
|
||||
}else if(!visible && con->indexOf(target) != -1){
|
||||
target->setVisible(false);
|
||||
con->removeTab(con->indexOf(target));
|
||||
|
|
@ -449,10 +459,10 @@ void MainWindow::uilayout_save()
|
|||
xvisible_save(left_funcs, "area-left");
|
||||
xvisible_save(right_funcs, "area-right");
|
||||
xvisible_save(bottom_funcs, "area-bottom");
|
||||
// xvisible_save(project_structure, "project_tree");
|
||||
// xvisible_save(errors_present, "message-view");
|
||||
// xvisible_save(chains_view, "chains-sum");
|
||||
// xvisible_save(units_view, "units-sum");
|
||||
// xvisible_save(project_structure, "project_tree");
|
||||
// xvisible_save(errors_present, "message-view");
|
||||
// xvisible_save(chains_view, "chains-sum");
|
||||
// xvisible_save(units_view, "units-sum");
|
||||
}
|
||||
|
||||
void MainWindow::uilayout_load()
|
||||
|
|
@ -467,10 +477,10 @@ void MainWindow::uilayout_load()
|
|||
xvisible_load(left_funcs, "area-left");
|
||||
xvisible_load(right_funcs, "area-right");
|
||||
xvisible_load(bottom_funcs, "area-bottom");
|
||||
// xvisible_load(project_structure, "project_tree");
|
||||
// xvisible_load(errors_present, "message-view");
|
||||
// xvisible_load(chains_view, "chains-sum");
|
||||
// xvisible_load(units_view, "units-sum");
|
||||
// xvisible_load(project_structure, "project_tree");
|
||||
// xvisible_load(errors_present, "message-view");
|
||||
// xvisible_load(chains_view, "chains-sum");
|
||||
// xvisible_load(units_view, "units-sum");
|
||||
|
||||
auto convert = [](QStringList in)->QList<int>{
|
||||
QList<int> size;
|
||||
|
|
@ -503,16 +513,16 @@ bool MainWindow::eventFilter(QObject *watched, QEvent *event)
|
|||
{
|
||||
auto ev = event->type();
|
||||
switch(ev){
|
||||
case QEvent::Type::MouseButtonPress:
|
||||
case QEvent::Type::MouseButtonRelease:
|
||||
case QEvent::Type::Wheel:
|
||||
case QEvent::Type::MouseMove:
|
||||
case QEvent::Type::KeyPress:
|
||||
case QEvent::Type::KeyRelease:
|
||||
sync_kernel->sync();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case QEvent::Type::MouseButtonPress:
|
||||
case QEvent::Type::MouseButtonRelease:
|
||||
case QEvent::Type::Wheel:
|
||||
case QEvent::Type::MouseMove:
|
||||
case QEvent::Type::KeyPress:
|
||||
case QEvent::Type::KeyRelease:
|
||||
sync_kernel->sync();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return QMainWindow::eventFilter(watched, event);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
#include "projectview.h"
|
||||
#include "ContentPresent.h"
|
||||
#include "storyboardspresent.h"
|
||||
#include "conceptview.h"
|
||||
#include "storyconceptspresent.h"
|
||||
|
||||
|
||||
class Run
|
||||
|
|
@ -80,7 +80,7 @@ private:
|
|||
Components::StoryUnitsPresent *const units_view;
|
||||
Components::MessagePresent *const errors_present;
|
||||
Components::StoryBoardsPresent *const boards_view;
|
||||
Components::ConceptView *const concept_view;
|
||||
Components::StoryConceptsPresent *const concept_view;
|
||||
|
||||
// 内部逻辑 ===========================================
|
||||
void build_internal(bool all_from_disk = false);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,104 @@
|
|||
#ifndef OPSTREAM_H
|
||||
#define OPSTREAM_H
|
||||
|
||||
#include <QList>
|
||||
#include <functional>
|
||||
|
||||
namespace Operate {
|
||||
|
||||
template<class ValueType, class TargetType>
|
||||
class Result
|
||||
{
|
||||
public:
|
||||
Result(QList<ValueType> source, std::function<bool(const ValueType&)> list_filter, std::function<TargetType(const ValueType&)> list_peaks)
|
||||
: source_store(source), peak_store(list_peaks), filter_store(list_filter){}
|
||||
virtual ~Result() = default;
|
||||
|
||||
virtual QList<TargetType> toList()
|
||||
{
|
||||
QList<TargetType> rets_list;
|
||||
|
||||
for(auto &it : source_store)
|
||||
if(filter_store(it))
|
||||
rets_list << peak_store(it);
|
||||
|
||||
return rets_list;
|
||||
}
|
||||
|
||||
template<class Key>
|
||||
QHash<Key, TargetType> toMap(std::function<Key(ValueType)> key_selector)
|
||||
{
|
||||
QHash<Key, TargetType> map;
|
||||
|
||||
for(auto &it : source_store)
|
||||
if(filter_store(it))
|
||||
map[key_selector(it)] = peak_store(it);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
virtual void forEach(std::function<void(TargetType)> ex_proc)
|
||||
{
|
||||
auto items = toList();
|
||||
for(auto &it : items)
|
||||
ex_proc(it);
|
||||
}
|
||||
|
||||
Result<ValueType, TargetType> filter(std::function<bool(const ValueType&)> filter){
|
||||
auto filter_combine = [filter, this](const ValueType& it){ return filter(it) && filter_store(it); };
|
||||
return Result<ValueType, TargetType>(source_store, filter_combine, peak_store);
|
||||
}
|
||||
|
||||
template<class TargetTypeOut>
|
||||
Result<TargetType, TargetTypeOut> select(std::function<TargetTypeOut(const TargetType&)> peak){
|
||||
auto peak_combine = [peak, this](const TargetType &it){
|
||||
auto temp = this->peak_store(it);
|
||||
return peak(temp);
|
||||
};
|
||||
return Result<TargetType, TargetTypeOut>(source_store, filter_store, peak_combine);
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
QList<ValueType> source_store;
|
||||
std::function<TargetType(const ValueType&)> peak_store;
|
||||
std::function<bool(const ValueType&)> filter_store;
|
||||
};
|
||||
|
||||
|
||||
template<class ValueType>
|
||||
class OpStream
|
||||
{
|
||||
public:
|
||||
OpStream(std::function<ValueType(int &cnt, int idx)> peak_proc)
|
||||
{
|
||||
int count = 0, index = 0;
|
||||
ValueType one = peak_proc(count, index);
|
||||
for(; index < count; ++index)
|
||||
source_store << peak_proc(count, index);
|
||||
}
|
||||
OpStream(QList<ValueType> source)
|
||||
: source_store(source){}
|
||||
|
||||
template<class TargetType>
|
||||
Result<ValueType, TargetType> select(std::function<TargetType(const ValueType&)> value_selector)
|
||||
{
|
||||
return Result<ValueType, TargetType>(source_store, [](const ValueType& it){return true;}, value_selector);
|
||||
}
|
||||
Result<ValueType, ValueType> select()
|
||||
{
|
||||
return Result<ValueType, ValueType>(source_store, [](const ValueType& it){return true;}, [](const ValueType& it){return it;});
|
||||
}
|
||||
|
||||
Result<ValueType, ValueType> filter(std::function<bool(const ValueType&)> filter)
|
||||
{
|
||||
return Result<ValueType, ValueType>(source_store, filter, [](const ValueType& it){ return it; });
|
||||
}
|
||||
|
||||
private:
|
||||
QList<ValueType> source_store;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // OPSTREAM_H
|
||||
|
|
@ -106,13 +106,27 @@ void Components::ProjectView::contexMenuPopup(const QPoint &pos)
|
|||
|
||||
auto root = pjtins->model()->item(0);
|
||||
auto seli = pjtins->model()->itemFromIndex(idx_it);
|
||||
QList<QString> paths;
|
||||
while (root != seli) {
|
||||
paths.insert(0, seli->text());
|
||||
seli = seli->parent();
|
||||
|
||||
auto query_path = [root](QStandardItem *item)->QList<QString>
|
||||
{
|
||||
QList<QString> paths;
|
||||
while (root != item) {
|
||||
paths.insert(0, item->text());
|
||||
item = item->parent();
|
||||
}
|
||||
return paths;
|
||||
};
|
||||
|
||||
QList<QFileInfo> files;
|
||||
for(auto &it : nodes_contained(seli)){
|
||||
auto path = query_path(it);
|
||||
auto info = pjtins->queryWith(path);
|
||||
if(info.exists())
|
||||
files << info;
|
||||
}
|
||||
|
||||
this->pjtins->deletePath(paths);
|
||||
emit this->aboutToBoDelete(files);
|
||||
this->pjtins->deletePath(query_path(seli));
|
||||
});
|
||||
|
||||
auto item = this->pjtins->model()->itemFromIndex(idx_it);
|
||||
|
|
@ -141,13 +155,19 @@ void Components::ProjectView::alloc_file(const QModelIndex &idx_it, const QStrin
|
|||
|
||||
auto indi = this->pjtins->createFile(paths, name, suffix);
|
||||
switch (indi) {
|
||||
case -1:
|
||||
QMessageBox::critical(this, "系统错误", "传入的指定路径无效");
|
||||
return;
|
||||
case -2:
|
||||
QMessageBox::critical(this, "系统错误", "在文件下建立文件");
|
||||
return;
|
||||
case -1:
|
||||
QMessageBox::critical(this, "系统错误", "传入的指定路径无效");
|
||||
return;
|
||||
case -2:
|
||||
QMessageBox::critical(this, "系统错误", "在文件下建立文件");
|
||||
return;
|
||||
case -3:
|
||||
QMessageBox::critical(this, "系统错误", "指定名称重复");
|
||||
return;
|
||||
}
|
||||
paths.append(name);
|
||||
auto xinfo = this->pjtins->queryWith(paths);
|
||||
emit this->activeDocument(xinfo.absoluteFilePath(), name);
|
||||
}
|
||||
|
||||
void Components::ProjectView::project_configration()
|
||||
|
|
@ -169,6 +189,20 @@ void Components::ProjectView::project_configration()
|
|||
dia.exec();
|
||||
}
|
||||
|
||||
QList<QStandardItem *> Components::ProjectView::nodes_contained(QStandardItem *root)
|
||||
{
|
||||
QList<QStandardItem *> coll;
|
||||
coll << root;
|
||||
|
||||
for(auto idx=0; idx<root->rowCount(); ++idx)
|
||||
{
|
||||
coll << root->child(idx);
|
||||
coll.append(nodes_contained(root->child(idx)));
|
||||
}
|
||||
|
||||
return coll;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ namespace Components {
|
|||
|
||||
signals:
|
||||
void activeDocument(const QString &file_path, const QString &name);
|
||||
void aboutToBoDelete(const QList<QFileInfo> &file_paths);
|
||||
|
||||
private:
|
||||
Core::AppCore *const rtcore;
|
||||
|
|
@ -29,6 +30,8 @@ namespace Components {
|
|||
|
||||
void alloc_file(const QModelIndex &idx_it, const QString &type, const QString &suffix);
|
||||
void project_configration();
|
||||
|
||||
QList<QStandardItem*> nodes_contained(QStandardItem *root);
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include "keywordshightlighter.h"
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QMenu>
|
||||
#include <QSpinBox>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
|
|
@ -14,6 +15,10 @@ SourceCodeEditor::SourceCodeEditor(Core::FileExtensionFactory *factory)
|
|||
{
|
||||
highlighter_ins->setDocument(this->textDocument());
|
||||
|
||||
this->setContexMenuProcess([this](QMenu *menu){
|
||||
menu->addSeparator();
|
||||
menu->addAction("刷新", [this](){highlighter_ins->rehighlight();});
|
||||
});
|
||||
}
|
||||
|
||||
void SourceCodeEditor::concept_jump(const QList<QString> &path)
|
||||
|
|
@ -49,7 +54,7 @@ Core::ExtensionFactory *SourceCodeEditor::factory() const
|
|||
return factory_ins;
|
||||
}
|
||||
|
||||
void SourceCodeEditor::reload(QList<Config::Configration *> configs)
|
||||
void SourceCodeEditor::reloadConfigrations(QList<Config::Configration *> configs)
|
||||
{
|
||||
auto family = Config::ConfigHelper::getConfigAsDefaultSequence(configs, {"sourcecodeeditor-setting", "default", "font", "family"}, "微软雅黑");
|
||||
auto size = Config::ConfigHelper::getConfigAsDefaultSequence(configs, {"sourcecodeeditor-setting", "default", "font", "size"}, "20");
|
||||
|
|
@ -86,10 +91,10 @@ void SourceCodeEditor::jumpTo(const QList<QString> &path)
|
|||
concept_jump(path);
|
||||
}
|
||||
|
||||
void SourceCodeEditor::setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
void SourceCodeEditor::initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
{
|
||||
static_cast<KeywordsHightlighter*>(highlighter_ins)->reset(core->parseCore()->queryDocument(src));
|
||||
FormattedTextEdit::setSource(core, src, parent);
|
||||
FormattedTextEdit::initSource(core, src, parent);
|
||||
this->core_ins = core;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ namespace Components {
|
|||
// Extension interface
|
||||
public:
|
||||
virtual Core::ExtensionFactory *factory() const override;
|
||||
virtual void reload(QList<Config::Configration *> configs) override;
|
||||
virtual void reloadConfigrations(QList<Config::Configration *> configs) override;
|
||||
virtual void resetProcsType(const QString &suffix) override;
|
||||
|
||||
// ModeView interface
|
||||
|
|
@ -49,7 +49,7 @@ namespace Components {
|
|||
// VariedTextView interface
|
||||
public:
|
||||
virtual void jumpTo(const QList<QString> &path) override;
|
||||
virtual void setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent) override;
|
||||
virtual void initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent) override;
|
||||
|
||||
// FormattedTextEdit interface
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ FileExtensionFactory *StoryBoardSourceEdit::factory() const
|
|||
return factory_ins;
|
||||
}
|
||||
|
||||
void StoryBoardSourceEdit::reload(QList<Config::Configration *> configs)
|
||||
void StoryBoardSourceEdit::reloadConfigrations(QList<Config::Configration *> configs)
|
||||
{
|
||||
// TODO: 设置格式
|
||||
auto font_family = Config::ConfigHelper::getConfigAsDefaultSequence
|
||||
|
|
@ -60,11 +60,11 @@ QString StoryBoardSourceEdit::title() const
|
|||
return source_target.fileName();
|
||||
}
|
||||
|
||||
void StoryBoardSourceEdit::setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
void StoryBoardSourceEdit::initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
{
|
||||
this->source_target = src;
|
||||
this->core_temp = core;
|
||||
FormattedTextEdit::setSource(core, src, parent);
|
||||
FormattedTextEdit::initSource(core, src, parent);
|
||||
static_cast<KeywordsHightlighter*>(words_highlighter)
|
||||
->reset(core->parseCore()->queryDocument(src));
|
||||
rehighlighter();
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ namespace Components {
|
|||
// Plugin interface
|
||||
public:
|
||||
virtual Core::FileExtensionFactory *factory() const override;
|
||||
virtual void reload(QList<Config::Configration *> configs) override;
|
||||
virtual void reloadConfigrations(QList<Config::Configration *> configs) override;
|
||||
|
||||
// ModeView interface
|
||||
public:
|
||||
|
|
@ -37,7 +37,7 @@ namespace Components {
|
|||
|
||||
// VariedTextView interface
|
||||
public:
|
||||
virtual void setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent=nullptr) override;
|
||||
virtual void initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent=nullptr) override;
|
||||
virtual void jumpTo(const QList<QString> &path) override;
|
||||
|
||||
// FormattedTextEdit interface
|
||||
|
|
|
|||
|
|
@ -40,9 +40,9 @@ QString StoryChainSourceEdit::title() const
|
|||
return doc_ins->filePath();
|
||||
}
|
||||
|
||||
void StoryChainSourceEdit::setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
void StoryChainSourceEdit::initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
{
|
||||
FormattedTextEdit::setSource(core, src, parent);
|
||||
FormattedTextEdit::initSource(core, src, parent);
|
||||
this->doc_ins = core->parseCore()->queryDocument(src);
|
||||
this->core_ins = core;
|
||||
static_cast<Enhancement::KeywordsHightlighter*>(this->highter_ins)->reset(doc_ins);
|
||||
|
|
@ -54,7 +54,7 @@ FileExtensionFactory *StoryChainSourceEdit::factory() const
|
|||
return factory_ins;
|
||||
}
|
||||
|
||||
void StoryChainSourceEdit::reload(QList<Config::Configration *> configs)
|
||||
void StoryChainSourceEdit::reloadConfigrations(QList<Config::Configration *> configs)
|
||||
{
|
||||
// TODO: 设置格式
|
||||
auto font_family = Config::ConfigHelper::getConfigAsDefaultSequence
|
||||
|
|
|
|||
|
|
@ -43,13 +43,13 @@ namespace Components {
|
|||
|
||||
// VariedTextView interface
|
||||
public:
|
||||
virtual void setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent=nullptr) override;
|
||||
virtual void initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent=nullptr) override;
|
||||
virtual void jumpTo(const QList<QString> &path) override;
|
||||
|
||||
// Plugin interface
|
||||
public:
|
||||
virtual Core::FileExtensionFactory *factory() const override;
|
||||
virtual void reload(QList<Config::Configration *> configs) override;
|
||||
virtual void reloadConfigrations(QList<Config::Configration *> configs) override;
|
||||
|
||||
// FormattedTextEdit interface
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -1,58 +1,65 @@
|
|||
#include "conceptview.h"
|
||||
#include "storyconceptspresent.h"
|
||||
#include "SensitiveCore.h"
|
||||
#include "opstream.h"
|
||||
|
||||
#include <QSplitter>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
using namespace Operate;
|
||||
using namespace Components;
|
||||
using namespace Core;
|
||||
using namespace Parse::Result;
|
||||
using namespace Tools;
|
||||
|
||||
ConceptView::ConceptView(Core::AppCore *core, QWidget *parent)
|
||||
StoryConceptsPresent::StoryConceptsPresent(Core::AppCore *core, QWidget *parent)
|
||||
: QWidget(parent), core_ins(core),
|
||||
tree_view(new QTreeView(this)),
|
||||
model_base(new QStandardItemModel(this)),
|
||||
details_view(new QTextBrowser(this))
|
||||
{
|
||||
tree_view->setHeaderHidden(true);
|
||||
details_view(new QTextBrowser(this)),
|
||||
concept_model(new ModelSyncs<DesNode*>(
|
||||
model_base,
|
||||
[](DesNode* dbase, QStandardItem *it)->bool{ return static_cast<NamedNode*>(dbase)->name()[0] == it->text(); },
|
||||
[](DesNode* dbase, QStandardItem *it){ it->setText(static_cast<NamedNode*>(dbase)->name()[0]); })){
|
||||
tree_view->setHeaderHidden(true);
|
||||
|
||||
auto layout = new QVBoxLayout(this);
|
||||
layout->setMargin(0);
|
||||
auto layout = new QVBoxLayout(this);
|
||||
layout->setMargin(0);
|
||||
|
||||
auto splitter = new QSplitter(Qt::Vertical, this);
|
||||
layout->addWidget(splitter);
|
||||
auto splitter = new QSplitter(Qt::Vertical, this);
|
||||
layout->addWidget(splitter);
|
||||
|
||||
splitter->addWidget(tree_view);
|
||||
splitter->addWidget(details_view);
|
||||
splitter->addWidget(tree_view);
|
||||
splitter->addWidget(details_view);
|
||||
|
||||
tree_view->setModel(model_base);
|
||||
details_view->setReadOnly(true);
|
||||
tree_view->setModel(model_base);
|
||||
details_view->setReadOnly(true);
|
||||
|
||||
connect(tree_view, &QTreeView::clicked, this, &ConceptView::show_node_description);
|
||||
connect(tree_view, &QTreeView::doubleClicked, this, &ConceptView::click_to);
|
||||
connect(tree_view, &QTreeView::clicked, this, &StoryConceptsPresent::show_node_description);
|
||||
connect(tree_view, &QTreeView::doubleClicked, this, &StoryConceptsPresent::click_to);
|
||||
}
|
||||
|
||||
void ConceptView::refresh()
|
||||
void StoryConceptsPresent::refresh()
|
||||
{
|
||||
model_base->clear();
|
||||
auto units = core_ins->parseCore()->allStoryConcept();
|
||||
for(auto &unit : units){
|
||||
auto unit_node = new QStandardItem(static_cast<NamedNode*>(unit)->name()[0]);
|
||||
unit_node->setEditable(false);
|
||||
model_base->appendRow(unit_node);
|
||||
|
||||
auto children = unit->children();
|
||||
for(auto &frag : children){
|
||||
if(frag->typeValue() == NODE_STORYSTRONGPOINT){
|
||||
auto frag_node = new QStandardItem(static_cast<NamedNode*>(frag)->name()[0]);
|
||||
frag_node->setEditable(false);
|
||||
unit_node->appendRow(frag_node);
|
||||
this->concept_model->presentSync([this](DesNode *dit){
|
||||
if(dit){
|
||||
QList<DesNode*> rets;
|
||||
auto children = dit->children();
|
||||
for(auto &frag : children){
|
||||
if(frag->typeValue() == NODE_STORYSTRONGPOINT){
|
||||
rets << frag;
|
||||
}
|
||||
}
|
||||
|
||||
return rets;
|
||||
}
|
||||
}
|
||||
else{
|
||||
return core_ins->parseCore()->allStoryConcept();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
void ConceptView::show_node_description(const QModelIndex &curr)
|
||||
void StoryConceptsPresent::show_node_description(const QModelIndex &curr)
|
||||
{
|
||||
if(!curr.isValid())
|
||||
return;
|
||||
|
|
@ -80,7 +87,7 @@ void ConceptView::show_node_description(const QModelIndex &curr)
|
|||
}
|
||||
}
|
||||
|
||||
void ConceptView::click_to(const QModelIndex &curr)
|
||||
void StoryConceptsPresent::click_to(const QModelIndex &curr)
|
||||
{
|
||||
if(!curr.isValid())
|
||||
return;
|
||||
|
|
@ -1,7 +1,9 @@
|
|||
#ifndef CONCEPTVIEW_H
|
||||
#define CONCEPTVIEW_H
|
||||
#ifndef STORYCONCEPTSPRESENT_H
|
||||
#define STORYCONCEPTSPRESENT_H
|
||||
|
||||
#include "appcore.h"
|
||||
#include "tools.h"
|
||||
#include <libParse.h>
|
||||
|
||||
#include <QObject>
|
||||
#include <QTextBrowser>
|
||||
|
|
@ -9,10 +11,10 @@
|
|||
#include <QWidget>
|
||||
|
||||
namespace Components {
|
||||
class ConceptView : public QWidget
|
||||
class StoryConceptsPresent : public QWidget
|
||||
{
|
||||
public:
|
||||
ConceptView(Core::AppCore *core, QWidget *parent=nullptr);
|
||||
StoryConceptsPresent(Core::AppCore *core, QWidget *parent=nullptr);
|
||||
|
||||
virtual void refresh();
|
||||
|
||||
|
|
@ -21,6 +23,7 @@ namespace Components {
|
|||
QTreeView *const tree_view;
|
||||
QStandardItemModel *const model_base;
|
||||
QTextBrowser *const details_view;
|
||||
Tools::ModelSyncs<Parse::Result::DesNode*> * concept_model;
|
||||
|
||||
void show_node_description(const QModelIndex &curr);
|
||||
void click_to(const QModelIndex &curr);
|
||||
|
|
@ -28,4 +31,4 @@ namespace Components {
|
|||
}
|
||||
|
||||
|
||||
#endif // CONCEPTVIEW_H
|
||||
#endif // STORYCONCEPTSPRESENT_H
|
||||
|
|
@ -26,7 +26,7 @@ FileExtensionFactory *StoryUnitSourceEdit::factory() const
|
|||
return factory_ins;
|
||||
}
|
||||
|
||||
void StoryUnitSourceEdit::reload(QList<Config::Configration *> configs)
|
||||
void StoryUnitSourceEdit::reloadConfigrations(QList<Config::Configration *> configs)
|
||||
{
|
||||
// TODO: 设置格式
|
||||
auto font_family = Config::ConfigHelper::getConfigAsDefaultSequence
|
||||
|
|
@ -66,11 +66,11 @@ void StoryUnitSourceEdit::rehighlighter()
|
|||
this->words_highlighter->rehighlight();
|
||||
}
|
||||
|
||||
void StoryUnitSourceEdit::setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
void StoryUnitSourceEdit::initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
{
|
||||
this->source_target = src;
|
||||
this->core_ins = core;
|
||||
FormattedTextEdit::setSource(core, src, parent);
|
||||
FormattedTextEdit::initSource(core, src, parent);
|
||||
static_cast<KeywordsHightlighter*>(words_highlighter)
|
||||
->reset(core->parseCore()->queryDocument(src));
|
||||
rehighlighter();
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ namespace Components {
|
|||
// Plugin interface
|
||||
public:
|
||||
virtual Core::FileExtensionFactory *factory() const override;
|
||||
virtual void reload(QList<Config::Configration *> configs) override;
|
||||
virtual void reloadConfigrations(QList<Config::Configration *> configs) override;
|
||||
|
||||
// ModeView interface
|
||||
public:
|
||||
|
|
@ -40,7 +40,7 @@ namespace Components {
|
|||
|
||||
// VariedTextView interface
|
||||
public:
|
||||
virtual void setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent=nullptr) override;
|
||||
virtual void initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent=nullptr) override;
|
||||
|
||||
private:
|
||||
QSyntaxHighlighter *const words_highlighter;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ FileExtensionFactory *StoryVolumeSourceEdit::factory() const
|
|||
return factory_ins;
|
||||
}
|
||||
|
||||
void StoryVolumeSourceEdit::reload(QList<Config::Configration *> configs)
|
||||
void StoryVolumeSourceEdit::reloadConfigrations(QList<Config::Configration *> configs)
|
||||
{
|
||||
// TODO: 设置格式
|
||||
auto font_family = Config::ConfigHelper::getConfigAsDefaultSequence
|
||||
|
|
@ -64,10 +64,10 @@ QString StoryVolumeSourceEdit::title() const
|
|||
return source_target.fileName();
|
||||
}
|
||||
|
||||
void StoryVolumeSourceEdit::setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
void StoryVolumeSourceEdit::initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent)
|
||||
{
|
||||
this->source_target = src;
|
||||
FormattedTextEdit::setSource(core, src, parent);
|
||||
FormattedTextEdit::initSource(core, src, parent);
|
||||
static_cast<KeywordsHightlighter*>(words_highlighter)
|
||||
->reset(core->parseCore()->queryDocument(src));
|
||||
rehighlighter();
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ namespace Components {
|
|||
// Extension interface
|
||||
public:
|
||||
virtual Core::FileExtensionFactory *factory() const override;
|
||||
virtual void reload(QList<Config::Configration *> configs) override;
|
||||
virtual void reloadConfigrations(QList<Config::Configration *> configs) override;
|
||||
virtual void resetProcsType(const QString &suffix) override;
|
||||
|
||||
// ModeView interface
|
||||
|
|
@ -38,7 +38,7 @@ namespace Components {
|
|||
|
||||
// VariedTextView interface
|
||||
public:
|
||||
virtual void setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent) override;
|
||||
virtual void initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent) override;
|
||||
|
||||
// FormattedTextEdit interface
|
||||
protected:
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
#include "tools.h"
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
#ifndef COMNTOOLS_H
|
||||
#define COMNTOOLS_H
|
||||
|
||||
#include "opstream.h"
|
||||
#include <QStandardItemModel>
|
||||
#include <functional>
|
||||
|
||||
namespace Tools {
|
||||
|
||||
template<class BaseType>
|
||||
class ModelSyncs
|
||||
{
|
||||
public:
|
||||
ModelSyncs(QStandardItemModel *model_base, std::function<bool(const BaseType &n, QStandardItem *p)> _equal,
|
||||
std::function<void(const BaseType &n, QStandardItem *p)> sync_proc)
|
||||
: model_present(model_base), sync_process(sync_proc), compare_process(_equal){}
|
||||
|
||||
void presentSync(std::function<QList<BaseType>(const BaseType &pnode)> items_peak)
|
||||
{
|
||||
auto default_pdata = BaseType();
|
||||
auto datas = items_peak(default_pdata);
|
||||
|
||||
Operate::OpStream<QStandardItem*>([this](int &cnt, int idx)->QStandardItem*{
|
||||
cnt = model_present->rowCount();
|
||||
return model_present->item(idx);
|
||||
}).filter([&datas, this](QStandardItem *const &it)->bool{
|
||||
for(auto &d : datas)
|
||||
if(compare_process(d, it))
|
||||
return false;
|
||||
return true;
|
||||
}).forEach([this](QStandardItem *const &it){
|
||||
model_present->removeRow(it->row());
|
||||
});
|
||||
|
||||
for (auto idx = 0; idx < datas.size(); ++idx) {
|
||||
if (idx >= model_present->rowCount()) {
|
||||
auto ins = new QStandardItem();
|
||||
ins->setEditable(false);
|
||||
model_present->appendRow(ins);
|
||||
}
|
||||
|
||||
auto &data = datas[idx];
|
||||
auto item = model_present->item(idx);
|
||||
sync_process(data, item);
|
||||
|
||||
layer_items_sync(data, item, items_peak);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private:
|
||||
QStandardItemModel *model_present;
|
||||
std::function<void(const BaseType &n, QStandardItem *p)> sync_process;
|
||||
std::function<bool(const BaseType &n, QStandardItem *p)> compare_process;
|
||||
|
||||
void layer_items_sync(const BaseType &data, QStandardItem *pnode,
|
||||
std::function<QList<BaseType>(const BaseType &pnode)> items_peak){
|
||||
auto datas = items_peak(data);
|
||||
|
||||
Operate::OpStream<QStandardItem*>([pnode](int &cnt, int idx)->QStandardItem*{
|
||||
cnt = pnode->rowCount();
|
||||
return pnode->child(idx);
|
||||
}).filter([&datas, this](QStandardItem *const &it)->bool{
|
||||
for(auto &d : datas)
|
||||
if(compare_process(d, it))
|
||||
return false;
|
||||
return true;
|
||||
}).forEach([pnode](QStandardItem *const &it){
|
||||
pnode->removeRow(it->row());
|
||||
});
|
||||
|
||||
for (auto idx = 0; idx < datas.size(); ++idx) {
|
||||
if (idx >= pnode->rowCount()) {
|
||||
auto ins = new QStandardItem();
|
||||
ins->setEditable(false);
|
||||
pnode->appendRow(ins);
|
||||
}
|
||||
|
||||
auto &data = datas[idx];
|
||||
auto item = pnode->child(idx);
|
||||
sync_process(data, item);
|
||||
|
||||
layer_items_sync(data, item, items_peak);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif // COMNTOOLS_H
|
||||
|
|
@ -73,7 +73,7 @@ namespace Project {
|
|||
/**
|
||||
* @brief 在指定包路径下建立创建文本文件
|
||||
* @param path 指定包路径
|
||||
* @return 0,成功;-1,指定路径不存在;-2,在文件下建立文件
|
||||
* @return 0,成功;-1,指定路径不存在;-2,在文件下建立文件;-3,相同层次名称重复
|
||||
*/
|
||||
virtual int createFile(const QList<QString> &path, const QString &name, const QString &suffix) = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -185,6 +185,18 @@ void XMLProjectManager::structure_severlize(ProjectNode *pnode, QDomElement &elm
|
|||
|
||||
int XMLProjectManager::createFile(const QList<QString> &path, const QString &name, const QString &suffix)
|
||||
{
|
||||
auto pnode = static_cast<ProjectNode*>(mode_holder->item(0));
|
||||
auto group = node_follows(pnode, path);
|
||||
if(group == nullptr)
|
||||
return -1;
|
||||
|
||||
if(group->nodeType() == NodeType::FILE)
|
||||
return -2;
|
||||
|
||||
for(auto idx=0; idx<group->rowCount(); ++idx)
|
||||
if(group->child(idx)->text() == name)
|
||||
return -3;
|
||||
|
||||
auto root = QFileInfo(file_path).dir();
|
||||
QRandomGenerator xgen(QDateTime::currentDateTime().offsetFromUtc());
|
||||
|
||||
|
|
@ -198,14 +210,6 @@ int XMLProjectManager::createFile(const QList<QString> &path, const QString &nam
|
|||
return -3;
|
||||
tfile.close();
|
||||
|
||||
auto pnode = static_cast<ProjectNode*>(mode_holder->item(0));
|
||||
auto group = node_follows(pnode, path);
|
||||
if(group == nullptr)
|
||||
return -1;
|
||||
|
||||
if(group->nodeType() == NodeType::FILE)
|
||||
return -2;
|
||||
|
||||
auto filenode = new ProjectNode(NodeType::FILE, name);
|
||||
filenode->setFile(filename);
|
||||
group->appendRow(filenode);
|
||||
|
|
|
|||
Loading…
Reference in New Issue