120 lines
4.7 KiB
C#
120 lines
4.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using CodeMerger.TestExamples;
|
|
|
|
namespace CodeMerger.Controls
|
|
{
|
|
public partial class TestExamplesControl : UserControl
|
|
{
|
|
public class TestExample
|
|
{
|
|
public string Description { get; set; }
|
|
public string Details { get; set; }
|
|
public string MasterCode { get; set; }
|
|
public string SnippetCode { get; set; }
|
|
}
|
|
|
|
private List<TestExample> _examples = new List<TestExample>();
|
|
|
|
public TestExamplesControl()
|
|
{
|
|
InitializeComponent();
|
|
LoadExamplesList();
|
|
}
|
|
|
|
private void LoadExamplesList()
|
|
{
|
|
_examples = new List<TestExample>
|
|
{
|
|
new TestExample
|
|
{
|
|
Description = "Merge Simple",
|
|
Details = "Añade un método a una clase simple",
|
|
MasterCode = TestExampleCode.SimpleMaster,
|
|
SnippetCode = TestExampleCode.SimpleSnippet
|
|
},
|
|
new TestExample
|
|
{
|
|
Description = "Manejo de Namespace",
|
|
Details = "Merge de código con diferentes namespaces",
|
|
MasterCode = TestExampleCode.NamespaceHandlingMaster,
|
|
SnippetCode = TestExampleCode.NamespaceHandlingSnippet
|
|
},
|
|
new TestExample
|
|
{
|
|
Description = "Elementos Virtuales",
|
|
Details = "Merge de código sin namespace ni clase",
|
|
MasterCode = TestExampleCode.VirtualElementsMaster,
|
|
SnippetCode = TestExampleCode.VirtualElementsSnippet
|
|
},
|
|
new TestExample
|
|
{
|
|
Description = "Reemplazo de Métodos",
|
|
Details = "Reemplaza un método existente con una implementación mejorada",
|
|
MasterCode = TestExampleCode.MethodReplacementMaster,
|
|
SnippetCode = TestExampleCode.MethodReplacementSnippet
|
|
},
|
|
new TestExample
|
|
{
|
|
Description = "Merge Complejo",
|
|
Details = "Merge de una clase genérica con múltiples métodos y propiedades",
|
|
MasterCode = TestExampleCode.ComplexMergeMaster,
|
|
SnippetCode = TestExampleCode.ComplexMergeSnippet
|
|
},
|
|
new TestExample
|
|
{
|
|
Description = "Clases Múltiples",
|
|
Details = "Merge de código con múltiples clases y herencia",
|
|
MasterCode = TestExampleCode.MultipleClassesMaster,
|
|
SnippetCode = TestExampleCode.MultipleClassesSnippet
|
|
},
|
|
new TestExample
|
|
{
|
|
Description = "Clases Anidadas",
|
|
Details = "Merge con clases anidadas y estructuras complejas",
|
|
MasterCode = TestExampleCode.NestedClassesMaster,
|
|
SnippetCode = TestExampleCode.NestedClassesSnippet
|
|
},
|
|
new TestExample
|
|
{
|
|
Description = "Comentarios y Formato",
|
|
Details = "Merge preservando comentarios XML y formato",
|
|
MasterCode = TestExampleCode.CommentsFormatMaster,
|
|
SnippetCode = TestExampleCode.CommentsFormatSnippet
|
|
}
|
|
};
|
|
|
|
lvExamples.ItemsSource = _examples;
|
|
}
|
|
|
|
private void LvExamples_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
// No hacer nada, solo permitir selección
|
|
}
|
|
|
|
private void LoadExample_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
var selectedExample = lvExamples.SelectedItem as TestExample;
|
|
if (selectedExample == null)
|
|
{
|
|
MessageBox.Show("Por favor, seleccione un ejemplo primero", "Selección Requerida",
|
|
MessageBoxButton.OK, MessageBoxImage.Information);
|
|
return;
|
|
}
|
|
|
|
var mainWindow = Window.GetWindow(this) as MainWindow;
|
|
if (mainWindow != null)
|
|
{
|
|
// Cargar el ejemplo en los editores
|
|
mainWindow.txtOriginalCode.Text = selectedExample.MasterCode;
|
|
mainWindow.txtLLMCode.Text = selectedExample.SnippetCode;
|
|
|
|
// Notificar
|
|
var logControl = mainWindow.logControl;
|
|
logControl?.LogInfo($"Ejemplo cargado: {selectedExample.Description}");
|
|
}
|
|
}
|
|
}
|
|
} |