[avida-cvs] avida(kaben) CVS commits: /current/source/main/unit_testsuites Makefile.am /current/source/qt-viewer Makefile.am avd_instruction_viewer_controller.cc n_orig_instruction_buttons_widget.cc n_orig_instruction_cpu_widget.cc n_orig_instruction_cpu_widget.hh
kaben
avida-cvs at alife.org
Mon Oct 13 18:00:52 PDT 2003
kaben Mon Oct 13 10:00:52 2003 EDT
Modified files: (Branch: kaben)
/avida/current/source/main/unit_testsuites Makefile.am
/avida/current/source/qt-viewer Makefile.am
avd_instruction_viewer_controller.cc
n_orig_instruction_buttons_widget.cc
n_orig_instruction_cpu_widget.cc
n_orig_instruction_cpu_widget.hh
Log:
Instruction viewer:
- binary / hex / decimal numbers from registers/stacks should now display
unsigned.
- narrowed register/stacks data fields a little bit. hope they're not
too narrow under windows...
- summary data fields no longer use microscopic font.
- summary data is now in a scrollview so that the instruction viewer can
be shortened.
- stack popup windows autosize according to which base of number system
used.
- stack popup windows are correctly positioned over corresponding stack
fields on first opening.
Bugfix:
- verify that work directory is writable.
-------------- next part --------------
Index: avida/current/source/main/unit_testsuites/Makefile.am
diff -u avida/current/source/main/unit_testsuites/Makefile.am:1.1.2.1 avida/current/source/main/unit_testsuites/Makefile.am:1.1.2.2
--- avida/current/source/main/unit_testsuites/Makefile.am:1.1.2.1 Fri Oct 3 13:46:45 2003
+++ avida/current/source/main/unit_testsuites/Makefile.am Mon Oct 13 10:00:49 2003
@@ -4,7 +4,7 @@
EXTRA_DIST += demo.hello
noinst_PROGRAMS = hello
-hello_SOURCES = demo.hello/hello.cc
+hello_SOURCES = hello.cc
if DEFAULT_TESTS
TESTSUITES += demo
endif
Index: avida/current/source/qt-viewer/Makefile.am
diff -u avida/current/source/qt-viewer/Makefile.am:1.44.2.12 avida/current/source/qt-viewer/Makefile.am:1.44.2.13
--- avida/current/source/qt-viewer/Makefile.am:1.44.2.12 Tue Sep 23 20:57:43 2003
+++ avida/current/source/qt-viewer/Makefile.am Mon Oct 13 10:00:50 2003
@@ -11,7 +11,7 @@
#
#if QMAKE_WARN
#QMAKE_OPTIONS+="CONFIG*=warn-on"
-#else
+
#QMAKE_OPTIONS+="CONFIG*=warn-off"
#endif
Index: avida/current/source/qt-viewer/avd_instruction_viewer_controller.cc
diff -u avida/current/source/qt-viewer/avd_instruction_viewer_controller.cc:1.1.2.4 avida/current/source/qt-viewer/avd_instruction_viewer_controller.cc:1.1.2.5
--- avida/current/source/qt-viewer/avd_instruction_viewer_controller.cc:1.1.2.4 Tue Sep 23 20:57:43 2003
+++ avida/current/source/qt-viewer/avd_instruction_viewer_controller.cc Mon Oct 13 10:00:51 2003
@@ -1,6 +1,3 @@
-
-
-
#ifndef AVD_INSTRUCTIONS_VIEW_CONTROLLER_HH
#include "avd_instruction_viewer_controller.hh"
#endif
Index: avida/current/source/qt-viewer/n_orig_instruction_buttons_widget.cc
diff -u avida/current/source/qt-viewer/n_orig_instruction_buttons_widget.cc:1.6.2.4 avida/current/source/qt-viewer/n_orig_instruction_buttons_widget.cc:1.6.2.5
--- avida/current/source/qt-viewer/n_orig_instruction_buttons_widget.cc:1.6.2.4 Tue Sep 23 20:57:43 2003
+++ avida/current/source/qt-viewer/n_orig_instruction_buttons_widget.cc Mon Oct 13 10:00:51 2003
@@ -43,10 +43,10 @@
{
GenDebug("constructor.");
- m_vboxlayout = new QVBoxLayout(this);
- m_hboxlayout1 = new QHBoxLayout(m_vboxlayout);
+ m_vboxlayout = new QVBoxLayout(this, 0, -1, "<N_Instruction_ButtonsWidget::m_vboxlayout1>");
+ m_hboxlayout1 = new QHBoxLayout(m_vboxlayout, -1, "<N_Instruction_ButtonsWidget::m_hboxlayout1>");
//m_vboxlayout->addLayout(m_hboxlayout1);
- m_widgetstack = new QWidgetStack(this);
+ m_widgetstack = new QWidgetStack(this, "<N_Instruction_ButtonsWidget::m_widgetstack>");
m_hboxlayout1->addWidget(m_widgetstack);
m_stop_pbutton = new QPushButton("Stop", this);
@@ -64,8 +64,7 @@
m_update_pbutton = new QPushButton("Update", this);
m_hboxlayout1->addWidget(m_update_pbutton);
- m_hboxlayout2 = new QHBoxLayout(this);
- m_vboxlayout->addLayout(m_hboxlayout2);
+ m_hboxlayout2 = new QHBoxLayout(m_vboxlayout, -1, "<N_Instruction_ButtonsWidget::m_hboxlayout2>");
m_hboxlayout2->addItem(new QSpacerItem(20, 20));
Index: avida/current/source/qt-viewer/n_orig_instruction_cpu_widget.cc
diff -u avida/current/source/qt-viewer/n_orig_instruction_cpu_widget.cc:1.13.2.7 avida/current/source/qt-viewer/n_orig_instruction_cpu_widget.cc:1.13.2.8
--- avida/current/source/qt-viewer/n_orig_instruction_cpu_widget.cc:1.13.2.7 Thu Oct 2 17:04:49 2003
+++ avida/current/source/qt-viewer/n_orig_instruction_cpu_widget.cc Mon Oct 13 10:00:51 2003
@@ -11,6 +11,9 @@
#ifndef QDESKTOPWIDGET_H
#include <qdesktopwidget.h>
#endif
+#ifndef QHBOX_H
+#include <qhbox.h>
+#endif
#ifndef QHBUTTONGROUP_H
#include <qhbuttongroup.h>
#endif
@@ -26,14 +29,11 @@
#ifndef QRADIOBUTTON_H
#include <qradiobutton.h>
#endif
-#ifndef QSCROLLVIEW_H
-#include <qscrollview.h>
+#ifndef QTABWIDGET_H
+#include <qtabwidget.h>
#endif
-#ifndef QHBOX_H
-#include <qhbox.h>
-#endif
-#ifndef QVBOX_H
-#include <qvbox.h>
+#ifndef QVGROUPBOX_H
+#include <qvgroupbox.h>
#endif
#ifndef QWIDGETSTACK_H
#include <qwidgetstack.h>
@@ -85,14 +85,14 @@
m_hboxlayout = new QHBoxLayout(this);
m_title_label = new QLabel(this);
- QFont new_font(m_title_label->font());
- new_font.setPointSize(new_font.pointSize() - 4);
- setFont(new_font);
- m_title_label->setFont(new_font);
+ //QFont new_font(m_title_label->font());
+ //new_font.setPointSize(new_font.pointSize() - 4);
+ //setFont(new_font);
+ //m_title_label->setFont(new_font);
m_hboxlayout->addWidget(m_title_label);
m_data1_label = new QLabel(this);
- m_data1_label->setFont(new_font);
+ //m_data1_label->setFont(new_font);
m_data1_label->setAlignment((m_data1_label->alignment() & !(Qt::AlignRight)) | Qt::AlignRight);
m_data1_label->setSizePolicy(QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Fixed));
m_hboxlayout->addWidget(m_data1_label);
@@ -110,11 +110,11 @@
}
void cLabeledField::setData2Text(const QString &text)
{ m_data2_label->setText(text); }
-void cLabeledField::setData2Binary(unsigned int value)
+void cLabeledField::setData2Binary(unsigned long value)
{ m_data2_label->setText(QString("[%1]").arg(value, 0, 2)); }
void cLabeledField::setData2BinaryWidth(void){
int zwidth = QApplication::fontMetrics().width("0");
- m_data2_label->setMinimumWidth(34 * zwidth);
+ m_data2_label->setMinimumWidth(30 * zwidth);
}
void cLabeledField::setData1DecimalWidth(void){
int zwidth = QApplication::fontMetrics().width("0");
@@ -128,7 +128,7 @@
m_base = base;
int zwidth = QApplication::fontMetrics().width("0");
if(base<10){
- m_data1_label->setMinimumWidth(34 * zwidth);
+ m_data1_label->setMinimumWidth(25 * zwidth);
} else if (10<=base && base<16){
m_data1_label->setMinimumWidth(11 * zwidth);
} else if (16<=base){
@@ -137,16 +137,14 @@
}
-cSummaryWidget::cSummaryWidget(QWidget *parent, const char *name)
-: QGroupBox(parent, name)
+cSummaryWidget::cSummaryWidget(QWidget *parent, const char *name, WFlags f)
+: QVBox(parent, name, f)
{
GenDebug("entered.");
- setTitle("Summary");
- setColumns(1);
//setInsideSpacing(0);
-
- cout << "stuff\n";
+
+ setMargin(2);
m_genotype_id = new cLabeledField(this);
m_genotype_name = new cLabeledField(this);
m_species_id = new cLabeledField(this);
@@ -381,7 +379,7 @@
cLabeledField *labeled_field = m_registers.first();
for(; i < NUM_REGISTERS && 0 != labeled_field; i++, labeled_field = m_registers.next()){
labeled_field->setData1Text(QString("%1").arg(
- hardware->Register(i), 0, labeled_field->getBase()));
+ (unsigned long)hardware->Register(i), 0, labeled_field->getBase()));
labeled_field->setData2Binary(hardware->Register(i));
}
}
@@ -448,7 +446,7 @@
cLabeledField *labeled_field = m_inputs.first();
for(; i < IO_SIZE && 0 != labeled_field; i++, labeled_field = m_inputs.next()){
labeled_field->setData1Text(QString("%1").arg(
- pop_cell->GetInput(i), 0, labeled_field->getBase()));
+ (unsigned long)pop_cell->GetInput(i), 0, labeled_field->getBase()));
//labeled_field->setData2Binary(pop_cell->GetInput(i));
}
}
@@ -491,6 +489,7 @@
GenDebug("entered.");
if(m_stack_popup->isVisible()){ m_stack_popup->hide(); }
else {
+ m_stack_popup->resize(width(), m_stack_popup->height());
QDesktopWidget *d = QApplication::desktop();
int w=d->width();
int h=d->height();
@@ -540,7 +539,7 @@
setData2Text("");
useFrame(false);
} else {
- setData1Text(QString("%1").arg( hardware->GetStack(0, m_stack_no), 0, getBase()));
+ setData1Text(QString("%1").arg( (unsigned long)hardware->GetStack(0, m_stack_no), 0, getBase()));
//setData2Binary(hardware->GetStack(0, m_stack_no));
GenDebug(" --- m_stack_no ")(m_stack_no);
GenDebug(" --- m_cell_id ")(m_cell_id);
@@ -574,9 +573,22 @@
GenDebug("entered.");
m_vboxlayout = new QVBoxLayout(this);
m_scrollview = new QScrollView(this);
+ // child widget fills scrollview,
+ // but resized scrollview is too narrow
+ m_scrollview->setResizePolicy(QScrollView::AutoOneFit);
+ // child widget doesn't fill scrollview,
+ // resized scrollview is too narrow
+ //m_scrollview->setResizePolicy(QScrollView::AutoOne);
m_vboxlayout->addWidget(m_scrollview);
+ // initially doesn't fill scrollbiew
+ // and resized is too narrow and too short.
m_layout_widget = new QWidget(m_scrollview->viewport());
+ //setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed));
+ //setResizePolicy(QScrollView::AutoOneFit);
+ //m_layout_widget = new QWidget(viewport());
+ m_layout_widget->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed));
m_scrollview->addChild(m_layout_widget);
+ //addChild(m_layout_widget);
m_sv_layout = new QVBoxLayout(m_layout_widget);
//m_sv_layout->addWidget(new QPushButton("Hello, world", m_layout_widget));
m_stacklines.setAutoDelete(TRUE);
@@ -627,7 +639,7 @@
cLabeledField *labeled_field = m_stacklines.first();
for(; i < STACK_SIZE && 0 != labeled_field; i++, labeled_field = m_stacklines.next()){
labeled_field->setData1Text(
- QString("%1").arg(hardware->GetStack(i, m_stack_no), 0, labeled_field->getBase()));
+ QString("%1").arg((unsigned long)hardware->GetStack(i, m_stack_no), 0, labeled_field->getBase()));
//labeled_field->setData2Binary(hardware->GetStack(i, m_stack_no));
}
}
@@ -830,10 +842,13 @@
N_Instruction_CPUWidget::N_Instruction_CPUWidget(
QWidget *parent, const char *name, WFlags f
-) : QTabWidget(parent, name, f)
+//) : QTabWidget(parent, name, f)
+) : QVBox(parent, name, f)
{
GenDebug("entered.");
- m_component_vbox = new QVBox(this, "<N_Instruction_CPUWidget::m_component_vbox>");
+ QTabWidget *cpu_tab_widget = new QTabWidget(this, "<N_Instruction_CPUWidget::m_component_vbox>");
+ //m_component_vbox = new QVBox(this, "<N_Instruction_CPUWidget::m_component_vbox>");
+ m_component_vbox = new QVBox(cpu_tab_widget, "<N_Instruction_CPUWidget::m_component_vbox>");
QHBox *hbox = new QHBox(m_component_vbox);
m_registers = new cRegistersWidget(hbox);
m_inputs = new cInputsWidget(hbox);
@@ -843,30 +858,48 @@
connect(m_basechoice_btns, SIGNAL(chooseBaseSig(int)), this, SLOT(chooseBaseSlot(int)));
m_basechoice_btns->hideBinary();
m_basechoice_btns->emitChooseBaseSig(10);
- m_summary1 = new cSummaryWidget(m_component_vbox);
- addTab(m_component_vbox, "CPU");
+ //XXX
+ //m_summary1 = new cSummaryWidget(m_component_vbox);
+ //addTab(m_component_vbox, "CPU");
+ cpu_tab_widget->addTab(m_component_vbox, "CPU");
// m_stats_vbox = new QVBox(this, "<N_Instruction_CPUWidget::m_stats_vbox>");
// m_summary2 = new cSummaryWidget(m_stats_vbox);
//addTab(m_stats_vbox, "Stats");
- m_tasks_vbox = new QVBox(this, "<N_Instruction_CPUWidget::m_tasks_vbox>");
+ //m_tasks_vbox = new QVBox(this, "<N_Instruction_CPUWidget::m_tasks_vbox>");
+ m_tasks_vbox = new QVBox(cpu_tab_widget, "<N_Instruction_CPUWidget::m_tasks_vbox>");
m_tasks = new cTasksWidget(m_tasks_vbox, "<N_Instruction_CPUWidget::m_tasks>");
- m_summary3 = new cSummaryWidget(m_tasks_vbox);
- addTab(m_tasks_vbox, "Tasks");
+ //XXX
+ //m_summary3 = new cSummaryWidget(m_tasks_vbox);
+ //addTab(m_tasks_vbox, "Tasks");
+ cpu_tab_widget->addTab(m_tasks_vbox, "Tasks");
// m_genotype_vbox = new QVBox(this, "<N_Instruction_CPUWidget::m_genotype_vbox>");
// m_summary4 = new cSummaryWidget(m_genotype_vbox);
//addTab(m_genotype_vbox, "Genotype");
- showPage(m_component_vbox);
+ //showPage(m_component_vbox);
+ //m_summary3 = new cSummaryWidget(m_tasks_vbox);
+ QVGroupBox *vgroupbox = new QVGroupBox("Summary", this, "<N_Instruction_CPUWidget::(vgroupbox)>");
+ QScrollView *scrollview = new QScrollView(vgroupbox, "<N_Instruction_CPUWidget::(scrollview)>");
+ //m_summary1 = new cSummaryWidget(this);
+ m_summary1 = new cSummaryWidget(scrollview->viewport(), "<N_Instruction_CPUWidget::m_summary1>");
+ scrollview->addChild(m_summary1);
+
+ //scrollview->viewport()->setResizePolicy(QScrollView::AutoOneFit);
+ scrollview->setResizePolicy(QScrollView::AutoOneFit);
+
+ cpu_tab_widget->showPage(m_component_vbox);
}
void N_Instruction_CPUWidget::setMissionControl(avd_MissionControl *mission_control) {
GenDebug("entered.");
m_mission_control = mission_control;
+ //XXX
m_summary1->setMissionControl(mission_control);
m_registers->setMissionControl(mission_control);
m_stacks->setMissionControl(mission_control);
m_inputs->setMissionControl(mission_control);
//m_summary2->setMissionControl(mission_control);
- m_summary3->setMissionControl(mission_control);
+ //XXX
+ //m_summary3->setMissionControl(mission_control);
m_tasks->setMissionControl(mission_control);
//m_summary4->setMissionControl(mission_control);
connect(mission_control, SIGNAL(avidaUpdatedSig()), this, SLOT(updateState()));
@@ -875,12 +908,14 @@
void N_Instruction_CPUWidget::setPopulationCell(int cell_id){
GenDebug("entered.");
m_cell_id = cell_id;
+ //XXX
m_summary1->setPopulationCell(cell_id);
m_registers->setPopulationCell(cell_id);
m_stacks->setPopulationCell(cell_id);
m_inputs->setPopulationCell(cell_id);
//m_summary2->setPopulationCell(cell_id);
- m_summary3->setPopulationCell(cell_id);
+ //XXX
+ //m_summary3->setPopulationCell(cell_id);
m_tasks->setPopulationCell(cell_id);
//m_summary4->setPopulationCell(cell_id);
}
Index: avida/current/source/qt-viewer/n_orig_instruction_cpu_widget.hh
diff -u avida/current/source/qt-viewer/n_orig_instruction_cpu_widget.hh:1.7.2.2 avida/current/source/qt-viewer/n_orig_instruction_cpu_widget.hh:1.7.2.3
--- avida/current/source/qt-viewer/n_orig_instruction_cpu_widget.hh:1.7.2.2 Tue Sep 23 19:58:53 2003
+++ avida/current/source/qt-viewer/n_orig_instruction_cpu_widget.hh Mon Oct 13 10:00:52 2003
@@ -20,8 +20,11 @@
#ifndef QPTRLIST_H
#include <qptrlist.h>
#endif
-#ifndef QTABWIDGET_H
-#include <qtabwidget.h>
+#ifndef QSCROLLVIEW_H
+#include <qscrollview.h>
+#endif
+#ifndef QVBOX_H
+#include <qvbox.h>
#endif
#ifndef QWIDGET_H
#include <qwidget.h>
@@ -51,7 +54,7 @@
void setTitle(const QString &title);
void setData1Text(const QString &text);
void setData2Text(const QString &text);
- void setData2Binary(unsigned int value);
+ void setData2Binary(unsigned long value);
void setData1DecimalWidth(void);
void setData2BinaryWidth(void);
void setBase(int base);
@@ -60,7 +63,8 @@
void showData2Text(bool);
};
-class cSummaryWidget : public QGroupBox {
+//class cSummaryWidget : public QGroupBox {
+class cSummaryWidget : public QVBox {
Q_OBJECT
protected:
QGuardedPtr<avd_MissionControl> m_mission_control;
@@ -95,7 +99,8 @@
public:
cSummaryWidget(
QWidget *parent = 0,
- const char *name = 0
+ const char *name = 0,
+ WFlags f = 0
);
void setMissionControl(avd_MissionControl *mission_control);
public slots:
@@ -254,7 +259,8 @@
};
class QVBox;
-class N_Instruction_CPUWidget : public QTabWidget {
+//class N_Instruction_CPUWidget : public QTabWidget {
+class N_Instruction_CPUWidget : public QVBox {
Q_OBJECT
protected:
QGuardedPtr<avd_MissionControl> m_mission_control;
More information about the Avida-cvs
mailing list