Subversion Repositories spk

Rev

Rev 1 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 cycrow 1
#pragma once
2
 
3
#include "../X3Data.h"
4
#include "../stdafx.h"
5
 
6
using namespace System;
7
using namespace System::ComponentModel;
8
using namespace System::Collections;
9
using namespace System::Windows::Forms;
10
using namespace System::Data;
11
using namespace System::Drawing;
12
 
13
namespace GameLauncher {
14
 
15
	/// <summary>
16
	/// Summary for ViewData
17
	///
18
	/// WARNING: If you change the name of this class, you will need to change the
19
	///          'Resource File Name' property for the managed resource compiler tool
20
	///          associated with all .resx files this class depends on.  Otherwise,
21
	///          the designers will not be able to interact properly with localized
22
	///          resources associated with this form.
23
	/// </summary>
24
	public ref class ViewData : public System::Windows::Forms::Form
25
	{
26
	public:
27
		ViewData(CX3Data *data, String ^name)
28
		{
29
			InitializeComponent();
30
 
31
			this->Text = "Viewing Game Data: " + name;
32
 
33
			m_pData = data;
34
 
35
			UpdateDisplay();
36
		}
37
 
38
	protected:
39
		void UpdateDisplay()
40
		{
41
			this->listView1->BeginUpdate();
42
			this->listView1->Items->Clear();
43
 
44
			// pilot data
242 cycrow 45
			AddItem("Pilot", _US(m_pData->pilot()));
46
			AddItem("Credits", _US(m_pData->credits()));
1 cycrow 47
			AddItem("Owned Ships", Convert::ToString(m_pData->GetShipsNum()));
48
			AddItem("Owned Stations", Convert::ToString(m_pData->GetStations()));
242 cycrow 49
			AddItem("Game Time", _US(m_pData->gameTime()));
1 cycrow 50
 
51
			// ship data
242 cycrow 52
			AddItem("Ship: Name", _US(m_pData->shipName()));
53
			AddItem("Ship: ID", _US(m_pData->shipId()));
54
			AddItem("Ship: Class", _US(m_pData->GetShipData().sClass));
1 cycrow 55
			AddItem("Ship: Speed", Convert::ToString(m_pData->GetShipData().iSpeed));
242 cycrow 56
			AddItem("Ship: Environment", _US(m_pData->GetShipData().sEnv));
1 cycrow 57
 
58
			// target data
242 cycrow 59
			AddItem("Target: Name", _US(m_pData->target()));
1 cycrow 60
			if ( m_pData->HasTarget() )
61
			{
242 cycrow 62
				AddItem("Target: ID", _US(m_pData->GetTargetData().sID));
63
				AddItem("Target: Class", _US(m_pData->GetTargetData().sClass));
1 cycrow 64
				AddItem("Target: Speed", Convert::ToString(m_pData->GetTargetData().iSpeed));
65
				AddItem("Target: Shields", Convert::ToString(m_pData->GetTargetData().iShields));
66
				AddItem("Target: Hull", Convert::ToString(m_pData->GetTargetData().iHull));
67
				AddItem("Target: Distance", Convert::ToString(m_pData->GetTargetData().iDist));
242 cycrow 68
				AddItem("Target: Relation", _US(m_pData->GetTargetData().sRelation));
1 cycrow 69
			}
70
 
71
			// other data
72
 
73
			this->listView1->AutoResizeColumns(ColumnHeaderAutoResizeStyle::HeaderSize);
74
			this->listView1->EndUpdate();
75
		}
76
 
77
		void AddItem(String ^value, String ^data)
78
		{
79
			ListViewItem ^item = gcnew ListViewItem(value);
80
			item->SubItems->Add(data);
81
			this->listView1->Items->Add(item);		
82
		}
83
 
84
		/// <summary>
85
		/// Clean up any resources being used.
86
		/// </summary>
87
		~ViewData()
88
		{
89
			if (components)
90
			{
91
				delete components;
92
			}
93
		}
94
 
95
		CX3Data *m_pData;
96
	private: System::Windows::Forms::Timer^  timer1;
97
	private: System::Windows::Forms::ListView^  listView1;
98
	private: System::Windows::Forms::ColumnHeader^  columnHeader1;
99
	private: System::Windows::Forms::ColumnHeader^  columnHeader2;
100
 
101
	protected: 
102
	private: System::ComponentModel::IContainer^  components;
103
 
104
	private:
105
		/// <summary>
106
		/// Required designer variable.
107
		/// </summary>
108
 
109
 
110
#pragma region Windows Form Designer generated code
111
		/// <summary>
112
		/// Required method for Designer support - do not modify
113
		/// the contents of this method with the code editor.
114
		/// </summary>
115
		void InitializeComponent(void)
116
		{
117
			this->components = (gcnew System::ComponentModel::Container());
118
			this->timer1 = (gcnew System::Windows::Forms::Timer(this->components));
119
			this->listView1 = (gcnew System::Windows::Forms::ListView());
120
			this->columnHeader1 = (gcnew System::Windows::Forms::ColumnHeader());
121
			this->columnHeader2 = (gcnew System::Windows::Forms::ColumnHeader());
122
			this->SuspendLayout();
123
			// 
124
			// timer1
125
			// 
126
			this->timer1->Enabled = true;
127
			this->timer1->Interval = 500;
128
			this->timer1->Tick += gcnew System::EventHandler(this, &ViewData::timer1_Tick);
129
			// 
130
			// listView1
131
			// 
132
			this->listView1->Columns->AddRange(gcnew cli::array< System::Windows::Forms::ColumnHeader^  >(2) {this->columnHeader1, this->columnHeader2});
133
			this->listView1->Dock = System::Windows::Forms::DockStyle::Fill;
134
			this->listView1->Enabled = false;
135
			this->listView1->HeaderStyle = System::Windows::Forms::ColumnHeaderStyle::Nonclickable;
136
			this->listView1->Location = System::Drawing::Point(0, 0);
137
			this->listView1->Name = L"listView1";
138
			this->listView1->Size = System::Drawing::Size(430, 459);
139
			this->listView1->TabIndex = 1;
140
			this->listView1->UseCompatibleStateImageBehavior = false;
141
			this->listView1->View = System::Windows::Forms::View::Details;
142
			// 
143
			// columnHeader1
144
			// 
145
			this->columnHeader1->Text = L"Value";
146
			// 
147
			// columnHeader2
148
			// 
149
			this->columnHeader2->Text = L"Data";
150
			this->columnHeader2->Width = 200;
151
			// 
152
			// ViewData
153
			// 
154
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
155
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
156
			this->ClientSize = System::Drawing::Size(430, 459);
157
			this->Controls->Add(this->listView1);
158
			this->Name = L"ViewData";
159
			this->Text = L"ViewData";
160
			this->TopMost = true;
161
			this->ResumeLayout(false);
162
 
163
		}
164
#pragma endregion
165
	private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) {
166
				 UpdateDisplay();
167
			 }
168
	};
169
}