1
/***************************************************************************
2
* Copyright (C) 2005 by Adam Treat *
5
* Copyright (C) 2004 by Scott Wheeler *
8
* This program is free software; you can redistribute it and/or modify *
9
* it under the terms of the GNU General Public License as published by *
10
* the Free Software Foundation; either version 2 of the License, or *
11
* (at your option) any later version. *
13
***************************************************************************/
15
#ifndef SEARCHWIDGET_H
16
#define SEARCHWIDGET_H
21
#include "datatablesearch.h"
27
typedef QValueList<DataTableSearch> DataSearchList;
29
class SearchLine : public QHBox
35
SearchLine( QWidget *parent, DataTableList dataTables = DataTableList(),
36
bool simple = false, const char *name = 0 );
40
DataTableSearch::Component searchComponent() const;
41
void setSearchComponent( const DataTableSearch::Component &component );
43
bool isPrompt() const;
44
void setPrompt( bool prompt );
48
void searchFieldChanged();
49
void setText( const QString &txt );
52
void signalQueryChanged();
53
void signalClearAdvancedQuery();
59
DataTableList m_dataTables;
62
KComboBox *m_searchFieldsBox;
63
KComboBox *m_operator;
65
KLineEdit *m_lineEdit;
68
class AdvancedLine : public QHBox
74
AdvancedLine( QWidget *parent, DataTableList dataTables = DataTableList(),
75
const char *name = 0 );
76
virtual ~AdvancedLine()
79
DataTableSearch::Component searchComponent() const;
80
void setSearchComponent( const DataTableSearch::Component &component );
84
void searchTableChanged();
90
DataTableList m_dataTables;
91
KTextEdit *m_customSqlQuery;
92
KComboBox *m_searchTablesBox;
95
class SearchWidget : public KToolBar
100
SearchWidget( QWidget *parent, const char *name = 0 );
101
virtual ~SearchWidget();
103
DataTableSearch createSearch( const DataTableList &dataTables ) const;
104
DataTableSearch search() const;
105
void setSearch( const DataTableSearch &search );
106
DataSearchList searchList( const DataTableList &dataTables ) const;
107
void setSearchList( const DataSearchList &searchList );
108
void searchRemoved();
112
void setLineEnabled( bool enable );
113
void setEnabled( bool enable );
114
void searchListChanged();
115
void invokeSearch( const QString &search );
118
void signalQueryChanged();
119
void signalClearAdvancedQuery();
120
void signalSearchListChanged( const DataTableSearch &search );
122
// This signal is only emitted when the Show/Hide action is triggered.
123
// Minimizing/closing the DataKiosk window will not trigger this signal.
125
void signalShown( bool shown );
131
SearchLine *m_searchLine;
132
KComboBox *m_searchCombo;
133
DataTableSearch m_search;
134
DataSearchList m_searchList;
135
QStringList m_columnHeaders;