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.
tdeaccessibility/kmouth/kmouth.h

189 lines
6.1 KiB

/***************************************************************************
kmouth.h - description
-------------------
begin : Mon Aug 26 15:41:23 CEST 2002
copyright : (C) 2002 by Gunnar Schmi Dt
email : kmouth@schmi-dt.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef KMOUTH_H
#define KMOUTH_H
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
// include files for TQt
// include files for KDE
#include <kapplication.h>
#include <kmainwindow.h>
#include <kaccel.h>
#include <kaction.h>
#include <kurl.h>
// forward declaration of the KMouth classes
class PhraseList;
class OptionsDialog;
class TextToSpeechSystem;
class PhraseBookDialog;
class PhraseBook;
/**
* The base class for KMouth application windows. It sets up the main
* window and reads the config file as well as providing a menubar, toolbar
* and statusbar.
* KMouthApp reimplements the methods that KMainWindow provides for main window handling and supports
* full session management as well as using KActions.
* @see KMainWindow
* @see KApplication
* @see KConfig
*
* @author Source Framework Automatically Generated by KDevelop, (c) The KDevelop Team.
* @version KDevelop version 1.2 code generation
*/
class KMouthApp : public KMainWindow
{
Q_OBJECT
public:
/** construtor of KMouthApp, calls all init functions to create the application.
*/
KMouthApp(TQWidget* parent=0, const char* name=0);
~KMouthApp();
/** Returns true if the configuration wizard was not needed or when it
* was successfully completed.
*/
bool configured();
/** opens a file specified by commandline option
*/
void openDocumentFile(const KURL& url=KURL());
TextToSpeechSystem *getTTSSystem() const;
/** called by PhraseList in order to enable or disable the actions depending
* on the contents of the phrase list.
*/
void enableMenuEntries(bool existSelectedEntries, bool existDeselectedEntries);
protected:
/** save general Options like all bar positions and status as well as the geometry and the recent file list to the configuration
* file
*/
void saveOptions();
/** read general Options again and initialize all variables like the recent file list
*/
void readOptions();
/** initializes the phrase list */
void initPhraseList();
/** initializes the KActions of the application */
void initActions();
/** sets up the statusbar for the main window by initialzing a statuslabel.
*/
void initStatusBar();
/** queryClose is called by KTMainWindow on each closeEvent of a window. Against the
* default implementation (only returns true), this calles saveModified() on the document object to ask if the document shall
* be saved if Modified; on cancel the closeEvent is rejected.
* @see KTMainWindow#queryClose
* @see KTMainWindow#closeEvent
*/
virtual bool queryClose();
/** queryExit is called by KTMainWindow when the last window of the application is going to be closed during the closeEvent().
* Against the default implementation that just returns true, this calls saveOptions() to save the settings of the last window's
* properties.
* @see KTMainWindow#queryExit
* @see KTMainWindow#closeEvent
*/
virtual bool queryExit();
public slots:
/** open a file and load it into the history */
void slotFileOpen();
/** save a document */
void slotFileSaveAs();
/** print the actual file */
void slotFilePrint();
/** closes all open windows by calling close() on each memberList item until the list is empty, then quits the application.
* If queryClose() returns false because the user canceled the saveModified() dialog, the closing breaks.
*/
void slotFileQuit();
/** edits the phrase books
*/
void slotEditPhrasebook ();
/** toggles the menu bar
*/
void slotViewMenuBar();
/** toggles the toolbar
*/
void slotViewToolBar();
/** toggles the phrasebook bar
*/
void slotViewPhrasebookBar();
/** toggles the statusbar
*/
void slotViewStatusBar();
/** configures the TTS system
*/
void slotConfigureTTS();
/** changes the statusbar contents for the standard label permanently, used to indicate current actions.
* @param text the text that is displayed in the statusbar
*/
void slotStatusMsg(const TQString &text);
void slotPhrasebookConfirmed (PhraseBook &book);
void slotConfigurationChanged();
void slotPhraseSelected (const TQString &phrase);
private:
bool isConfigured;
/** the configuration object of the application */
KConfig *config;
/** The phrase list */
PhraseList *phraseList;
/** The configuration dialog */
OptionsDialog *optionsDialog;
// KAction pointers to enable/disable actions
KAction* fileOpen;
KAction* fileSaveAs;
KAction* filePrint;
KAction* fileQuit;
KAction* editCut;
KAction* editCopy;
KAction* editPaste;
KAction* editSpeak;
KActionCollection *phrases;
KAction* phrasebookEdit;
KToggleAction* viewMenuBar;
KToggleAction* viewToolBar;
KToggleAction* viewPhrasebookBar;
KToggleAction* viewStatusBar;
KAction* configureTTS;
KAction* phraseListSpeak;
KAction* phraseListRemove;
KAction* phraseListCut;
KAction* phraseListCopy;
KAction* phraselistSelectAll;
KAction* phraselistDeselectAll;
};
#endif // KMOUTH_H