summaryrefslogtreecommitdiffstats
path: root/quanta/components/csseditor/tlpeditors.h
blob: d0e52d37c65591938c1ba43327de982bd099653f (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
/***************************************************************************
                          tlpeditors.h  -  description
                             -------------------
    begin                : gio apr 1 2004
    copyright            : (C) 2003 by gulmini luciano
    email                : gulmini.luciano@student.unife.it
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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 TLPEDITORS_H
#define TLPEDITORS_H

#include "minieditor.h"
#include "propertysetter.h"

class KPushButton;
class QLineEdit;
class QLabel;
/**
  *@author gulmini luciano
  */


class TLPEditor : public miniEditor { //editor with a line text and a button calling a dialog
  Q_OBJECT

  protected:
    QLineEdit *m_le;
    QLabel *m_label;
    KPushButton *m_pb;

  public:
    TLPEditor(QWidget *parent, const char* name=0);
    virtual ~TLPEditor();
    virtual void setButtonIcon(QString);
    void setToolTip(QString);
    void setLabelText(QString);
    void setWhatsThis(QString);
    QLineEdit* lineEdit() const { return m_le; }
    KPushButton* button() const { return m_pb; }
    virtual void setInitialValue(const QString& s)=0;
    virtual void connectToPropertySetter(propertySetter* p)=0;

  signals:
    void valueChanged(const QString&);
};

class fontEditor : public TLPEditor{
  Q_OBJECT
  private:
    QString m_initialValue;
    
  public:
    fontEditor(QWidget *parent, const char* name=0);
    virtual void setInitialValue(const QString& s) { m_initialValue = s; }
    virtual void connectToPropertySetter(propertySetter* p);

  public slots:
    void openFontChooser();
};

class URIEditor : public TLPEditor {
  Q_OBJECT
  public:
    enum mode{ Multi, Single };
    enum URIResourceType{ audio, image, mousePointer };

  private:
    mode m_Mode;
    URIResourceType m_resourceType;

  public:
    URIEditor(QWidget *parent, const char* name=0);
    void setMode(const mode& m);
    void setResourceType(const  URIResourceType& r) { m_resourceType = r ; }
    virtual void setInitialValue(const QString& /*s*/){}
    virtual void connectToPropertySetter(propertySetter* p);

  public slots:
    void selectedURI(const QString&);
    void selectedURIs(const QStringList&);
    void openFileDialog();
};


#endif