diff --git a/ediv/trazador/trazador.ncb b/ediv/trazador/trazador.ncb
deleted file mode 100644
index 679d060..0000000
--- a/ediv/trazador/trazador.ncb
+++ /dev/null
@@ -1 +0,0 @@
-Microsoft C/C++ program database 2.00
diff --git a/ediv/trazador/trazador.opt b/ediv/trazador/trazador.opt
new file mode 100644
index 0000000..4fa8358
Binary files /dev/null and b/ediv/trazador/trazador.opt differ
diff --git a/ediv/trazador/trazador.plg b/ediv/trazador/trazador.plg
new file mode 100644
index 0000000..d7b680f
--- /dev/null
+++ b/ediv/trazador/trazador.plg
@@ -0,0 +1,36 @@
+
+
+
+Build Log
+
+--------------------Configuration: Trazador - Win32 Debug--------------------
+
+Command Lines
+Creating temporary file "C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\RSP6E.tmp" with contents
+[
+/nologo /MD /W3 /Gm /GX /ZI /Od /I "d:\Qt\include" /I "..\src\dlls" /I "..\src\kwrite" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "QT_DLL" /D "QT_THREAD_SUPPORT" /D "_USRDLL" /FR"Debug/" /Fp"Debug/Trazador.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
+"D:\ediv\trazador\main.cpp"
+]
+Creating command line "cl.exe @C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\RSP6E.tmp"
+Creating temporary file "C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\RSP6F.tmp" with contents
+[
+kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib imm32.lib wsock32.lib d:\Qt\lib\qt-mt230nc.lib d:\Qt\lib\qtmain.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"Debug/debug.pdb" /debug /machine:I386 /def:".\trazador.def" /out:"../bin/dll/debug.dll" /implib:"Debug/debug.lib" /pdbtype:sept
+.\Debug\main.obj
+.\Debug\moc_trazadorwindow.obj
+.\Debug\trazadorwindow.obj
+]
+Creating command line "link.exe @C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\RSP6F.tmp"
+Output Window
+Compiling...
+main.cpp
+d:\ediv\trazador\main.cpp(51) : warning C4018: '<' : signed/unsigned mismatch
+Linking...
+ Creating library Debug/debug.lib and object Debug/debug.exp
+
+
+
+Results
+debug.dll - 0 error(s), 1 warning(s)
+
+
+
diff --git a/ediv/trazador/trazadorwindow.cpp b/ediv/trazador/trazadorwindow.cpp
new file mode 100644
index 0000000..1e51636
--- /dev/null
+++ b/ediv/trazador/trazadorwindow.cpp
@@ -0,0 +1,149 @@
+#include
+#include
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "trazadorwindow.h"
+
+
+TrazadorWindow::TrazadorWindow( QWidget* parent, const char* name, WFlags f )
+ : QMainWindow( parent, name, f )
+{
+ buffer_listado=0;
+
+ setCaption("eDIV - Trazador de programas");
+
+ QBoxLayout *vlayout1 = new QVBoxLayout(this,2);
+ QGridLayout *glayout1 = new QGridLayout(vlayout1,0,0,10);
+ //vlayout1->addLayout(glayout1);
+ QLabel *labNumProcesos = new QLabel(this);
+ glayout1->addWidget(labNumProcesos,0,0);
+ labNumProcesos->setText("0/0 Procesos");
+ QLabel *labIdProceso = new QLabel(this);
+ glayout1->addWidget(labIdProceso,0,1);
+ labIdProceso->setText("Id Proceso: 0 Normal");
+
+ QListView *listProcesos = new QListView(this);
+ listProcesos->addColumn("Proceso");
+ listProcesos->addColumn("Id");
+ listProcesos->addColumn("Estado");
+ listProcesos->addColumn("Frame");
+ glayout1->addWidget(listProcesos,1,0);
+
+ QBoxLayout *vlayout2 = new QVBoxLayout(this,3);
+ glayout1->addLayout(vlayout2,1,1);
+ QLabel *labNombreProceso = new QLabel(this);
+ vlayout2->addWidget(labNombreProceso,0);
+ labNombreProceso->setText("NombreProceso");
+ labNombreProceso->setFrameShape(QFrame::Panel);
+ labNombreProceso->setFrameShadow(QFrame::Sunken);
+
+ QBoxLayout *hlayout1 = new QHBoxLayout(this,3);
+ vlayout2->addLayout(hlayout1,1);
+ QLabel *labSprite = new QLabel(this);
+ hlayout1->addWidget(labSprite,0);
+ labSprite->setBackgroundColor(Qt::black);
+ labSprite->setMinimumSize(128,128);
+ labSprite->setMaximumSize(128,128);
+ QLayoutItem *spacer1 = new QSpacerItem(50,128,QSizePolicy::Fixed,QSizePolicy::Fixed);
+ hlayout1->addItem(spacer1);
+
+ QBoxLayout *vlayout3 = new QVBoxLayout(this,2);
+ hlayout1->addLayout(vlayout3,2);
+ QPushButton *btnVerDatos = new QPushButton("Ver datos",this);
+ vlayout3->addWidget(btnVerDatos,0);
+ btnVerDatos->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed));
+ QLabel *labInfoProceso = new QLabel(this);
+ vlayout3->addWidget(labInfoProceso,1);
+ labInfoProceso->setText("x=0\ny=0\npantalla\nnormal");
+ labInfoProceso->setAlignment(Qt::AlignCenter);
+
+ QBoxLayout *hlayout2 = new QHBoxLayout(this,3);
+ vlayout2->addLayout(hlayout2,2);
+ //QLayoutItem *spacer2 = new QSpacerItem(2,2,QSizePolicy::Maximum,QSizePolicy::Preferred);
+ //hlayout2->addItem(spacer2);
+ QPushButton *btnPerfiles = new QPushButton("Perfiles",this);
+ hlayout2->addWidget(btnPerfiles,0);
+ btnPerfiles->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed));
+ QPushButton *btnEjecProceso = new QPushButton("Ejecutar Proceso",this);
+ hlayout2->addWidget(btnEjecProceso,1);
+ btnEjecProceso->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed));
+ QPushButton *btnSigFrame = new QPushButton("Siguiente Frame",this);
+ hlayout2->addWidget(btnSigFrame,2);
+ btnSigFrame->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed));
+
+ QBoxLayout *hlayout3 = new QHBoxLayout(this,2);
+ vlayout1->addLayout(hlayout3,1);
+
+ QBoxLayout *vlayout4 = new QVBoxLayout(this,8);
+ hlayout3->addLayout(vlayout4,0);
+ QLabel *labIdProceso2 = new QLabel(this);
+ vlayout4->addWidget(labIdProceso2,0);
+ labIdProceso2->setText("0");
+ labIdProceso2->setFrameShape(QFrame::Panel);
+ labIdProceso2->setFrameShadow(QFrame::Sunken);
+ QLayoutItem *spacer3 = new QSpacerItem(2,10,QSizePolicy::Fixed,QSizePolicy::Fixed);
+ vlayout4->addItem(spacer3);
+ QPushButton *btnIrA = new QPushButton("Ir a...",this);
+ vlayout4->addWidget(btnIrA);
+ QPushButton *btnRuptura = new QPushButton("Ruptura",this);
+ vlayout4->addWidget(btnRuptura);
+ QPushButton *btnAqui = new QPushButton("¡Aquí!",this);
+ vlayout4->addWidget(btnAqui);
+ QPushButton *btnTrazar = new QPushButton("Trazar",this);
+ vlayout4->addWidget(btnTrazar);
+ QPushButton *btnPaso = new QPushButton("Paso",this);
+ vlayout4->addWidget(btnPaso);
+ QLayoutItem *spacer4 = new QSpacerItem(2,10,QSizePolicy::Fixed,QSizePolicy::Expanding);
+ vlayout4->addItem(spacer4);
+
+ listado = new QTextView(this);
+ hlayout3->addWidget(listado,1);
+ listado->setFont(QFont("courier",10));
+ //listado->setReadOnly(TRUE);
+
+}
+
+TrazadorWindow::~TrazadorWindow()
+{
+ if(buffer_listado) free(buffer_listado);
+}
+
+int TrazadorWindow::CargaListado(char* archivo)
+{
+ FILE* f;
+ int tam;
+
+ if((f=fopen(archivo,"r"))==NULL) {
+ QString mensaje="No se encuentra ";
+ mensaje += archivo;
+ QMessageBox *mb = new QMessageBox("Error",mensaje,QMessageBox::Critical,QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton);
+ mb->exec();
+ return 0;
+ }
+
+ fseek(f,0,SEEK_END);
+ tam=ftell(f);
+ fseek(f,0,SEEK_SET);
+
+ if((buffer_listado=(char*)malloc(tam))==NULL) {
+ fclose(f);
+ QMessageBox *mb = new QMessageBox("Error","Memoria insuficiente",QMessageBox::Critical,QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton);
+ mb->exec();
+ return 0;
+ }
+
+ fread(buffer_listado,1,tam,f);
+ fclose(f);
+
+ listado->setText(buffer_listado);
+
+ return tam;
+}
diff --git a/ediv/trazador/trazadorwindow.h b/ediv/trazador/trazadorwindow.h
new file mode 100644
index 0000000..e5e4e6f
--- /dev/null
+++ b/ediv/trazador/trazadorwindow.h
@@ -0,0 +1,19 @@
+#include
+#include
+
+
+class TrazadorWindow : public QMainWindow
+{
+ Q_OBJECT
+public:
+ TrazadorWindow( QWidget* parent = 0, const char* name = 0, WFlags f = WType_TopLevel );
+ ~TrazadorWindow();
+
+ int CargaListado(char* archivo);
+ QTextView *listado;
+
+private:
+
+ char* buffer_listado;
+};
+