diff --git a/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp b/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp
index 04ad5d4..1cbdc47 100644
a
|
b
|
|
16 | 16 | |
17 | 17 | #include <AutoDeleter.h> |
18 | 18 | #include <AutoLocker.h> |
| 19 | #include <ControlLook.h> |
19 | 20 | |
20 | 21 | #include "table/TableColumns.h" |
21 | 22 | |
… |
… |
|
29 | 30 | #include "StackFrame.h" |
30 | 31 | #include "StackFrameValues.h" |
31 | 32 | #include "TableCellValueRenderer.h" |
| 33 | #include "TargetAddressTableColumn.h" |
32 | 34 | #include "Team.h" |
33 | 35 | #include "Thread.h" |
34 | 36 | #include "Tracing.h" |
… |
… |
VariablesView::VariableTableModel::ValueNodeValueChanged(ValueNode* valueNode)
|
1043 | 1045 | int32 |
1044 | 1046 | VariablesView::VariableTableModel::CountColumns() const |
1045 | 1047 | { |
1046 | | return 2; |
| 1048 | return 3; |
1047 | 1049 | } |
1048 | 1050 | |
1049 | 1051 | |
… |
… |
VariablesView::VariableTableModel::GetValueAt(void* object, int32 columnIndex,
|
1102 | 1104 | |
1103 | 1105 | switch (columnIndex) { |
1104 | 1106 | case 0: |
1105 | | _value.SetTo(node->Name(), B_VARIANT_DONT_COPY_DATA); |
| 1107 | { |
| 1108 | if (node->NodeChild()->LocationResolutionState() |
| 1109 | == VALUE_NODE_UNRESOLVED) { |
| 1110 | return false; |
| 1111 | } |
| 1112 | ValueLocation* location = node->NodeChild()->Location(); |
| 1113 | if (location == NULL) |
| 1114 | return false; |
| 1115 | |
| 1116 | ValuePieceLocation piece = location->PieceAt(0); |
| 1117 | if (piece.type != VALUE_PIECE_LOCATION_MEMORY) |
| 1118 | return false; |
| 1119 | _value.SetTo(piece.address); |
1106 | 1120 | return true; |
| 1121 | } |
1107 | 1122 | case 1: |
| 1123 | _value.SetTo(node->Name(), B_VARIANT_DONT_COPY_DATA); |
| 1124 | return true; |
| 1125 | case 2: |
1108 | 1126 | if (node->GetValue() == NULL) |
1109 | 1127 | return false; |
1110 | 1128 | |
… |
… |
VariablesView::_Init()
|
1725 | 1743 | fVariableTable->SetSortingEnabled(false); |
1726 | 1744 | |
1727 | 1745 | // columns |
1728 | | fVariableTable->AddColumn(new StringTableColumn(0, "Variable", 80, 40, 1000, |
| 1746 | float addressWidth = be_plain_font->StringWidth("0x00000000") |
| 1747 | + be_control_look->DefaultLabelSpacing() * 2 + 5; |
| 1748 | |
| 1749 | fVariableTable->AddColumn(new TargetAddressTableColumn(0, "Address", |
| 1750 | addressWidth, 40, 1000, B_TRUNCATE_END, B_ALIGN_RIGHT)); |
| 1751 | fVariableTable->AddColumn(new StringTableColumn(1, "Variable", 80, 40, 1000, |
1729 | 1752 | B_TRUNCATE_END, B_ALIGN_LEFT)); |
1730 | | fVariableTable->AddColumn(new VariableValueColumn(1, "Value", 80, 40, 1000, |
| 1753 | fVariableTable->AddColumn(new VariableValueColumn(2, "Value", 80, 40, 1000, |
1731 | 1754 | B_TRUNCATE_END, B_ALIGN_RIGHT)); |
1732 | 1755 | |
1733 | 1756 | fVariableTableModel = new VariableTableModel; |