Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2218 sbetterm 1
//---------------------------------------------------------------------------
2
 
3
#ifndef MainH
4
#define MainH
5
//---------------------------------------------------------------------------
6
#include <Classes.hpp>
7
#include <Controls.hpp>
8
#include <StdCtrls.hpp>
9
#include <Forms.hpp>
10
#include <ComCtrls.hpp>
11
#include <ExtCtrls.hpp>
12
#include <Menus.hpp>
13
#include <ToolWin.hpp>
14
#include <Buttons.hpp>
15
#include <DBCtrls.hpp>
16
#include "Grids_ts.hpp"
17
#include "TSDBGrid.hpp"
18
#include "TSGrid.hpp"
19
#include <ADODB.hpp>
20
#include <DB.hpp>
21
#include <ActnList.hpp>
22
#include <vcl\Clipbrd.hpp>
23
#include <ImgList.hpp>
24
#include "TXMLSchema.h"
25
#include "AdvGrid.hpp"
26
#include "BaseGrid.hpp"
27
#include <Grids.hpp>
28
#include "DBAdvNavigator.hpp"
29
#include "AdvPageControl.hpp"
30
#include "AsgFindDialog.hpp"
31
#include "DBAdvGrd.hpp"
32
#include "DBAdvGrid.hpp"
33
#include "ProgressBar.h"
34
 
35
#include <map>
36
#include <string>
37
 
38
typedef map<unsigned int, AnsiString>	TXNIndexMap;
39
typedef pair<unsigned int, AnsiString>	TXNIndexPair;
40
 
41
 
42
typedef map<string, string>		IterationParams;
43
typedef pair<string, string>	IterationParamsPair;
44
 
45
typedef struct
46
{
47
	string			name;
48
	unsigned int	increment;
49
	unsigned int	initial_value;
50
	unsigned int	reset_at;
51
	unsigned int	value;
52
} IterationSequence;
53
 
54
typedef map<string,  IterationSequence>		IterationSequences;
55
typedef pair<string, IterationSequence>		IterationSequencesPair;
56
 
57
typedef struct
58
{
59
	int			txnscenario_no;
60
	int			txnspec_no;
61
	int			fieldtag;
62
	AnsiString  fieldname;
63
	int			subscript;
64
	AnsiString  fieldvalue;
65
	AnsiString  xpath;
66
	char		user_supplied;
67
} TxnSpecValue;
68
 
69
typedef map<AnsiString, TxnSpecValue>				TxnSpecValueMap;
70
typedef map<AnsiString, TxnSpecValue>::iterator		TxnSpecValueIterator;
71
typedef pair<AnsiString, TxnSpecValue>				TxnSpecValuePair;
72
 
73
typedef map<AnsiString, char>						FoundTxnSpecValueMap;
74
typedef pair<AnsiString, char>						FoundTxnSpecValuePair;
75
typedef map<AnsiString, char>::iterator				FoundTxnSpecValueIterator;
76
 
77
class DefinedVariableTable;
78
class Iteration;
79
class ISecurityWrapperFactory;
80
class SequenceCollection;
81
class TestScenario;
82
class TransactionSpecification;
83
#include "SecurityWrapper.h"
84
#include "TransactionCache.h"
85
#include "TransactionTemplateCollection.h"
86
 
87
using namespace std;
88
//---------------------------------------------------------------------------
89
class TMainForm : public TForm
90
{
91
__published:	// IDE-managed Components
92
	TPanel *Panel1;
93
	TPanel *Panel2;
94
	TSplitter *Splitter1;
95
	TToolBar *ToolBar1;
96
	TMainMenu *MainMenu1;
97
	TMenuItem *Help1;
98
	TMenuItem *About1;
99
	TToolButton *ToolButton1;
100
	TLabel *Label1;
101
	TLabel *Label2;
102
	TSpeedButton *ProjectConfigBtn;
103
	TSpeedButton *IterationConfigBtn;
104
	TComboBox *ProjectsComboBox;
105
	TComboBox *IterationsComboBox;
106
	TPanel *Panel4;
107
	TBitBtn *ImportXMLSchemaBtn;
108
	TADOQuery *MASSTxnsQuery;
109
	TDataSource *MASSTxnsDataSource;
110
	TADOQuery *TestScenariosQuery;
111
	TDataSource *TestCasesDataSource;
112
	TActionList *ActionList1;
113
	TAction *EditTestCase;
114
	TADOQuery *TxnSpecQuery;
115
	TDataSource *TxnSpecDataSource;
116
	TPanel *Panel3;
117
	TADOQuery *TxnValuesQuery;
118
	TDataSource *TxnValuesDataSource;
119
	TPanel *Panel8;
120
	TImageList *ImageList1;
121
	TADOQuery *TestCaseQuery;
122
	TDataSource *TestCaseEditDataSource;
123
	TPanel *Panel9;
124
	TDBMemo *DBMemo2;
125
	TLabel *Label4;
126
	TBitBtn *SaveUseCaseEditBtn;
127
	TADOQuery *IterationParamsQuery;
128
	TDataSource *IterationParamsDataSource;
129
	TPopupMenu *ScenarioPopupMenu;
130
	TMenuItem *NewTransaction;
131
	TAction *NewTransactionAction;
132
	TAction *DeleteTransactionAction;
133
	TPanel *TestCasePanel;
134
	TPanel *Panel6;
135
	TSplitter *Splitter2;
136
    TToolBar *TestScenarioToolBar;
137
	TToolButton *ToolButton2;
138
	TSpeedButton *AddTestCaseNode;
139
	TToolButton *ToolButton4;
140
	TSpeedButton *TestCaseZoomIn;
141
	TSpeedButton *TestCaseZoomOut;
142
	TTreeView *TestCaseTreeView;
143
	TPanel *Panel7;
144
	TAction *RunTestCase;
145
	TPanel *Panel10;
146
	TPanel *Panel5;
147
	TToolBar *ToolBar4;
148
	TToolButton *ToolButton8;
149
	TSpeedButton *ImportTestDirector;
150
	TBitBtn *ApplyTemplates;
151
	TToolButton *ToolButton9;
152
	TtsDBGrid *tsDBGrid3;
153
	TADOQuery *TxnStepsQuery;
154
	TDataSource *TxnStepsDataSource;
155
	TSplitter *Splitter3;
156
	TPanel *Panel11;
157
	TDBMemo *DBMemo3;
158
	TSplitter *Splitter4;
159
	TPanel *Panel12;
160
	TDBMemo *DBMemo4;
161
	TLabel *Label5;
162
	TLabel *Label6;
163
	TDBNavigator *DBNavigator3;
164
	TtsDBGrid *tsDBGrid6;
165
	TADOQuery *TxnHdrValuesQuery;
166
	TDataSource *TxnHdrValuesDataSource;
167
	TDBNavigator *DBNavigator4;
168
	TtsDBGrid *tsDBGrid4;
169
	TMenuItem *N1;
170
	TMenuItem *ScenarioParameters;
171
	TADOQuery *SequenceGeneratorQuery;
172
	TDataSource *SequenceGeneratorDataSource;
173
	TPopupMenu *TxnValuesPopupMenu;
174
	TMenuItem *RemoveUserSuppliedValue;
175
	TBitBtn *GenerateTestTestCaseBtn;
176
	TMenuItem *ApplyTemplatesToScenario;
177
	TMemo *TxnFieldComments;
178
	TSplitter *Splitter5;
179
	TLabel *Label3;
180
	TEdit *FieldDatatype;
181
	TPanel *Panel13;
182
	TLabel *Label7;
183
	TListBox *FieldEnumValues;
184
	TStringField *TxnValuesQueryFIELDNAME;
185
	TStringField *TxnValuesQueryXPATH;
186
	TStringField *TxnValuesQueryPROJECT_CODE;
187
	TBCDField *TxnValuesQueryITERATION;
188
	TStringField *TxnValuesQueryUSER_SUPPLIED;
189
	TIntegerField *TxnValuesQuerySUBSCRIPT;
190
	TBCDField *TxnValuesQueryFIELDTAG;
191
	TStringField *TxnValuesQueryFIELDVALUE;
192
	TStringField *TxnValuesQueryNOTES;
193
	TBCDField *TxnValuesQueryTXNSPEC_NO;
194
	TBCDField *TxnValuesQueryTESTSCENARIO_NO;
195
	TStringField *TxnValuesQueryDISPLAY_FIELDNAME;
196
	TToolBar *ToolBar5;
197
	TDBAdvNavigator *DBAdvNavigator1;
198
	TDBAdvNavigator *PayloadStructureNavigator;
199
	TMenuItem *Options1;
200
	TMenuItem *SetGenerationDirectory;
201
	TAdvPageControl *TestsPageControl;
202
	TAdvTabSheet *TestCaseTabSheet;
203
	TAdvTabSheet *ParamsTabSheet;
204
	TAdvTabSheet *MASSTxnTabSheet;
205
    TStringField *TestCaseQueryUSECASE_ID;
206
    TStringField *TestCaseQueryNAME;
207
    TStringField *TestCaseQueryDESCRIPTION;
208
    TStringField *TestCaseQueryTESTCASE_ID;
209
    TStringField *TestCaseQueryTRACEABILITY_REF;
210
    TStringField *TestCaseQueryREF_TYPE;
211
    TStringField *TestCaseQueryUSE_CASE_TYPE;
212
	TMenuItem *N3;
213
	TMenuItem *Properties1;
214
	TPopupMenu *TransactionPopupMenu;
215
	TMenuItem *DeleteTransaction;
216
	TMenuItem *DeleteScenario;
217
	TAction *DeleteScenarioAction;
218
	TAction *InitialiseTransactionAction;
219
	TMenuItem *InitialiseTransaction;
220
	TXMLSchema *XMLSchema;
221
	TAdvPageControl *TestParametersPageControl;
222
	TAdvTabSheet *IterationParametersTabSheet;
223
	TAdvTabSheet *BatchHeaderParametersTabSheet;
224
	TAdvTabSheet *SequenceGeneratorsTabSheet;
225
	TAdvTabSheet *CopyParametersTabSheet;
226
	TBitBtn *Copy;
227
	TComboBox *SourceIterationComboBox;
228
	TADOStoredProc *CopyIterationProcedure;
229
	TDBAdvStringGrid *TestCaseGrid;
230
	TDBAdvStringGrid *DBAdvStringGrid2;
231
	TDBAdvStringGrid *DBAdvStringGrid3;
232
	TAdvPageControl *AdvPageControl1;
233
	TAdvTabSheet *AdvTabSheet1;
234
	TAdvTabSheet *AdvTabSheet2;
235
	TDBAdvGrid *NewPayloadStructureGrid;
236
	TDBAdvStringGrid *TransactionValueGrid;
237
	TAdvPageControl *TransactionStructurePageControl;
238
	TAdvTabSheet *PayloadStructureTabSheet;
239
	TAdvTabSheet *NewPayloadStructureTabSheet;
240
	TAdvTabSheet *HeaderStructureTabSheet;
241
	TBCDField *TxnValuesQueryORDINAL;
242
	TBCDField *TxnValuesQueryCHILD_COUNT;
243
	TStatusBar *MainStatusBar;
244
	TAdvTabSheet *ObsoleteFieldTabSheet;
245
	TDBAdvNavigator *ObsoleteFieldNavigator;
246
	TDBAdvStringGrid *ObsoleteFieldGrid;
247
	TDBAdvNavigator *HeaderStructureNavigator;
248
	TDBAdvStringGrid *HeaderStructureGrid;
249
	TDBAdvNavigator *NewPayloadStructureNavigator;
250
	TADOQuery *TxnHeaderValuesQuery;
251
	TStringField *StringField1;
252
	TStringField *StringField2;
253
	TStringField *StringField3;
254
	TBCDField *BCDField1;
255
	TStringField *StringField4;
256
	TIntegerField *IntegerField1;
257
	TBCDField *BCDField2;
258
	TStringField *StringField5;
259
	TStringField *StringField6;
260
	TBCDField *BCDField3;
261
	TBCDField *BCDField4;
262
	TStringField *StringField7;
263
	TBCDField *BCDField5;
264
	TBCDField *BCDField6;
265
	TDataSource *TxnHeaderValuesDataSource;
266
	TADOQuery *TxnObsoleteValuesQuery;
267
	TStringField *StringField8;
268
	TStringField *StringField9;
269
	TStringField *StringField10;
270
	TBCDField *BCDField7;
271
	TStringField *StringField11;
272
	TIntegerField *IntegerField2;
273
	TBCDField *BCDField8;
274
	TStringField *StringField12;
275
	TStringField *StringField13;
276
	TBCDField *BCDField9;
277
	TBCDField *BCDField10;
278
	TStringField *StringField14;
279
	TBCDField *BCDField11;
280
	TBCDField *BCDField12;
281
	TDataSource *TxnObsoleteValuesDataSource;
282
	TAdvPageControl *MainPageControl;
283
	TAdvTabSheet *TestCasesTabSheet;
284
	TAdvTabSheet *TestScenariosTabSheet;
285
	TAdvTabSheet *ScenarioStepsTabSheet;
286
	TAdvTabSheet *AdvTabSheet4;
287
	TAdvTabSheet *AdvTabSheet5;
288
	TAdvTabSheet *AdvTabSheet6;
289
	TToolButton *ToolButton3;
290
	TAdvGridFindDialog *TransactionValueGridFindDialog;
291
	TAdvGridFindDialog *HeaderStructureGridFindDialog;
292
	TAdvGridFindDialog *ObsoleteFieldGridFindDialog;
293
	TADOQuery *SequenceGeneratorValueQuery;
294
	TDataSource *SequenceGeneratorValueDataSource;
295
	TDBAdvStringGrid *SequenceGeneratorsGrid;
296
	TDBAdvNavigator *SequenceGeneratorNavigator;
297
	void __fastcall ProjectConfigBtnClick(TObject *Sender);
298
	void __fastcall IterationConfigBtnClick(TObject *Sender);
299
	void __fastcall FormShow(TObject *Sender);
300
	void __fastcall ProjectsComboBoxChange(TObject *Sender);
301
	void __fastcall tsDBGrid2RowChanged(TObject *Sender, Variant &OldRow,
302
          Variant &NewRow);
303
	void __fastcall EditTestCaseExecute(TObject *Sender);
304
	void __fastcall UseCaseDBGridEnter(TObject *Sender);
305
	void __fastcall TestCaseTreeViewEnter(TObject *Sender);
306
	void __fastcall TestCaseQueryAfterPost(TDataSet *DataSet);
307
	void __fastcall IterationsComboBoxChange(TObject *Sender);
308
	void __fastcall IterationParamsQueryAfterInsert(TDataSet *DataSet);
309
	void __fastcall ImportXMLSchemaBtnClick(TObject *Sender);
310
	void __fastcall TestCaseTreeViewChange(TObject *Sender, TTreeNode *Node);
311
	void __fastcall NewTransactionActionExecute(TObject *Sender);
312
	void __fastcall DeleteTransactionActionExecute(TObject *Sender);
313
	void __fastcall TestCaseZoomInClick(TObject *Sender);
314
	void __fastcall TestCaseZoomOutClick(TObject *Sender);
315
	void __fastcall AddTestCaseNodeClick(TObject *Sender);
316
	void __fastcall TestCaseTreeViewEndDrag(TObject *Sender, TObject *Target,
317
          int X, int Y);
318
	void __fastcall TestCaseTreeViewStartDrag(TObject *Sender,
319
          TDragObject *&DragObject);
320
	void __fastcall TestCaseTreeViewDragOver(TObject *Sender, TObject *Source,
321
          int X, int Y, TDragState State, bool &Accept);
322
	void __fastcall ApplyTemplatesClick(TObject *Sender);
323
	void __fastcall ImportTestDirectorClick(TObject *Sender);
324
	void __fastcall TxnHdrValuesQueryAfterInsert(TDataSet *DataSet);
325
	void __fastcall ScenarioParametersClick(TObject *Sender);
326
	void __fastcall TestCaseTreeViewMouseDown(TObject *Sender,
327
          TMouseButton Button, TShiftState Shift, int X, int Y);
328
	void __fastcall TxnValuesQueryBeforePost(TDataSet *DataSet);
329
	void __fastcall RemoveUserSuppliedValueClick(TObject *Sender);
330
	void __fastcall CopyValuesToClipboardBtnClick(TObject *Sender);
331
	void __fastcall GenerateTestTestCaseBtnClick(TObject *Sender);
332
	void __fastcall ApplyTemplatesToScenarioClick(TObject *Sender);
333
	void __fastcall FieldEnumValuesDblClick(TObject *Sender);
334
	void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
335
	void __fastcall SetGenerationDirectoryClick(TObject *Sender);
336
	void __fastcall TestCaseGridRowChanging(TObject *Sender, int OldRow,
337
          int NewRow, bool &Allow);
338
    void __fastcall TestCaseQueryAfterClose(TDataSet *DataSet);
339
    void __fastcall TestCaseQueryAfterOpen(TDataSet *DataSet);
340
    void __fastcall SequenceGeneratorQueryAfterInsert(TDataSet *DataSet);
341
    void __fastcall TestCaseQueryBeforePost(TDataSet *DataSet);
342
    void __fastcall TestCaseTreeViewEditing(TObject *Sender,
343
          TTreeNode *Node, bool &AllowEdit);
344
	void __fastcall TestCaseTreeViewEdited(TObject *Sender,
345
          TTreeNode *Node, AnsiString &S);
346
	void __fastcall TestScenarioPropertiesClick(TObject *Sender);
347
	void __fastcall TestCaseTreeViewContextPopup(TObject *Sender,
348
          TPoint &MousePos, bool &Handled);
349
	void __fastcall DeleteScenarioClick(TObject *Sender);
350
	void __fastcall InitialiseTransactionActionExecute(TObject *Sender);
351
	void __fastcall InitialiseCopyParametersTabSheet(TObject *Sender);
352
	void __fastcall CopyClick(TObject *Sender);
353
	void __fastcall TransactionValueGrid1BeforeContractNode(TObject *Sender,
354
          int ARow, int ARowReal, bool &Allow);
355
	void __fastcall TransactionValueGridCanEditCell(TObject *Sender, int ARow,
356
          int ACol, bool &CanEdit);
357
	void __fastcall TransactionValueGridGetDisplText(TObject *Sender,
358
          int ACol, int ARow, AnsiString &Value);
359
	void __fastcall TransactionValueGridRowChanging(TObject *Sender,
360
          int OldRow, int NewRow, bool &Allow);
361
	void __fastcall ObsoleteFieldGridRowChanging(TObject *Sender, int OldRow,
362
          int NewRow, bool &Allow);
363
	void __fastcall HeaderStructureGridRowChanging(TObject *Sender,
364
          int OldRow, int NewRow, bool &Allow);
365
	void __fastcall HeaderStructureTabSheetShow(TObject *Sender);
366
	void __fastcall PayloadStructureTabSheetShow(TObject *Sender);
367
	void __fastcall ObsoleteFieldTabSheetShow(TObject *Sender);
368
	void __fastcall MainStatusBarResize(TObject *Sender);
369
	void __fastcall TransactionValueGridKeyDown(TObject *Sender, WORD &Key,
370
          TShiftState Shift);
371
	void __fastcall HeaderStructureGridKeyDown(TObject *Sender, WORD &Key,
372
          TShiftState Shift);
373
	void __fastcall ObsoleteFieldGridKeyDown(TObject *Sender, WORD &Key,
374
          TShiftState Shift);
375
 
376
private:	// User declarations
377
	TXNIndexMap			m_mass_txns;
378
    AnsiString			m_testteamcode;
379
	AnsiString			m_currentproject;
380
    int					m_currentiteration;
381
    string				m_schema_handle;
382
    int					m_testscenario_no;
383
    int					m_txnspec_no;
384
    string				m_structure_name;
385
 
386
	TRegistry *						m_Registry;
387
	vector< string >				m_xml_schemas;
388
	TTreeNode *						m_startnode;
389
	std::vector< int >				m_parents;
390
	TransactionCache				m_transactionCache;
391
	TransactionTemplateCollection	m_transactionTemplates;
392
	ProgressBar *					m_progressBar;
393
 
394
	HINSTANCE					m_securityWrapper;
395
	getSecurityWrapperFactory_t	m_getSecurityWrapperFactory;
396
	ISecurityWrapperFactory *	m_securityWrapperFactory;
397
 
398
    void __fastcall InitialiseMASSTxns();
399
    void __fastcall InitialiseTxnParams(unsigned int schema_format_version, IterationParams &iteration_params, IterationSequences &iteration_sequences);
400
	void __fastcall InitialiseTestScenario(unsigned int testscenario_no, TxnSpecValueMap &txnSpecValueMap, FoundTxnSpecValueMap &foundTxnSpecValueMap, IterationSequences &iteration_sequences, IterationParams &iteration_params);
401
    string __fastcall FindField(const string &structure_name, int fieldtag);
402
 
403
    void LoadProjectCombo();
404
    void __fastcall LoadTestCaseNodes(TTreeNode *testcase_node);
405
    void __fastcall ResequenceTestCases(TTreeNode *testcase_node);
406
    void __fastcall ResequenceTransactions(TTreeNode *testcase_node);
407
    void __fastcall ProcessTxnStructure(string structure_handle, unsigned short udtype, unsigned short udsubtype, int testscenario_no, int txnspec_no, TADOQuery *query, TxnSpecValueMap &txnSpecValueMap, FoundTxnSpecValueMap &foundTxnSpecValueMap, IterationParams &iteration_params, IterationSequences &iteration_sequences, unsigned int nested_subscript);
408
	AnsiString LookupParameter(IterationParams &iteration_params, IterationSequences &iteration_sequences, TADOQuery *query, int testscenario_no, const string &param, unsigned short udtype, unsigned short udsubtype);
409
	static AnsiString & getNameFromNode( AnsiString & name, const AnsiString & string );
410
	void __fastcall populateHeaderStructureTab( const AnsiString & structure );
411
	void __fastcall populatePayloadStructureTab( const AnsiString & structure );
412
	void __fastcall populateObsoleteStructureTab( void );
413
	void __fastcall buildTransactionSpecificationValues(
414
						TransactionCache &	transactionCache,
415
						const int &			testScenario,
416
						const int &			transactionSpecification,
417
						const std::string &	transactionStructureName,
418
						const std::string &	headerStructureName,
419
						const std::string &	schema,
420
						const int &			iteration );
421
	void __fastcall buildTransactionSpecificationFieldValue(
422
						TADOQuery &					query,
423
						const std::string &			rootStructure,
424
						const std::string &			fieldHandle,
425
						const int &					testScenario,
426
						const int &					transactionSpecification,
427
						int &						ordinal,
428
						const &						childCount,
429
						TransactionSpecification &	transactions,
430
						const int &					subscript = 0 );
431
	void __fastcall buildTransactionSpecificationRepeatValue(
432
						TADOQuery &					query,
433
						const std::string &			rootStructure,
434
						const std::string &			attribute,
435
						const int &					testScenario,
436
						const int &					transactionSpecification,
437
						const std::string &			transactionStructureHandle,
438
						int &						ordinal,
439
						TransactionSpecification &	transactions,
440
						const int &					repeatLimit = 1000 );
441
	void __fastcall buildTransactionSpecificationValues(
442
						TADOQuery &					query,
443
						const std::string &			rootStructure,
444
						const int &					testScenario,
445
						const int &					transactionSpecification,
446
						const std::string &			transactionStructureHandle,
447
						int &						ordinal,
448
						TransactionSpecification &	transactions );
449
 
450
	const unsigned __fastcall countChildren(
451
						const std::string &	transactionStructureHandle,
452
						const bool &	isStructureRepeat );
453
	const unsigned __fastcall countChildren(
454
						const std::string &	attribute,
455
						const std::string &		transactionStructureHandle,
456
						const int &			repeatLimit = 1000 );
457
 
458
	void __fastcall clearTransactionSpecificationValueTree( TDBAdvGrid & grid );
459
	void __fastcall buildTransactionSpecificationValueTree(
460
						TDBAdvGrid &	grid,
461
						TADOQuery &		query );
462
	static const int countChildNodes(
463
						TDBAdvGrid &	grid,
464
						TADOQuery &		query,
465
						const int &		row,
466
						const int &		rows );
467
	void __fastcall getParentOrdinals( std::vector< int > & parents );
468
	const bool __fastcall isParent( const int & ordinal );
469
	void __fastcall readTransactionSpecifications(
470
						TransactionSpecification &	transaction,
471
						const int &					transactionSpecification );
472
	void __fastcall obsoleteTransactionSpecifications(
473
						const TransactionSpecification & transaction );
474
	void __fastcall TransactionGridRowChanging( TADOQuery & query, const char * structureName );
475
	void __fastcall buildTransactionTemplates( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
476
	void __fastcall loadLegacyHeaderValues( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
477
	void __fastcall loadLegacyParameters( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
478
	void __fastcall applyTemplatesToScenario( ProgressBar & progressBar, const int & scenario );
479
	void __fastcall applyTemplatesToTransaction(
480
									ProgressBar &					progressBar,
481
									const int &						transaction,
482
									const TestScenarioTemplate *	testScenario,
483
									const TestScenarioTemplate *	all );
484
	const unsigned __fastcall countTransactionsInScenario( const int & scenario );
485
	const unsigned __fastcall countTransactionsInIteration( const char * project, const int & iteration );
486
	void __fastcall buildTransactionsForIteration(
487
						TransactionCache &	transactionCache,
488
						ProgressBar &		progressBar,
489
						const std::string &	schema,
490
						const std::string &	project,
491
						const int &			iteration );
492
	void __fastcall buildTransactionsForScenario(
493
					TransactionCache &	transactionCache,
494
					ProgressBar &		progressBar,
495
					const int &			scenario,
496
					const std::string &	schema,
497
					const int &			iteration );
498
	void __fastcall buildExecutionSchedule(
499
						Iteration &			iteration,
500
						const std::string &	testcaseId );
501
	void __fastcall buildExecutionSchedule( TestScenario & testScenario );
502
	void __fastcall buildExecutionSchedule( TransactionSpecification & transactionSpecification );
503
	const bool __fastcall findSchema( std::string &			handle,
504
									  const AnsiString &	projectCode,
505
									  const int &			iteration );
506
	void __fastcall loadLegacyVariables(
507
						DefinedVariableTable &	variables,
508
						const AnsiString &		project,
509
						const int &				iteration );
510
	const bool __fastcall openSecurityFactory( const char * library = "SecurityWrapper.dll" );
511
	void __fastcall closeSecurityFactory();
512
	void __fastcall readSequences( SequenceCollection & sequences, const std::string & project, const int & iteration );
513
	void __fastcall writeSequences( const SequenceCollection & sequences, const std::string & project, const int & iteration );
514
 
515
public:		// User declarations
516
	__fastcall TMainForm(TComponent* Owner);
517
	__fastcall virtual ~TMainForm();
518
	static const char *	g_headerStructure;
519
	static const int	g_messagePanel;
520
 
521
};
522
//---------------------------------------------------------------------------
523
extern PACKAGE TMainForm *MainForm;
524
//---------------------------------------------------------------------------
525
#endif