diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 47d455dd55be855e4cc691c32f687f723d9247ee (patch) | |
tree | 52e236aaa2576bdb3840ebede26619692fed6d7d /kcoloredit/kcoloreditdoc.h | |
download | tdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.tar.gz tdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegraphics@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kcoloredit/kcoloreditdoc.h')
-rw-r--r-- | kcoloredit/kcoloreditdoc.h | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/kcoloredit/kcoloreditdoc.h b/kcoloredit/kcoloreditdoc.h new file mode 100644 index 00000000..1d209f46 --- /dev/null +++ b/kcoloredit/kcoloreditdoc.h @@ -0,0 +1,156 @@ +/*************************************************************************** + kcoloreditdoc.h - description + ------------------- + begin : Sat Jul 8 09:57:28 CEST 2000 + copyright : (C) 2000 by Artur Rataj + email : [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * 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 KCOLOREDITDOC_H +#define KCOLOREDITDOC_H + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +// include files for QT +#include <qobject.h> +#include <qstring.h> +#include <qptrlist.h> + +// application specific includes +#include "palette.h" +#include "palettehistory.h" + +// forward declaration of the KColorEdit classes +class KColorEditView; + +/** KColorEditDoc provides a document object for a document-view model. + * + * The KColorEditDoc class provides a document object that can be used in conjunction with the classes KColorEditApp and KColorEditView + * to create a document-view model for standard KDE applications based on KApplication and KMainWindow. Thereby, the document object + * is created by the KColorEditApp instance and contains the document structure with the according methods for manipulation of the document + * data by KColorEditView objects. Also, KColorEditDoc contains the methods for serialization of the document data from and to files. + * + * @author Source Framework Automatically Generated by KDevelop, (c) The KDevelop Team. + * @version KDevelop version 0.4 code generation + */ +class KColorEditDoc : public QObject +{ + Q_OBJECT + + public: + /** Constructor for the fileclass of the application */ + KColorEditDoc(QWidget *parent, const char *name=0); + /** Destructor for the fileclass of the application */ + ~KColorEditDoc(); + + /** adds a view to the document which represents the document contents. Usually this is your main view. */ + void addView(KColorEditView *view); + /** removes a view from the list of currently connected views */ + void removeView(KColorEditView *view); + /** sets the modified flag for the document after a modifying action on the view connected to the document.*/ + void setModified(bool modified); + /** returns if the document is modified or not. Use this to determine if your document needs saving by the user on closing.*/ + bool isModified() const { return m_modified; }; + /** "save modified" - asks the user for saving if the document is modified */ + bool saveModified(); + /** deletes the document's contents */ + void deleteContents(); + /** initializes the document generally */ + bool newDocument(); + /** closes the actual document */ + void closeDocument(); + /** loads the document */ + bool openDocument(const QString& filename); + /** saves the document */ + bool saveDocument(const QString& filename); + /** sets the path to the file connected with the document */ + void setAbsFilePath(const QString &filename); + /** returns the pathname of the current document file*/ + const QString& absFilePath() const; + /** sets the filename of the document */ + void setTitle(const QString &_t); + /** returns the title of the document */ + const QString& title() const; + /** @return a description of a possible unsuccessfull IO operation */ + const QString& errorString() const; + /** returns a pointer to paletteHistory */ + PaletteHistory* paletteHistory(); + /** sets a palette cursor position */ + void setPaletteCursorPos(const int pos); + /** @return a palette cursor position */ + int paletteCursorPos(); + /** Sets palette selection and enables or disables cut/paste + * depending on whether any colors are selected + */ + void setPaletteSelection(const int begin, const int end); + /** Gets lesser selection position or equal selection position + * if no colors are selected + */ + int paletteSelectionBegin() const; + /** Gets greater selection position or equal selection position + * if no colors are selected + */ + int paletteSelectionEnd() const; + /** Copies a selection into a clipboard */ + void copy(); + /** Cuts a selection into a clipboard */ + void cut(); + /** Pastes a selection from a clipboard */ + void paste(); + /** Inserts a color at index */ + void insert(int index, const Color& color); + /** Replaces a color at index */ + void replace(int index, const Color& color); + + protected: + /** Sets an error string if an IO operation was unsuccesfull */ + void setErrorString(const QString& string); + /** Copies a palette to clipboard */ + void copyToClipboard(Palette& palette); + + public slots: + /** Calls redraw() on all views connected to the document object, + * except for sender if sender is not null + */ + void slotRedrawAllViews(KColorEditView* sender, bool newDocument = false); + /** Sets a view mode */ + void slotChangeViewMode(bool viewColorNames); + + signals: + + void selectionChanged( int, int ); + void clipboardChanged(); + void modified( bool ); + void paletteAvailable( bool ); + + public: + /** the list of the views currently connected to the document */ + QPtrList<KColorEditView> *m_pViewList; + + private: + /** the modified flag of the current document */ + bool m_modified; + QString m_title; + QString m_absFilePath; + QString m_errorString; + + protected: + Palette m_palette; + PaletteHistory m_paletteHistory; + int m_paletteCursorPos; + int m_paletteSelectionBegin; + int m_paletteSelectionEnd; +}; + +#endif // KCOLOREDITDOC_H |