kexi
kexibrowser.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KEXIBROWSER_H
00022 #define KEXIBROWSER_H
00023
00024 #include <klistview.h>
00025 #include <qasciidict.h>
00026 #include <qintdict.h>
00027
00028 class QListViewItem;
00029 class KIconLoader;
00030 class KPopupMenu;
00031 class KAction;
00032 class KActionMenu;
00033 class KActionCollection;
00034 class KListView;
00035 class KToolBar;
00036 class KexiBrowserItem;
00037 class KexiView;
00038 class KexiMainWindow;
00039 class KexiSmallToolButton;
00040 class KexiBrowserListView;
00041
00042 namespace KexiPart
00043 {
00044 class Info;
00045 class Item;
00046 class Part;
00047 }
00048
00050 class KEXIMAIN_EXPORT KexiBrowser : public QWidget
00051 {
00052 Q_OBJECT
00053
00054 public:
00055 KexiBrowser(KexiMainWindow *mainWin);
00056 virtual ~KexiBrowser();
00057
00058 KexiPart::Item* selectedPartItem() const;
00059
00060 void installEventFilter ( const QObject * filterObj );
00061 virtual bool eventFilter ( QObject *o, QEvent * e );
00062
00063 bool actionEnabled(const QCString& actionName) const;
00064
00065
00066 public slots:
00067 void addGroup(KexiPart::Info& info);
00068 void addItem(KexiPart::Item& item);
00069 void slotRemoveItem(const KexiPart::Item &item);
00070 virtual void setFocus();
00071 void updateItemName(KexiPart::Item& item, bool dirty);
00072 void highlightItem(KexiPart::Item& item);
00073
00074 void clear();
00075
00078 void setReadOnly(bool set);
00079
00080 bool isReadOnly() const;
00081
00082 signals:
00083 void openItem( KexiPart::Item*, int viewMode );
00084
00089 void openOrActivateItem( KexiPart::Item*, int viewMode );
00090
00091 void newItem( KexiPart::Info* );
00092
00093 void removeItem( KexiPart::Item* );
00094
00095 void renameItem( KexiPart::Item *item, const QString& _newName, bool &succes );
00096
00097 void selectionChanged( KexiPart::Item* item );
00098
00099 void executeItem( KexiPart::Item* );
00100
00101 void exportItemAsDataTable( KexiPart::Item* );
00102
00103 void printItem( KexiPart::Item* );
00104
00105 void pageSetupForItem( KexiPart::Item* );
00106
00107
00108
00109 protected slots:
00110 void slotContextMenu(KListView*, QListViewItem *i, const QPoint &point);
00111 void slotExecuteItem(QListViewItem *item);
00112 void slotSelectionChanged(QListViewItem* i);
00113 void slotSettingsChanged(int);
00114 void slotNewObjectPopupAboutToShow();
00115
00116 void slotNewObject();
00117 void slotOpenObject();
00118 void slotDesignObject();
00119 void slotEditTextObject();
00121 void slotRemove();
00122 void slotCut();
00123 void slotCopy();
00124 void slotPaste();
00125 void slotRename();
00126 void slotExecuteObject();
00127 void slotExportAsDataTable();
00128 void slotPrintItem();
00129 void slotPageSetupForItem();
00130
00131 protected:
00132 void itemRenameDone();
00133
00134 KexiMainWindow *m_mainWin;
00135 KexiBrowserListView *m_list;
00136 KActionCollection *m_actions;
00137 QAsciiDict<KexiBrowserItem> m_baseItems;
00138 QIntDict<KexiBrowserItem> m_normalItems;
00139 KPopupMenu *m_itemPopup, *m_partPopup;
00140 KAction *m_deleteAction, *m_renameAction,
00141 *m_newObjectAction,
00142 *m_openAction, *m_designAction, *m_editTextAction,
00143 *m_executeAction,
00144 *m_dataExportAction, *m_printAction, *m_pageSetupAction;
00145 KActionMenu* m_exportActionMenu;
00146 KPopupMenu* m_newObjectPopup;
00147 int m_itemPopupTitle_id, m_partPopupTitle_id,
00148 m_openAction_id, m_designAction_id, m_editTextAction_id,
00149 m_executeAction_id,
00150 m_exportActionMenu_id, m_exportActionMenu_id_sep,
00151 m_printAction_id, m_pageSetupAction_id, m_pageSetupAction_id_sep;
00152
00153 KexiPart::Part *m_prevSelectedPart;
00154 KToolBar *m_toolbar;
00155 KexiSmallToolButton *m_newObjectToolButton, *m_deleteObjectToolButton;
00156 bool m_singleClick : 1;
00157 bool m_readOnly : 1;
00158 };
00159
00160 #endif
|