mirror of
https://github.com/sp-tarkov/assembly-tool.git
synced 2025-02-13 01:50:45 -05:00
Minor UI fixes
This commit is contained in:
parent
62a469eb1a
commit
23a51133ec
1
Obsidian Notes/ReCodeIt/.obsidian/app.json
vendored
Normal file
1
Obsidian Notes/ReCodeIt/.obsidian/app.json
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
3
Obsidian Notes/ReCodeIt/.obsidian/appearance.json
vendored
Normal file
3
Obsidian Notes/ReCodeIt/.obsidian/appearance.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"accentColor": ""
|
||||
}
|
30
Obsidian Notes/ReCodeIt/.obsidian/core-plugins-migration.json
vendored
Normal file
30
Obsidian Notes/ReCodeIt/.obsidian/core-plugins-migration.json
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
"file-explorer": true,
|
||||
"global-search": true,
|
||||
"switcher": true,
|
||||
"graph": true,
|
||||
"backlink": true,
|
||||
"canvas": true,
|
||||
"outgoing-link": true,
|
||||
"tag-pane": true,
|
||||
"properties": false,
|
||||
"page-preview": true,
|
||||
"daily-notes": true,
|
||||
"templates": true,
|
||||
"note-composer": true,
|
||||
"command-palette": true,
|
||||
"slash-command": false,
|
||||
"editor-status": true,
|
||||
"bookmarks": true,
|
||||
"markdown-importer": false,
|
||||
"zk-prefixer": false,
|
||||
"random-note": false,
|
||||
"outline": true,
|
||||
"word-count": true,
|
||||
"slides": false,
|
||||
"audio-recorder": false,
|
||||
"workspaces": false,
|
||||
"file-recovery": true,
|
||||
"publish": false,
|
||||
"sync": false
|
||||
}
|
20
Obsidian Notes/ReCodeIt/.obsidian/core-plugins.json
vendored
Normal file
20
Obsidian Notes/ReCodeIt/.obsidian/core-plugins.json
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
[
|
||||
"file-explorer",
|
||||
"global-search",
|
||||
"switcher",
|
||||
"graph",
|
||||
"backlink",
|
||||
"canvas",
|
||||
"outgoing-link",
|
||||
"tag-pane",
|
||||
"page-preview",
|
||||
"daily-notes",
|
||||
"templates",
|
||||
"note-composer",
|
||||
"command-palette",
|
||||
"editor-status",
|
||||
"bookmarks",
|
||||
"outline",
|
||||
"word-count",
|
||||
"file-recovery"
|
||||
]
|
22
Obsidian Notes/ReCodeIt/.obsidian/graph.json
vendored
Normal file
22
Obsidian Notes/ReCodeIt/.obsidian/graph.json
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"collapse-filter": true,
|
||||
"search": "",
|
||||
"showTags": false,
|
||||
"showAttachments": false,
|
||||
"hideUnresolved": false,
|
||||
"showOrphans": true,
|
||||
"collapse-color-groups": true,
|
||||
"colorGroups": [],
|
||||
"collapse-display": true,
|
||||
"showArrow": false,
|
||||
"textFadeMultiplier": 0,
|
||||
"nodeSizeMultiplier": 1,
|
||||
"lineSizeMultiplier": 1,
|
||||
"collapse-forces": true,
|
||||
"centerStrength": 0.518713248970312,
|
||||
"repelStrength": 10,
|
||||
"linkStrength": 1,
|
||||
"linkDistance": 250,
|
||||
"scale": 1,
|
||||
"close": true
|
||||
}
|
158
Obsidian Notes/ReCodeIt/.obsidian/workspace.json
vendored
Normal file
158
Obsidian Notes/ReCodeIt/.obsidian/workspace.json
vendored
Normal file
@ -0,0 +1,158 @@
|
||||
{
|
||||
"main": {
|
||||
"id": "379217465f549fca",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "54c1949a2997d742",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "3ba51241806af7df",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "canvas",
|
||||
"state": {
|
||||
"file": "Untitled.canvas",
|
||||
"viewState": {
|
||||
"x": -860.3333740234375,
|
||||
"y": -352.333251953125,
|
||||
"zoom": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
},
|
||||
"left": {
|
||||
"id": "5b6afcf2ac9987d1",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "633de3e685c77487",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "8890b3cf74fd4a96",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "file-explorer",
|
||||
"state": {
|
||||
"sortOrder": "alphabetical"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7f4412dd886a7682",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "5bda2ad3b0974edd",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "bookmarks",
|
||||
"state": {}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300
|
||||
},
|
||||
"right": {
|
||||
"id": "823dd02d5532773c",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "52bb8c1a37662004",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "16f0b64c50ad965f",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "Untitled.canvas",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "4cae092c09f416a0",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "Untitled.canvas",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "9ac3d05213c572e2",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "tag",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"useHierarchy": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b92d0982927abb20",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "Untitled.canvas"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300,
|
||||
"collapsed": true
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
"switcher:Open quick switcher": false,
|
||||
"graph:Open graph view": false,
|
||||
"canvas:Create new canvas": false,
|
||||
"daily-notes:Open today's daily note": false,
|
||||
"templates:Insert template": false,
|
||||
"command-palette:Open command palette": false
|
||||
}
|
||||
},
|
||||
"active": "3ba51241806af7df",
|
||||
"lastOpenFiles": [
|
||||
"Untitled.canvas",
|
||||
"Untitled.md",
|
||||
"Welcome.md"
|
||||
]
|
||||
}
|
9
Obsidian Notes/ReCodeIt/Untitled.canvas
Normal file
9
Obsidian Notes/ReCodeIt/Untitled.canvas
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"nodes":[
|
||||
{"id":"ffede66903965668","x":-1260,"y":-740,"width":660,"height":300,"color":"4","type":"text","text":"Targeted ReMap Assembly Patching (TRAP)\n\n- The ability to remap types on your own, get a remapped DLL to reference for your project, use it. Then patch your assembly back to original types, for testing/production.\n- This will allow for ultimate flexibility in being version agnostic as the manual re-mapper is able to find things between versions by creating patterns for it to match. It works in the same fashion as using LINQ at runtime, because that's essentially what it is.\n- Below is how your build process would be effected."},
|
||||
{"id":"af0d96082e896559","x":-1260,"y":-360,"width":660,"height":300,"color":"3","type":"text","text":"1. Provide the target DLL we wish to modify\n3. Build your desired remaps for it in the GUI editor.\n4. Remap it\n5. Use the re-mapped DLL as a reference in your project (Im using stash search for testing as it has a ton of GClass references)\n6. Once you are ready to compile, you will compile the dll as normal and place ReCodeIt on your sys path somewhere, then run a post build command to have ReCodeit patch your assembly back to original Type data."}
|
||||
],
|
||||
"edges":[
|
||||
{"id":"01d35c343c0509f1","fromNode":"ffede66903965668","fromSide":"bottom","toNode":"af0d96082e896559","toSide":"top"}
|
||||
]
|
||||
}
|
0
Obsidian Notes/ReCodeIt/Untitled.md
Normal file
0
Obsidian Notes/ReCodeIt/Untitled.md
Normal file
@ -1,17 +0,0 @@
|
||||
<Application
|
||||
x:Class="ReCodeItGUI_WPF.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||
DispatcherUnhandledException="OnDispatcherUnhandledException"
|
||||
Exit="OnExit"
|
||||
Startup="OnStartup">
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ui:ThemesDictionary Theme="Light" />
|
||||
<ui:ControlsDictionary />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
</Application>
|
@ -1,94 +0,0 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using ReCodeItGUI_WPF.Services;
|
||||
using ReCodeItGUI_WPF.ViewModels.Pages;
|
||||
using ReCodeItGUI_WPF.ViewModels.Windows;
|
||||
using ReCodeItGUI_WPF.Views.Pages;
|
||||
using ReCodeItGUI_WPF.Views.Windows;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Windows.Threading;
|
||||
using Wpf.Ui;
|
||||
|
||||
namespace ReCodeItGUI_WPF
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App
|
||||
{
|
||||
// The.NET Generic Host provides dependency injection, configuration, logging, and other services.
|
||||
// https://docs.microsoft.com/dotnet/core/extensions/generic-host
|
||||
// https://docs.microsoft.com/dotnet/core/extensions/dependency-injection
|
||||
// https://docs.microsoft.com/dotnet/core/extensions/configuration
|
||||
// https://docs.microsoft.com/dotnet/core/extensions/logging
|
||||
private static readonly IHost _host = Host
|
||||
.CreateDefaultBuilder()
|
||||
.ConfigureAppConfiguration(c => { c.SetBasePath(Path.GetDirectoryName(Assembly.GetEntryAssembly()!.Location)); })
|
||||
.ConfigureServices((context, services) =>
|
||||
{
|
||||
services.AddHostedService<ApplicationHostService>();
|
||||
|
||||
// Page resolver service
|
||||
services.AddSingleton<IPageService, PageService>();
|
||||
|
||||
// Theme manipulation
|
||||
services.AddSingleton<IThemeService, ThemeService>();
|
||||
|
||||
// TaskBar manipulation
|
||||
services.AddSingleton<ITaskBarService, TaskBarService>();
|
||||
|
||||
// Service containing navigation, same as INavigationWindow... but without window
|
||||
services.AddSingleton<INavigationService, NavigationService>();
|
||||
|
||||
// Main window with navigation
|
||||
services.AddSingleton<INavigationWindow, MainWindow>();
|
||||
services.AddSingleton<MainWindowViewModel>();
|
||||
|
||||
services.AddSingleton<DashboardPage>();
|
||||
services.AddSingleton<DashboardViewModel>();
|
||||
services.AddSingleton<DataPage>();
|
||||
services.AddSingleton<DataViewModel>();
|
||||
services.AddSingleton<SettingsPage>();
|
||||
services.AddSingleton<SettingsViewModel>();
|
||||
}).Build();
|
||||
|
||||
/// <summary>
|
||||
/// Gets registered service.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">Type of the service to get.</typeparam>
|
||||
/// <returns>Instance of the service or <see langword="null"/>.</returns>
|
||||
public static T GetService<T>()
|
||||
where T : class
|
||||
{
|
||||
return _host.Services.GetService(typeof(T)) as T;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Occurs when the application is loading.
|
||||
/// </summary>
|
||||
private void OnStartup(object sender, StartupEventArgs e)
|
||||
{
|
||||
_host.Start();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Occurs when the application is closing.
|
||||
/// </summary>
|
||||
private async void OnExit(object sender, ExitEventArgs e)
|
||||
{
|
||||
await _host.StopAsync();
|
||||
|
||||
_host.Dispose();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Occurs when an exception is thrown by an application but not handled.
|
||||
/// </summary>
|
||||
private void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
|
||||
{
|
||||
// For more info see https://docs.microsoft.com/en-us/dotnet/api/system.windows.application.dispatcherunhandledexception?view=windowsdesktop-6.0
|
||||
}
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
using System.Windows;
|
||||
|
||||
[assembly: ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
Binary file not shown.
Before Width: | Height: | Size: 10 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.3 KiB |
@ -1,36 +0,0 @@
|
||||
using System.Globalization;
|
||||
using System.Windows.Data;
|
||||
using Wpf.Ui.Appearance;
|
||||
|
||||
namespace ReCodeItGUI_WPF.Helpers
|
||||
{
|
||||
internal class EnumToBooleanConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (parameter is not String enumString)
|
||||
{
|
||||
throw new ArgumentException("ExceptionEnumToBooleanConverterParameterMustBeAnEnumName");
|
||||
}
|
||||
|
||||
if (!Enum.IsDefined(typeof(ApplicationTheme), value))
|
||||
{
|
||||
throw new ArgumentException("ExceptionEnumToBooleanConverterValueMustBeAnEnum");
|
||||
}
|
||||
|
||||
var enumValue = Enum.Parse(typeof(ApplicationTheme), enumString);
|
||||
|
||||
return enumValue.Equals(value);
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (parameter is not String enumString)
|
||||
{
|
||||
throw new ArgumentException("ExceptionEnumToBooleanConverterParameterMustBeAnEnumName");
|
||||
}
|
||||
|
||||
return Enum.Parse(typeof(ApplicationTheme), enumString);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
namespace ReCodeItGUI_WPF.Models
|
||||
{
|
||||
public class AppConfig
|
||||
{
|
||||
public string ConfigurationsFolder { get; set; }
|
||||
|
||||
public string AppPropertiesFileName { get; set; }
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace ReCodeItGUI_WPF.Models
|
||||
{
|
||||
public struct DataColor
|
||||
{
|
||||
public Brush Color { get; set; }
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
<ApplicationIcon>wpfui-icon.ico</ApplicationIcon>
|
||||
<UseWPF>true</UseWPF>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="wpfui-icon.ico" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="WPF-UI" Version="3.0.4" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
|
||||
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2 "/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="Assets\wpfui-icon-256.png" />
|
||||
<None Remove="Assets\wpfui-icon-1024.png" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Resource Include="Assets\wpfui-icon-256.png" />
|
||||
<Resource Include="Assets\wpfui-icon-1024.png" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
@ -1,6 +0,0 @@
|
||||
namespace ReCodeItGUI_WPF.Resources
|
||||
{
|
||||
public partial class Translations
|
||||
{
|
||||
}
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using ReCodeItGUI_WPF.Views.Pages;
|
||||
using ReCodeItGUI_WPF.Views.Windows;
|
||||
using Wpf.Ui;
|
||||
|
||||
namespace ReCodeItGUI_WPF.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// Managed host of the application.
|
||||
/// </summary>
|
||||
public class ApplicationHostService : IHostedService
|
||||
{
|
||||
private readonly IServiceProvider _serviceProvider;
|
||||
|
||||
private INavigationWindow _navigationWindow;
|
||||
|
||||
public ApplicationHostService(IServiceProvider serviceProvider)
|
||||
{
|
||||
_serviceProvider = serviceProvider;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Triggered when the application host is ready to start the service.
|
||||
/// </summary>
|
||||
/// <param name="cancellationToken">Indicates that the start process has been aborted.</param>
|
||||
public async Task StartAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
await HandleActivationAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Triggered when the application host is performing a graceful shutdown.
|
||||
/// </summary>
|
||||
/// <param name="cancellationToken">Indicates that the shutdown process should no longer be graceful.</param>
|
||||
public async Task StopAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates main window during activation.
|
||||
/// </summary>
|
||||
private async Task HandleActivationAsync()
|
||||
{
|
||||
if (!Application.Current.Windows.OfType<MainWindow>().Any())
|
||||
{
|
||||
_navigationWindow = (
|
||||
_serviceProvider.GetService(typeof(INavigationWindow)) as INavigationWindow
|
||||
)!;
|
||||
_navigationWindow!.ShowWindow();
|
||||
|
||||
_navigationWindow.Navigate(typeof(Views.Pages.DashboardPage));
|
||||
}
|
||||
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
using Wpf.Ui;
|
||||
|
||||
namespace ReCodeItGUI_WPF.Services
|
||||
{
|
||||
/// <summary>
|
||||
/// Service that provides pages for navigation.
|
||||
/// </summary>
|
||||
public class PageService : IPageService
|
||||
{
|
||||
/// <summary>
|
||||
/// Service which provides the instances of pages.
|
||||
/// </summary>
|
||||
private readonly IServiceProvider _serviceProvider;
|
||||
|
||||
/// <summary>
|
||||
/// Creates new instance and attaches the <see cref="IServiceProvider"/>.
|
||||
/// </summary>
|
||||
public PageService(IServiceProvider serviceProvider)
|
||||
{
|
||||
_serviceProvider = serviceProvider;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public T? GetPage<T>()
|
||||
where T : class
|
||||
{
|
||||
if (!typeof(FrameworkElement).IsAssignableFrom(typeof(T)))
|
||||
throw new InvalidOperationException("The page should be a WPF control.");
|
||||
|
||||
return (T?)_serviceProvider.GetService(typeof(T));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public FrameworkElement? GetPage(Type pageType)
|
||||
{
|
||||
if (!typeof(FrameworkElement).IsAssignableFrom(pageType))
|
||||
throw new InvalidOperationException("The page should be a WPF control.");
|
||||
|
||||
return _serviceProvider.GetService(pageType) as FrameworkElement;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
global using CommunityToolkit.Mvvm.ComponentModel;
|
||||
global using CommunityToolkit.Mvvm.Input;
|
||||
global using System;
|
||||
global using System.Windows;
|
@ -1,14 +0,0 @@
|
||||
namespace ReCodeItGUI_WPF.ViewModels.Pages
|
||||
{
|
||||
public partial class DashboardViewModel : ObservableObject
|
||||
{
|
||||
[ObservableProperty]
|
||||
private int _counter = 0;
|
||||
|
||||
[RelayCommand]
|
||||
private void OnCounterIncrement()
|
||||
{
|
||||
Counter++;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
using ReCodeItGUI_WPF.Models;
|
||||
using System.Windows.Media;
|
||||
using Wpf.Ui.Controls;
|
||||
|
||||
namespace ReCodeItGUI_WPF.ViewModels.Pages
|
||||
{
|
||||
public partial class DataViewModel : ObservableObject, INavigationAware
|
||||
{
|
||||
private bool _isInitialized = false;
|
||||
|
||||
[ObservableProperty]
|
||||
private IEnumerable<DataColor> _colors;
|
||||
|
||||
public void OnNavigatedTo()
|
||||
{
|
||||
if (!_isInitialized)
|
||||
InitializeViewModel();
|
||||
}
|
||||
|
||||
public void OnNavigatedFrom() { }
|
||||
|
||||
private void InitializeViewModel()
|
||||
{
|
||||
var random = new Random();
|
||||
var colorCollection = new List<DataColor>();
|
||||
|
||||
for (int i = 0; i < 8192; i++)
|
||||
colorCollection.Add(
|
||||
new DataColor
|
||||
{
|
||||
Color = new SolidColorBrush(
|
||||
Color.FromArgb(
|
||||
(byte)200,
|
||||
(byte)random.Next(0, 250),
|
||||
(byte)random.Next(0, 250),
|
||||
(byte)random.Next(0, 250)
|
||||
)
|
||||
)
|
||||
}
|
||||
);
|
||||
|
||||
Colors = colorCollection;
|
||||
|
||||
_isInitialized = true;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
using Wpf.Ui.Appearance;
|
||||
using Wpf.Ui.Controls;
|
||||
|
||||
namespace ReCodeItGUI_WPF.ViewModels.Pages
|
||||
{
|
||||
public partial class SettingsViewModel : ObservableObject, INavigationAware
|
||||
{
|
||||
private bool _isInitialized = false;
|
||||
|
||||
[ObservableProperty]
|
||||
private string _appVersion = String.Empty;
|
||||
|
||||
[ObservableProperty]
|
||||
private ApplicationTheme _currentTheme = ApplicationTheme.Unknown;
|
||||
|
||||
public void OnNavigatedTo()
|
||||
{
|
||||
if (!_isInitialized)
|
||||
InitializeViewModel();
|
||||
}
|
||||
|
||||
public void OnNavigatedFrom() { }
|
||||
|
||||
private void InitializeViewModel()
|
||||
{
|
||||
CurrentTheme = ApplicationThemeManager.GetAppTheme();
|
||||
AppVersion = $"UiDesktopApp1 - {GetAssemblyVersion()}";
|
||||
|
||||
_isInitialized = true;
|
||||
}
|
||||
|
||||
private string GetAssemblyVersion()
|
||||
{
|
||||
return System.Reflection.Assembly.GetExecutingAssembly().GetName().Version?.ToString()
|
||||
?? String.Empty;
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void OnChangeTheme(string parameter)
|
||||
{
|
||||
switch (parameter)
|
||||
{
|
||||
case "theme_light":
|
||||
if (CurrentTheme == ApplicationTheme.Light)
|
||||
break;
|
||||
|
||||
ApplicationThemeManager.Apply(ApplicationTheme.Light);
|
||||
CurrentTheme = ApplicationTheme.Light;
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
if (CurrentTheme == ApplicationTheme.Dark)
|
||||
break;
|
||||
|
||||
ApplicationThemeManager.Apply(ApplicationTheme.Dark);
|
||||
CurrentTheme = ApplicationTheme.Dark;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
using System.Collections.ObjectModel;
|
||||
using Wpf.Ui.Controls;
|
||||
|
||||
namespace ReCodeItGUI_WPF.ViewModels.Windows
|
||||
{
|
||||
public partial class MainWindowViewModel : ObservableObject
|
||||
{
|
||||
[ObservableProperty]
|
||||
private string _applicationTitle = "WPF UI - ReCodeItGUI_WPF";
|
||||
|
||||
[ObservableProperty]
|
||||
private ObservableCollection<object> _menuItems = new()
|
||||
{
|
||||
new NavigationViewItem()
|
||||
{
|
||||
Content = "Home",
|
||||
Icon = new SymbolIcon { Symbol = SymbolRegular.Home24 },
|
||||
TargetPageType = typeof(Views.Pages.DashboardPage)
|
||||
},
|
||||
new NavigationViewItem()
|
||||
{
|
||||
Content = "Data",
|
||||
Icon = new SymbolIcon { Symbol = SymbolRegular.DataHistogram24 },
|
||||
TargetPageType = typeof(Views.Pages.DataPage)
|
||||
}
|
||||
};
|
||||
|
||||
[ObservableProperty]
|
||||
private ObservableCollection<object> _footerMenuItems = new()
|
||||
{
|
||||
new NavigationViewItem()
|
||||
{
|
||||
Content = "Settings",
|
||||
Icon = new SymbolIcon { Symbol = SymbolRegular.Settings24 },
|
||||
TargetPageType = typeof(Views.Pages.SettingsPage)
|
||||
}
|
||||
};
|
||||
|
||||
[ObservableProperty]
|
||||
private ObservableCollection<MenuItem> _trayMenuItems = new()
|
||||
{
|
||||
new MenuItem { Header = "Home", Tag = "tray_home" }
|
||||
};
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
<Page
|
||||
x:Class="ReCodeItGUI_WPF.Views.Pages.DashboardPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:ReCodeItGUI_WPF.Views.Pages"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||
Title="DashboardPage"
|
||||
d:DataContext="{d:DesignInstance local:DashboardPage,
|
||||
IsDesignTimeCreatable=False}"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
|
||||
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<Grid VerticalAlignment="Top">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<ui:Button
|
||||
Grid.Column="0"
|
||||
Command="{Binding ViewModel.CounterIncrementCommand, Mode=OneWay}"
|
||||
Content="Click me!"
|
||||
Icon="Fluent24" />
|
||||
<TextBlock
|
||||
Grid.Column="1"
|
||||
Margin="12,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="{Binding ViewModel.Counter, Mode=OneWay}" />
|
||||
</Grid>
|
||||
</Page>
|
@ -1,18 +0,0 @@
|
||||
using ReCodeItGUI_WPF.ViewModels.Pages;
|
||||
using Wpf.Ui.Controls;
|
||||
|
||||
namespace ReCodeItGUI_WPF.Views.Pages
|
||||
{
|
||||
public partial class DashboardPage : INavigableView<DashboardViewModel>
|
||||
{
|
||||
public DashboardViewModel ViewModel { get; }
|
||||
|
||||
public DashboardPage(DashboardViewModel viewModel)
|
||||
{
|
||||
ViewModel = viewModel;
|
||||
DataContext = this;
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
<Page
|
||||
x:Class="ReCodeItGUI_WPF.Views.Pages.DataPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:ReCodeItGUI_WPF.Views.Pages"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:models="clr-namespace:ReCodeItGUI_WPF.Models"
|
||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||
Title="DataPage"
|
||||
d:DataContext="{d:DesignInstance local:DataPage,
|
||||
IsDesignTimeCreatable=False}"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
|
||||
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
ScrollViewer.CanContentScroll="False"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<Grid>
|
||||
<ui:VirtualizingItemsControl
|
||||
Foreground="{DynamicResource TextFillColorSecondaryBrush}"
|
||||
ItemsSource="{Binding ViewModel.Colors, Mode=OneWay}"
|
||||
VirtualizingPanel.CacheLengthUnit="Item">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="{x:Type models:DataColor}">
|
||||
<ui:Button
|
||||
Width="80"
|
||||
Height="80"
|
||||
Margin="2"
|
||||
Padding="0"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Appearance="Secondary"
|
||||
Background="{Binding Color, Mode=OneWay}"
|
||||
FontSize="25"
|
||||
Icon="Fluent24" />
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ui:VirtualizingItemsControl>
|
||||
</Grid>
|
||||
</Page>
|
@ -1,18 +0,0 @@
|
||||
using ReCodeItGUI_WPF.ViewModels.Pages;
|
||||
using Wpf.Ui.Controls;
|
||||
|
||||
namespace ReCodeItGUI_WPF.Views.Pages
|
||||
{
|
||||
public partial class DataPage : INavigableView<DataViewModel>
|
||||
{
|
||||
public DataViewModel ViewModel { get; }
|
||||
|
||||
public DataPage(DataViewModel viewModel)
|
||||
{
|
||||
ViewModel = viewModel;
|
||||
DataContext = this;
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
<Page
|
||||
x:Class="ReCodeItGUI_WPF.Views.Pages.SettingsPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:helpers="clr-namespace:ReCodeItGUI_WPF.Helpers"
|
||||
xmlns:local="clr-namespace:ReCodeItGUI_WPF.Views.Pages"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||
Title="SettingsPage"
|
||||
d:DataContext="{d:DesignInstance local:SettingsPage,
|
||||
IsDesignTimeCreatable=False}"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
|
||||
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
mc:Ignorable="d">
|
||||
<Page.Resources>
|
||||
<helpers:EnumToBooleanConverter x:Key="EnumToBooleanConverter" />
|
||||
</Page.Resources>
|
||||
|
||||
<StackPanel>
|
||||
<TextBlock
|
||||
FontSize="20"
|
||||
FontWeight="Medium"
|
||||
Text="Personalization" />
|
||||
<TextBlock Margin="0,12,0,0" Text="Theme" />
|
||||
<RadioButton
|
||||
Margin="0,12,0,0"
|
||||
Command="{Binding ViewModel.ChangeThemeCommand, Mode=OneWay}"
|
||||
CommandParameter="theme_light"
|
||||
Content="Light"
|
||||
GroupName="themeSelect"
|
||||
IsChecked="{Binding ViewModel.CurrentTheme, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter=Light, Mode=OneWay}" />
|
||||
<RadioButton
|
||||
Margin="0,8,0,0"
|
||||
Command="{Binding ViewModel.ChangeThemeCommand, Mode=OneWay}"
|
||||
CommandParameter="theme_dark"
|
||||
Content="Dark"
|
||||
GroupName="themeSelect"
|
||||
IsChecked="{Binding ViewModel.CurrentTheme, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter=Dark, Mode=OneWay}" />
|
||||
|
||||
<TextBlock
|
||||
Margin="0,24,0,0"
|
||||
FontSize="20"
|
||||
FontWeight="Medium"
|
||||
Text="About ReCodeItGUI_WPF" />
|
||||
<TextBlock Margin="0,12,0,0" Text="{Binding ViewModel.AppVersion, Mode=OneWay}" />
|
||||
</StackPanel>
|
||||
</Page>
|
@ -1,18 +0,0 @@
|
||||
using ReCodeItGUI_WPF.ViewModels.Pages;
|
||||
using Wpf.Ui.Controls;
|
||||
|
||||
namespace ReCodeItGUI_WPF.Views.Pages
|
||||
{
|
||||
public partial class SettingsPage : INavigableView<SettingsViewModel>
|
||||
{
|
||||
public SettingsViewModel ViewModel { get; }
|
||||
|
||||
public SettingsPage(SettingsViewModel viewModel)
|
||||
{
|
||||
ViewModel = viewModel;
|
||||
DataContext = this;
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
<ui:FluentWindow
|
||||
x:Class="ReCodeItGUI_WPF.Views.Windows.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:ReCodeItGUI_WPF.Views.Windows"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||
Title="{Binding ViewModel.ApplicationTitle, Mode=OneWay}"
|
||||
Width="1100"
|
||||
Height="650"
|
||||
d:DataContext="{d:DesignInstance local:MainWindow,
|
||||
IsDesignTimeCreatable=True}"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
|
||||
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
ExtendsContentIntoTitleBar="True"
|
||||
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
WindowBackdropType="Mica"
|
||||
WindowCornerPreference="Round"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
mc:Ignorable="d">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<ui:NavigationView
|
||||
x:Name="RootNavigation"
|
||||
Grid.Row="1"
|
||||
Padding="42,0,42,0"
|
||||
BreadcrumbBar="{Binding ElementName=BreadcrumbBar}"
|
||||
FooterMenuItemsSource="{Binding ViewModel.FooterMenuItems, Mode=OneWay}"
|
||||
FrameMargin="0"
|
||||
IsBackButtonVisible="Visible"
|
||||
IsPaneToggleVisible="True"
|
||||
MenuItemsSource="{Binding ViewModel.MenuItems, Mode=OneWay}"
|
||||
PaneDisplayMode="LeftFluent">
|
||||
<ui:NavigationView.Header>
|
||||
<ui:BreadcrumbBar x:Name="BreadcrumbBar" Margin="42,32,42,20" />
|
||||
</ui:NavigationView.Header>
|
||||
<ui:NavigationView.ContentOverlay>
|
||||
<Grid>
|
||||
<ui:SnackbarPresenter x:Name="SnackbarPresenter" />
|
||||
</Grid>
|
||||
</ui:NavigationView.ContentOverlay>
|
||||
</ui:NavigationView>
|
||||
|
||||
<ContentPresenter
|
||||
x:Name="RootContentDialog"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2" />
|
||||
|
||||
<ui:TitleBar
|
||||
x:Name="TitleBar"
|
||||
Title="{Binding ViewModel.ApplicationTitle}"
|
||||
Grid.Row="0"
|
||||
CloseWindowByDoubleClickOnIcon="True">
|
||||
<ui:TitleBar.Icon>
|
||||
<ui:ImageIcon Source="pack://application:,,,/Assets/wpfui-icon-256.png" />
|
||||
</ui:TitleBar.Icon>
|
||||
</ui:TitleBar>
|
||||
</Grid>
|
||||
</ui:FluentWindow>
|
@ -1,64 +0,0 @@
|
||||
using ReCodeItGUI_WPF.ViewModels.Windows;
|
||||
using Wpf.Ui;
|
||||
using Wpf.Ui.Appearance;
|
||||
using Wpf.Ui.Controls;
|
||||
|
||||
namespace ReCodeItGUI_WPF.Views.Windows
|
||||
{
|
||||
public partial class MainWindow : INavigationWindow
|
||||
{
|
||||
public MainWindowViewModel ViewModel { get; }
|
||||
|
||||
public MainWindow(
|
||||
MainWindowViewModel viewModel,
|
||||
IPageService pageService,
|
||||
INavigationService navigationService
|
||||
)
|
||||
{
|
||||
ViewModel = viewModel;
|
||||
DataContext = this;
|
||||
|
||||
SystemThemeWatcher.Watch(this);
|
||||
|
||||
InitializeComponent();
|
||||
SetPageService(pageService);
|
||||
|
||||
navigationService.SetNavigationControl(RootNavigation);
|
||||
}
|
||||
|
||||
#region INavigationWindow methods
|
||||
|
||||
public INavigationView GetNavigation() => RootNavigation;
|
||||
|
||||
public bool Navigate(Type pageType) => RootNavigation.Navigate(pageType);
|
||||
|
||||
public void SetPageService(IPageService pageService) => RootNavigation.SetPageService(pageService);
|
||||
|
||||
public void ShowWindow() => Show();
|
||||
|
||||
public void CloseWindow() => Close();
|
||||
|
||||
#endregion INavigationWindow methods
|
||||
|
||||
/// <summary>
|
||||
/// Raises the closed event.
|
||||
/// </summary>
|
||||
protected override void OnClosed(EventArgs e)
|
||||
{
|
||||
base.OnClosed(e);
|
||||
|
||||
// Make sure that closing this window will begin the process of closing the application.
|
||||
Application.Current.Shutdown();
|
||||
}
|
||||
|
||||
INavigationView INavigationWindow.GetNavigation()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void SetServiceProvider(IServiceProvider serviceProvider)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,75 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="ReCodeItGUI_WPF.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC Manifest Options
|
||||
If you want to change the Windows User Account Control level replace the
|
||||
requestedExecutionLevel node with one of the following.
|
||||
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
Specifying requestedExecutionLevel element will disable file and registry virtualization.
|
||||
Remove this element if your application requires this virtualization for backwards
|
||||
compatibility.
|
||||
-->
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- A list of the Windows versions that this application has been tested on
|
||||
and is designed to work with. Uncomment the appropriate elements
|
||||
and Windows will automatically select the most compatible environment. -->
|
||||
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
|
||||
<!-- Windows 7 -->
|
||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
|
||||
|
||||
<!-- Windows 8 -->
|
||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
||||
|
||||
<!-- Windows 8.1 -->
|
||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
||||
|
||||
<!-- Windows 10 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
|
||||
|
||||
</application>
|
||||
</compatibility>
|
||||
|
||||
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
|
||||
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
|
||||
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
|
||||
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config.
|
||||
|
||||
Makes the application long-path aware. See https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
|
||||
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>
|
||||
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
|
||||
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*" />
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
</assembly>
|
Binary file not shown.
Before Width: | Height: | Size: 19 KiB |
40
RecodeIt.sln
40
RecodeIt.sln
@ -10,17 +10,57 @@ EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|ARM64 = Debug|ARM64
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|ARM = Release|ARM
|
||||
Release|ARM64 = Release|ARM64
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7C4A62CE-8072-454F-9D95-6CB4D837F485}.Release|x86.Build.0 = Release|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Release|x64.Build.0 = Release|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
118
RecodeItGUI/GUI/Main.Designer.cs
generated
118
RecodeItGUI/GUI/Main.Designer.cs
generated
@ -31,6 +31,8 @@ partial class ReCodeItForm
|
||||
TabPageRemapper = new TabPage();
|
||||
RemapTreeView = new TreeView();
|
||||
groupBox1 = new GroupBox();
|
||||
label1 = new Label();
|
||||
MaxMatchCountUpDown = new NumericUpDown();
|
||||
EditRemapButton = new Button();
|
||||
ConstuctorCountUpDown = new NumericUpDown();
|
||||
ConstructorCountEnabled = new CheckBox();
|
||||
@ -123,8 +125,11 @@ partial class ReCodeItForm
|
||||
AutoMapperExcludeTypesRemoveButton = new Button();
|
||||
AutoMapperExcludeTypesAddButton = new Button();
|
||||
AutoMapperTypesExcludeBox = new ListBox();
|
||||
tabPage5 = new TabPage();
|
||||
SettingsTab = new TabPage();
|
||||
groupBox2 = new GroupBox();
|
||||
PickNameMangledPathButton = new Button();
|
||||
NameMangledAssemblyTextBox = new TextBox();
|
||||
MappingChooseButton = new Button();
|
||||
UnsealCheckbox = new CheckBox();
|
||||
RenamePropertiesCheckbox = new CheckBox();
|
||||
@ -137,13 +142,9 @@ partial class ReCodeItForm
|
||||
AssemblyPathTextBox = new TextBox();
|
||||
SilentModeCheckbox = new CheckBox();
|
||||
DebugLoggingCheckbox = new CheckBox();
|
||||
tabPage5 = new TabPage();
|
||||
PickNameMangledPathButton = new Button();
|
||||
NameMangledAssemblyTextBox = new TextBox();
|
||||
label1 = new Label();
|
||||
MaxMatchCountUpDown = new NumericUpDown();
|
||||
TabPageRemapper.SuspendLayout();
|
||||
groupBox1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)MaxMatchCountUpDown).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)ConstuctorCountUpDown).BeginInit();
|
||||
Inclusions.SuspendLayout();
|
||||
tabPage1.SuspendLayout();
|
||||
@ -160,7 +161,6 @@ partial class ReCodeItForm
|
||||
((System.ComponentModel.ISupportInitialize)AutoMapperRequiredMatchesUpDown).BeginInit();
|
||||
SettingsTab.SuspendLayout();
|
||||
groupBox2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)MaxMatchCountUpDown).BeginInit();
|
||||
SuspendLayout();
|
||||
//
|
||||
// TabPageRemapper
|
||||
@ -226,6 +226,24 @@ partial class ReCodeItForm
|
||||
groupBox1.TabStop = false;
|
||||
groupBox1.Text = "Remap Editor";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
label1.AutoSize = true;
|
||||
label1.Location = new Point(287, 368);
|
||||
label1.Name = "label1";
|
||||
label1.Size = new Size(152, 25);
|
||||
label1.TabIndex = 23;
|
||||
label1.Text = "Max Match Count";
|
||||
//
|
||||
// MaxMatchCountUpDown
|
||||
//
|
||||
MaxMatchCountUpDown.Location = new Point(224, 366);
|
||||
MaxMatchCountUpDown.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
|
||||
MaxMatchCountUpDown.Name = "MaxMatchCountUpDown";
|
||||
MaxMatchCountUpDown.Size = new Size(57, 31);
|
||||
MaxMatchCountUpDown.TabIndex = 22;
|
||||
MaxMatchCountUpDown.Value = new decimal(new int[] { 1, 0, 0, 0 });
|
||||
//
|
||||
// EditRemapButton
|
||||
//
|
||||
EditRemapButton.BackColor = SystemColors.ButtonShadow;
|
||||
@ -702,7 +720,7 @@ partial class ReCodeItForm
|
||||
NewTypeName.BackColor = SystemColors.ScrollBar;
|
||||
NewTypeName.Location = new Point(10, 30);
|
||||
NewTypeName.Name = "NewTypeName";
|
||||
NewTypeName.PlaceholderText = "New OriginalTypeRef Name";
|
||||
NewTypeName.PlaceholderText = "New Name";
|
||||
NewTypeName.Size = new Size(208, 31);
|
||||
NewTypeName.TabIndex = 0;
|
||||
//
|
||||
@ -796,9 +814,9 @@ partial class ReCodeItForm
|
||||
// NestedTypeParentName
|
||||
//
|
||||
NestedTypeParentName.BackColor = SystemColors.ScrollBar;
|
||||
NestedTypeParentName.Location = new Point(224, 106);
|
||||
NestedTypeParentName.Location = new Point(224, 145);
|
||||
NestedTypeParentName.Name = "NestedTypeParentName";
|
||||
NestedTypeParentName.PlaceholderText = "Nested OriginalTypeRef Parent Name";
|
||||
NestedTypeParentName.PlaceholderText = "Nested Type Parent Name";
|
||||
NestedTypeParentName.Size = new Size(208, 31);
|
||||
NestedTypeParentName.TabIndex = 0;
|
||||
//
|
||||
@ -834,7 +852,7 @@ partial class ReCodeItForm
|
||||
OriginalTypeName.BackColor = SystemColors.ScrollBar;
|
||||
OriginalTypeName.Location = new Point(224, 30);
|
||||
OriginalTypeName.Name = "OriginalTypeName";
|
||||
OriginalTypeName.PlaceholderText = "Original OriginalTypeRef Name";
|
||||
OriginalTypeName.PlaceholderText = "Original Name";
|
||||
OriginalTypeName.Size = new Size(208, 31);
|
||||
OriginalTypeName.TabIndex = 1;
|
||||
//
|
||||
@ -910,7 +928,7 @@ partial class ReCodeItForm
|
||||
// BaseClassExcludeTextField
|
||||
//
|
||||
BaseClassExcludeTextField.BackColor = SystemColors.ScrollBar;
|
||||
BaseClassExcludeTextField.Location = new Point(224, 145);
|
||||
BaseClassExcludeTextField.Location = new Point(224, 107);
|
||||
BaseClassExcludeTextField.Name = "BaseClassExcludeTextField";
|
||||
BaseClassExcludeTextField.PlaceholderText = "Exclude Base Class";
|
||||
BaseClassExcludeTextField.Size = new Size(208, 31);
|
||||
@ -1191,6 +1209,16 @@ partial class ReCodeItForm
|
||||
AutoMapperTypesExcludeBox.Size = new Size(353, 229);
|
||||
AutoMapperTypesExcludeBox.TabIndex = 21;
|
||||
//
|
||||
// tabPage5
|
||||
//
|
||||
tabPage5.BackColor = SystemColors.ControlDarkDark;
|
||||
tabPage5.Location = new Point(4, 34);
|
||||
tabPage5.Name = "tabPage5";
|
||||
tabPage5.Padding = new Padding(3);
|
||||
tabPage5.Size = new Size(1336, 953);
|
||||
tabPage5.TabIndex = 4;
|
||||
tabPage5.Text = "Name DeMangler";
|
||||
//
|
||||
// SettingsTab
|
||||
//
|
||||
SettingsTab.BackColor = SystemColors.ControlDarkDark;
|
||||
@ -1225,6 +1253,25 @@ partial class ReCodeItForm
|
||||
groupBox2.TabStop = false;
|
||||
groupBox2.Text = "App Settings";
|
||||
//
|
||||
// PickNameMangledPathButton
|
||||
//
|
||||
PickNameMangledPathButton.Location = new Point(308, 134);
|
||||
PickNameMangledPathButton.Name = "PickNameMangledPathButton";
|
||||
PickNameMangledPathButton.Size = new Size(112, 34);
|
||||
PickNameMangledPathButton.TabIndex = 10;
|
||||
PickNameMangledPathButton.Text = "Choose";
|
||||
PickNameMangledPathButton.UseVisualStyleBackColor = true;
|
||||
PickNameMangledPathButton.Click += PickNameMangledPathButton_Click;
|
||||
//
|
||||
// NameMangledAssemblyTextBox
|
||||
//
|
||||
NameMangledAssemblyTextBox.Location = new Point(6, 137);
|
||||
NameMangledAssemblyTextBox.Name = "NameMangledAssemblyTextBox";
|
||||
NameMangledAssemblyTextBox.PlaceholderText = "Name Mangled Assembly path (including file name)";
|
||||
NameMangledAssemblyTextBox.ReadOnly = true;
|
||||
NameMangledAssemblyTextBox.Size = new Size(296, 31);
|
||||
NameMangledAssemblyTextBox.TabIndex = 9;
|
||||
//
|
||||
// MappingChooseButton
|
||||
//
|
||||
MappingChooseButton.Location = new Point(308, 208);
|
||||
@ -1356,53 +1403,6 @@ partial class ReCodeItForm
|
||||
DebugLoggingCheckbox.UseVisualStyleBackColor = true;
|
||||
DebugLoggingCheckbox.CheckedChanged += DebugLoggingCheckbox_CheckedChanged;
|
||||
//
|
||||
// tabPage5
|
||||
//
|
||||
tabPage5.BackColor = SystemColors.ControlDarkDark;
|
||||
tabPage5.Location = new Point(4, 34);
|
||||
tabPage5.Name = "tabPage5";
|
||||
tabPage5.Padding = new Padding(3);
|
||||
tabPage5.Size = new Size(1336, 953);
|
||||
tabPage5.TabIndex = 4;
|
||||
tabPage5.Text = "Name DeMangler";
|
||||
//
|
||||
// PickNameMangledPathButton
|
||||
//
|
||||
PickNameMangledPathButton.Location = new Point(308, 134);
|
||||
PickNameMangledPathButton.Name = "PickNameMangledPathButton";
|
||||
PickNameMangledPathButton.Size = new Size(112, 34);
|
||||
PickNameMangledPathButton.TabIndex = 10;
|
||||
PickNameMangledPathButton.Text = "Choose";
|
||||
PickNameMangledPathButton.UseVisualStyleBackColor = true;
|
||||
PickNameMangledPathButton.Click += PickNameMangledPathButton_Click;
|
||||
//
|
||||
// NameMangledAssemblyTextBox
|
||||
//
|
||||
NameMangledAssemblyTextBox.Location = new Point(6, 137);
|
||||
NameMangledAssemblyTextBox.Name = "NameMangledAssemblyTextBox";
|
||||
NameMangledAssemblyTextBox.PlaceholderText = "Name Mangled Assembly path (including file name)";
|
||||
NameMangledAssemblyTextBox.ReadOnly = true;
|
||||
NameMangledAssemblyTextBox.Size = new Size(296, 31);
|
||||
NameMangledAssemblyTextBox.TabIndex = 9;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
label1.AutoSize = true;
|
||||
label1.Location = new Point(287, 368);
|
||||
label1.Name = "label1";
|
||||
label1.Size = new Size(152, 25);
|
||||
label1.TabIndex = 23;
|
||||
label1.Text = "Max Match Count";
|
||||
//
|
||||
// MaxMatchCountUpDown
|
||||
//
|
||||
MaxMatchCountUpDown.Location = new Point(224, 366);
|
||||
MaxMatchCountUpDown.Minimum = new decimal(new int[] { 1, 0, 0, 0 });
|
||||
MaxMatchCountUpDown.Name = "MaxMatchCountUpDown";
|
||||
MaxMatchCountUpDown.Size = new Size(57, 31);
|
||||
MaxMatchCountUpDown.TabIndex = 22;
|
||||
MaxMatchCountUpDown.Value = new decimal(new int[] { 1, 0, 0, 0 });
|
||||
//
|
||||
// ReCodeItForm
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(10F, 25F);
|
||||
@ -1416,6 +1416,7 @@ partial class ReCodeItForm
|
||||
TabPageRemapper.ResumeLayout(false);
|
||||
groupBox1.ResumeLayout(false);
|
||||
groupBox1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)MaxMatchCountUpDown).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)ConstuctorCountUpDown).EndInit();
|
||||
Inclusions.ResumeLayout(false);
|
||||
tabPage1.ResumeLayout(false);
|
||||
@ -1438,7 +1439,6 @@ partial class ReCodeItForm
|
||||
SettingsTab.ResumeLayout(false);
|
||||
groupBox2.ResumeLayout(false);
|
||||
groupBox2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)MaxMatchCountUpDown).EndInit();
|
||||
ResumeLayout(false);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user