00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef CATALOGFORMWIDGET_H
00030 #define CATALOGFORMWIDGET_H
00031
00032 #include <stdlib.h>
00033 #include <qwidget.h>
00034 #include <qtimer.h>
00035 #include <qlistbox.h>
00036 #include <qlineedit.h>
00037 #include <qlistview.h>
00038 #include <qlayout.h>
00039 #include <qlabel.h>
00040 #include <qevent.h>
00041 #include <qpopupmenu.h>
00042
00043
00044 class aListBox:public QListBox
00045 {
00046 Q_OBJECT
00047 public:
00048 aListBox(QWidget *parent = 0, const char* name = 0, WFlags f = 0);
00049 ~aListBox();
00050 void insertItem(const QString &s, long idx, int index = -1);
00051 void show(QWidget *w, QFrame *fr);
00052
00053 long getId(int ind) { return atol(listPrivate->text(ind).ascii()); };
00054
00055 void clear();
00056
00057 public slots:
00058 virtual void setFocus();
00059
00060 protected:
00061
00062 virtual void keyPressEvent ( QKeyEvent *e );
00063 void focusOutEvent ( QFocusEvent *e );
00064 protected slots:
00065 void doubleClickHandler(QListBoxItem *i);
00066
00067
00068 signals:
00069 void keyArrowLRPressed();
00070 void keyArrowLRPressed(const QString&);
00071 void keyEnterPressed();
00072 void lostFocus();
00073 void sendMessage(const QString &);
00074 private:
00075 QListBox* listPrivate;
00076 };
00077
00078
00079 class aLineEdit:public QLineEdit
00080 {
00081 Q_OBJECT
00082 public:
00083 aLineEdit( QWidget* parent, const char* name = 0 );
00084 ~aLineEdit();
00085
00086 protected:
00087 virtual void keyPressEvent ( QKeyEvent *e );
00088
00089 private:
00090 QTimer *timer;
00091
00092 public slots:
00093 void stopTimer();
00094 virtual void setFocus();
00095 protected slots:
00096 void timerDone();
00097 void timerRestart(const QString & s);
00098
00099 signals:
00100 void keyArrowPressed();
00101 void delayTextChanged(const QString &);
00102 void keyEnterPressed();
00103 void sendMessage(const QString &);
00104 };
00105
00106 class aListView : public QListView
00107 {
00108 Q_OBJECT
00109 public:
00110 aListView(QWidget* parent = 0, const char* name = 0, WFlags f = 0);
00111 ~aListView();
00112
00113 QPopupMenu *menu;
00114 void setDestination(const bool dest);
00115 bool getDestination();
00116 protected:
00117 virtual void keyPressEvent ( QKeyEvent *e );
00118
00119 public slots:
00120
00121 void showMenu( QListViewItem* item, const QPoint& p, int);
00122 void newItem();
00123 void newGroup();
00124 void delItem();
00125 void markDeleted();
00126 void undoMarkDeleted();
00127 void edit();
00128 void select();
00129 virtual void setFocus();
00130
00131 protected slots:
00132 void doubleClickHandler( QListViewItem *, const QPoint&, int col);
00133
00134 signals:
00135
00136 void sendMessage(const QString &);
00137 void newItemRequest(QListViewItem* parentItem);
00138 void newGroupRequest(QListViewItem* parentItem);
00139 void delItemRequest(QListViewItem* item);
00140 void markDeletedRequest(QListViewItem* item);
00141 void undoMarkDeletedRequest(QListViewItem* item);
00142 void editRequest(QListViewItem* item, int columnClicked);
00143 void selectRequest(QListViewItem* item);
00144 private:
00145 QListViewItem* parentItem;
00146 int columnClicked;
00147 bool toSelect;
00148 };
00149 #endif
00150