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.
tdevelop/kdevdesigner/designer/kdevdesigner_part.h

147 lines
4.8 KiB

/***************************************************************************
* Copyright (C) 2004 by Alexander Dymo *
* cloudtemple@mksat.net *
* *
* 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. *
***************************************************************************/
#ifndef _KDEVDESIGNERPART_H_
#define _KDEVDESIGNERPART_H_
#include <qmap.h>
#include <kparts/part.h>
#include <kparts/factory.h>
#include "designer.h"
class QWidget;
class QPainter;
class KURL;
class MainWindow;
class KAction;
class QAction;
class KRadioAction;
class KDevDesignerPart : public KInterfaceDesigner::Designer
{
Q_OBJECT
public:
KDevDesignerPart(QWidget *parentWidget, const char *widgetName,
QObject *parent, const char *name, const QStringList &args);
virtual ~KDevDesignerPart();
virtual void setReadWrite(bool rw);
virtual void setModified(bool modified);
void statusMessage(const QString &msg);
//KInterfaceDesigner::Designer methods
virtual void openProject(const QString &projectFile);
virtual KInterfaceDesigner::DesignerType designerType();
void emitAddedFunction(const QString &form, KInterfaceDesigner::Function func);
void emitEditedFunction(const QString &form, KInterfaceDesigner::Function oldFunc, KInterfaceDesigner::Function func);
void emitRemovedFunction(const QString &form, KInterfaceDesigner::Function func);
void emitEditFunction(const QString &formName, const QString &functionName);
void emitEditSource(const QString &formName);
void emitNewStatus(const QString &formName, int status);
protected:
virtual bool openFile();
virtual bool saveFile();
void setupDesignerWindow();
void setupActions();
void stateSync(KAction *kaction, QAction *qaction);
void setupToolsAction(KRadioAction *toggle, QAction *action);
protected slots:
void setToggleActionChecked(bool b);
void setToggleActionOn(bool b);
void fileNew();
void fileOpen();
void fileClose();
void fileSaveAs();
void fileCreateTemplate();
void editUndo();
void editRedo();
void editCut();
void editCopy();
void editPaste();
void editDelete();
void editSelectAll();
void editAccels();
void editFunctions();
void editConnections();
void editFormSettings();
void editPreferences();
void projectAddFile();
void projectImageCollection();
void projectDatabaseCollections();
void projectSettings();
void toolsConfigureToolbox();
void toolsEditCustomWidgets();
void layoutAdjustSize();
void layoutHLayout();
void layoutVLayout();
void layoutGridLayout();
void layoutSplitHLayout();
void layoutSplitVLayout();
void layoutBreak();
void windowPreview();
void windowNext();
void windowPrev();
void formModified(bool b);
private:
MainWindow *m_widget;
QMap<const QAction*, KRadioAction*> m_actionMap;
QMap<const KRadioAction*, QAction*> m_actionMap2;
KRadioAction* pointerAction;
};
class KInstance;
class KAboutData;
class KDevDesignerPartFactory : public KParts::Factory
{
Q_OBJECT
public:
KDevDesignerPartFactory();
virtual ~KDevDesignerPartFactory();
virtual KParts::Part* createPartObject( QWidget *parentWidget, const char *widgetName,
QObject *parent, const char *name,
const char *classname, const QStringList &args );
static KInstance* instance();
private:
static KInstance* s_instance;
static KAboutData* s_about;
};
#endif // _KDEVDESIGNERPART_H_