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 /kpovmodeler/pmlibrarybrowser.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 'kpovmodeler/pmlibrarybrowser.h')
-rw-r--r-- | kpovmodeler/pmlibrarybrowser.h | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/kpovmodeler/pmlibrarybrowser.h b/kpovmodeler/pmlibrarybrowser.h new file mode 100644 index 00000000..3d5af6ff --- /dev/null +++ b/kpovmodeler/pmlibrarybrowser.h @@ -0,0 +1,119 @@ +//-*-C++-*- +/* +************************************************************************** + description + -------------------- + copyright : (C) 2002 by Luis Carvalho + email : lpassos@mail.telepac.pt +************************************************************************** + +************************************************************************** +* * +* 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 PMLIBRARYBROWSER_H +#define PMLIBRARYBROWSER_H + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <qwidget.h> +#include <qdict.h> + +#include "pmviewbase.h" +#include "pmviewfactory.h" + +class QComboBox; +class QIconViewItem; +class QPushButton; +class KConfig; +class KDirOperator; +class PMLibraryIconView; +class PMLibraryEntryPreview; +class PMLibraryHandle; +class PMPart; +namespace KIO{ class Job; } + +typedef QDict<QString> QStringDict; + +/** + * Wrapper class for the treeview/dock widget + */ +class PMLibraryBrowserView : public PMViewBase +{ + Q_OBJECT +public: + /** + * Default constructor + */ + PMLibraryBrowserView( PMPart* part, QWidget* parent, const char* name = 0 ); + + /** */ + virtual QString viewType( ) const { return QString( "librarybrowserview" ); } + /** */ + virtual QString description( ) const; +}; + +/** + * This class provides a non-modal dialog to browse the available libraries. + */ +class PMLibraryBrowserViewWidget: public QWidget +{ + Q_OBJECT +public: + PMLibraryBrowserViewWidget( QWidget *parent, const char* name = NULL ); + +private slots: + void resizeEvent( QResizeEvent* ev ); + void slotPathSelected( const QString& str ); + void slotSelectionChanged( QIconViewItem* item ); + void slotSelectionExecuted( QIconViewItem* item ); + void slotUpButtonClicked( ); + void slotDeleteClicked( ); + void slotNewObjectClicked( ); + void slotNewSubLibraryClicked( ); + + void slotJobResult( KIO::Job * ); + + // These slots provide delayed activity on the IconView + void slotIconViewRefresh( ); + void slotIconViewSetLibrary( ); + +private: + + + QPushButton* m_pUpButton; + QPushButton* m_pNewSubLibraryButton; + QPushButton* m_pNewObjectButton; + QPushButton* m_pDeleteObjectButton; + QComboBox* m_pLibraryComboBox; + PMLibraryIconView* m_pLibraryIconView; + PMLibraryEntryPreview* m_pLibraryEntryPreview; + PMLibraryHandle* m_pCurrentLibrary; + PMLibraryHandle* m_pFutureLibrary; + bool m_topLibraryReadOnly; +}; + +/** + * Factory class for the tree view + */ +class PMLibraryBrowserViewFactory : public PMViewTypeFactory +{ +public: + PMLibraryBrowserViewFactory( ) { } + virtual QString viewType( ) const { return QString( "librarybrowserview" ); } + virtual QString description( ) const; + virtual QString iconName( ) const { return QString( "pmlibrarybrowserview" ); } + virtual PMViewBase* newInstance( QWidget* parent, PMPart* part ) const + { + return new PMLibraryBrowserView( part, parent ); + } +}; + +#endif |