diff options
Diffstat (limited to 'kbabel/kbabel/kbcatalogview.h')
-rw-r--r-- | kbabel/kbabel/kbcatalogview.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/kbabel/kbabel/kbcatalogview.h b/kbabel/kbabel/kbcatalogview.h new file mode 100644 index 00000000..5f23381a --- /dev/null +++ b/kbabel/kbabel/kbcatalogview.h @@ -0,0 +1,102 @@ +/* **************************************************************************** + This file is part of KBabel + + Copyright (C) 2004-2005 by Stanislav Visnovsky + <visnovsky@kde.org> + + 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. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. + +**************************************************************************** */ +#ifndef KBCATALOGVIEW_H +#define KBCATALOGVIEW_H + +#include <qwidget.h> + +#include <catalogview.h> +#include "kbcatalog.h" +#include "kbproject.h" +#include "projectsettings.h" + +class KBCatalogView : public QWidget, public KBabel::CatalogView +{ + Q_OBJECT +public: + /** + * Default constructor + */ + KBCatalogView(KBCatalog* catalog, QWidget* parent, KBabel::Project::Ptr project); + + /** + * Destructor + */ + virtual ~KBCatalogView(); + + /** + * this is called from the catalog when updating his views. + * reimplemented from @ref CatalogView + * @param cmd the edit command that has been applied + */ + virtual void update(KBabel::EditCommand* cmd, bool undo=false); + + KBCatalog* catalog() const{return _catalog;} + +public slots: + virtual void textCut(); + virtual void textCopy(); + virtual void textPaste(); + virtual void textSelectAll(); + virtual void gotoEntry(const KBabel::DocPosition& pos); + virtual void setProject(KBabel::Project::Ptr project); + virtual void readProjectSettings(); + virtual void readFileSettings(); + virtual void readConfigurationSettings(); + virtual void readSessionSettings(KConfig *config); + + virtual void writeConfigurationSettings(KConfig *config); + virtual void writeSessionSettings(KConfig *config); + + virtual void setReadOnly (bool on); + + /** + * this is called when the view needs an updating. + * It's the only really needed method to reimplement + */ + virtual void updateView() = 0; + +signals: + void signalCursorPosChanged(int line, int col); + +protected: + KBCatalog* _catalog; + uint _currentIndex; + + // configuration file + KSharedConfig::Ptr _config; + // project file + KBabel::Project::Ptr _project; +}; + +#endif // KBCATALOGVIEW_H |