Added the return address information in the call stack
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / memory1browser.cpp
index 71c3473..c13f9ed 100644 (file)
 
 //
 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;
@@ -38,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()));
@@ -125,9 +115,7 @@ void Memory1BrowserWindow::keyPressEvent(QKeyEvent * e)
        {
                if (e->key() == Qt::Key_PageUp)
                {
-                       memBase -= 480;
-
-                       if (memBase < 0)
+                       if ((memBase -= 480) < 0)
                        {
                                memBase = 0;
                        }
@@ -138,9 +126,7 @@ void Memory1BrowserWindow::keyPressEvent(QKeyEvent * e)
                {
                        if (e->key() == Qt::Key_PageDown)
                        {
-                               memBase += 480;
-
-                               if (memBase > (vjs.DRAM_size - 480))
+                               if ((memBase += 480) > (vjs.DRAM_size - 480))
                                {
                                        memBase = vjs.DRAM_size - 480;
                                }
@@ -151,9 +137,7 @@ 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;
                                        }
@@ -164,9 +148,7 @@ void Memory1BrowserWindow::keyPressEvent(QKeyEvent * e)
                                {
                                        if (e->key() == Qt::Key_Down || e->key() == Qt::Key_Equal)
                                        {
-                                               memBase += 16;
-
-                                               if (memBase > (vjs.DRAM_size - 480))
+                                               if ((memBase += 16) > (vjs.DRAM_size - 480))
                                                {
                                                        memBase = vjs.DRAM_size - 480;
                                                }
@@ -192,15 +174,16 @@ 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.size())
+       if ((len = newAddress.size()))
        {
-               if ((newAddress.at(0) == QChar('0')) && (newAddress.at(1) == QChar('x')))
+               if ((len > 1) && (newAddress.at(0) == QChar('0')) && (newAddress.at(1) == QChar('x')))
                {
                        newmemBase = newAddress.toUInt(&ok, 16);
                }