blob: fa9fd56beb86d256ddebc3240dcdbd48f6beac1b (
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
|
/***************************************************************************
* Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> *
* *
* 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 CONFIG_GEN_H
#define CONFIG_GEN_H
class QHBoxLayout;
class QLabel;
#include "common/gui/dialog.h"
#include "tools/base/tool_group.h"
#include "common/gui/key_gui.h"
namespace DeviceChooser { class Button; }
namespace Device {
class Memory;
class MemoryEditor;
}
class SimpleTextEditor;
//-----------------------------------------------------------------------------
class GeneratorDialog : public Dialog
{
Q_OBJECT
public:
GeneratorDialog(const QString &title, QWidget *parent, const char *name);
void set(const Device::Data *data, const Tool::Group &group, PURL::ToolType stype);
protected slots:
void typeChanged();
virtual void reset() { compute(); }
virtual void compute();
virtual void slotUser1();
protected:
QHBoxLayout *_hbox;
DeviceChooser::Button *_deviceChooser;
KeyComboBox<QString> *_configType;
KeyComboBox<PURL::ToolType> *_toolType;
SimpleTextEditor *_text;
QLabel *_warning;
PURL::ToolType toolType() const;
void setToolType(PURL::ToolType stype);
virtual SourceLine::List generateLines(bool &ok) const = 0;
};
//-----------------------------------------------------------------------------
class ConfigGenerator : public GeneratorDialog
{
Q_OBJECT
public:
ConfigGenerator(QWidget *parent);
virtual ~ConfigGenerator();
private slots:
virtual void reset();
private:
Device::Memory *_memory;
Device::MemoryEditor *_configEditor;
void setToolType(PURL::ToolType stype);
virtual SourceLine::List generateLines(bool &ok) const;
};
//-----------------------------------------------------------------------------
class TemplateGenerator : public GeneratorDialog
{
Q_OBJECT
public:
TemplateGenerator(QWidget *parent);
private:
virtual SourceLine::List generateLines(bool &ok) const;
};
#endif
|