Debugger sources code clean-up
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / memory1browser.cpp
index a66896a..c13f9ed 100644 (file)
 
 #include "memory1browser.h"
 #include "memory.h"
-#include "debugger\DBGManager.h"
+#include "debugger/DBGManager.h"
+#include "settings.h"
 
 
 //
 Memory1BrowserWindow::Memory1BrowserWindow(QWidget * parent/*= 0*/): QWidget(parent, Qt::Dialog),
-//     layout(new QVBoxLayout), text(new QTextBrowser),
        layout(new QVBoxLayout), text(new QLabel),
        refresh(new QPushButton(tr("Refresh"))),
        address(new QLineEdit),
        go(new QPushButton(tr("Go"))),
        memBase(0), memOrigin(0), NumWinOrigin(0)
 {
-       //setWindowTitle(tr("Memory 1 Browser"));
-
-       //address->setInputMask("hhhhhh");
        address->setPlaceholderText("0x<value>, decimal value or symbol name");
 
        QHBoxLayout * hbox1 = new QHBoxLayout;
@@ -37,18 +34,12 @@ Memory1BrowserWindow::Memory1BrowserWindow(QWidget * parent/*= 0*/): QWidget(par
        hbox1->addWidget(address);
        hbox1->addWidget(go);
 
-       // Need to set the size as well...
-//     resize(560, 480);
-
        QFont fixedFont("Lucida Console", 8, QFont::Normal);
-//     QFont fixedFont("", 8, QFont::Normal);
        fixedFont.setStyleHint(QFont::TypeWriter);
        text->setFont(fixedFont);
-////   layout->setSizeConstraint(QLayout::SetFixedSize);
        setLayout(layout);
 
        layout->addWidget(text);
-       //layout->addWidget(refresh);
        layout->addLayout(hbox1);
 
        connect(refresh, SIGNAL(clicked()), this, SLOT(RefreshContentsWindow()));
@@ -63,9 +54,8 @@ void Memory1BrowserWindow::RefreshContents(size_t NumWin)
 
        if (isVisible())
        {
-               sprintf(string, "Memory %i - %06X", (unsigned int)((NumWinOrigin = NumWin) + 1), (unsigned int)memOrigin);
+               sprintf(string, "Memory %i - 0x%06X", (unsigned int)((NumWinOrigin = NumWin) + 1), (unsigned int)memOrigin);
                setWindowTitle(tr(string));
-
                RefreshContentsWindow();
        }
 }
@@ -125,10 +115,10 @@ void Memory1BrowserWindow::keyPressEvent(QKeyEvent * e)
        {
                if (e->key() == Qt::Key_PageUp)
                {
-                       memBase -= 480;
-
-                       if (memBase < 0)
+                       if ((memBase -= 480) < 0)
+                       {
                                memBase = 0;
+                       }
 
                        RefreshContentsWindow();
                }
@@ -136,10 +126,10 @@ void Memory1BrowserWindow::keyPressEvent(QKeyEvent * e)
                {
                        if (e->key() == Qt::Key_PageDown)
                        {
-                               memBase += 480;
-
-                               if (memBase > (0x200000 - 480))
-                                       memBase = 0x200000 - 480;
+                               if ((memBase += 480) > (vjs.DRAM_size - 480))
+                               {
+                                       memBase = vjs.DRAM_size - 480;
+                               }
 
                                RefreshContentsWindow();
                        }
@@ -147,10 +137,10 @@ void Memory1BrowserWindow::keyPressEvent(QKeyEvent * e)
                        {
                                if (e->key() == Qt::Key_Up || e->key() == Qt::Key_Minus)
                                {
-                                       memBase -= 16;
-
-                                       if (memBase < 0)
+                                       if ((memBase -= 16) < 0)
+                                       {
                                                memBase = 0;
+                                       }
 
                                        RefreshContentsWindow();
                                }
@@ -158,10 +148,10 @@ void Memory1BrowserWindow::keyPressEvent(QKeyEvent * e)
                                {
                                        if (e->key() == Qt::Key_Down || e->key() == Qt::Key_Equal)
                                        {
-                                               memBase += 16;
-
-                                               if (memBase > (0x200000 - 480))
-                                                       memBase = 0x200000 - 480;
+                                               if ((memBase += 16) > (vjs.DRAM_size - 480))
+                                               {
+                                                       memBase = vjs.DRAM_size - 480;
+                                               }
 
                                                RefreshContentsWindow();
                                        }
@@ -184,22 +174,41 @@ void Memory1BrowserWindow::keyPressEvent(QKeyEvent * e)
 void Memory1BrowserWindow::GoToAddress(void)
 {
        bool ok;
+       size_t len;
        QString newAddress;
+       size_t newmemBase;
 
+       QPalette p = address->palette();
        newAddress = address->text();
 
-       if (( newAddress.at(0) == QChar('0')) && (newAddress.at(1) == QChar('x')))
+       if ((len = newAddress.size()))
        {
-               memBase = newAddress.toUInt(&ok, 16);
-       }
-       else
-       {
-               if (!(memBase = DBGManager_GetAdrFromSymbolName(newAddress.toLatin1().data())))
+               if ((len > 1) && (newAddress.at(0) == QChar('0')) && (newAddress.at(1) == QChar('x')))
                {
-                       memBase = newAddress.toUInt(&ok, 10);
+                       newmemBase = newAddress.toUInt(&ok, 16);
+               }
+               else
+               {
+                       if (!(newmemBase = DBGManager_GetAdrFromSymbolName(newAddress.toLatin1().data())))
+                       {
+                               newmemBase = newAddress.toUInt(&ok, 10);
+                       }
+                       else
+                       {
+                               ok = true;
+                       }
                }
-       }
 
-       memOrigin = memBase;
-       RefreshContents(NumWinOrigin);
+               if (!ok || (newmemBase < 0) || (newmemBase > vjs.DRAM_size))
+               {
+                       p.setColor(QPalette::Text, Qt::red);
+               }
+               else
+               {
+                       p.setColor(QPalette::Text, Qt::black);
+                       memOrigin = (memBase = newmemBase);
+                       RefreshContents(NumWinOrigin);
+               }
+               address->setPalette(p);
+       }
 }