You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
3.0 KiB
140 lines
3.0 KiB
/*********
|
|
*
|
|
* This file is part of BibleTime's source code, http://www.bibletime.info/.
|
|
*
|
|
* Copyright 1999-2006 by the BibleTime developers.
|
|
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
|
|
*
|
|
**********/
|
|
|
|
|
|
|
|
#ifndef CSEARCHDIALOG_H
|
|
#define CSEARCHDIALOG_H
|
|
|
|
//BibleTime includes
|
|
#include "csearchdialogpages.h"
|
|
#include "csearchanalysis.h"
|
|
|
|
#include "backend/cswordmoduleinfo.h"
|
|
#include "backend/cswordbackend.h"
|
|
|
|
#include "util/cpointers.h"
|
|
|
|
//Sword includes
|
|
|
|
|
|
//TQt includes
|
|
#include <tqwidget.h>
|
|
#include <tqstring.h>
|
|
#include <tqcanvas.h>
|
|
#include <tqdict.h>
|
|
#include <tqtooltip.h>
|
|
|
|
//KDE includes
|
|
#include <kdialog.h>
|
|
#include <kdialogbase.h>
|
|
|
|
//forward declarations
|
|
|
|
class TQLineEdit;
|
|
class TQTextEdit;
|
|
|
|
namespace Search {
|
|
/**
|
|
*@author The BibleTime team
|
|
*/
|
|
class CSearchDialog : public KDialogBase {
|
|
Q_OBJECT
|
|
|
|
|
|
public:
|
|
static void openDialog(const ListCSwordModuleInfo modules, const TQString& searchText = TQString(), TQWidget* parentDialog = 0);
|
|
|
|
protected:
|
|
friend class Analysis::CSearchAnalysis;
|
|
friend class Result::CSearchResultPage;
|
|
friend class BibleTime;
|
|
|
|
/**
|
|
* Only interesting for the class members! Useful to get the searched text etc.
|
|
*/
|
|
static CSearchDialog* const getSearchDialog();
|
|
|
|
/**
|
|
* The cinstructor of the dialog. It's protected because you should use the static public function openDialog.
|
|
* The dialog destroys itself if it was closed.
|
|
*/
|
|
CSearchDialog(TQWidget *parent);
|
|
~CSearchDialog();
|
|
|
|
/**
|
|
* Initializes this object.
|
|
*/
|
|
void initView();
|
|
/**
|
|
* Starts the search with the given module list and given search text.
|
|
* Doesn't wait for the start button press, starts immediatly
|
|
*/
|
|
void startSearch( const ListCSwordModuleInfo modules, const TQString& searchText);
|
|
/**
|
|
* Sets the list of modules for the search.
|
|
*/
|
|
void setModules( const ListCSwordModuleInfo modules );
|
|
/**
|
|
* Returns the list of used modules.
|
|
*/
|
|
const ListCSwordModuleInfo modules();
|
|
/**
|
|
* Returns the search text which is used for the search.
|
|
*/
|
|
void setSearchText( const TQString searchText );
|
|
/**
|
|
* Returns the search text which is set currently.
|
|
*/
|
|
const TQString searchText();
|
|
/**
|
|
* Returns the used search scope as a list key
|
|
*/
|
|
sword::ListKey searchScope();
|
|
/**
|
|
* Returns true if the search used a scope, otherwise false.
|
|
*/
|
|
//const CSwordModuleSearch::scopeType searchScopeType() const;
|
|
/**
|
|
* Returns they type of search which is set
|
|
*/
|
|
// const int searchFlags() const;
|
|
/**
|
|
* Resets the parts to the default.
|
|
*/
|
|
void reset();
|
|
|
|
protected slots:
|
|
/**
|
|
* Starts the search with the set modules and the set search text.
|
|
*/
|
|
void startSearch();
|
|
void searchFinished();
|
|
void showModulesSelector();
|
|
/**
|
|
* Initializes the signal slot connections
|
|
*/
|
|
void initConnections();
|
|
/**
|
|
* Reimplementation.
|
|
*/
|
|
virtual void slotClose();
|
|
|
|
private:
|
|
Result::CSearchResultPage* m_searchResultPage;
|
|
Options::CSearchOptionsPage* m_searchOptionsPage;
|
|
|
|
CSwordModuleSearch m_searcher;
|
|
};
|
|
|
|
|
|
} //end of namespace Search
|
|
|
|
#endif
|