summaryrefslogtreecommitdiffstats
path: root/quanta/components/csseditor/tlpeditors.h
blob: 3ff7bbefcefee2e20efd3f63a67f4607b8617248 (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
/***************************************************************************
                          tlpeditors.h  -  description
                             -------------------
    begin                : gio apr 1 2004
    copyright            : (C) 2003 by gulmini luciano
    email                : [email protected]
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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 TQLineEdit;
class TQLabel;
/**
  *@author gulmini luciano
  */


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

  protected:
    TQLineEdit *m_le;
    TQLabel *m_label;
    KPushButton *m_pb;

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

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

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

  public slots:
    void openFontChooser();
};

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

  private:
    mode m_Mode;
    URIResourceType m_resourceType;

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

  public slots:
    void selectedURI(const TQString&);
    void selectedURIs(const TQStringList&);
    void openFileDialog();
};


#endif