NCL Composer  0.1.5
 All Classes Functions Variables Pages
qnstgraphicslinkdialog.h
1 #ifndef QNSTGRAPHICSLINKDIALOG_H
2 #define QNSTGRAPHICSLINKDIALOG_H
3 
4 #include <QDebug>
5 #include <QDialog>
6 #include <QShowEvent>
7 
8 #include <QStringListModel>
9 #include <QSortFilterProxyModel>
10 
11 #include "qnstconnector.h"
12 
13 #include "ui_QnstGraphicsLinkForm.h"
14 
15 #include <QtGui/QLineEdit>
16 #include <QStringList>
17 
18 class QListView;
19 class QStringListModel;
20 class QModelIndex;
21 
22 class CompleteLineEdit : public QLineEdit
23 {
24  Q_OBJECT
25 
26 public:
27  CompleteLineEdit(QStringList words, QWidget *parent = 0);
28  void setStringList(const QStringList &words);
29 
30 public slots:
31  void setCompleter(const QString &text);
32  void completeText(const QModelIndex &index);
33 
34 protected:
35  virtual void keyPressEvent(QKeyEvent *e);
36  virtual void focusInEvent(QFocusEvent *e);
37  virtual void hideEvent ( QHideEvent * event );
38  // virtual void focusOutEvent(QFocusEvent *e);
39  virtual bool eventFilter(QObject *object, QEvent *event);
40 
41 private:
42  QStringList words;
43  QListView *listView;
44  QStringListModel *model;
45 
46 };
47 
48 class QnstGraphicsLinkDialog : public QDialog
49 {
50  Q_OBJECT
51 
52 public:
53  QnstGraphicsLinkDialog(QWidget* parent = 0);
54 
56 
57  void init(QMap<QString, QnstConnector*> connectors);
58 
59 protected slots:
60  void adjustBinds(QString conn);
61 
62 protected:
63  virtual void showEvent(QShowEvent *evt);
64 
65 public:
66  //TODO: This shouldn't be public
67  Ui::QnstGraphicsLinkForm form;
68 
69  QMap<QString, QnstConnector*> connectors;
70  QString getCurrentConnector();
71 
72 private:
73  bool firstTime, changeModel;
74  CompleteLineEdit *connLineEdit;
75 };
76 
77 #endif // QNSTGRAPHICSLINKDIALOG_H