Added a source code files list viewer
authorJean-Paul Mari <djipi.mari@gmail.com>
Tue, 25 Sep 2018 22:48:39 +0000 (18:48 -0400)
committerJean-Paul Mari <djipi.mari@gmail.com>
Tue, 25 Sep 2018 22:48:39 +0000 (18:48 -0400)
Win-VS2017/virtualjaguar.vcxproj
Win-VS2017/virtualjaguar.vcxproj.filters
src/debugger/DBGManager.cpp
src/debugger/DBGManager.h
src/debugger/DWARFManager.cpp
src/debugger/DWARFManager.h
src/debugger/FilesrcListWin.cpp [new file with mode: 0644]
src/debugger/FilesrcListWin.h [new file with mode: 0644]
src/gui/mainwin.cpp
src/gui/mainwin.h
virtualjaguar.pro

index 000e64b..24f7707 100644 (file)
     <ClCompile Include="..\src\debugger\brkWin.cpp" />\r
     <ClCompile Include="..\src\debugger\callstackbrowser.cpp" />\r
     <ClCompile Include="..\src\debugger\exceptionvectortablebrowser.cpp" />\r
     <ClCompile Include="..\src\debugger\brkWin.cpp" />\r
     <ClCompile Include="..\src\debugger\callstackbrowser.cpp" />\r
     <ClCompile Include="..\src\debugger\exceptionvectortablebrowser.cpp" />\r
+    <ClCompile Include="..\src\debugger\FilesrcListWin.cpp" />\r
     <ClCompile Include="..\src\debugger\localbrowser.cpp" />\r
     <ClCompile Include="..\src\debugger\VideoWin.cpp" />\r
     <ClCompile Include="..\src\file.cpp" />\r
     <ClCompile Include="..\src\debugger\localbrowser.cpp" />\r
     <ClCompile Include="..\src\debugger\VideoWin.cpp" />\r
     <ClCompile Include="..\src\file.cpp" />\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Debug\moc_FilesrcListWin.cpp">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+    </ClCompile>\r
     <ClCompile Include="GeneratedFiles\Debug\moc_filethread.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     <ClCompile Include="GeneratedFiles\Debug\moc_filethread.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Release\moc_FilesrcListWin.cpp">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+    </ClCompile>\r
     <ClCompile Include="GeneratedFiles\Release\moc_filethread.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
     <ClCompile Include="GeneratedFiles\Release\moc_filethread.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
     </CustomBuild>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
     </CustomBuild>\r
+    <CustomBuild Include="..\src\debugger\FilesrcListWin.h">\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+    </CustomBuild>\r
     <ClInclude Include="..\src\file.h" />\r
     <CustomBuild Include="..\src\gui\keybindingstab.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing keybindingstab.h...</Message>\r
     <ClInclude Include="..\src\file.h" />\r
     <CustomBuild Include="..\src\gui\keybindingstab.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing keybindingstab.h...</Message>\r
index e10ceb7..909a45c 100644 (file)
     <ClCompile Include="..\src\LEB128.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\src\LEB128.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Debug\moc_FilesrcListWin.cpp">\r
+      <Filter>Generated Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Release\moc_FilesrcListWin.cpp">\r
+      <Filter>Generated Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="..\src\debugger\FilesrcListWin.cpp">\r
+      <Filter>Source Files\debugger</Filter>\r
+    </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="..\src\debugger\DWARFManager.h">\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="..\src\debugger\DWARFManager.h">\r
     <CustomBuild Include="..\src\gui\modelsbiostab.h">\r
       <Filter>Header Files\gui\tab</Filter>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\gui\modelsbiostab.h">\r
       <Filter>Header Files\gui\tab</Filter>\r
     </CustomBuild>\r
+    <CustomBuild Include="..\src\debugger\FilesrcListWin.h">\r
+      <Filter>Header Files\debugger</Filter>\r
+    </CustomBuild>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ResourceCompile Include="..\res\vj.rc">\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ResourceCompile Include="..\res\vj.rc">\r
index af92c17..5f9251a 100644 (file)
@@ -640,3 +640,30 @@ char *DBGManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine)
        return  Symbolname;\r
 }\r
 \r
        return  Symbolname;\r
 }\r
 \r
+\r
+// Get number of source code filenames\r
+size_t DBGManager_GetNbFullSourceFilename(void)\r
+{\r
+       size_t Nbr = 0;\r
+\r
+       if ((DBGType & DBG_ELFDWARF))\r
+       {\r
+               Nbr = DWARFManager_GetNbFullSourceFilename();\r
+       }\r
+\r
+       return Nbr;\r
+}\r
+\r
+\r
+// Get source code filename based on index\r
+char *DBGManager_GetNumFullSourceFilename(size_t Index)\r
+{\r
+       char *FullSourceFilename = NULL;\r
+\r
+       if ((DBGType & DBG_ELFDWARF))\r
+       {\r
+               FullSourceFilename = DWARFManager_GetNumFullSourceFilename(Index);\r
+       }\r
+\r
+       return  FullSourceFilename;\r
+}\r
index cafc295..6e61bb9 100644 (file)
@@ -237,6 +237,8 @@ extern char *DBGManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine)
 extern size_t DBGManager_GetAdrFromSymbolName(char *SymbolName);\r
 extern char *DBGManager_GetFunctionName(size_t Adr);\r
 extern char *DBGManager_GetVariableValueFromAdr(size_t Adr, size_t TypeEncoding, size_t TypeByteSize);\r
 extern size_t DBGManager_GetAdrFromSymbolName(char *SymbolName);\r
 extern char *DBGManager_GetFunctionName(size_t Adr);\r
 extern char *DBGManager_GetVariableValueFromAdr(size_t Adr, size_t TypeEncoding, size_t TypeByteSize);\r
+extern size_t DBGManager_GetNbFullSourceFilename(void);\r
+extern char *DBGManager_GetNumFullSourceFilename(size_t Index);\r
 \r
 // Global variables manager\r
 extern size_t DBGManager_GetNbGlobalVariables(void);\r
 \r
 // Global variables manager\r
 extern size_t DBGManager_GetNbGlobalVariables(void);\r
index bba80ea..1ee459f 100644 (file)
@@ -9,8 +9,7 @@
 // ---  ----------  ------------------------------------------------------------\r
 // JPM  12/03/2016  Created this file\r
 // JPM  12/03/2016  DWARF format support\r
 // ---  ----------  ------------------------------------------------------------\r
 // JPM  12/03/2016  Created this file\r
 // JPM  12/03/2016  DWARF format support\r
-// JPM  09/12/2018  Added LEB128 decoding features\r
-// JPM  09/14/2018  Improve the DWARF parsing information\r
+// JPM  Sept./2018  Added LEB128 decoding features, and improve the DWARF parsing information\r
 //\r
 \r
 // To Do\r
 //\r
 \r
 // To Do\r
@@ -1778,3 +1777,17 @@ char *DWARFManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine)
        return NULL;\r
 }\r
 \r
        return NULL;\r
 }\r
 \r
+\r
+// Get number of source code filenames\r
+size_t DWARFManager_GetNbFullSourceFilename(void)\r
+{\r
+       return NbCU;\r
+}\r
+\r
+\r
+// Get source code filename based on index\r
+char *DWARFManager_GetNumFullSourceFilename(size_t Index)\r
+{\r
+       return (PtrCU[Index].PtrFullFilename);\r
+}\r
+\r
index f7f9744..7b66a74 100644 (file)
@@ -18,6 +18,8 @@ extern char *DWARFManager_GetLineSrcFromAdr(size_t Adr, size_t Tag);
 extern char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine);\r
 extern char *DWARFManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine);\r
 extern char *DWARFManager_GetFunctionName(size_t Adr);\r
 extern char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine);\r
 extern char *DWARFManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine);\r
 extern char *DWARFManager_GetFunctionName(size_t Adr);\r
+extern size_t DWARFManager_GetNbFullSourceFilename(void);\r
+extern char *DWARFManager_GetNumFullSourceFilename(size_t Index);\r
 \r
 // Global variables manager\r
 extern size_t DWARFManager_GetNbGlobalVariables(void);\r
 \r
 // Global variables manager\r
 extern size_t DWARFManager_GetNbGlobalVariables(void);\r
diff --git a/src/debugger/FilesrcListWin.cpp b/src/debugger/FilesrcListWin.cpp
new file mode 100644 (file)
index 0000000..8554c0f
--- /dev/null
@@ -0,0 +1,180 @@
+//
+// FilesrcListWin.cpp - List all source code filenames
+//
+// by Jean-Paul Mari
+//
+// JPM = Jean-Paul Mari <djipi.mari@gmail.com>
+//
+// Who  When        What
+// ---  ----------  -----------------------------------------------------------
+// JPM  09/23/2018  Created this file
+//
+
+// STILL TO DO:
+// Remove the 1st information, named '1', at the top
+// To allow source code file opening / viewing
+//
+
+#include "debugger/FilesrcListWin.h"
+//#include "memory.h"
+#include "debugger/DBGManager.h"
+
+
+//
+FilesrcListWindow::FilesrcListWindow(QWidget * parent/*= 0*/) : QWidget(parent, Qt::Dialog),
+layout(new QVBoxLayout),
+treeView(new QTreeView),
+standardModel(new QStandardItemModel),
+rootNode(new QStandardItem),
+filesrcItems(NULL),
+statusbar(new QStatusBar),
+nbItem(0)
+{
+       // Setup root
+       rootNode = standardModel->invisibleRootItem();
+       //register the model
+       treeView->setModel(standardModel);
+       treeView->expandAll();
+       layout->addWidget(treeView);
+
+       // Status bar
+       layout->addWidget(statusbar);
+       setLayout(layout);
+}
+
+
+//
+FilesrcListWindow::~FilesrcListWindow(void)
+{
+}
+
+
+//
+void FilesrcListWindow::Reset(void)
+{
+       standardModel->setRowCount(0);
+       free(filesrcItems);
+       filesrcItems = NULL;
+       nbItem = 0;
+}
+
+
+//
+void FilesrcListWindow::RefreshContents(void)
+{
+       size_t Error, Nbr;
+       char msg[1024];
+
+       if (!filesrcItems)
+       {
+               if ((Nbr = UpdateInfos()))
+               {
+                       sprintf(msg, "%i files found", Nbr);
+                       Error = FSL_NOERROR;
+               }
+               else
+               {
+                       sprintf(msg, "No files found");
+                       Error = FSL_NOFILESRCLIST;
+               }
+
+               // Display status bar
+               if (Error)
+               {
+                       if ((Error & FSL_WARNING))
+                       {
+                               statusbar->setStyleSheet("background-color: lightyellow; font: bold");
+                       }
+                       else
+                       {
+                               statusbar->setStyleSheet("background-color: tomato; font: bold");
+                       }
+               }
+               else
+               {
+                       statusbar->setStyleSheet("background-color: lightgreen; font: bold");
+               }
+               statusbar->showMessage(QString(msg));
+       }
+}
+
+
+//
+size_t FilesrcListWindow::UpdateInfos(void)
+{
+       size_t Nbr, i;
+
+       Nbr = DBGManager_GetNbFullSourceFilename();
+
+       for (i = 0; i < Nbr; i++)
+       {
+               AddFilename(DBGManager_GetNumFullSourceFilename(i), rootNode, 0);
+       }
+
+       return Nbr;
+}
+
+
+// Add source code filename in the list
+void FilesrcListWindow::AddFilename(char *FileName, QStandardItem *root, size_t ItemPos)
+{
+       char *Ptr = FileName;
+       Sfilesrcitem *PtrNewFilesrc;
+       char Buffer[255];
+       char a;
+
+#ifdef _MSC_VER
+       while ((a = *Ptr++) && (a != '\\'));
+#else
+       while ((a = *Ptr++) && (a != '/'));
+#endif
+       if (a)
+       {
+               strncpy(Buffer, FileName, (Ptr - FileName - 1));
+               Buffer[(Ptr - FileName - 1)] = 0;
+       }
+       else
+       {
+               strcpy(Buffer, FileName);
+       }
+       PtrNewFilesrc = (Sfilesrcitem *)AddItem(Buffer, ItemPos);
+       if (!PtrNewFilesrc->PreviousItem)
+       {
+               PtrNewFilesrc->PreviousItem = root;
+               root->appendRow(PtrNewFilesrc->Item);
+               PtrNewFilesrc->Item->setEditable(false);
+       }
+
+       if (a)
+       {
+               return (AddFilename(Ptr, PtrNewFilesrc->Item, (ItemPos + 1)));
+       }
+}
+
+
+// Add item to the list
+// Return void * on new item or already existing one
+void *FilesrcListWindow::AddItem(char *ItemName, size_t ItemPos)
+{
+       Sfilesrcitem *Ptr = filesrcItems;
+
+       // Look for already existing item
+       for (size_t i = 0; i < nbItem; i++)
+       {
+               if ((Ptr->column == ItemPos) && !strcmp(Ptr->Item->text().toLocal8Bit().constData(), ItemName))
+               {
+                       return Ptr;
+               }
+               else
+               {
+                       Ptr++;
+               }
+       }
+
+       // Add item in the list
+       filesrcItems = (Sfilesrcitem *)realloc(filesrcItems, (sizeof(Sfilesrcitem) * ++nbItem));
+       (filesrcItems + (nbItem - 1))->column = ItemPos;
+       (filesrcItems + (nbItem - 1))->PreviousItem = NULL;
+       (filesrcItems + (nbItem - 1))->Item = new QStandardItem(ItemName);
+       return (filesrcItems + (nbItem - 1));
+}
diff --git a/src/debugger/FilesrcListWin.h b/src/debugger/FilesrcListWin.h
new file mode 100644 (file)
index 0000000..7ddc938
--- /dev/null
@@ -0,0 +1,55 @@
+//
+// FilesrcListWin.h: List all source code filenames
+//
+// by Jean-Paul Mari
+//
+
+#ifndef __FILESRCLISTWIN_H__
+#define __FILESRCLISTWIN_H__
+
+#include <QtWidgets>
+#include <stdint.h>
+
+// Error code definitions
+#define        FSL_NOERROR                     0x00
+#define        FSL_ERROR                       0x80
+#define        FSL_WARNING                     0x40
+#define        FSL_NOFILESRCLIST       (0x01 | FSL_WARNING)
+
+
+// 
+class FilesrcListWindow: public QWidget
+{
+       Q_OBJECT
+
+       typedef struct _filesrcitem
+       {
+               size_t column;
+               QStandardItem *PreviousItem;
+               QStandardItem *Item;
+       }Sfilesrcitem;
+
+       public:
+               FilesrcListWindow(QWidget *parent = 0);
+               ~FilesrcListWindow(void);
+               void RefreshContents(void);
+               void Reset(void);
+
+       public slots:
+
+       protected:
+               void *AddItem(char *ItemName, size_t ItemPos);
+               void AddFilename(char *FileName, QStandardItem *root, size_t ItemPos);
+               size_t UpdateInfos(void);
+
+       private:
+               size_t nbItem;
+               QVBoxLayout *layout;
+               QTreeView *treeView;
+               QStandardItemModel *standardModel;
+               QStandardItem *rootNode;
+               Sfilesrcitem *filesrcItems;
+               QStatusBar *statusbar;
+};
+
+#endif // __FILESRCLISTWIN_H__
index cd312dc..ad3a838 100644 (file)
 // JLH  12/23/2009  Created this file\r
 // JLH  12/20/2010  Added settings, menus & toolbars\r
 // JLH  07/05/2011  Added CD BIOS functionality to GUI\r
 // JLH  12/23/2009  Created this file\r
 // JLH  12/20/2010  Added settings, menus & toolbars\r
 // JLH  07/05/2011  Added CD BIOS functionality to GUI\r
-// JPM  06/06/2016  Visual Studio support\r
-// JPM  06/19/2016  Soft debugger integration\r
+// JPM   June/2016  Visual Studio support & Soft debugger integration\r
 // JPM  01/11/2017  Added stack browser\r
 // JPM  01/11/2017  Added stack browser\r
-// JPM  01/02/2017  Added GPU disassembly\r
-// JPM  02/02/2017  Added DSP disassembly\r
+// JPM   Feb./2017  Added GPU/DSP disassembly\r
 // JPM  07/12/2017  Added all Watch window\r
 // JPM  07/12/2017  Added all Watch window\r
-// JPM  08/01/2017  Added heap allocator window\r
-// JPM  08/07/2017  Added memories window\r
-// JPM  08/10/2017  Added a restart feature\r
-// JPM  08/31/2017  Added breakpoints window [Not Supported]\r
-// JPM  09/01/2017  Save position & visibility windows status in the settings\r
-// JPM  09/02/2017  Save size windows in the settings\r
-// JPM  09/05/2017  Added Exception Vector Table window\r
-// JPM  09/06/2017  Added the 'Rx' word to the emulator window name\r
-// JPM  09/12/2017  Added the keybindings in the settings\r
+// JPM   Aug./2017  Added heap allocator and memories window, a restart feature, and a [Not Supported] breakpoints window\r
+// JPM  Sept./2017  Save position, size & visibility windows status in the settings; added Exception Vector Table window, the 'Rx' word to the emulator window name, and the keybindings in the settings\r
 // JPM  11/04/2017  Added the local window\r
 // JPM  08/31/2018  Added the call stack window\r
 // JPM  11/04/2017  Added the local window\r
 // JPM  08/31/2018  Added the call stack window\r
-// JPM  09/04/2018  Added the new Models and BIOS handler\r
-// JPM  09/17/2018  Added a screenshot feature\r
+// JPM  Sept./2018  Added the new Models and BIOS handler, a screenshot feature and source code files browsing\r
 //\r
 \r
 // FIXED:\r
 //\r
 \r
 // FIXED:\r
 #include "m68000/m68kinterface.h"\r
 \r
 //#include "debugger/VideoWin.h"\r
 #include "m68000/m68kinterface.h"\r
 \r
 //#include "debugger/VideoWin.h"\r
-#include "debugger/DasmWin.h"\r
+//#include "debugger/DasmWin.h"\r
 #include "debugger/m68KDasmWin.h"\r
 #include "debugger/GPUDasmWin.h"\r
 #include "debugger/DSPDasmWin.h"\r
 #include "debugger/memory1browser.h"\r
 #include "debugger/m68KDasmWin.h"\r
 #include "debugger/GPUDasmWin.h"\r
 #include "debugger/DSPDasmWin.h"\r
 #include "debugger/memory1browser.h"\r
-#include "debugger/brkWin.h"\r
+//#include "debugger/brkWin.h"\r
+#include "debugger/FilesrcListWin.h"\r
 #include "debugger/exceptionvectortablebrowser.h"\r
 #include "debugger/allwatchbrowser.h"\r
 #include "debugger/localbrowser.h"\r
 #include "debugger/exceptionvectortablebrowser.h"\r
 #include "debugger/allwatchbrowser.h"\r
 #include "debugger/localbrowser.h"\r
@@ -197,11 +188,11 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
                //VideoOutputWin = new VideoOutputWindow(this);\r
                //VideoOutputWin->setCentralWidget()\r
                //DasmWin = new DasmWindow();\r
                //VideoOutputWin = new VideoOutputWindow(this);\r
                //VideoOutputWin->setCentralWidget()\r
                //DasmWin = new DasmWindow();\r
-               DasmWin = new DasmWindow(this);\r
+               //DasmWin = new DasmWindow(this);\r
                allWatchBrowseWin = new AllWatchBrowserWindow(this);\r
                LocalBrowseWin = new LocalBrowserWindow(this);\r
                heapallocatorBrowseWin = new HeapAllocatorBrowserWindow(this);\r
                allWatchBrowseWin = new AllWatchBrowserWindow(this);\r
                LocalBrowseWin = new LocalBrowserWindow(this);\r
                heapallocatorBrowseWin = new HeapAllocatorBrowserWindow(this);\r
-               brkWin = new BrkWindow(this);\r
+               //brkWin = new BrkWindow(this);\r
                exceptionvectortableBrowseWin = new ExceptionVectorTableBrowserWindow(this);\r
                CallStackBrowseWin = new CallStackBrowserWindow(this);\r
 \r
                exceptionvectortableBrowseWin = new ExceptionVectorTableBrowserWindow(this);\r
                CallStackBrowseWin = new CallStackBrowserWindow(this);\r
 \r
@@ -216,21 +207,30 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
                        mem1BrowseWin[i] = new Memory1BrowserWindow(this);\r
                }\r
 \r
                        mem1BrowseWin[i] = new Memory1BrowserWindow(this);\r
                }\r
 \r
+               // Setup dock to display source code filenames tree\r
+               QDockWidget *dockFiles = new QDockWidget(tr("Files"), this);\r
+               dockFiles->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);\r
+               dockFiles->hide();\r
+               addDockWidget(Qt::LeftDockWidgetArea, dockFiles);\r
+               mainWindowCentrale->addAction(dockFiles->toggleViewAction());\r
+               dockFiles->setWidget(FilesrcListWin = new FilesrcListWindow(this));\r
+#if 0\r
+               // Setup dock to display disassembly\r
+               QDockWidget *dockDisasm = new QDockWidget(tr("Disassembly"), this);\r
+               dockDisasm->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);\r
+               addDockWidget(Qt::RightDockWidgetArea, dockDisasm);\r
+               mainWindowCentrale->addAction(dockDisasm->toggleViewAction());\r
+               dockDisasm->setWidget(dasmtabWidget = new QTabWidget(this));\r
+#else\r
                dasmtabWidget = new QTabWidget(this);\r
                dasmtabWidget = new QTabWidget(this);\r
+#endif\r
+               // Setup disasm tabs\r
                dasmtabWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);\r
                dasmtabWidget->addTab(m68kDasmWin = new m68KDasmWindow(this), tr("M68000"));\r
                dasmtabWidget->addTab(GPUDasmWin = new GPUDasmWindow(this), tr("GPU"));\r
                dasmtabWidget->addTab(DSPDasmWin = new DSPDasmWindow(this), tr("DSP"));\r
                dasmtabWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);\r
                dasmtabWidget->addTab(m68kDasmWin = new m68KDasmWindow(this), tr("M68000"));\r
                dasmtabWidget->addTab(GPUDasmWin = new GPUDasmWindow(this), tr("GPU"));\r
                dasmtabWidget->addTab(DSPDasmWin = new DSPDasmWindow(this), tr("DSP"));\r
-               ////dasmtabWidget->addTab(m68kDasmBrowseWin, tr("M68000"));\r
+#if 1\r
                setCentralWidget(dasmtabWidget);\r
                setCentralWidget(dasmtabWidget);\r
-\r
-#if 0\r
-               QDockWidget *shapesDockWidget = new QDockWidget(tr("Shapes"));\r
-               shapesDockWidget->setObjectName("shapesDockWidget");\r
-               shapesDockWidget->setWidget(m68kDasmWin);\r
-               //shapesDockWidget->setWidget(treeWidget);\r
-               shapesDockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);\r
-               addDockWidget(Qt::LeftDockWidgetArea, shapesDockWidget);\r
 #endif\r
        }\r
 \r
 #endif\r
        }\r
 \r
@@ -484,13 +484,13 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
 \r
        if (vjs.softTypeDebugger)\r
        {\r
 \r
        if (vjs.softTypeDebugger)\r
        {\r
-               VideoOutputAct = new QAction(tr("Output Video"), this);\r
-               VideoOutputAct->setStatusTip(tr("Shows the output video window"));\r
-               connect(VideoOutputAct, SIGNAL(triggered()), this, SLOT(ShowVideoOutputWin()));\r
+               //VideoOutputAct = new QAction(tr("Output Video"), this);\r
+               //VideoOutputAct->setStatusTip(tr("Shows the output video window"));\r
+               //connect(VideoOutputAct, SIGNAL(triggered()), this, SLOT(ShowVideoOutputWin()));\r
 \r
 \r
-               DasmAct = new QAction(tr("Disassembly"), this);\r
-               DasmAct->setStatusTip(tr("Shows the disassembly window"));\r
-               connect(DasmAct, SIGNAL(triggered()), this, SLOT(ShowDasmWin()));\r
+               //DasmAct = new QAction(tr("Disassembly"), this);\r
+               //DasmAct->setStatusTip(tr("Shows the disassembly window"));\r
+               //connect(DasmAct, SIGNAL(triggered()), this, SLOT(ShowDasmWin()));\r
        }\r
 \r
        // Misc. connections...\r
        }\r
 \r
        // Misc. connections...\r
@@ -580,7 +580,7 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
 \r
        // Create toolbars\r
 \r
 \r
        // Create toolbars\r
 \r
-       toolbar = addToolBar(tr("Stuff"));\r
+       toolbar = addToolBar(tr("System"));\r
        toolbar->addAction(powerAct);\r
        if (!vjs.softTypeDebugger)\r
        {\r
        toolbar->addAction(powerAct);\r
        if (!vjs.softTypeDebugger)\r
        {\r
@@ -1093,7 +1093,7 @@ static uint32_t refresh = 0;
                {\r
                        if (refresh == vjs.refresh)\r
                        {\r
                {\r
                        if (refresh == vjs.refresh)\r
                        {\r
-                               RefreshAlpineWindows();\r
+                               AlpineRefreshWindows();\r
                                //memBrowseWin->RefreshContents();\r
                                //cpuBrowseWin->RefreshContents();\r
                                refresh = 0;\r
                                //memBrowseWin->RefreshContents();\r
                                //cpuBrowseWin->RefreshContents();\r
                                refresh = 0;\r
@@ -1440,8 +1440,8 @@ void MainWin::ToggleCDUsage(void)
 //\r
 void MainWin::NewBreakpointFunction(void)\r
 {\r
 //\r
 void MainWin::NewBreakpointFunction(void)\r
 {\r
-       brkWin->show();\r
-       brkWin->RefreshContents();\r
+       //brkWin->show();\r
+       //brkWin->RefreshContents();\r
 }\r
 \r
 \r
 }\r
 \r
 \r
@@ -1674,13 +1674,18 @@ void MainWin::ShowRISCDasmBrowserWin(void)
 }\r
 \r
 \r
 }\r
 \r
 \r
+//\r
+#if 0\r
 void   MainWin::ShowDasmWin(void)\r
 {\r
 void   MainWin::ShowDasmWin(void)\r
 {\r
-       DasmWin->show();\r
+//     DasmWin->show();\r
 //     DasmWin->RefreshContents();\r
 }\r
 //     DasmWin->RefreshContents();\r
 }\r
+#endif\r
 \r
 \r
 \r
 \r
+// \r
+#if 0\r
 void MainWin::ShowVideoOutputWin(void)\r
 {\r
        //VideoOutputWindowCentrale = mainWindowCentrale->addSubWindow(videoWidget);\r
 void MainWin::ShowVideoOutputWin(void)\r
 {\r
        //VideoOutputWindowCentrale = mainWindowCentrale->addSubWindow(videoWidget);\r
@@ -1690,6 +1695,7 @@ void MainWin::ShowVideoOutputWin(void)
        //VideoOutputWin->show();\r
        //VideoOutputWin->RefreshContents(videoWidget);\r
 }\r
        //VideoOutputWin->show();\r
        //VideoOutputWin->RefreshContents(videoWidget);\r
 }\r
+#endif\r
 \r
 \r
 void MainWin::ResizeMainWindow(void)\r
 \r
 \r
 void MainWin::ResizeMainWindow(void)\r
@@ -2176,7 +2182,7 @@ void MainWin::WriteUISettings(void)
 \r
 \r
 // Refresh alpine debug windows\r
 \r
 \r
 // Refresh alpine debug windows\r
-void   MainWin::RefreshAlpineWindows(void)\r
+void MainWin::AlpineRefreshWindows(void)\r
 {\r
        cpuBrowseWin->RefreshContents();\r
        memBrowseWin->RefreshContents();\r
 {\r
        cpuBrowseWin->RefreshContents();\r
        memBrowseWin->RefreshContents();\r
@@ -2193,6 +2199,7 @@ void MainWin::DebuggerResetWindows(void)
 {\r
        if (vjs.softTypeDebugger)\r
        {\r
 {\r
        if (vjs.softTypeDebugger)\r
        {\r
+               FilesrcListWin->Reset();\r
                allWatchBrowseWin->Reset();\r
                heapallocatorBrowseWin->Reset();\r
 \r
                allWatchBrowseWin->Reset();\r
                heapallocatorBrowseWin->Reset();\r
 \r
@@ -2208,6 +2215,7 @@ void MainWin::DebuggerRefreshWindows(void)
 \r
        if (vjs.softTypeDebugger)\r
        {\r
 \r
        if (vjs.softTypeDebugger)\r
        {\r
+               FilesrcListWin->RefreshContents();\r
                m68kDasmWin->RefreshContents();\r
                GPUDasmWin->RefreshContents();\r
                DSPDasmWin->RefreshContents();\r
                m68kDasmWin->RefreshContents();\r
                GPUDasmWin->RefreshContents();\r
                DSPDasmWin->RefreshContents();\r
@@ -2220,7 +2228,7 @@ void MainWin::DebuggerRefreshWindows(void)
                        mem1BrowseWin[i]->RefreshContents(i);\r
                }\r
 \r
                        mem1BrowseWin[i]->RefreshContents(i);\r
                }\r
 \r
-               RefreshAlpineWindows();\r
+               AlpineRefreshWindows();\r
        }\r
 }\r
 \r
        }\r
 }\r
 \r
index ac98b38..bcf12b1 100644 (file)
 \r
 // Main windows\r
 class GLWidget;\r
 \r
 // Main windows\r
 class GLWidget;\r
-class VideoWindow;\r
+//class VideoWindow;\r
 class AboutWindow;\r
 class HelpWindow;\r
 class FilePickerWindow;\r
 //class VideoOutputWindow;\r
 class AboutWindow;\r
 class HelpWindow;\r
 class FilePickerWindow;\r
 //class VideoOutputWindow;\r
-class DasmWindow;\r
+//class DasmWindow;\r
 class m68KDasmWindow;\r
 class GPUDasmWindow;\r
 class DSPDasmWindow;\r
 class m68KDasmWindow;\r
 class GPUDasmWindow;\r
 class DSPDasmWindow;\r
@@ -41,10 +41,12 @@ class LocalBrowserWindow;
 class CallStackBrowserWindow;\r
 class HeapAllocatorBrowserWindow;\r
 class Memory1BrowserWindow;\r
 class CallStackBrowserWindow;\r
 class HeapAllocatorBrowserWindow;\r
 class Memory1BrowserWindow;\r
-class BrkWindow;\r
+//class BrkWindow;\r
 class ExceptionVectorTableBrowserWindow;\r
 class ExceptionVectorTableBrowserWindow;\r
+class FilesrcListWindow;\r
 \r
 \r
 \r
 \r
+// \r
 class MainWin: public QMainWindow\r
 {\r
        // All Qt apps require this macro for signal/slot functionality to work\r
 class MainWin: public QMainWindow\r
 {\r
        // All Qt apps require this macro for signal/slot functionality to work\r
@@ -55,9 +57,9 @@ class MainWin: public QMainWindow
                MainWin(bool);\r
                void LoadFile(QString);\r
                void SyncUI(void);\r
                MainWin(bool);\r
                void LoadFile(QString);\r
                void SyncUI(void);\r
-               void    DebuggerRefreshWindows(void);\r
-               void    DebuggerResetWindows(void);\r
-               void    RefreshAlpineWindows(void);\r
+               void DebuggerRefreshWindows(void);\r
+               void DebuggerResetWindows(void);\r
+               void AlpineRefreshWindows(void);\r
 \r
        protected:\r
                void closeEvent(QCloseEvent *);\r
 \r
        protected:\r
                void closeEvent(QCloseEvent *);\r
@@ -97,8 +99,8 @@ class MainWin: public QMainWindow
                void ShowMemory1BrowserWin(int NumWin);\r
                void ShowExceptionVectorTableBrowserWin(void);\r
                void NewBreakpointFunction(void);\r
                void ShowMemory1BrowserWin(int NumWin);\r
                void ShowExceptionVectorTableBrowserWin(void);\r
                void NewBreakpointFunction(void);\r
-               void ShowVideoOutputWin(void);\r
-               void ShowDasmWin(void);\r
+               //void ShowVideoOutputWin(void);\r
+               //void ShowDasmWin(void);\r
                // Alpine\r
                void ShowMemoryBrowserWin(void);\r
                void ShowStackBrowserWin(void);\r
                // Alpine\r
                void ShowMemoryBrowserWin(void);\r
                void ShowStackBrowserWin(void);\r
@@ -121,31 +123,32 @@ class MainWin: public QMainWindow
                GLWidget *videoWidget;\r
                QMdiArea *mainWindowCentrale;\r
                QMdiSubWindow *VideoOutputWindowCentrale;\r
                GLWidget *videoWidget;\r
                QMdiArea *mainWindowCentrale;\r
                QMdiSubWindow *VideoOutputWindowCentrale;\r
-               AboutWindow * aboutWin;\r
-               HelpWindow * helpWin;\r
-               FilePickerWindow * filePickWin;\r
-               EmuStatusWindow * emuStatusWin;\r
-               MemoryBrowserWindow * memBrowseWin;\r
-               StackBrowserWindow * stackBrowseWin;\r
-               CPUBrowserWindow * cpuBrowseWin;\r
-               OPBrowserWindow * opBrowseWin;\r
-               M68KDasmBrowserWindow * m68kDasmBrowseWin;\r
-               RISCDasmBrowserWindow * riscDasmBrowseWin;\r
-               //VideoOutputWindow * VideoOutputWin;\r
+               AboutWindow *aboutWin;\r
+               HelpWindow *helpWin;\r
+               FilePickerWindow *filePickWin;\r
+               EmuStatusWindow *emuStatusWin;\r
+               MemoryBrowserWindow *memBrowseWin;\r
+               StackBrowserWindow *stackBrowseWin;\r
+               CPUBrowserWindow *cpuBrowseWin;\r
+               OPBrowserWindow *opBrowseWin;\r
+               M68KDasmBrowserWindow *m68kDasmBrowseWin;\r
+               RISCDasmBrowserWindow *riscDasmBrowseWin;\r
+               //VideoOutputWindow *VideoOutputWin;\r
                AllWatchBrowserWindow *allWatchBrowseWin;\r
                LocalBrowserWindow *LocalBrowseWin;\r
                CallStackBrowserWindow *CallStackBrowseWin;\r
                ExceptionVectorTableBrowserWindow *exceptionvectortableBrowseWin;\r
                HeapAllocatorBrowserWindow *heapallocatorBrowseWin;\r
                Memory1BrowserWindow **mem1BrowseWin;\r
                AllWatchBrowserWindow *allWatchBrowseWin;\r
                LocalBrowserWindow *LocalBrowseWin;\r
                CallStackBrowserWindow *CallStackBrowseWin;\r
                ExceptionVectorTableBrowserWindow *exceptionvectortableBrowseWin;\r
                HeapAllocatorBrowserWindow *heapallocatorBrowseWin;\r
                Memory1BrowserWindow **mem1BrowseWin;\r
-               DasmWindow * DasmWin;\r
+               //DasmWindow * DasmWin;\r
                QTabWidget *dasmtabWidget;\r
                //QDockWidget *dasmtabWidget;\r
                m68KDasmWindow *m68kDasmWin;\r
                GPUDasmWindow *GPUDasmWin;\r
                DSPDasmWindow *DSPDasmWin;\r
                QTabWidget *dasmtabWidget;\r
                //QDockWidget *dasmtabWidget;\r
                m68KDasmWindow *m68kDasmWin;\r
                GPUDasmWindow *GPUDasmWin;\r
                DSPDasmWindow *DSPDasmWin;\r
-               BrkWindow *brkWin;\r
-               QTimer * timer;\r
+               FilesrcListWindow *FilesrcListWin;\r
+               //BrkWindow *brkWin;\r
+               QTimer *timer;\r
                bool running;\r
                int zoomLevel;\r
                bool powerButtonOn;\r
                bool running;\r
                int zoomLevel;\r
                bool powerButtonOn;\r
@@ -204,7 +207,7 @@ class MainWin: public QMainWindow
                QAction *traceStepIntoAct;\r
                QAction *restartAct;\r
                QAction * fullScreenAct;\r
                QAction *traceStepIntoAct;\r
                QAction *restartAct;\r
                QAction * fullScreenAct;\r
-               QAction *DasmAct;\r
+               //QAction *DasmAct;\r
                QAction *screenshotAct;;\r
 \r
                // Alpine\r
                QAction *screenshotAct;;\r
 \r
                // Alpine\r
@@ -216,7 +219,7 @@ class MainWin: public QMainWindow
                QAction *riscDasmBrowseAct;\r
 \r
                // Debugger\r
                QAction *riscDasmBrowseAct;\r
 \r
                // Debugger\r
-               QAction *VideoOutputAct;\r
+               //QAction *VideoOutputAct;\r
                QAction *heapallocatorBrowseAct;\r
                QAction *allWatchBrowseAct;\r
                QAction *LocalBrowseAct;\r
                QAction *heapallocatorBrowseAct;\r
                QAction *allWatchBrowseAct;\r
                QAction *LocalBrowseAct;\r
index db75531..7d33423 100644 (file)
@@ -119,7 +119,8 @@ HEADERS = \
        src/debugger/memory1browser.h \\r
        src/debugger/heapallocatorbrowser.h \\r
        src/debugger/brkWin.h \\r
        src/debugger/memory1browser.h \\r
        src/debugger/heapallocatorbrowser.h \\r
        src/debugger/brkWin.h \\r
-       src/debugger/VideoWin.h \\r
+       src/debugger/VideoWin.h \r
+       src/debugger/FilesrcListWin.h \\r
        src/debugger/callstackbrowser.h \\r
        src/debugger/exceptionvectortablebrowser.h \\r
        src/log.h \\r
        src/debugger/callstackbrowser.h \\r
        src/debugger/exceptionvectortablebrowser.h \\r
        src/log.h \\r
@@ -171,6 +172,7 @@ SOURCES = \
        src/debugger/heapallocatorbrowser.cpp \\r
        src/debugger/brkWin.cpp \\r
        src/debugger/VideoWin.cpp \\r
        src/debugger/heapallocatorbrowser.cpp \\r
        src/debugger/brkWin.cpp \\r
        src/debugger/VideoWin.cpp \\r
+       src/debugger/FilesrcListWin.cpp \\r
        src/debugger/exceptionvectortablebrowser.cpp \\r
        src/debugger/callstackbrowser.cpp \\r
        src/log.cpp \\r
        src/debugger/exceptionvectortablebrowser.cpp \\r
        src/debugger/callstackbrowser.cpp \\r
        src/log.cpp \\r