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.
tdegraphics/kcoloredit/kcoloredit.h

193 lines
6.8 KiB

/***************************************************************************
kcoloredit.h - description
-------------------
begin : Sat Jul 8 09:57:28 CEST 2000
copyright : (C) 2000 by Artur Rataj
email : art@zeus.polsl.gliwice.pl
***************************************************************************/
/***************************************************************************
* *
* 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 KCOLOREDIT_H
#define KCOLOREDIT_H
#include <config.h>
// include files for Qt
#include <qevent.h>
#include <qstringlist.h>
// include files for KDE
#include <kapplication.h>
#include <kmainwindow.h>
#include <kaction.h>
// application specific includes
#include "color.h"
class KColorEditDoc;
class KColorEditView;
/**
* The base class for KColorEdit application windows. It sets up the main
* window and reads the config file as well as providing a menubar, toolbar
* and statusbar. An instance of KColorEditView creates your center view, which is connected
* to the window's Doc object.
* KColorEditApp reimplements the methods that KMainWindow provides for main window handling and supports
* full session management as well as keyboard accelerator configuration by using KAccel.
* @see KMainWindow
* @see KApplication
* @see KConfig
* @see KAccel
*
* @author Source Framework Automatically Generated by KDevelop, (c) The KDevelop Team.
* @version KDevelop version 0.4 code generation
*/
class KColorEditApp : public KMainWindow
{
Q_OBJECT
friend class KColorEditView;
public:
/** construtor of KColorEditApp, calls all init functions to create the application.
* @see initMenuBar initToolBar
*/
KColorEditApp();
~KColorEditApp();
/** opens a file specified by commandline option
*/
void openDocumentFile(const char *_cmdl=0);
/** returns a pointer to the current document connected to the KMainWindow instance and is used by
* the View class to access the document object's methods
*/
KColorEditDoc *document() const;
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();
void initActions();
/** initMenuBar creates the menubar and inserts the menupopups as well as creating the helpMenu.
* @see KApplication#getHelpMenu
*/
void initStatusBar();
/** initializes the document object of the main window that is connected to the view in initView().
* @see initView();
*/
void initDocument();
/** creates the centerwidget of the KMainWindow instance and sets it as the view
*/
void initView();
/** queryClose is called by KMainWindow 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 KMainWindow#queryClose
* @see KMainWindow#closeEvent
*/
virtual bool queryClose();
/** queryExit is called by KMainWindow 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 KMainWindow#queryExit
* @see KMainWindow#closeEvent
*/
virtual bool queryExit();
void mouseReleaseEvent(QMouseEvent* event);
public slots:
void slotFileNewWindow();
/** clears the document in the actual view to reuse it as the new document */
void slotFileNew();
/** open a file and load it into the document*/
void slotFileOpen();
/** opens a file from the recent files menu */
void slotFileOpenRecent( const KURL & );
/** save a document */
void slotFileSave();
/** save a document by a new filename
* @return whether the file has been saved
*/
bool slotFileSaveAs();
/** asks for saving if the file is modified, then closes the actual file and window*/
void slotClose();
/** 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 slotQuit();
/** put the marked text/object into the clipboard and remove
* it from the document
*/
void slotEditCut();
/** put the marked text/object into the clipboard
*/
void slotEditCopy();
/** paste the clipboard into the document
*/
void slotEditPaste();
/** get a color from palette
*/
void slotColorFromPalette();
/** get a color from screen
*/
void slotColorFromScreen();
/** copies a color to clipboard
*/
void slotViewColorNames();
/** 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 slotSelectionChanged( int, int );
void slotClipboardChanged();
void slotModified( bool );
void slotPaletteAvailable( bool );
private:
/** the configuration object of the application */
KConfig *config;
KAction *m_actSave, *m_actCut, *m_actCopy, *m_actPaste, *m_actPalette;
KToggleAction *m_actNames;
KRecentFilesAction *m_actRecent;
/** view is the main widget which represents your working area. The View
* class should handle all events of the view widget. It is kept empty so
* you can create your view according to your application's needs by
* changing the view class.
*/
KColorEditView *view;
/** doc represents your actual document and is created only once. It keeps
* information such as filename and does the serialization of your files.
*/
KColorEditDoc *doc;
/** Whether in getting a color from screen */
bool gettingColorFromScreen;
/** A color taken from screen */
Color color;
/** Whether to view color names */
bool viewColorNames;
};
#endif // KCOLOREDIT_H