MainWindow.h

Go to the documentation of this file.
00001 #ifndef APPLICATION_H
00002 #define APPLICATION_H
00003 
00004 #include <iostream.h>
00005 #include <qaction.h>
00006 #include <qclipboard.h>
00007 #include <qcombobox.h>
00008 #include <qdir.h>
00009 #include <qevent.h>
00010 #include <qfile.h>
00011 #include <qfont.h>
00012 #include <qfontdatabase.h>
00013 #include <qlistview.h>
00014 #include <qpixmap.h>
00015 #include <qpopupmenu.h>
00016 #include <qprogressbar.h>
00017 #include <qmainwindow.h>
00018 //#include <qmenubar.h>
00019 #include <qmessagebox.h>
00020 #include <qpe/fileselector.h>
00021 #include <qpe/resource.h>
00022 #include <qpe/qpemenubar.h>
00023 #include <qpe/qpetoolbar.h>
00024 #include <qpixmap.h>
00025 #include <qpushbutton.h>
00026 #include <qstringlist.h>
00027 #include <qthread.h>
00028 #include <qtranslator.h>
00029 #include <qwidgetstack.h>
00030 #include <stdio.h>
00031 #include "Controller.h"
00032 #include "PixMap.h"
00033 #include "PreferencesDialog.h"
00034 #include "QuizFrame.h"
00035 #include "VocabularyManagerFrame.h"
00036 #include "Term.h"
00037 
00038 extern QAction* action[ ACTION_COUNT ];
00039 
00040 class MainWindow : public QMainWindow {
00041 
00042     // Should be an enumeration.
00043     static const int frameQuizIndex         = 0;
00044     static const int frameVocabManagerIndex = 1;
00045 
00046     Q_OBJECT
00047     
00048 public:
00049 
00050     MainWindow( Controller* controller );
00051     ~MainWindow();
00052 
00053     Controller* controller();
00054 
00055     bool isDigraphEnabled() const;
00056 
00057 public slots:
00058 
00059     void updateMenus( QListViewItem* item );
00060     void updateFonts();
00061     void setDigraphEnabled( bool isEnabled );
00062     void retranslateUi();
00063     void switchLanguage( const QString& language );
00064     void switchLanguage( QAction* langAction );
00065     void toggleMaximize( bool isOn ); 
00066     void search();
00067 
00068 protected:
00069 
00070     void closeEvent( QCloseEvent* );
00071 
00072 private slots:
00073 
00074     void about();
00075     void startQuiz();
00076     void showQuiz();
00077     void invokeVocabularyManager();
00078     void importData();
00079     void exportData();
00080     void preferences();
00081     void copy();
00082     void cut();
00083     void paste();
00084     void toggleLanguageFilter();
00085     void quit();
00086     void setFirstLanguage( const QString& lang );
00087     void setTestLanguage( const QString& lang );
00088     void switchFirstAndTestLanguages();
00089     
00090 private:
00091 
00092     void setLanguageFilterEnabled( bool isEnabled );
00093     void updateFirstLanguageValues();
00094     void updateTestLanguageValues();
00095     void selectLanguage( QComboBox* comboBox, const QString& langCode );
00096     void updateLanguageSelector( QComboBox* comboBox );
00097 
00098     QMap<QString,QString>   availableLanguages;
00099 
00100     int                     editionMenuId;
00101     int                     viewMenuId;
00102     int                     showAllVocabSeparatorId;
00103 
00104     Controller*             control;
00105 
00106     QWidgetStack*           mainPanel;
00107 
00108     QuizFrame*              quizFrame;
00109     VocabularyManagerFrame* vocabManagerFrame;
00110 
00111     QPEToolBar*             toolBar;
00112 
00113     QPopupMenu*             actionsMenu;
00114     QPopupMenu*             helpMenu;
00115 
00116     QAction*                copyAction;
00117     QAction*                cutAction;
00118     QAction*                pasteAction;
00119 
00120     QActionGroup*           languageActionGroup;
00121 
00122     QHBox*                  languageSelectorPanel;
00123     QComboBox*              firstLanguageComboBox;
00124     QLabel*                 languageSelectorLabel;
00125     QComboBox*              testLanguageComboBox;
00126 
00127     QProgressBar*           progressBar;
00128 
00129     QPopupMenu*             editionMenu;
00130     QPopupMenu*             viewMenu;
00131     QMenuBar*               menuBar;
00132 
00133     QTranslator*            translator;
00134 
00135 };
00136 
00137 #endif

Generated on Sun Mar 1 17:30:47 2009 for toMOTko by  doxygen 1.5.6