diff options
Diffstat (limited to 'kdevdesigner/designer/newformimpl.h')
-rw-r--r-- | kdevdesigner/designer/newformimpl.h | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/kdevdesigner/designer/newformimpl.h b/kdevdesigner/designer/newformimpl.h new file mode 100644 index 00000000..863f5b9d --- /dev/null +++ b/kdevdesigner/designer/newformimpl.h @@ -0,0 +1,165 @@ +/********************************************************************** +** Copyright (C) 2000 Trolltech AS. All rights reserved. +** +** This file is part of TQt Designer. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition +** licenses may use this file in accordance with the TQt Commercial License +** Agreement provided with the Software. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for +** information about TQt Commercial License Agreements. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ + +#ifndef NEWFORMIMPL_H +#define NEWFORMIMPL_H + +#include "newform.h" +#include <tqiconview.h> + +class Project; + +class NewItem : public TQIconViewItem +{ +public: + enum Type { + ProjectType, + Form, + CustomForm, + SourceFileType, + SourceTemplateType + }; + + NewItem( TQIconView *view, const TQString &text ) + : TQIconViewItem( view, text ) {} + virtual void insert( Project *pro ) = 0; + virtual void setProject( Project * ) {} + +}; + +class ProjectItem : public NewItem +{ +public: + ProjectItem( TQIconView *view, const TQString &text ); + void insert( Project *pro ); + int rtti() const { return (int)ProjectType; } + + void setLanguage( const TQString &l ) { lang = l; } + TQString language() const { return lang; } + +private: + TQString lang; + +}; + +class FormItem : public NewItem +{ +public: + enum FormType { + Widget, + Dialog, + Wizard, + MainWindow + }; + + FormItem( TQIconView *view, const TQString &text ); + void insert( Project *pro ); + int rtti() const { return (int)Form; } + + void setFormType( FormType ft ) { fType = ft; } + FormType formType() const { return fType; } + +private: + FormType fType; + +}; + +class CustomFormItem : public NewItem +{ +public: + CustomFormItem( TQIconView *view, const TQString &text ); + void insert( Project *pro ); + int rtti() const { return (int)CustomForm; } + + void setTemplateFile( const TQString &tf ) { templFile = tf; } + TQString templateFileName() const { return templFile; } + +private: + TQString templFile; + +}; + +class SourceFileItem : public NewItem +{ +public: + SourceFileItem( TQIconView *view, const TQString &text ); + void insert( Project *pro ); + int rtti() const { return (int)SourceFileType; } + + void setExtension( const TQString &e ) { ext = e; } + TQString extension() const { return ext; } + void setLanguage( const TQString &l ) { lang = l; } + void setProject( Project *pro ); + +private: + TQString ext; + TQString lang; + bool visible; + +}; + +class SourceTemplateItem : public NewItem +{ +public: + SourceTemplateItem( TQIconView *view, const TQString &text ); + void insert( Project *pro ); + int rtti() const { return (int)SourceTemplateType; } + + void setTemplate( const TQString &t ) { templ = t; } + TQString tenplate() const { return templ; } + void setLanguage( const TQString &l ) { lang = l; } + void setProject( Project *pro ); + +private: + TQString templ; + TQString lang; + bool visible; + +}; + +class NewForm : public NewFormBase +{ + Q_OBJECT + + +public: + NewForm( TQIconView *templateView, const TQString &templatePath ); + NewForm( TQWidget *parent, const TQStringList& projects, + const TQString& currentProject, const TQString &templatePath ); + void insertTemplates( TQIconView*, const TQString& ); + void accept(); + TQPtrList<TQIconViewItem> allViewItems(); + +protected slots: + void projectChanged( const TQString &project ); + void itemChanged( TQIconViewItem *item ); + +private: + TQPtrList<TQIconViewItem> allItems; + +}; + +#endif |