summaryrefslogtreecommitdiffstats
path: root/kxsldbg/kxsldbgpart/xsldbgconfigimpl.h
blob: 1c3aa21e21411cb2392758ba015e5f74efc66edd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/***************************************************************************
                          xsldbgconfigimpl.h  -  description
                             -------------------
    begin                : Fri Jan 4 2002
    copyright            : (C) 2002 by Keith Isdale
    email                : k_isdale@tpg.com.au
 ***************************************************************************/

/***********************************************************************************
 *   This program is free software; you can redistribute it and/or modify       *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or         *
 *   (at your option) any later version.                                   							*
 *                                                                         										*
 ************************************************************************************/

#ifndef XSLDBGCONFIGIMPL_H
#define XSLDBGCONFIGIMPL_H

/**
  *@author Keith Isdale
  */

#include "xsldbgconfig.h"
#include "xsldbgdialogbase.h"

#include <tqptrlist.h>


class LibxsltParam : public QObject
{
	public:
	LibxsltParam(const TQString & name, const TQString &value);
	~LibxsltParam();

	TQString getName() const;
	void setName(const TQString &name);
	TQString getValue() const;
	void setValue(const TQString &value);
	bool isValid() const; 

private:
	TQString _name;
	TQString _value;
};


class XsldbgDebugger;

class XsldbgConfigImpl : public XsldbgConfig, public XsldbgDialogBase {
  Q_OBJECT

public:
	XsldbgConfigImpl(XsldbgDebugger *debugger, TQWidget *parent=0, const char *name=0);
	~XsldbgConfigImpl();

	LibxsltParam *getParam(int paramNumber);
	LibxsltParam *getParam(TQString name);
	int getParamCount();
	void addParam(TQString name, TQString value);
	void deleteParam(TQString name);
	void repaintParam();

	TQString getSourceFile();
	TQString getDataFile();
	TQString getOutputFile();
	bool debugEnabled() const {return debug; };
	bool catalogsEnabled() const {return catalogs; };
	bool htmlEnabled() const {return html; };
	bool docbookEnabled() const {return docbook; };
	bool nonetEnabled() const {return nonet; };
	bool novalidEnabled() const {return novalid; };
	bool nooutEnabled() const {return noout; };
	bool timingEnabled() const {return timing; };
	bool profileEnabled() const {return profile; };


	/** return true if all data ok */
	bool isValid(TQString &errorMsg);

	/** Update changes to xsldbg*/
	void update();

	/** refresh data from source */
	void refresh();


public slots:

	/** Set xsl source file*/
	void slotSourceFile(TQString);

	/** Set xml data file*/
	void slotDataFile(TQString);

	/** Set file name for the default output of transformed data*/
	void slotOutputFile(TQString);

	/**Choose the XSL source file */
	void slotChooseSourceFile();

	/**Choose the XML data file */
	void slotChooseDataFile();


	/**Choose the output file */
	void slotChooseOutputFile();

	/* Update the gui with the new values for source, data and output files */
	void slotReloadFileNames();

	/** Configure dialog has request that a param be added */
	void slotAddParam();

	/** Configure dialog has request that a param be deleted */
	void slotDeleteParam();

	/** Configure dialog has request that a next param be shown */
	void slotNextParam();

	/** Configure dialog has request that a prev param be shown */
	void slotPrevParam();

	/** Apply the changes */
	void slotApply();

	/** Ignore any changes and hide dialog  */
	void slotCancel();

	/** Process notification of add parameter to view, First parameter
			is TQString::null to indicate start of parameter list notfication */
	void slotProcParameterItem(TQString  name, TQString value);


private:
	int paramIndex;
	TQPtrList<LibxsltParam> paramList;

	XsldbgDebugger *debugger;

	bool catalogs;
	bool debug;
	bool html;
	bool docbook;
	bool nonet;
	bool novalid;
	bool noout;
	bool timing;
	bool profile;
};
#endif